Java 从文本文件中读取并拆分整数以相加?

Java 从文本文件中读取并拆分整数以相加?,java,string,text,split,Java,String,Text,Split,如何分割文本文件 假设文本文件有如下行: 杰基尔23.33.3 43.2 卡其色32.5 54.3 43.2 到目前为止,对于我的代码,我有以下几点: while(scan.hasNext()) { String line = scan.nextLine(); String[] words = .split(" "); for(int i = 1; i < words.length - 1; i++)

如何分割文本文件

假设文本文件有如下行:

杰基尔23.33.3 43.2

卡其色32.5 54.3 43.2

到目前为止,对于我的代码,我有以下几点:

while(scan.hasNext())
     {

          String line = scan.nextLine(); 
          String[] words = .split(" ");

          for(int i = 1; i < words.length - 1; i++)
              System.out.println(words[i]);

您首先需要获取字符串。然后需要拆分/解析它。因此,如果您想逐行读取文件,应该是这样的:

while(scan.hasNext())
{
    String line = scan.nextLine(); // "Read" your file (one line at a time).
    System.out.println(line); // Test what you read.
    String[] words = line.split(" "); // Parse what you read.

    for(int i = 1; i < words.length; i++){
        System.out.println(words[i]);
    }
}
while(scan.hasNext())
{
String line=scan.nextLine();/“读取”文件(一次一行)。
System.out.println(行);//测试您阅读的内容。
String[]words=line.split(“”;//解析所读内容。
for(int i=1;i
首先需要获取字符串。然后需要拆分/解析它。因此,如果您想逐行读取文件,应该是这样的:

while(scan.hasNext())
{
    String line = scan.nextLine(); // "Read" your file (one line at a time).
    System.out.println(line); // Test what you read.
    String[] words = line.split(" "); // Parse what you read.

    for(int i = 1; i < words.length; i++){
        System.out.println(words[i]);
    }
}
while(scan.hasNext())
{
String line=scan.nextLine();/“读取”文件(一次一行)。
System.out.println(行);//测试您阅读的内容。
String[]words=line.split(“”;//解析所读内容。
for(int i=1;i
伪代码

解析文本文件的每一行

检查分析的项是否为int 如果int将其放入数组中 如果扫描的下一个字符为空,则将数组增加到下一个位置 直到文件为空为止

然后是一个简单的for循环来添加数组的内容。

伪代码

解析文本文件的每一行

检查分析的项是否为int 如果int将其放入数组中 如果扫描的下一个字符为空,则将数组增加到下一个位置 直到文件为空为止


然后是一个简单的for循环来添加数组的内容。

我认为这应该会有所帮助

Float.parseFloat(String s)

我认为这应该有帮助

Float.parseFloat(String s)
试试这个

while(scan.hasNext()) {

    String line = scan.nextLine(); 
    String[] words = .split(" ");

    double num1 = Double.parseDouble(words[1]);
    double num2 = Double.parseDouble(words[2]);
    double num3 = Double.parseDouble(words[3]);

    double average = (num1 + num1 + num3) / 3;

    System.out.println(line);
    System.out.println("average is : " + average);
}
编辑:使用nextDouble()

试试这个

while(scan.hasNext()) {

    String line = scan.nextLine(); 
    String[] words = .split(" ");

    double num1 = Double.parseDouble(words[1]);
    double num2 = Double.parseDouble(words[2]);
    double num3 = Double.parseDouble(words[3]);

    double average = (num1 + num1 + num3) / 3;

    System.out.println(line);
    System.out.println("average is : " + average);
}
编辑:使用nextDouble()



你想用这个文本文件做什么?将字符串放入数组中?变量?请更具体一点,一旦我能分离出我想加在一起的数字,并找到平均值?这有帮助吗?你不仅要重新发布,还要创建另一个用户帐户?你最初的问题不是吗?我坐在他旁边,我们都在同一个编程班,都在同一个项目上,寻求帮助,不是吗answers@user2985542下一次,也许你们可以一起合作,提出更好的问题,并向我们展示你们一起提出了什么?你们想用文本文件做什么?将字符串放入数组中?变量?请更具体一点,一旦我能分离出我想加在一起的数字,并找到平均值?这有帮助吗?你不仅要重新发布,还要创建另一个用户帐户?你最初的问题不是吗?我坐在他旁边,我们都在同一个编程班,都在同一个项目上,寻求帮助,不是吗answers@user2985542下次,也许你们可以一起合作,提出更好的问题,让我们看看你们一起想出了什么?谢谢,错误已经消失了,但当我运行它时,什么都没有输出?试试打印线本身。你得到了什么?它运行并且没有打印出来。我试图做的是获取数字并将它们相加,这会改变什么吗?OP试图为他完成家庭作业。请不要发布完整的答案。谢谢,错误已经消失了,但当我运行它时,没有输出任何内容?请尝试打印行本身。你得到了什么?它运行并且没有打印出来。我试图做的是获取数字并将它们相加,这会改变什么吗?OP试图为他完成家庭作业。请不要发布完整的答案。我该怎么做?我该怎么做?问题是,因为我们在我们的类中没有讨论过解析,所以我们无法使用它。我尝试了一下,得到了以下结果:java.lang.ArrayIndexOutofBounds异常:1行之间必须有行空格。只需在循环的末尾添加
scan.nextLine()
。我还有一个问题,如何计算出有多少平均值高于某个数字,在我的程序中,我有39行,需要找出哪些大于或等于90
if(average>yourcoff){count++;}
。请记住,必须用0初始化计数
int count=0
问题是,因为我们在类中没有检查过parse,所以无法使用它。我尝试了它,得到了以下结果:java.lang.ArrayIndexOutofBounds异常:1行之间必须有行空格。只需在循环的末尾添加
scan.nextLine()
。我还有一个问题,如何计算出有多少平均值高于某个数字,在我的程序中,我有39行,需要找出哪些大于或等于90
if(average>yourcoff){count++;}
。请记住,必须用0初始化计数<代码>整数计数=0