943,884 Members | Top Members by Rank

Ad:
  • Java Discussion Thread
  • Unsolved
  • Views: 698
  • Java RSS
Nov 12th, 2008
-1

2d arrayist

Expand Post »
what is wrong with this code. it does not read the input file correctly.

[/code]
private void readFile()
{
String fName = "c:\\game.txt";
ArrayList<ArrayList<String>> matrix = new ArrayList<ArrayList<String>>();
{
try
{
File file = new File(fName);
Scanner in = new Scanner(file);

// for ( int i = 0; i < matrix.size(); i++ )
// matrix.add(new ArrayList<String>());

while (in.hasNextLine())
{
String line = in.nextLine();

for (int i =0; i<matrix.size(); i++)
matrix.get(i).add(line);

}
in.close();
}
catch(Exception e)
{
String s = e.toString();
}
}
}

[/code]
Reputation Points: 7
Solved Threads: 0
Junior Poster
mrjoli021 is offline Offline
170 posts
since Mar 2007
Nov 12th, 2008
0

Re: 2d arrayist

Doesn't this answer your question?
http://www.daniweb.com/forums/thread156720.html
Sponsor
Featured Poster
Reputation Points: 1014
Solved Threads: 446
Nearly a Senior Poster
javaAddict is online now Online
3,259 posts
since Dec 2007
Nov 12th, 2008
0

Re: 2d arrayist

Your question has already been answered on your other thread, and I've explained twice the mistake you are making on the code tags. Again, it's this:


[code]
// paste code here
[/code]

not this:

[/code]
// paste code here
[/code]
Featured Poster
Reputation Points: 2614
Solved Threads: 687
Posting Expert
VernonDozier is offline Offline
5,375 posts
since Jan 2008
Nov 12th, 2008
0

Re: 2d arrayist

i tried the scanner thing and nothing.

Java Syntax (Toggle Plain Text)
  1. String fName = "c:\\game.txt";
  2. ArrayList<ArrayList<String>> matrix = new ArrayList<ArrayList<String>>();
  3.  
  4.  
  5.  
  6.  
  7. private void readFile()
  8. {
  9.  
  10. try
  11. {
  12. File file = new File(fName);
  13. Scanner in = new Scanner(new FileInputStream(fName));
  14.  
  15.  
  16. while (in.hasNextLine())
  17. {
  18. String line = in.nextLine();
  19.  
  20. for (int i =0; i<matrix.size(); i++)
  21. matrix.get(i).add(line);
  22. }
  23. in.close();
  24. }
  25. catch(Exception e)
  26. {
  27. String s = e.toString();
  28. }
  29.  
  30. }
Reputation Points: 7
Solved Threads: 0
Junior Poster
mrjoli021 is offline Offline
170 posts
since Mar 2007
Nov 12th, 2008
0

Re: 2d arrayist

this is what im getting when i compile:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at Move.printFile(Move.java:87)
at Move.<init>(Move.java:40)
at Main.main(Main.java:19)
Java Result: 1
Reputation Points: 7
Solved Threads: 0
Junior Poster
mrjoli021 is offline Offline
170 posts
since Mar 2007
Nov 12th, 2008
0

Re: 2d arrayist

line is getting a value, but for some reason matrix is not being populated. "i" always stays at 0. and there is info on the file it is reading from
Reputation Points: 7
Solved Threads: 0
Junior Poster
mrjoli021 is offline Offline
170 posts
since Mar 2007
Nov 12th, 2008
1

Re: 2d arrayist

Mark your other thread solved please.

ArrayList<ArrayList<String>> matrix = new ArrayList<ArrayList<String>>();

Java Syntax (Toggle Plain Text)
  1. matrix.get(i).add(line);

I don't see anywhere where you ever create an ArrayList of String and add it to matrix, so there's nothing to "get". You should create an ArrayList of String, add the Strings to it, then add that ArrayList to matrix. You are currently "getting" something that has never been added.

Java Syntax (Toggle Plain Text)
  1. ArrayList <String> arraylist = new ArrayList<String> ();
  2. String line;
  3. // read a line from file, store in line
  4. arraylist.add (line);
  5. matrix.add (arraylist);
Featured Poster
Reputation Points: 2614
Solved Threads: 687
Posting Expert
VernonDozier is offline Offline
5,375 posts
since Jan 2008
Nov 12th, 2008
0

Re: 2d arrayist

got it working now, but it is printing out the wrong thing.

Java Syntax (Toggle Plain Text)
  1. private void printFile()
  2. {
  3.  
  4. for(int i=0; i<matrix.size(); i++)
  5. {
  6. System.out.println(matrix.get(i));
  7. }
  8. }

it is supposed to print

X XXXXX X
XXXXXXXXX
XXX X X X
X X X X X
XXXXXXXXX
XXXXXXXXX
XXXXXXXXX
XXXXXXXXX

it prints
[XXXXXXXXX, XXX X X X , XXX X X X , X X X X X, X X X X X, X X X X X, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX]
[XXXXXXXXX, XXX X X X , XXX X X X , X X X X X, X X X X X, X X X X X, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX]
[XXXXXXXXX, XXX X X X , XXX X X X , X X X X X, X X X X X, X X X X X, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX]
[XXXXXXXXX, XXX X X X , XXX X X X , X X X X X, X X X X X, X X X X X, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX]
[XXXXXXXXX, XXX X X X , XXX X X X , X X X X X, X X X X X, X X X X X, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX]
[XXXXXXXXX, XXX X X X , XXX X X X , X X X X X, X X X X X, X X X X X, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX]
[XXXXXXXXX, XXX X X X , XXX X X X , X X X X X, X X X X X, X X X X X, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX]
[XXXXXXXXX, XXX X X X , XXX X X X , X X X X X, X X X X X, X X X X X, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX, XXXXXXXXX]
Reputation Points: 7
Solved Threads: 0
Junior Poster
mrjoli021 is offline Offline
170 posts
since Mar 2007
Nov 12th, 2008
0

Re: 2d arrayist

Because that is the toString() representation of an ArrayList, which is what you are printing.

If you want to show it differently then iterate each list and print it as you see fit.
Moderator
Featured Poster
Reputation Points: 3239
Solved Threads: 839
Posting Genius
Ezzaral is offline Offline
6,761 posts
since May 2007

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in Java Forum Timeline: JFrame & SpringLayout problem.
Next Thread in Java Forum Timeline: Write Lists to Text File





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC