java类中的属性如何保存输入的值?

package com.qst;

public class Student {
String id;
String name;
double chinese;
double math;
double english;
double Total;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getChinese() {
return chinese;
}
public void setChinese(double chinese) {
this.chinese = chinese;
}
public double getMath() {
return math;
}
public void setMath(double math) {
this.math = math;
}
public double getEnglish() {
return english;
}
public void setEnglish(double english) {
this.english = english;
}
public double getTotal() {
return Total;
}
public void setTotal() {
Total = chinese+math+english;
}
public Student(){

}
public Student(String id,String name,double chinese,double math,double english ){
    this.id=id;
    this.name=name;
    this.chinese =chinese;
    this.math=math;
    this.english=english;
}
public void display(){
    System.out.println("学号:"+this.id);
    System.out.println("姓名:"+this.name);
    System.out.println("语文成绩:"+this.chinese);
    System.out.println("数学成绩:"+this.math);
    System.out.println("英语成绩:"+this.english);
    System.out.println("总成绩:"+(this.chinese+this.math+this.english ));//为什么用Total结果都是0.0
}
public String toString(){
    return id+","+name+","+chinese+","+math+","+english+","+(chinese+math+english);
}    

}
请问:再输入班级许多同学的信息后怎么样让Total输出三门课的总成绩,而不是一直是0?谢谢谢谢

你运行的主程序呢?

创建对象
Student s = new Student ('111','张三',10.0,20.0,30.0);//括号里的就是你给的值
s.display();//这时你的s对象里面就有属性就有值,打印就有了。

你用this.属性来相加,调用的是初始值,而不是你赋予的值。
而且你的赋值操作是什么呢?你得保证你的赋值操作在求和之前啊

 public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String id=scanner.nextLine();
        String name=scanner.nextLine();
        double chinese=scanner.nextDouble();
        double math=scanner.nextDouble();
        double english=scanner.nextDouble();
        Student student = new Student(id, name, chinese, math, english);
        student.display();
    }
 输入:
 1
张三
10
20
30
学号:1
姓名:张三
语文成绩:10.0
数学成绩:20.0
英语成绩:30.0
总成绩:60.0

package com.qst;

public class Test {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub

// Student[]students=new Student[5];
// students[0]=new Student("1001","张飞",56,78,99);
// students[1]=new Student("1002","赵云",88,78,40);
// students[2]=new Student("1003","刘备",98,97,90);
// students[3]=new Student("1004","关羽",56,30,48);
// students[4]=new Student("1005","马超",10,85,99);
// for(Student e:students){
// e.display();
// }
Grade grade=new Grade();
Student[]students=new Student[5];
for(int i=0;i<students.length;i++){
System.out.println("第"+(i+1)+"个数据采集:");
students[i]=grade.input();
}
System.out.println("学号,姓名,语文成绩,数学成绩,英语成绩");
grade.output(students);
// for(int i=0;i<students.length;i++){
// System.out.println(students[i].Total);
// }
}

}

可以使用IO流中的序列化流

首先封装之后,set赋值之后,类对象中被赋值的属性就是有值的,只需要调用次对象。
类似与永久保存的话,还需要用到数据库。