创建数组、读取文件并创建新文件-java

创建数组、读取文件并创建新文件-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

假设您收到一个包含学生数据的文本文件“students.txt”。文件中的每一行都由名字、姓氏、test1的分数、test2的分数和期末成绩组成。一行的不同字段用“:”分隔。学生的第一行包含行数(学生)

创建包含以下属性的学生组成的类:

名字

等级测试1

二级考试

期末考试

总分

此外,该班学生还包括:

-用4个参数定义的构造函数,用于初始化student类型的新对象的名、姓、等级Test1和等级Test1

-使用以下公式计算总分的方法:Test1*0.2+Test2*0.2+Final*0.6

-每个属性分别有6个访问器方法

编写一个Java程序:

-创建类型为student的数组

-阅读文件并填写学生数组(你应该计算每个学生的总分)

-创建一个名为“Result.txt”的新文件。在此文件中填写成功学生名单(总分>=60)。每行应包含每个学生的名字、姓氏和总分。写下所有学生的平均总分

我一直在努力解决这个问题,我不太擅长编程

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]));