因此,对于作业,我必须采用一个看起来像的文件:
2141512
Math
68
7493674
History
82
8403785
English
23
4213432
French
75
7556463
Science
97
2345215
ICS
49
学生编号越长,2位数字就是编号,我需要一个程序来读取文件并创建其他2个文件。一个显示那些传递的主题和标记(pass.txt)和一个显示谁失败了他们的类(fail.txt)。到目前为止,我已经去了,但我不知道如果我应该把它全部读成字符串并将标记转换为整数,我不知道如何将这些行读作不同的数据类型
import java.io.*;
public class WriteKONG
{
public static void main(String[] args) throws IOException
{
BufferedReader in;
in = new BufferedReader(new InputStreamReader(System.in));
String line;
int i;
PrintWriter fail;
PrintWriter pass;
fail = new PrintWriter(new FileWriter("fail.txt"));
pass = new PrintWriter(new FileWriter("pass.txt"));
in = new BufferedReader(new FileReader("marks.txt"));
line = in.readLine();
i = Integer.valueOf(line).intValue();
while (line != null);
{
if (line != "English" || line != "Math" || line != "Science" || line != "ICS" || line != "History" || line != "French")
do { i = Integer.valueOf(line).intValue();
pass.println();
i = Integer.valueOf(line).intValue();
while(line <= 50 || line < 101);
i = Integer.valueOf(line).intValue();
if (line >= 49 ){
fail.println();
}
i = Integer.valueOf(line).intValue();
if (line >= 50 || line < 101){
pass.println();i = Integer.valueOf(line).intValue();
}
}
while (line != null);
}
}
}
答案 0 :(得分:0)
使用Scanner
及其next()
和nextInt()
方法。
Usage example与你拥有的相似。
答案 1 :(得分:0)
您正在使用Java File API的正确途径,您需要做的就是对代码进行一些调整。
==
进行比较,而是使用line.equals("English")
如果使用||
&&
您需要使用Integer.parseInt(line)
您需要在每个while语句后删除;
。 (否则这些是无限循环)
我希望这可以提供帮助,尝试调试你的逻辑。