我目前正在开发一个模仿彩票的程序,并从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
答案 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();