编写一个Java程序,提示用户输入学生数量,学生姓名和他们的成绩,并按照成绩的降序打印学生姓名

import java.util.Scanner;
public class myclass
{
public static void main(String[] args)
{
Scanner input = new Scanner (System.in);
System.out.print("请输入学生个数,学生姓名以及学生成绩");
int number = input.nextInt();
String name = input.next();
double grade = input.nextDouble();
double[] mylist = new double[number];
String[] list = new String[ number];
for( int i = 0;i<number-1;i++)
{
mylist[i] = grade;
double max = mylist[i];
int maxindex = i ;
for(int j=i+1;j<number;j++)
{
if(mylist[j]>max)
{max = mylist[j];
maxindex = j;}

if(maxindex!= i)
{
mylist[maxindex] = mylist[i];
mylist[i] = max ;
}
}
for( i = 0; i< number;i++)
{
list[i] = name ;

}
System.out.println(mylist[i]);
System.out.println(list[i]);

}

}
}
求大神指导哪里有问题啊。。。

你的程序,错误太多了。
1)你name和grade只能保存最后一个输入的值,不能循环输入。
2)大概看了一下你的排序,没有求证,是错误的,比如数组会越界。
3)输出排序后的内容,最后两句代码,你将输出写在了排序的代码里,排序还没有排好,输出的不可能正确。
.....
最严重的就是第一条了,你得看看Java的标准输入输出。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-20
我刚写的
先定义一个类实现序列化
public class Students implements Comparable{
private String name;
private int grade;
public Students(String name, int grade) {
super();
this.name = name;
this.grade = grade;
}
public Students() {
super();
// TODO Auto-generated constructor stub
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
@Override
public int compareTo(Object obj) {
// TODO Auto-generated method stub
return ((Students)obj).getGrade()-this.getGrade();
}

}

在另一个类里测试(刚试过可以)
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入学生个数");
int number = input.nextInt();
Students[] ss=new Students[number];
for(int i=1;i<=number;i++){
System.out.print("请输入第"+i+"个学生的姓名");
String name = input.next();
System.out.print("请输入第"+i+"个学生的成绩");
int grade=input.nextInt();
ss[i-1]=new Students(name,grade);
}
Arrays.sort(ss);
for(int k=1;k<=number;k++){
System.out.println(ss[k-1].getName()+":"+ss[k-1].getGrade());
}
}

用java程序编写以下的题目:1.有一个整数数组,其中存放着序列1,3,5,
用java程序编写以下的题目:1.有一个整数数组,其中存放着序列1,3,5,7,9,11,13,15,17,19。请将该序列倒序存放并输出。 2.编写一个程序,提示用户输入学生数量姓名和他们的成绩,并按照成绩的降序来打印学生的姓名。 3.编写一个程序,求出整数数组中最小元素的下标。如果这样的元素个数大于1,则返回下标最小的...

用java编写:以下5道题目 1.有一个整数数组,其中存放着序列1,3,5,7,
return -1;if (o2.get("score") == null)return 1;return Float.valueOf(o2.get("score").toString()).compareTo(Float.valueOf(o1.get("score").toString()));} });for(Map<String, Object> m :list){ System.out.println("学生姓名:"+m.get("name")+",成绩:"+m.get("scor...

...数,学生姓名和他们的成绩,然后按照学生成绩的降序打印学生成绩的排行...
import java.util.Scanner;public class Test { public static void main(String[] args) { Scanner reader = new Scanner(System.in);System.out.println("请输入学生个数");String strStuNum = reader.nextLine();int stuNum = Integer.parseInt(strStuNum);String[] sNames = new String[stu...

...数,学生姓名和他们的成绩,然后按照学生成绩的降序打印学生成绩的排行...
import java.util.Scanner;public class Test { public static void main(String[] args) { Scanner reader = new Scanner(System.in);System.out.println("请输入学生个数");String strStuNum = reader.nextLine();int stuNum = Integer.parseInt(strStuNum);String[] sNames = new String[stu...

编写一个程序,提示用户输入学生个数,学生学号和他们的课程成绩,然后按 ...
}}public class Test205 {public static void main(String[] args) {StudentInfo[] stu = new StudentInfo[20];Scanner scan = new Scanner(System.in);int nCount = 0;System.out.println("请输入输入的学生个数:");nCount = scan.nextInt();System.out.println("请输入输入的学生学号和...

编写java程序,输入学生的人数,然后逐个输入每个学生的姓名和成绩。统计...
System.out.println("请输入第"+(i+1)+"个班级的成绩:");for(int j=0;j<4;j++)\/\/如3那么就不需要写这个int [][] score=new int[3][4];那如果吧3给去掉呢,那么就这样写for(int i=0;i<score[i].length;i++){ System.out.println("第"+(j+1)+"个学员的成绩:");score=...

用Java语言编程输入10位学生的语文成绩,数学成绩,英语成绩,求出每位...
import java.util.Arrays;import java.util.Scanner;public class StudentScore { public static void main(String[] args) { \/\/定义一个二维数组scores来存放10位学生的三门科目的成绩 int[][] scores = new int[10][3]; \/\/创建一个输入对象 Scanner input = new Scanner(System.in...

java编写程序
= score;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getScore() {return score;}public void setScore(Integer score) {this.score = score;}}public static void main(String[] args) {Pattern r = Pattern.compile("[1-...

JAVA按要求完成下列程序编写,学生类
stuNo = scanner.next();System.out.print("请输入姓名:");stuName = scanner.next();CollegeStudent student;do { \/\/ 获取数学成绩,当成绩不合理时重新输入,进入无限循环mathScore = inputScore(scanner);try {\/\/若学生成绩合理即退出无限循环student = new CollegeStudent(stuNo, stuName, ...

建立一个链表,记录学生的姓名,学号和成绩,
请求援助...建立一个链表,记录学生的姓名,学号和成绩,实现插入和删除过程并且当输入学生的姓名时,可以将该学生所有的信息调出... 请求援助...建立一个链表,记录学生的姓名,学号和成绩,实现插入和删除过程并且当输入学生的姓名时,可以将该学生所有的信息调出. 展开 ...

相似回答