我正在编写一个程序,使用一个文件中的30个分数,计算出最低、最高和平均分数。我很难理解如何编写循环语句来读取每个等级并更新最低/最高等级,并在读取下一个等级之前将该值添加到总和。
import java.io.*;
import java.util.*;
public class MidtermStat {
public static void main(String[] args) throws IOException {
Scanner in = new Scanner(new FileReader("grades.txt"));
int lowest = 50;
int highest = 50;
int sum = 0;
int i;
for (i = 0, i < 30, i++){
if (grade < lowest)
lowest = grade;
if (grade > highest)
highest = grade;
}
double average = sum / 30;
System.out.println("The average score is: " + average);
System.out.println("The highest score is: " + highest);
System.out.println("The lowest score is: " + lowest);
in.close();
}
}
谢谢想出来了:
import java.io.*;
import java.util.*;
public class MidtermStat {
public static void main(String[] args) throws IOException {
Scanner in = new Scanner(new FileReader("grades.txt"));
int lowest = 50;
int highest = 50;
int sum = 0;
int i;
for (i = 0; i < 30; i++){
int grade = in.nextInt();
if (grade < lowest)
lowest = grade;
if (grade > highest)
highest = grade;
sum += grade;
}
double average = (sum / 30.0);
System.out.println("The average score is: " + (int)(average * 100) / 100.0);
System.out.println("The highest score is: " + highest);
System.out.println("The lowest score is: " + lowest);
in.close();
}
}
如果您的文件包含浮点值,请使用此选项
而(b=in.hasNextFloat())
{
s = s1.nextFloat();
sum += s;
}
请记住,如果您从文件中获取输入,那么最好使用BufferdReader,因为文件保存在磁盘中,与我们的程序相比,速度较慢。因此,在读取文件时,最好使用一些低级流。有关更多详细信息,请参阅:
http://docs.oracle.com/javase/tutorial/essential/io/buffers.html
我建议你选择缓冲阅读器。
对于eg
BufferedReader br = new BufferedReader(new FileReader("FilePath"))
上面的语句将给您带来异常,您需要处理它。
while ((Line = br.readLine()) != null) {
// your statements..
}
快乐编码
这样做:
for(i=0;i<30;i++){
**float grade = in.nextFloat();**
if(grade<lowest) lowest = grade;
else if(grade>highest) highest = grade;
sum+=grade;
}
不要忘记更改您用于“浮动”以获得精度的每个“int”。
我的项目中有这样一段代码: 没有错误,应用程序运行正常,但是变量中从来没有任何文本,我确信txt文件中有文本! 我已经尝试过不同的方法来读取文本文件(使用BufferedReader、Scanner、FileInputStream和FileReader),但都不起作用。 另外,我几乎可以肯定问题不在变量中,因为我尝试通过代码(使用运行时)打开文件,它正常打开了正确的文件。 好的,我尝试添加,但是仍
我正试图编写一个程序,读取网络中相互交互的节点列表。它以以下格式写入文本文件: 这表示节点1与节点2和节点3交互,节点2仅与节点3交互,等等。 该程序将能够读取该文件,并将删除任何重复的交互,并且如果我输入节点的名称,将能够向我返回节点与其他节点的交互次数。然而,我对Java非常陌生,我首先尝试让它读入文件,尽管我的代码目前没有读入文件。以下是我迄今为止的代码: 任何关于如何解决此问题的帮助都将不
我是c语言的新手。我只有一些基本的知识,比如复制和粘贴。这意味着我的c语言不好。对不起我的英语。现在是我的问题。我有一个记事本。txt文件。它包含一些参数和我从其他程序获得的值。 对此的描述。txt文件:[单位可选]name\u of\u参数=值 便条簿。txt文件: 没有机会获得此输出的其他样式(.txt文件)。 除此之外,我还有一个带有随机行和列的excel工作表。第一行是\u参数的名称,如-
问题内容: 请看下面的代码 在这里,首先获取文件的字节,然后将其写入文本文件。然后,我阅读了该文本文件,逐行阅读,并为每一行生成了一个单独的.txt文件。现在,原始程序被拆分为数千个文件。现在,我需要阅读所有.txt文件并重新生成.txt文件。我不知道怎么做最后一件事。我怎样才能做到这一点?请帮忙! 问题答案: 如果要操作任何类型的文件,请不要认为它们包含文本数据,而应将它们视为包含字节的二进制文
问题内容: 我会尽量保持清楚,但如果我的问题不完美,请原谅我。我有一个包含多行数据的txt文件。例: 123拉尔夫·玻色20000 200 1 2 256 ed shane 30000 100 2 4 … 我需要按顺序读取每一行,并将其传递回单独类中的方法进行处理。我知道如何通过使用StringTokenizer将每一行分解为元素。 但是,我不确定如何一次读取一行,将元素传递回另一类,然后在完成处
所以,我试图让我的程序从文本文件中读入一个结构数组,它编译得很好,但看起来并没有真正读入值?...我不知道为什么。这是代码的相关部分: 这是txt文件(标题:Planets.txt) 水星120 50 500 12.1 30 2金星120 50 500 29.1 30 6地球120 50 500 32.2 30 7月亮120 15 50 5.3 30 2火星120 50 500 12.2 30 4