无力cm
2015-07-03 21:40
这个代码对照了下标准答案,除了方法名不一样,其他都按标准答案填了,但还是报错,求看看错在哪里
hello.top(socres)拼写错误 应该为:hello.top(scores) 要和你main里面定义的数组名一致。第9行
int num=0;写错了。用myeclipse编译时显示错误。因为如果符合if的话,接下来就执行了continue,跳出if后的语句进入下一个循环。大括号的位置理一理就好,楼上给出了正确代码。
首先,这样写fou循环中不会执行任何东西。因为if中continue,后面的代码会自动跳过,执行下一次for循环。
然后。int num=0;写在 for循环中每次都会循环执行。所以num永远等于0.sort排序由小到大进行排序,所以输出的结果为成绩最小的三位。正确的为:
public static void top(int[] scores){
Arrays.sort(scores);//排序
int num =0;
for(int i=scores.length-1;i>0;i--){
if(scores[i]<0||scores[i]>100){
continue;
}
num++;
if (num>3){
break;
}
System.out.println(scores[i]);
}
}
package cn.edu.zafu;
import java.util.Arrays;
public class llll {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] scores={1,2,5,6,3};
Arrays.sort(scores);//排序
for(int i=0;i<scores.length;i++)
{
if(scores[i]<0||scores[i]>100)
{
continue;
}
int num=0;
num++;
if(num>3)
{
break;
}
System.out.println(scores[i]);
}
}
这样。。
public void top(int[] scores){ Arrays.sort(scores);//排序 for(int i=0;i<scores.length;i++){ if(scores[i]<0||scores[i]>100){ continue; int num =0; num++; if (num>3){ break; } System.out.println(scores[i]); } }
这个方法错了吧 int num = 0 应该写在for循环外面 试试
Java入门第一季(IDEA工具)升级版
1165607 学习 · 17587 问题
相似问题