public static void main(String[] args) {
int[] nums={89,-23,64,91,119,52};
System.out.println("成绩的前三名为");
Arrays.sort(nums);
for(int i=nums.length-1;i>=0;i--){
if(nums[i]>0&&nums[i]<100){
continue;
}
System.out.println(nums[i]);
if(i<nums.length-3){
break;
}
第一,if条件结构,应该为if(nums[i]<0||nums[i]>100),才跳出;
第二,if(i<nums.length-3)不对,不能以数组的长度来判断,我们不知道需要几次,只需要选出符合要求的三个最高成绩并排列打印出来就行;
第三,System.out.println(nums[i]);应该放到后面那个if判断之后,不然循环一次打印一次。
正确的不用定义方法程序:将你System.out.println("成绩的前三名为");之后改为
Arrays.sort(nums);
int count=0;
for(int i=nums.length-1;i>=0;i--){
if(nums[i]<0||nums[i]>100){
continue;
}
count++;
if(count>3){
break;
}
System.out.println(nums[i]);
}
成绩在0-100 之间跳出了
如果你这道题是和这一章的例题一样的话,那你第一个if应该为
if(nums[i]<0||nums[i]>100)
&& 替换成||
我有导入Arrays的 忘记复制了