package com.HelloWorld; import java.util.Arrays; public class HelloWorld { //完成 main 方法 public static void main(String[] args) { HelloWorld hello=new HelloWorld(); hello.sort(89 , -23 , 64 , 91 , 119 , 52 , 73); } //定义方法完成成绩排序并输出前三名的功能 public void sort(int scores[]){ Arrays.sort(scores); for(int i=0;i<2;i++){ System.out.println(scores[i]); if(scores[i]>100){ System.out.println("输入无效"); }else if(scores[i]<0){ System.out.println("输入无效"); } } } 这个在调试sort()的时候显示红色,为什么会不行呢?
把代码发的全一点,看一下你的代码逻辑老師的意思,應該就是要讓我們練習這個<q>標籤及瞭解它的語義.因為標籤正確使用,有利排名搜尋.提供給您參考~
package com.HelloWorld; import java.util.Arrays; public class HelloWorld { //完成 main 方法 public static void main(String[] args) { int scores[]={89,-23,64,91,119,52,73}; HelloWorld hello =new HelloWorld(); System.out.println("前三名的成绩为:"); hello.show(scores); } public void show(int []scores){ Arrays.sort(scores); int num=0; for(int i=scores.length-1;num<3;i--){ if(scores[i]>100^scores[i]<0){ continue; } num++; System.out.println(scores[i]); } } }
我把System.out.pringtln("前三名的成绩为:"+hello.show());
变成
System.out.println("前三名的成绩为:");
hello.show(scores);
就可以了,为什么呢?
System.out.pringtln("前三名的成绩为:"+hello.show());这个是你打的
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
int []scores={89,-23,64,91,119,52,73};
HelloWorld hello =new HelloWorld();
System.out.println("前三名的成绩为:");
hello.show(scores);
}
public void show(int []scores){
Arrays.sort(scores);
int num=0;
for(int i=scores.length - 1;num<=3;i--){
if(scores[i]>100 || scores[i]<0){
continue;
}
num++;
System.out.println(scores[i]);
}
}
你那个show方法不能写在println里面(你这都打错真是无语),并且这个方法是有参数的,你的参数呢,先把前面几章再认真看看吧
其实我写的与题目偏了,这个程序表达的是 输入89 , -23 , 64 , 91 , 119 , 52 , 73
然后自动输出前三名。但是我也想知道这样的程序应该怎么弄。
我更改之后还是不行。
package com.HelloWorld; import java.util.Arrays; public class HelloWorld { //完成 main 方法 public static void main(String[] args) { int scores[]={89,-23,64,91,119,52,73}; HelloWorld hello =new HelloWorld(); hello.show(scores); System.out.pringtln("前三名的成绩为:"+hello.show()); } public void show(int []scores){ Arrays.sort(scores); int num=0; for(int i=scores.length;num<=3;i--){ if(scores[i]>100^scores[i]<0){ continue; } num++; System.out.print(scores[i]); } } }
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
HelloWorld hello = new HelloWorld();
int []scores = {89 , -23 , 64 , 91 , 119 , 52 , 73};
hello.sort(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void sort(int []scores){
Arrays.sort(scores);
int num = 0;
for(int i = scores.length - 1; i >= 0 ; i--){
if(scores[i] > 100 || scores[i] < 0){
continue;
}
num ++;
if (num > 3){
break;
}
System.out.println(scores[i]);
}
}
你那个有好几个问题啊,改起来好麻烦,你先看看这个,不懂再说
显示红色好像是代表sort是JAVA关键字吧 关键字不能拿来定义方法名
public void sort(int scores[])应该是public void sort(int[] scores)
hello.sort(89 , -23 , 64 , 91 , 119 , 52 , 73);
应该是int[] scores={89 , -23 , 64 , 91 , 119 , 52 , 73};
hello.sort(scores);