請問我這個是哪里錯了?應該怎么弄成有返回值的?
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();
? ? int[] a=hello.cj[](scores);
? ? System.out.println(a);
? ? }
? ??
? ? //定義方法完成成績排序并輸出前三名的功能
? ? public int[] cj(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>1){
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? ? ??
? ? ? ? }return scores;
? ? }
? ??
2018-11-18
實現這個功能不需要使用到返回值,因為你要輸出三個成績,而一次只能返回一個值。你可以在if語句塊的下面加一句:System.out.println(scores[i]);意思是打印當前元素。并且你的if語句的條件也寫錯了,應寫成:if(num>3)代表當查詢出第三個成績后跳出循環。在調用方法處,因為不需要使用返回值,所以也不用接收,可直接寫成:hello.cj(scores);不能寫中括號。同學你可以將數組的操作,方法的操作,這兩章多加以練習,熟練掌握它們的語法,這樣的小錯誤就不會犯了。