彩票计划(ArrayList)

时间:2015-09-01 05:47:43

标签: java arrays file arraylist

我目前正在开发一个模仿彩票的程序,并从File文件中读取以下信息:

5
Durant Kevin
1 15 19 26 33 46
Schofield Michael
17 19 33 34 46 47
Black Joe
1 4 9 16 25 36
Elroy Jetson
17 19 34 46 47 48
Simone Raven
5 10 17 19 34 47

我在Scan的内容中File并创建了一个Ticket对象来保存一个人的姓名和票号,但当我试图将该信息放入{时,我的问题就出现了{1}}任何帮助都将不胜感激。

这是我的代码:

ArrayList

2 个答案:

答案 0 :(得分:3)

您的原始代码看起来非常干净,我只发现了以下问题:

info.add(new Ticket(name, arr[]);

这不是用于传递变量AFAIK的有效Java语法。如果你想将arr数字传递给Ticket类的构造函数,你应该这样做:

info.add(new Ticket(name, arr));

<强>更新

我已使用IntelliJ在本地测试了您的代码,我发现的唯一其他潜在问题如下:

int lim = scan.nextInt();

调用Scanner.nextInt() 将光标更新到下一行。这意味着当您尝试读取第二行时,您仍然会在第一行上。对此的快速解决方法是更改​​为以下代码:

int lim = scan.nextInt();   // read in number of people
scan.nextLine();            // advance to second line of input file

答案 1 :(得分:0)

我认为问题出在Ticket类的构造函数中。

你不能只设置一个数组等于另一个数组。但是,你可以克隆它:

this.tarray = tarray.clone();