猿问

[初学JAVA]输入时有BUG,不知道怎么解决求大神帮忙解释下。

package 实验报告2;


import java.util.Scanner;


public class student {

// 创建Sutdent类

public static class Student {

int stuScore;

String stuName;

}


public static void main(String[] args) {

Student[] stu = new Student[10];

Scanner input = new Scanner(System.in);

// 錄入用户输入信息

for (int i = 1; i < stu.length; i++) {

stu[i] = new Student();

System.out.println("请输入第" + i++ + "学生姓名:");

stu[i].stuName = input.next();

System.out.println("请输入学生姓名:");

stu[i].stuScore = input.nextInt();

}

//輸出學生信息

System.out.println("学生信息为:");

for (int i = 0; i < stu.length; i++) {

System.out.print(stu[i].stuName + stu[i].stuScore);

}

// 使用for循环,对学生信息进行排序

for (int i = 0; i < stu.length - i - 1; i++) {

if (stu[i].stuScore < stu[i + 1].stuScore) {

int temp;

temp = stu[i].stuScore;

stu[i].stuScore = stu[i + 1].stuScore;

stu[i + 1].stuScore = temp;

}

}

//輸出排序后學生信息

System.out.println("排序后学生信息为:");

for (int i = 0; i < stu.length; i++) {

System.out.print(stu[i].stuName + stu[i].stuScore);

}

}

}


曲胡弓上的缅怀星光
浏览 1559回答 2
2回答

不再热情似火

录入、输出学生信息和后面的输出排序的后的学生信息,你的i < stu.length全=全部都超出了数组范围,改成for(int i=0;i<stu.length-1;i++){}排序也出了错误,冒泡排序用2个for循环进行排序

六道骸

冒泡排序你只将stuScore 的信息进行了对调,stuName 却没有。
随时随地看视频慕课网APP

相关分类

Java
我要回答