我正在尝试读取一个包含整数字符串的txt文件。我希望能够仅从此文件中获取整数并将每个值相加以创建总计。我已经设法很好地读取了文件,并且能够识别整数和非整数。我将如何将整数加在一起?
public void goalCount() throws FileNotFoundException {
int goals=0;
double total=0;
try {
Scanner scan = new Scanner(new File("validtest.txt.txt"));
// find the next int token and print it
// loop for the whole scanner
while (scan.hasNext()) {
// if the next is a int, print found and the int
if (scan.hasNextInt()) {
System.out.println("Found :" + scan.nextInt());
//goals = scan.nextInt();
//total+= goals;
}
// if no int is found, print "Not Found:" and the token
System.out.println("Not Found :" + scan.next());
}
// close the scanner
scan.close();
} catch(Exception e) {
}
System.out.println("Total Goals:"+total); //error handling
}
Leeds United : Liverpool : 1 : 2
Chelsea : Manchester City : 1 : 1
Aston Villa : Middlesbrough : 3 : 1
Tottenham Hotspur : Stoke City : 0 : 0
编辑:
您必须原谅我,该方法将不起作用。您需要做的是一次读取一行,然后按每个空格将其分开,以获得一组单词。从那里您可以识别整数并存储值。
final static String filename = "FILENAME.txt";
public static void main(String[] args) {
Scanner scan = null;
File f = new File(filename);
try {
scan = new Scanner(f);
} catch (FileNotFoundException e) {
System.out.println("File not found.");
System.exit(0);
}
int total = 0;
boolean foundInts = false; //flag to see if there are any integers
while (scan.hasNextLine()) { //Note change
String currentLine = scan.nextLine();
//split into words
String words[] = currentLine.split(" ");
//For each word in the line
for(String str : words) {
try {
int num = Integer.parseInt(str);
total += num;
foundInts = true;
System.out.println("Found: " + num);
}catch(NumberFormatException nfe) { }; //word is not an integer, do nothing
}
} //end while
if(!foundInts)
System.out.println("No numbers found.");
else
System.out.println("Total: " + total);
// close the scanner
scan.close();
}
所以,我试图让我的程序从文本文件中读入一个结构数组,它编译得很好,但看起来并没有真正读入值?...我不知道为什么。这是代码的相关部分: 这是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
我正在编写一个程序,使用一个文件中的30个分数,计算出最低、最高和平均分数。我很难理解如何编写循环语句来读取每个等级并更新最低/最高等级,并在读取下一个等级之前将该值添加到总和。 谢谢想出来了:
我希望有人会花时间帮助我。我是Java新手,正在上一堂课尝试学习它。我有一个任务,我已经开始和删除了可能30次。我就是不喜欢这个。作业如下: 从txt文件中读取3列整数。一列有学生号,一列是作业的分数,第三列是作业的最大可能分数。(各10分学生5人)。 我必须至少使用1个数组。 列出从作业中获得的总分数,并合计5名学生在10项作业中每个人可能获得的最高分数。然后将学生号、分数、作业的最大可能分数、
我有一个csv文件,标题在第一行,其值在所有石灰中。 标题应该是:标题1,标题2,标题3,。。。。 如果总共有200行,我将得到199个header1,header2值。 我试图将每个标头的所有值存储在一个数组中。 我试过的代码, 这样做的时候,我每行得到200个阵列。 如果假设有七个标头,我需要七个包含199个元素的数组。 顺便说一句,我不需要所有的标题值,我只需要一些标题,我可以通过拆分第一行
我已经创建了一个JFrame,里面有一个JTable,我可以在单元格上写信息。我可以单击Save JMenuItem Save并将信息写入txt文件。然而,当我试图读取文件并将其返回到表中时,我面临三个问题。 JTable由30行组成。当代码读取txt文件时,在第30行下面添加行。是否有办法从第一行而不是第31行开始填充输入?--已解决 数据写入不正确。所有这些都写在第一列——已解决 如何去掉“n
我一直在互联网上寻找帮助,但我找不到,所以我求助于发帖。 我有一个txt文件,格式如下 1/2 0 1/6 6/11 1/6 2/10 我需要读取这些单独的分数,并输入分子和分母的函数称为BigFraction(num,denom)。 我调用读取器并将其作为字符串输出。然后,我在空格上进行拆分,以获得作为字符串的各个分数,并将它们输入到我的助手方法strToBF中,该方法在正斜杠上进行拆分,并输入