Java 数组检查输入
所以我试图检查输入,如果输入的整数不大于前一个整数,它应该再次询问。我的程序已经检查了整数是否超出范围,以及输入的不是整数,但它只是不检查输入的整数是否大于上一个整数Java 数组检查输入,java,validation,Java,Validation,所以我试图检查输入,如果输入的整数不大于前一个整数,它应该再次询问。我的程序已经检查了整数是否超出范围,以及输入的不是整数,但它只是不检查输入的整数是否大于上一个整数 for (int i = 0; i < finalGrades.length; i++){ //check input is an integer while(!input.hasNextInt()){ System.out.print("Please enter integers
for (int i = 0; i < finalGrades.length; i++){
//check input is an integer
while(!input.hasNextInt()){
System.out.print("Please enter integers only: ");
input.next();
}
finalGrades[i] = input.nextInt();
if(finalGrades[i] > 100 || finalGrades[i] < 0){
System.out.print("Please enter integers between 0 and 100 only:");
finalGrades[i] = input.nextInt();
}
if(finalGrades[i] < finalGrades[i-1]){
System.out.print("Please enter integers in ascending order only: ");
finalGrades[i]= input.nextInt();
continue;
}
}
for(int i=0;i100 | |最终等级[i]<0){
System.out.print(“请仅输入介于0和100之间的整数:”);
finalGrades[i]=input.nextInt();
}
if(最终等级[i]<最终等级[i-1]){
System.out.print(“请仅按升序输入整数:”);
finalGrades[i]=input.nextInt();
持续
}
}
您有任何错误吗?。是否存在java.lang.ArrayIndexOutOfBoundsException
“如果语句运行不正常,我的底部”是什么意思 如果这是您的问题,请参阅下面的帮助 当i=0时 如果(finalGrades[i]
for (int i = 0; i < finalGrades.length; i++) {
// check input is an integer
while (!input.hasNextInt()) {
System.out.print("Please enter integers only: ");
input.next();
}
finalGrades[i] = input.nextInt();
if (finalGrades[i] > 100 || finalGrades[i] < 0) {
System.out
.print("Please enter integers between 0 and 100 only:");
finalGrades[i] = input.nextInt();
}
if (i > 0) {
if (finalGrades[i] < finalGrades[i - 1]) {
System.out
.print("Please enter integers in ascending order only: ");
finalGrades[i] = input.nextInt();
continue;
}
}
}
for(int i=0;i100 | |最终等级[i]<0){
系统输出
.print(“请仅输入介于0和100之间的整数:”);
finalGrades[i]=input.nextInt();
}
如果(i>0){
if(最终等级[i]<最终等级[i-1]){
系统输出
.print(“请仅按升序输入整数:”);
finalGrades[i]=input.nextInt();
持续
}
}
}
谢谢,在您使用的两种情况下,都会出现数组越界错误
for(int i = 0; i < list.length; i++){}
我的bottomif语句运行不正常。我刚刚做了标记。你能添加调用此代码的函数和一些示例数据吗?
if(finalGrades[I]
当I=0(for循环的第一次迭代)时,你不会得到一个索引越界错误吗?是的,但它仍然不能正常工作。我试着让I=1;我是的,我理解。我将顶部的for循环更改为have(i=1;我只在i>0时执行if(finalGrades[i]for(i=0;i
for(int i = 1; i <= list.length; i++){}
if(i > 0){
if(finalGrades[i] < finalGrades[i-1]){
System.out.print("Please enter integers in ascending order only: ");
finalGrades[i]= input.nextInt();
continue;
}
}