初学java的菜鸟写的代码,但是出错了,不知道怎么改正,请各位前辈帮一下忙,谢谢

BIGYA 2016-11-27 05:47:36
package Program19;

import java.util.Scanner;

public class TestSort2 { //java程序的内容是输入全班50为同学的语文成绩,并按从低到高排序输出。我采用的是冒泡排序

public static void main(String[] args) {
int[]score=new int[50];
Scanner in =new Scanner(System.in);
for(int i=0;i<50;i++){
System.out.println("请输入第"+(i+1)+"个学生的成绩:");
score[i] =in.nextInt();
}
for(int i=0;i<50-1;i++){ //这里趟数从0开始,所以i<50-1
for(int j=0;j<50-i-1;j++){
if (a[j]>a[j+1]) { //a 报错,无定义。a 该怎么定义?书上代码也没有定义
int t=a[j+1];
a[j]=a[j+1];
a[j+1]=t;

}
}
}
System.out.println("按从低到高顺序输出:");
for(i=0;i<50;i++){ //i报错,无定义。我觉得前面语句块虽然定义了i,但是不同的语句块也需要重新定义,所以这里我试加int ,然后无报错,不止是否是对的?
System.out.println(a[i]+"\t"); //a报错,无定义。
}
}

}
...全文
281 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
楼上说的对,25L加一个 int i=0;
BIGYA 2016-11-28
  • 打赏
  • 举报
回复
谢谢各位前辈,我已经知道原因啦。
solochase 2016-11-28
  • 打赏
  • 举报
回复
楼上说的很对
  • 打赏
  • 举报
回复
楼上说的很对
  • 打赏
  • 举报
回复
楼上说的很对
当作看不见 2016-11-27
  • 打赏
  • 举报
回复
前面的那个a[] 换成score[],这是冒泡排序。 下面的i没定义是由于前面定义的是局部变量,而不是全局变量,在这里的这个作用域获取不到那个值 你加一个int 。

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧