
求改简单JAVA程序
classStu{privateStringname;privatefloatsubject1;privatefloatsubject2;privatefloatsubj...
class Stu{ private String name; private float subject1; private float subject2; private float subject3; public Stu(){} public Stu(String name){ this.name=name;} public void setGrades(float subject1,float subject2,float subject3) {this.subject1=subject1; this.subject2=subject2; this.subject3=subject3;} public float getTotalGrades() { return subject1+subject2+subject3; } public String toString() { return this.name + "\t" + this.subject1 + "\t" + this.subject2 + "\t" + this.subject3+"\t" + this.getTotalGrades(); } }
public class J23020112204099 { public static void main(String[] args) {System.out.println("请输入学生信息"); Scanner input=new Scanner(System.in); System.out.println("请输入要记录成绩的学生个数:"); int n=input.nextInt(); Stu[] stu=new Stu[n]; int i=0; System.out.println("请依次输入姓名,第一门成绩,第二门成绩,第三门成绩:"); for(i=0;i<stu.length;i++) { System.out.print("请输入第"+(i+1)+"个人的姓名和成绩:"); stu[i]=new Stu(input.next()); stu[i].setGrades(input.nextFloat(),input.nextFloat(),input.nextFloat()); } J23020112204077 t=new J23020112204077(); t.sort(stu); System.out.println("名次\tName\tSubject1\tSubject2\tSubject3\tTotal"); for(i=0;i<stu.length;i++) { System.out.print(i+1 + "\t"); System.out.println(stu[i]); } } //排序 public void sort(Stu[] stu){ int least=0; for(int i=0;i<stu.length-1;i++){ least=i; for(int j=i+1;j<stu.length;j++){ if(stu[least].getTotalGrades()<stu[j].getTotalGrades()) least=j; } if(i!=least) swap(stu,i,least);//交换 } } //两个数交换 private void swap(Stu[] stu,int one,int two){ Stu temp=stu[one]; stu[one]=stu[two]; stu[two]=temp; } } Scanner input=new Scanner(System.in);//用来读取你的输入 System.out.println("请输入要记录成绩的学生个数:"); int n=input.nextInt(); Stu[] stu=new Stu[n]; int i=0; System.out.println("请依次输入姓名,第一门成绩,第二门成绩,第三门成绩:"); for(i=0;i<stu.length;i++){ System.out.print("请输入第"+(i+1)+"个人的姓名和成绩:"); stu[i]=new Stu(input.next()); stu[i].setGrades(input.nextFloat(),input.nextFloat(),input.nextFloat()); }}要不要注意什么
比如文件的命名之类的
我是菜鸟啦
用的是ECLIPSE
但是一直报错,运行不了,我的能力到极限了
抱歉啊,复制上来就变成这样了 展开
public class J23020112204099 { public static void main(String[] args) {System.out.println("请输入学生信息"); Scanner input=new Scanner(System.in); System.out.println("请输入要记录成绩的学生个数:"); int n=input.nextInt(); Stu[] stu=new Stu[n]; int i=0; System.out.println("请依次输入姓名,第一门成绩,第二门成绩,第三门成绩:"); for(i=0;i<stu.length;i++) { System.out.print("请输入第"+(i+1)+"个人的姓名和成绩:"); stu[i]=new Stu(input.next()); stu[i].setGrades(input.nextFloat(),input.nextFloat(),input.nextFloat()); } J23020112204077 t=new J23020112204077(); t.sort(stu); System.out.println("名次\tName\tSubject1\tSubject2\tSubject3\tTotal"); for(i=0;i<stu.length;i++) { System.out.print(i+1 + "\t"); System.out.println(stu[i]); } } //排序 public void sort(Stu[] stu){ int least=0; for(int i=0;i<stu.length-1;i++){ least=i; for(int j=i+1;j<stu.length;j++){ if(stu[least].getTotalGrades()<stu[j].getTotalGrades()) least=j; } if(i!=least) swap(stu,i,least);//交换 } } //两个数交换 private void swap(Stu[] stu,int one,int two){ Stu temp=stu[one]; stu[one]=stu[two]; stu[two]=temp; } } Scanner input=new Scanner(System.in);//用来读取你的输入 System.out.println("请输入要记录成绩的学生个数:"); int n=input.nextInt(); Stu[] stu=new Stu[n]; int i=0; System.out.println("请依次输入姓名,第一门成绩,第二门成绩,第三门成绩:"); for(i=0;i<stu.length;i++){ System.out.print("请输入第"+(i+1)+"个人的姓名和成绩:"); stu[i]=new Stu(input.next()); stu[i].setGrades(input.nextFloat(),input.nextFloat(),input.nextFloat()); }}要不要注意什么
比如文件的命名之类的
我是菜鸟啦
用的是ECLIPSE
但是一直报错,运行不了,我的能力到极限了
抱歉啊,复制上来就变成这样了 展开
7个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询