Reading / Searching Through List Of Strings With StringTokenizer?
Jan 24, 2015
So I need to be able to find the longest increasing sequence in a 2D grid of numbers. A sequence is simply a series of adjacent squares. Squares may not be used twice. Example here.
The longest sequence has length 10, consisting of entries (row, column) as follows;
(5,0) with cost 12
(6,0) with cost 14
(6,1) with cost 15
(6,2) with cost 20
(7,2) with cost 44
(7,3) with cost 52
(7,4) with cost 54
(6,3) with cost 71
(5,3) with cost 74
(4,3) with cost 96
I wouldn't be having a problem if I could use a 2D Array but the assignment requires the use of a List and StringTokenizer.
The way it works, a file is read and each row of the grid is an element of the List of Strings. So in the example above if I were to call myList.get(1) it would return 35 57 41 13 82 80 71 93 31 62 since it's the second row and second index value of the List.
If it was a 2D array I would check values at [x-1][x-1],[x-1][x]... to check all sides and diagonals ect ect. But with the List and Tokenizer there isn't a way that I know of that can search through the String using index values.
I wouldn't even know where to start with that. As of now I read the file fine and make the List of Strings and populate it properly, I'm just a little stuck. I should also mention that which ever method I use to search needs to be recursive.
This is what little I have. It reads in the file, creates the list and assigns the rows to the list.
import java.util.*;
import java.io.*;
public class MaxIncreasingSub {
public static void main(String []args) throws Exception{
File file = new File("Ass1Q2_test1");
List<String> myList = new ArrayList<String>();
Ok here I have a code that generates 1 million random values then converts them to a string then hashcode. I then insert into a linked list and then I want to run through each hash and find it in the linked list timing each run then averaging out the time at the end.
It works great for smaller amounts of numbers it is searching for (fine under 50 thousand searches for the for loop starting at line 24 LinkedListTest.java) but when I try to do the full million searches it gives me "a Exception in thread "main" java.lang.StackOverflowError" at line 158 in List.java. Maybe im getting tired but I cannot figure out why.
// class to represent one node in a list class ListNode< T > { // package access members; List can access these directly T data; // data for this node ListNode< T > nextNode; // reference to the next node in the list
An array which contain a list of names. I let for a user input and I use that to search through the array. For example lets say the string name "Christian" is stored inside the names array and the user types in Chri, the program looks in the array and finds a name that contains Chri and prints them out. How do I go about doing this?
I have an assignment for my intro class that requires me to read from a file that is a list of songs, their artists, and the year they were released. As seen below, a print line statement prompts the user to enter an artist name, and then it uses a buffered reader to gain input, and then it is supposed to match that input.I realize that this is not a complete statement, but I'm mostly concerned with getting the .indexOf statement to work.Currently it only returns the first object in the array.
for(int i = 0; i < song.length; i++) { System.out.println("Enter an Artist name"); String input1 = kb.readLine(); if (song[i].getArtist().indexOf(input1) > -1) { /*tried changing -1 to -2. When I do, it returns the first array entry, regardless of what I input*/ System.out.println(song[i].toString()); } }
with arrays its binary search which finds a value in O(Logn) time but what about linked lists ? the most effiecient algorithm will be O(n) ? and i know that binary search cannot be implement on a linked list , therefore , the only way to search a linked list is a linear search ?
I am advised to use a while loop the Scanner method hasNextLine() and in the while loop body, call the Scanner method nextLine(), and add the returned String to the ArrayList of Strings. what I have gotten so far:
Scanner input = new Scanner(new File("")); while(input.hasNextLine()) { String line = input.nextLine(); System.out.println(line);
I have just started working with linked lists. I have a linked list of Objects and I want to be able to search for a specific object. But currently my code continues to return false. Also how would I go about removing the first index of the linked list.
public static void main(String[] args) { LinkedList<Cookies> ml = new LinkedList<>(); int choice = 0; while (choice >= 0) { choice = menu();
I have an Array of objects that contains strings. I am new to Java and have read books, the Java docs, and searched the Internet for my problem to no avail. How can I get my strings to print in a list so that the user can select an object to manipulate its attributes? I have a class called Instruments and created 10 guitar objects. Here is the code:
Instrument [] guitar = new Instrument[10]; for (int i = 0; i < 10; i++) { guitar[0] = new Instrument("Guitar 1"); guitar[1] = new Instrument("Guitar 2"); guitar[2] = new Instrument("Guitar 3"); guitar[3] = new Instrument("Guitar 4");
I'm trying to read from a file. we made an array of LinkedList and when I'm reading from the file i get a runtime error "index out of bounce in line 66"
import java.lang.*; import java.util.*; public class HashTester{ LinkedList_t [] hash; LinkedList_t [][] doubleHasher; int size;
How can i convert this linked list code to a read from input.txt
The first line in the input file will give the elements to initialize the linked list with. Consecutive lines will provide operation instructions.
Your code should read one line at a time. After reading each line, it should perform the corresponding operation and print the linked-list on the console.
If an operation is not possible, it should print "N/A".
Sample input file. Please note, the comments (// ...) are given for explanation, the input file will not have them:
4, 5, 6, 3// First line. This will provide the initial values for the linked list : 4->5->6->3 1, 9// Add a 9 at the front of the linked-list. After this operation the linked-list should be: 9->4->5->6->3 2, 1// Add a 1 at the end of the linked-list. After this operation the linked-list should be: 9->4->5->6->3->1 3, // Delete the first node in the linked-list. After this operation the linked-list should be: 4->5->6->3->1 4, // Delete the last node in the linked-list. After this operation the linked-list should be: 4->5->6->3 5, 11// Delete the node with the value 11 in it. Since this is not possible, it should print "N/A" 5, 6// Delete the node with the value 6 in it. After this operation the linked-list should be: 4->5->3
I am new to Java and have read books, the Java docs, and searched the Internet for my problem to no avail. I have an Array of objects that contains strings. How can I get the object's strings to print in a list so that the user can select that object to manipulate its attributes? For example, the user can select "Guitar 1" from a list and manipulate its attributes like tuning it, playing it, etc. I have a class called Instruments and created 10 guitar objects.Here is the code:
Instrument [] guitar = new Instrument[10]; for (int i = 0; i < 10; i++) { guitar[0] = new Instrument("Guitar 1"); guitar[1] = new Instrument("Guitar 2"); guitar[2] = new Instrument("Guitar 3"); guitar[3] = new Instrument("Guitar 4"); guitar[4] = new Instrument("Guitar 5"); guitar[5] = new Instrument("Guitar 6");
By using FileReader, FileWriter and their constituents, I am creating a file to contain employee information ( name, age, hours, etc. ). The user is to input all of the data on a single line and we were asked to implement StringTokenizer to assign that data to the file. I have never used the StringTokenizer before, but I have a rough idea how it is to function. I used pw.println to test what I have so far, now I would like to let the user build the initial file with the "first employees" of the company, and then view the file, and then go back and append new employee data to that same file. My question is, how can I take the user input as a StringTokenizer and add that to the file?
In the for loop below, I thought I would see if it would work, but it does not. The loop only executes once and does not allow me to enter data.
public class Records { public static void main(String [] args) throws IOException { Scanner input = new Scanner(System.in); FileWriter fw = new FileWriter("dbs3.java"); BufferedWriter bw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(bw); System.out.println("NEW EMPLOYEE DATA SHEET"); System.out.print("Number of new employees: "); int number = input.nextInt();
I am having an array of strings and i want to find out whether these strings contained in the array contain a similar character or not.For example i am having following strings in the array of string:
aadafbd dsfgdfbvc sdfgyub fhjgbjhjd
my program should provide following result: 3 because i have 3 characters which are similar in all the strings of the array(f,b,d).
I can sort strings in a collection by uppercase and then lowercase though I was wondering if there is any way of doing it in reverse, sorting by lowercase then by uppercase.
If you were given a problem to search for an error in a section of code but it is incredibly long, what are some ways you can go through the lines of code quickly?
Okay, I will be as succinct as possible. I am writing a rudimentary book store program for homework. The program consists of two class files and a main. The main issue I am having is on getting the search portion of my program to work. I will post as little as I can and still make sense. This is the block of code belongs to my public Book getBook() method, which is of the BookStore class.
I have a code that is meant to read a file and organize all the names from least to greatest salaries. It also allows the user to enter a name to find from the file, and the program finds the name and displays it. I have two errors, and I will show the error in my code
I'm doing LinkedList at the moment and I'm having a bit of trouble with my assignment. The part I'm struggling with is remove an employee from a training course (as specified by their employee number),
what I'm confused about is iterating through the linked list to find the employee we're looking for. What I would do in this situation if I was using an array list is
for(Employee emp : myList) { if(emp.getEmployeeNumber().equals(searchedNumber)) { remove from training course.. break; } }
"Can only iterate over an array or an instance of java.lang.Iterable" is what it is telling me, and I can't figure out why/how its done differently for linked lists.
I'm very new to Java, and I'm writing a code to search a string to see how many times the word "dog" is found in it. I'm not sure if this is error-free or the most efficient, but I'd like to keep it simple.
public void run() {
String input = new String("The Dogman was no ordinary dog, nor man, but rather a peculiar dog-like man who barked like a dog, and panted like a dog, he even ate like a dog. He owned a dog named Doglips, and interestingly enough, his favorite food was hotdogs.");
println(input); int index = -1; int count = 0; print("Counting dogs:"); inputarray = input.split(" ");
import java.io.*; public class pho { public static void main (String args[]) throws IOException { BufferedReader br = new BufferedReader (new InputStreamReader (System.in)); String name = new String [50]; long phn = new long [50]; System.out.println("enter A for adding phone numbers");
My code is not working properly. The ascending and descending numbers are not showing up. I believe what it is printing is the memory location. In this lab you will be coding a program that will make use of functions to search and sort an array. There will also be a print method, again complete with a full menu system. The Menu options are listed below in the section labeled menu.You will need to set up a hundred (100) position integer (int) array that is defined in main. You will also need an integer (int) variable called size. By doing this, you will have to pass the array and the size to each method you write.
Menu:
The menu should have the following eight options: 1. Fill the array with random numbers (1 -100) 2. Print the array 3. Sort the array in ascending sequence 4. Sort the array in descending sequence 5. Sequential search of the array for a 6. Binary search of the array for a target 7. Exit (this can be option zero if you prefer)
From these seven Options, one can see that six methods will be needed. Each of the six main functionalities above will need a function that does what they say. When printing the array, it is required to print the position number alongside the value. Please start your positions at zero, and not one. When doing the sorting methods, please use two different sorting algorithms. (ie, use a Min Max sort for ascending and an enhanced bubble for descending.)
For the Searching methods: you should ask for the target (number the user is searching for) in the dispatch method. Then pass the target to the search method. The search method should return the position it was found at (0 - Size) OR -1 if it was not found. Then have the appropriate messages print inside of the dispatch method.You could write another function that does this part if you wish to keep your dispatch method cleaner and more organized. But that is up to you.
import java.util.Arrays; import java.util.Scanner; import java.util.Random; public class Lab9 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int [] values = new int [100];