为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

曲胡弓上的缅怀星光 2016-03-10 20:10:20
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); } }}
查看完整描述

2 回答

已采纳
?
不再热情似火

TA贡献15条经验 获得超6个赞

录入、输出学生信息和后面的输出排序的后的学生信息,你的i < stu.length全=全部都超出了数组范围,改成

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

}

排序也出了错误,冒泡排序用2个for循环进行排序

查看完整回答
反对 回复 2016-03-13
?
六道骸

TA贡献30条经验 获得超6个赞

冒泡排序你只将stuScore 的信息进行了对调,stuName 却没有。

查看完整回答
反对 回复 2016-03-11
  • 2 回答
  • 0 关注
  • 1566 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信