创建数组、读取文件并创建新文件-java
假设您收到一个包含学生数据的文本文件“students.txt”。文件中的每一行都由名字、姓氏、test1的分数、test2的分数和期末成绩组成。一行的不同字段用“:”分隔。学生的第一行包含行数(学生) 创建包含以下属性的学生组成的类: 名字 姓 等级测试1 二级考试 期末考试 总分 此外,该班学生还包括: -用4个参数定义的构造函数,用于初始化student类型的新对象的名、姓、等级Test1和等级Test1 -使用以下公式计算总分的方法:Test1*0.2+Test2*0.2+Final*0.6 -每个属性分别有6个访问器方法 编写一个Java程序: -创建类型为student的数组 -阅读文件并填写学生数组(你应该计算每个学生的总分) -创建一个名为“Result.txt”的新文件。在此文件中填写成功学生名单(总分>=60)。每行应包含每个学生的名字、姓氏和总分。写下所有学生的平均总分 我一直在努力解决这个问题,我不太擅长编程创建数组、读取文件并创建新文件-java,java,file,class,text-files,Java,File,Class,Text Files,假设您收到一个包含学生数据的文本文件“students.txt”。文件中的每一行都由名字、姓氏、test1的分数、test2的分数和期末成绩组成。一行的不同字段用“:”分隔。学生的第一行包含行数(学生) 创建包含以下属性的学生组成的类: 名字 姓 等级测试1 二级考试 期末考试 总分 此外,该班学生还包括: -用4个参数定义的构造函数,用于初始化student类型的新对象的名、姓、等级Test1和等级Test1 -使用以下公式计算总分的方法:Test1*0.2+Test2*0.2+Final*0
public class Student{
private String FirstName;
private String LastName;
private double Test1;
private double Test2;
private double Final;
private double TotalScore;
public Student(String f, String l, double t1, double t2){
FirstName = f;
LastName = l;
Test1 = t1;
Test2 = t2;
}
public void CalculateTotal(){
TotalScore = Test1*0.2 + Test2*0.2 + Final*0.6;
}
public String getFirstName(){
return FirstName;
}
public String getLastName(){
return LastName;
}
public double getTest1(){
return Test1;
}
public double getTest2(){
return Test2;
}
public double getFinal(){
return Final;
}
public double getTotalScore(){
return TotalScore;
}
}
}首先
行的不同字段之间用“:”分隔
所以你的代码应该是
String ary[]= line.split(":");
现在假设该字段与Student
构造函数的顺序匹配
public Student(String f, String l, double t1, double t2)
您可以创建学生
作为
Student std = new Student (arr[0], arr[1],
Double.valueof (arr[2]), Double.valueOf (arr[3]));
然后可以将这个新的Student
对象添加到Student数组中
-创建类型为student的数组
挣扎什么?具体来说,您的尝试出了什么问题?您刚刚给出了一个需求列表。这不是使用堆栈溢出的正确方法!在帮助中心阅读这就像是一个你想解决的家庭作业问题,这是一个家庭作业。我编辑了它
Student std = new Student (arr[0], arr[1],
Double.valueof (arr[2]), Double.valueOf (arr[3]));