您好我必须编写一个程序,其中包含候选人数以及他们从最佳到最差的票数。我写了两个不同的类来使用fileInputStream和另一个使用scan类并将其存储在arraylist中,但教师在文本文件中使用它的方式是一些选票在不同的行上,所以他们会去就像在一条线上,而选票在另一条线上。所以它是这样的:
//this is how the text appears in the text file and I was wondering if I could get all
//the "votes" to look like the first one.
<v> 5 4 3 2 1
<v> 1 2 3 4 5
<v>
1
2
3
5
<v>
5
2
4
1
3
答案 0 :(得分:1)
我认为你的老师故意这样做了。这里的诀窍是要意识到投票不是由新线分隔,而是由“V”分隔。您可以将此信息与正则表达式(Pattern)一起使用以获得解决方案。
答案 1 :(得分:0)
如果您不想使用正则表达式,可以使用Scanner。
if (scanner.hasNext("<v>")
scanner.next();//ignore the "<v>"
if (scanner.hasNextInt())
int vote1 = scanner.nextInt();//first vote
if (scanner.hasNextInt())
int vote2 = scanner.nextInt();//second vote
这将是例如:
<v> 1
4
我不想破坏做作业的“乐趣”,所以这就是全部。如果您有更多问题,请询问。