求改简单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
但是一直报错,运行不了,我的能力到极限了
抱歉啊,复制上来就变成这样了
展开
 我来答
hitzsf
2012-06-29 · TA获得超过2060个赞
知道大有可为答主
回答量:1741
采纳率:78%
帮助的人:1161万
展开全部
我昨天在贴吧为其他人写了一个,可是被百度吞码了,就发给你吧

import java.util.Arrays;import java.util.Comparator;
public class Student { private String name; private int score1,score2,score3; private int total;
public Student() { } public Student(String name) { this.name = name; }
public void inputScore1(int score1,int score2,int score3){ this.score1 = score1; this.score2 = score2; this.score3 = score3; } public void getTotal(){ total = score1 + score2 + score3; } public String toString(){ return this.name + " 成绩1=" +this.score1 + " 成绩 2=" + this.score2 + " 成绩 3=" +this.score3 + " 总分=" + this.total; }
public static void main(String[] args) { Student[] students = new Student[10]; for(int i = 0; i < 10; i++){ students[i] = new Student(i + "号学生"); students[i].inputScore1((int)(Math.random()*100), (int)(Math.random()*100), (int)(Math.random()*100)); students[i].getTotal(); } Arrays.sort(students, new Comparator<Student>(){ public int compare(Student o1, Student o2) { if (o1.total == o2.total) return 0; else return o1.total > o2.total ? -1 : 1; } }); for(int i = 0; i < students.length; i++){ System.out.println("名次:" + (i+1) +"\t" + students[i]); } }}
mingtian15151
2012-06-29 · TA获得超过116个赞
知道小有建树答主
回答量:280
采纳率:0%
帮助的人:146万
展开全部
亲我在另一个电脑上有一个 不过要八点半左右才能给你 可以吗 已经做好的 因为昨天做了一个一模一样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0ed34d7
2012-06-29 · 超过23用户采纳过TA的回答
知道答主
回答量:84
采纳率:0%
帮助的人:42.9万
展开全部
J23020112204077 t=new J23020112204077();
有J23020112204077这类吗
我只看到class J23020112204099
还有有些System.out.println为什么不在方法里面。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友845f74e61
2012-06-29 · TA获得超过6929个赞
知道大有可为答主
回答量:4050
采纳率:50%
帮助的人:1614万
展开全部
你是不是把别人给你的解释也加进来了?
我发现后面有几行是在类外的。
这样就可以了。

----------------------------------------------------
import java.util.Scanner;

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());
}
J23020112204099 t = new J23020112204099();
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;
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友829d24bdc
2012-06-29 · TA获得超过1495个赞
知道小有建树答主
回答量:1283
采纳率:0%
帮助的人:1164万
展开全部
有QQ,hi之类的可以传文件的么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式