我目前停留在编程任务上,这需要我从文本文件中读取数据然后处理它。该文件如下所示:
CS1 2012 Group 1
8
5,5,5,6,5,8,9,5,6,8, good, very good, excellent, good
7,7,8,7,6,7,8,8,9,7,very good, Good, excellent, very good
8,7,6,7,8,7,5,6,8,7 ,GOOD, VERY GOOD, GOOD, AVERAGE
9,9,9,8,9,7,9,8,9,9 ,Excellent, very good, very good, excellent
7,8,8,7,8,7,8,9,6,8 ,very good, good, excellent, excellent
6,5,6,4,5,6,5,6,6,6 ,good, average, good, good
7,8,7,7,6,8,7,8,6,6 ,good, very good, good, very good
5,7,6,7,6,7,6,7,7,7 ,excellent, very good, very good, very good
读入前两行然后分配给字段,其余行是我必须处理的行。我被告知要使用.useDelimiter("[ ]*(,)[ ]*")
,但到目前为止还没有真正能够很好地利用它。
一旦读入数据,我必须使用switch语句将字符串转换为整数并计算平均反馈分数,例如:
优秀= 5
非常好= 4
好= 3
SCREENSHOT:
答案 0 :(得分:1)
您可以使用useDelimiter(str)
中的Scanner
方法,使用','作为参数,用逗号分隔输入。然后,您可以删除单词周围的空格,并使用trim()
和toLowerCase()
小写字符串。之后,您将以标准方式使用字符串,以便您可以将其转换为整数,但您认为合适。下面是一些代码
import java.util.*;
public class Parser {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
sc.useDelimiter(",");
while (sc.hasNext()) {
String s = sc.next().trim().toLowerCase();
// Now check s accordingly to do what you want it to do
}
}
}
注意 :解析文件中的前两行后应使用useDelimiter()
方法,因为在开头你确实想要使用空格作为分隔符。