Saturday, 15 May 2010

Java: Taking file contents into a vector -



Java: Taking file contents into a vector -

i'm trying read in file contents , set them in vector , print out i'm having issues prints contents repeatedly! please help see what's wrong code! give thanks you!

this code:

public class program5 { public static void main(string[] args) throws exception { vector<product> productlist = new vector<product>(); filereader fr = new filereader("catalog.txt"); scanner in = new scanner(fr); while(in.hasnextline()) { string info = in.nextline(); string[] result = data.split("\\, "); string code = result[0]; string desc = result[1]; string cost = result[2]; string unit = result[3]; product = new product(desc, code, price, unit); productlist.add(a); for(int j=0;j<productlist.size();j++) { product aproduct = productlist.get(j); system.out.println(aproduct.code+", "+aproduct.desc+", "+aproduct.price+" "+aproduct.unit+" "); } } }

}

and content of file i'm trying read in , should print code:

k3876, distilled moonbeams, $3.00, dozen p3487, condensed powdered water, $2.50, per packet z9983, anti-gravity pills, $12.75, 60

but got running code:

k3876, distilled moonbeams, $3.00 dozen k3876, distilled moonbeams, $3.00 dozen p3487, condensed powdered water, $2.50 per packet k3876, distilled moonbeams, $3.00 dozen p3487, condensed powdered water, $2.50 per packet z9983, anti-gravity pills, $12.75 60

move for-loop outside while .

//outside while

for(int j=0;j<productlist.size();j++) { product aproduct = productlist.get(j); system.out.println(aproduct.code+", "+aproduct.desc+", "+aproduct.price+" "+aproduct.unit+" "); }

btw, never utilize vector unless care thread safety. vector's methods synchronized utilize arraylist (which quite efficient , fast) if dont care thread safety

java

No comments:

Post a Comment