java程序设计与实践课程,大一菜鸟,有一道题求助!!!

从键盘上输入若干学生的一门课成绩,依输入顺序存入一个数组中,当输入负数时结束输入.输出最高成绩和最低成绩及相应的序号(数组元素下标,有多个最高成绩获最低成绩时,输出全部序... 从键盘上输入若干学生的一门课成绩,依输入顺序存入一个数组中,当输入负数时结束输入. 输出最高成绩和最低成绩及相应的序号(数组元素下标,有多个最高成绩获最低成绩时,输出全部序号)。我自己写的程序是这样的:
import java.util.Scanner;
public class Array{
public static void main(String args[]){
int n=0;
Scanner in = new Scanner(System.in);
System.out.println("Please input your scores:");
int s=in.nextInt();
if(s<0){
System.exit(0);
}else{n++;}
int score[]=new int[n];
int min = Integer.MAX_VALUE;
for(int i=0;i<n;i++){
score[i]=in.nextInt();
if(score[i]<min){
min=score[i];
}
}System.out.println("最小值是"+min);
int max=Integer.MIN_VALUE;
for(int j=0;j<n;j++){
score[j]=in.nextInt();
if(score[j]>max){
max=score[j];
}
}
System.out.println("最大值是"+max);
}}
可以请高手帮我修改一下补充一下吗?这个运行出来是错的,可我又找不出错误。
展开
 我来答
匿名用户
推荐于2016-07-06
展开全部

for循环内  有问题 

int k = score[0];
for(int j=0;j<n;j++){
    if(k < score[j + 1]){
        k = score[j + 1];
    }
}
System.out.println("最大值是"+max);
追问
还是不能运行,改过来之后会输出
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at Array.main(Array.java:12)

TAT
追答
int k = score[0];
for(int j=0;j<n - 1 ;j++){
if(k < score[j + 1]){
k = score[j + 1];
}
}
System.out.println("最大值是"+k);
保证最少有一个数2个数哦
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式