[英]Extract content from text file using java
我有一个这样布置的文本文件:
57363 Joy Ryder D D C P H H C D
72992 Laura Norder H H H D D H H H
71258 Eileen Over C F C D C C C P
70541 Ben Dover F F F P C C C F
46485 Justin Time F C F C D P D H
61391 Anna Conda D D F D D F D D
88985 Bob Down P F P F P F P P
我有下面的代码读取:
Scanner keyboard = new Scanner(System.in);
System.out.println("Filename: ");
// C:\\Users\\Vick\\PT\\accountFilesDemo_17259747\\src\\accountFilesDemo_17259747\\Grades.txt
String filename = keyboard.nextLine();
File myfile = new File(filename);
try {
Scanner inputFile = new Scanner(myfile);
while(inputFile.hasNext())
{
String str = inputFile.nextLine();
System.out.println(str);
}
inputFile.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
现在,我想知道如何获取前5位数字的学生ID并将它们存储在某个位置,然后在学生命名8个字母(即DDCPHHCD)之后,如何将它们放在某个位置以保存1-8的值然后我需要将它们加起来并做一些数学运算以获得总计,然后如何将这两个学生ID和总计写成单独的文本文件?
提示:
使用Scanner
将每一行分解成多个组件。
创建一个类来保存每一行中的信息。
如果事先知道数组中有多少个元素,请使用数组;如果不知道,请使用列表(例如ArrayList
)。
一旦填充了数据结构,然后进行算术运算并打印结果就很简单了。
这些提示回答了您的大多数问题。 但我不会为您编写作业。
这个怎么样:
String str = "57363 Joy Ryder D D C P H H C D";
String[] items = str.split(" ");
您可以使用扫描仪来分隔一行的标记。
String str = "57363 Joy Ryder D D C P H H C D";
Scanner tokens = new Scanner(str);
String studentID = tokens.next();
String name = tokens.next();
String surname = tokens.next();
String letters = "";
while(tokens.hasNext())
{
letters = letters + tokens.next() + " ";
}
System.out.println("ID = " + studentID +
"\nNAME = " + name +
"\nSURNAME = " + surname +
"\nLETTERS = "+ letters);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.