对于我的作业,我需要编写一个计算最终标记并打印它们的程序。用户输入如下(输入是通过java编辑程序而不是命令提示符):
Firstname Lastname ExamMark MidtermMark etc.
有一个已知数量的字段(11:2名称,9个标记),但学生人数不详(每行一个学生)。
我知道我可以通过使用while循环计算行数来确定学生人数。 但后来我希望能够将该行的每个部分划分为相应的变量。 (说行中的第一个单词等于名字等)。我不完全确定如何做到这一点。我想以某种方式说明每一行是一个数组,然后说arrayx [0] =名字和arrayx [1] =姓氏等,然后进行所需的计算,然后为每一行/学生循环。但我不知道如何使输入的行成为一个数组。有一种简单的方法可以做到这一点吗?
答案 0 :(得分:2)
如果每个数据标记由空格分隔,则可以使用String的split(...)
方法轻松地将String标记放入数组中。也许是通过split(" ")
,如果你知道它总是一个空格,或者split("\\s+")
,如果你不知道。{/ p>
如,
while (myScanner.hasNextLine()) {
String line = myScanner.nextLine();
String[] tokens = line.split("\\s+");
// now iterate through your array of tokens
//....
}