楼主,快快打赏。我没只学到13天,IO流什么的都是临时看的几集,可能用得不好。不过功能是算是实现了的。
Test.zip
(2.16 KB, 下载次数: 108)
/*
写这个程序的时候我们都还没学IO流,所以也是临时看了几个视频写的,途中修修改改了好多次。也算是第一个用到IO流的程序吧,或许写得不怎么好,不过这只是个开始,今后会越来越好的。
1、先创建两个数组str和score用于存放输入的数据,创建的长度为6是因为作者本人比较懒,最后一个长度用来作为TEMP
2、使用for语句录入学生考试信息记录到str数组中,并计算总分记录到score数组里
3、使用for循环嵌套,判断总分大小并交换两个数组的内容
4、将str数组遍历输出到stu.txt文件中
*/
import java.util.Scanner;
import java.io.*;
class Test {
public static void main(String[] args) throws IOException {
String[] str = new String[6]; //创建用来存储录入数据的数组,str[5]用来后面交换数组中数据用的临时存储
int[] score = new int[6]; //创建用来存储总分的数组,同上
System.out.println("请输入(姓名,学号,语文,数学,英文)的格式进行录入数据!"); //提示用户输入的数据格式
Scanner sc = new Scanner(System.in); //创建一个类
for (int i = 0; i < 5; i++) { //for循环,从下标0开始,到下标为4结束
System.out.println("请输入第" + (i + 1) + "名学生的考试信息:");
str = sc.nextLine(); //输入学生考试的信息
String[] arrstr = str.split(","); //分割字符串并将结果赋值给数组arrstr
//计算总分
score += Integer.parseInt(arrstr[2]);
score += Integer.parseInt(arrstr[3]);
score += Integer.parseInt(arrstr[4]);
System.out.println(score); //打印总分,可以用来直观检验计算结果是否正确
}
//两层for循环嵌套,类似九九乘法表,就不解释了
for (int i = 0; i < 4; i++) {
for (int j = i + 1; j < 5; j++) {
//如果下一个索引中的总分大于上一个索引的总分,则交换其中的数据
if (score < score[j]) {
score[5] = score;
score = score[j];
score[j] = score[5];
str[5] = str;
str = str[j];
str[j] = str[5];
}
}
}
System.out.println(""); //仅为了美观,换行
FileWriter fw = new FileWriter("stu.txt"); //打开STU.TXT文件
for (int i = 0; i < 5; i++) { //for循环,将数据写入到stu.txt中
fw.write(str);
System.out.println(str);
fw.write("\r\n");
}
fw.close(); //结束操作,关闭IO流
System.out.println("");
System.out.println("已经将结果写入stu.txt文件中。"); //提示结束程序
}
}
|