這個有錯嗎,為什么運行不了??(都是按照參考答案寫的)(scores怎么錯了?)
import java.util.Arrays;
public class HelloWorld {
? ??
? ? //完成 main 方法
? ? public static void main(String[] args) {
? ? ? ??
? ? ? ? int[] scores={89,-23,64,91,119,52,73};
? ? ? ? System.out.println("考試成績的前三名為:");
? ? ? ? HelloWorld hello=new HelloWorld();
? ? ? ? hello.showTop3(scores);
? ? }
? ??
? ? //定義方法完成成績排序并輸出前三名的功能
? ? public void showTop3(int[] scores){
? ? ? ? int num = 0;
? ? ? ? Arrays.sort(scores);
? ? ? ? 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]);
? ? }
? ? }
? ??
2019-10-17
我己經(jīng)改好了,把? ? ? ? System.out.println(scores[i]);? ? 放在for那一層里就行了。ok
2019-10-17
你把int?i?放在for循環(huán)里面了,輸出語句是在for循環(huán)外面使用i的
2019-10-17
import java.util.Arrays;
public class HelloWorld {
? ? //完成 main 方法
? ? public static void main(String[] args) {
? ? ? ? HelloWorld h = new HelloWorld();
? ? ? ? int[] scores = {89,-23,64,91,119,52,73};
? ? ? ? System.out.println("考試成績的錢三名為:");
? ? ? ? h.paixu(scores);
? ? }
? ? //定義方法完成成績排序并輸出前三名的功能
? ? public void paixu(int[] scores){
? ? ? ? Arrays.sort(scores);
? ? ? ? int count=0;
? ? ? ? for ( int i = scores.length - 1; i >= 0; i-- ) {
? ? ? ? ? ? if(count==3){
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? ? ? if(scores[i]>=0&&scores[i]<=100){
? ? ? ? ? ? ? ? System.out.println(scores[i]);
? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? continue;
? ? ? ? ? ? }
? ? ? ? ? ? count++;
? ? ? ? }
? ? }
}
2019-10-14
最后一行打印的地方錯了,你的i定義是在for循環(huán)中的,在循環(huán)外就不能訪問了??梢匀チ私庖幌耲ava的變量作用域。修改代碼如下:
import java.util.Arrays;
public class HelloWorld {
// 完成 main 方法
public static void main(String[] args) {
int[] scores = { 89, -23, 64, 91, 119, 52, 73 };
System.out.println("考試成績的前三名為:");
HelloWorld hello = new HelloWorld();
hello.showTop3(scores);
}
// 定義方法完成成績排序并輸出前三名的功能
public void showTop3(int[] scores){
? ? ? ? int num = 0;
? ? ? ? Arrays.sort(scores);
? ? ? ? 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]);
? ? }
? ? ? ??
? ? }
}