Java-文本文件中读入30个学生的姓名和成绩

本博客介绍了一个程序,该程序从文本文件中读取30个学生的姓名和成绩,计算所有学生的最高分、最低分和平均分,并将结果写入另一个文件。程序使用了Java语言实现,通过文件读写操作、数组处理和基本的数学运算来完成任务。
从一个文本文件中读入30个学生的姓名和成绩,计算所有学生的最高分、最低分和平均分,并将结果写入另外一个文件。
  程序代码:
  import java.io.*;
  public class Stdfile {
   static int max(int a[], int n) //最高分
   {
   int temp = a[0]; //临时变量
   for(int i = 1; i < n; i++)
   if(a[i] > temp)
   temp = a[i];
   return temp;
   }
   static int min(int a[], int n) //最低分
   {
   int temp = a[0];
   for(int i = 1; i < n; i++)
   if(a[i] < temp)
   temp = a[i];
   return temp;
   }
   static int average(int a[], int n) // 求平均值
   {
   int temp = 0;
   for(int i = 0; i < n; i++)
   temp += a[i];
   return temp/n;
   }
   public static void main(String args[]){
   try{
   File fin = new File("Std1.txt");
   File fout = new File("Std2.txt");
   BufferedReader in = new BufferedReader(new FileReader(fin)); //读文件Std1.txt
   PrintWriter out = new PrintWriter(new FileWriter(fout)); //写到Std2.txt
   int[] scores = new int[30];
   int flag = 0;
   int num = 0;
   String s = in.readLine();
   flag++;
   while(s != null){
   if(flag%2==0){
   scores[num] = Integer.valueOf(s);
   num++;
   }
   s = in.readLine();
   flag++;
   }
   int maxValue = max(scores, 30);
   int minValue = min(scores, 30);
   int averageValue = average(scores, 30);
   System.out.println("所有学生的最高分是:"+maxValue);
   System.out.println("所有学生的最低分是:"+minValue);
   System.out.println("所有学生的平均分是:"+averageValue);
   }catch(FileNotFoundException e){
   System.err.println("File Not Found!");
   }
   catch(IOException e){
   e.printStackTrace();
   }
   }
  }
### 回答1: 在Java中读取文本文件的常用方法之一是使用 Java I/O 类库中的 `BufferedReader` 类。下面是一个示例代码,它展示了如何从文件 "input.txt" 中读取文本: ``` import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class Main { public static void main(String[] args) { BufferedReader reader = null; try { reader = new BufferedReader(new FileReader("input.txt")); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } } } } ``` 在这段代码中,我们首先使用 `FileReader` 类来打开文件 "input.txt",然后使用 `BufferedReader` 类来读取文件中的文本。我们使用 `while` 循环来逐行读取文件,直到文件末尾。每一行的文本都会被打印到控制台上。 注意,在这段代码中,我们使用了 `try-catch-finally` 结构来处理可能发生的异常。在这种情况下,我们需要处理的异常是 `IOException`,它可能在打开文件或读取文件时发生。在 `finally` 块中,我们关闭 `BufferedReader` 对象,以确保文件被正确关闭。 ### 回答2: 在Java中,要从文本文件中读取数据,我们可以使用文件输入流(FileInputStream)字符输入流(FileReader)。 使用FileInputStream来读取文本文件的步骤如下: 1. 创建一个FileInputStream对象,并指定要读取的文本文件的路径。 2. 创建一个字节数组来存储读取到的数据。 3. 调用read()方法读取数据,并将读取到的字节数保存在字节数组中。 4. 使用String的构造方法将字节数组转换成字符串。 5. 打印或者处理字符串。 使用FileReader来读取文本文件的步骤如下: 1. 创建一个FileReader对象,并指定要读取的文本文件的路径。 2. 创建一个字符数组来存储读取到的数据。 3. 调用read()方法读取数据,并将读取到的字符数保存在字符数组中。 4. 使用String的构造方法将字符数组转换成字符串。 5. 打印或者处理字符串。 这是一个简单的代码示例,用于从文本文件中读取数据并打印出来: ```java import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class ReadFromFile { public static void main(String[] args) { String fileName = "path/to/your/textfile.txt"; try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) { String line; while ((line = reader.readLine()) != null) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } } } ``` 在这个例子中,我们使用BufferedReader来读取文件内容,并使用readLine()方法逐行读取文件数据。通过循环读取直到文件的末尾,然后将每一行数据打印出来。 请将"path/to/your/textfile.txt"替换成实际的文本文件的路径。 ### 回答3: Java程序可以使用File类Scanner类来从文本文件读入数据。 首先,我们需要使用File类来表示文件对象,通过创建一个File对象来指定要读取的文件路径文件名。例如:File file = new File("C:\\example.txt"); 接下来,我们可以使用Scanner类来读取文件中的数据。Scanner类提供了读取不同类型数据的方法,比如读取整数、浮点数、字符串等。我们可以使用Scanner类的构造函数来将File对象作为参数,创建一个Scanner对象,如:Scanner scanner = new Scanner(file); 然后,我们可以使用Scanner对象的方法来逐行读取文件中的数据。例如,我们可以使用nextLine()方法来读取一行数据,并将其赋值给一个字符串变量。然后我们可以对这个字符串进行处理或输出。例如:String line = scanner.nextLine(); 最后,我们需要记得在读取完文件后关闭文件。我们可以使用Scanner类的close()方法来关闭文件。如:scanner.close(); 总结来说,Java程序从文本文件读入数据的大致步骤是:创建一个File对象表示要读取的文件,使用Scanner类的构造函数将File对象作为参数创建一个Scanner对象,使用Scanner对象的方法来逐行读取文件中的数据,对读取的数据进行处理或输出,最后关闭文件。 以上是一个简单的例子来说明如何从文本文件中读取数据,实际应用中可能需要处理各种不同格式的文本文件,需要根据具体情况进行适当的调整处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值