Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 显示文本文档每行中的某些指定值_Java_Arrays_String - Fatal编程技术网

Java 显示文本文档每行中的某些指定值

Java 显示文本文档每行中的某些指定值,java,arrays,string,Java,Arrays,String,因此,我一直在试图找出如何使我的代码能够从文本文件中显示学生姓名以及相应的学生分数,并将其存储到特定变量中。有3行文本,因此我的程序必须输出3个不同的名称和3个不同的分数。我的文本文件包含以下基本学生信息: name1 score1; name2 score2; name3 score3; import java.io.File; import java.io.FileNotFoundException; import java.lang.reflect.Arr

因此,我一直在试图找出如何使我的代码能够从文本文件中显示学生姓名以及相应的学生分数,并将其存储到特定变量中。有3行文本,因此我的程序必须输出3个不同的名称和3个不同的分数。我的文本文件包含以下基本学生信息:

name1    score1;
name2    score2;
name3    score3;




import java.io.File;
 import java.io.FileNotFoundException;
   import java.lang.reflect.Array;
   import java.util.ArrayList;
   import java.util.Arrays;
   import java.util.Scanner;

 public class ReadData 
  {

   public static void readData() throws FileNotFoundException 
     {
    File file = new File("data.txt");
     String[] names = new String[50];    
     int[] scores = new int[100]; 
     Scanner scanner = new Scanner(file);
     int l = 0;
     int w = 0;
     int z =0;




     while (scanner.hasNextLine()) { 
     String line = scanner.nextLine();
     String [] words = line.split("\t"); 
     names[l] = words[0]; 
     scores[l] = Integer.parseInt(words[1]);
     //System.out.println(" name: " + names[l] + ", score: " + scores[l]);
     //l++; 
     String line1 = scanner.nextLine();
     String [] words1 = line1.split("\t"); 
     names[w] = words1[0]; 
     scores[w] = Integer.parseInt(words1[1]);
    // w++;
     String line2 = scanner.nextLine();
     String [] words2 = line2.split("\t"); 
     names[z] = words2[0]; 
     scores[z] = Integer.parseInt(words2[1]);
     //z++;
    System.out.println(" name: " + names[l] + ", score: " + scores[l]);
    System.out.println(" name: " + names[w] + ", score: " + scores[w]);
    System.out.println(" name: " + names[z] + ", score: " + scores[z]);





     }
   }
 }

必须这样做,在每个步骤中,必须读取文件的一行,然后使用
split
方法将其拆分,然后必须将其与数组关联,定义一个计数器,让我将其命名为
j
j
首先必须等于零,在数组中写入一行之后,我们增加
j
的值,这样我们就可以在数组的下一个位置写入另一个值

float sum = 0 ;
while (scanner.hasNextLine()) { 
     String line = scanner.nextLine();
     String [] words = line.split("\t"); 
     names[l] = words[0]; 
     scores[l] = Integer.parseInt(words[1]);
     sum+=scores[l];
     System.out.println(" name: " + names[l] + ", score: " + scores[l]);
     l++; 
}
System.out.println(sum/l);

你还在线吗?是的,我是…….另外,数组的大小应该是3,而不是50和100。我已经这样做了,但如果我想找到他们分数的平均值,我需要以v=score1或其他我不确定的方式获得他们的分数,所以这是另一个question@JustAJAVAGUY你想计算平均值吗?我觉得这很有用