亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請問這樣寫為什么有錯誤?

/85/1598/uvK/HelloWorld.java:13: error:expected
? ? ? ? ? ?for(int j=0,int k=0;j

正在回答

4 回答

?

//完成 main 方法

? ? public static void main(String[] args) {

? ? ? ? int[] scores={89,-23,64,91,119,52,73};

? ? ? ? System.out.println("考試成績的前三名為:");

? ? ? ? HelloWorld sort=new HelloWorld(); ? ?

????????sort.sort(scores)?; ? ????????//下面定義了方法你不調用??怎么輸出

? ? }

? ? /*

你的sort方法:用兩個for循環你是想將數組重新排序么,

我沒有去看你這方法對不對,你可以專門去把這個排序去實現,

數組排序有java自帶的方法實現——Arrays.sort(數組名),但要先聲明import java.util.Arrays;

*/

? ? //定義方法完成成績排序并輸出前三名的功能

? ? public void sort(int[] scores){

? ? ? ? for(int i=0;i<scores.length;i++){????????

? ? ? ? ? ? for(int j=0,int k=0;j<scores.length;j++){

? ? ? ? ? ? ? ? if(<scores[j]>scores[i]){????????? ??

? ? ? ? ? ? ? ? ? ? k=scores[i];????????????????????????????

? ? ? ? ? ? ? ? ? ? scores[i]=scores[j];

? ? ? ? ? ? ? ? ? ? scores[j]=k;

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? }

????????????????//?System.out.println(scores[0]+","+scores[1]+","+scores[2]);這個是對的

? ? ? ? System.out.println(scores[0]+scores[1]+scores[2]);????//輸出方式這樣輸出是三個數的和

? ? }


以下是我寫的,實現了作業要求

import java.util.*;

public class HelloWorld {

? ? //完成 main 方法

? ?public static void main(String[] args) {

? ? ? ?int[] scores = {89,-23,64,91,52,73};

? ? ? ?HelloWorld score1 = new HelloWorld();

? ? ? ?score1.print(scores); ? ? ?

? ?}

? ?

? ?//定義方法完成成績排序并輸出前三名的功能

? ?public void print(int[] scores){

? ? ? ?Arrays.sort(scores);

? ? ? ?int j=0;

? ? ? ?for(int i = scores.length - 1;i >= 0;i--){

? ? ? ? ? ?if(scores[i] < 0 || scores[i] > 100)

? ? ? ? ? ? continue;

? ? ? ? ? System.out.println(scores[i]);

? ? ? ? ? j++;

? ? ? ? ? if(j >=3)

? ? ? ? ? break;

? ? ? ? ? } ? ? ??

? ? ? ?} ??

}


0 回復 有任何疑惑可以回復我~
public?static?void?main(String[]?args)?{
????????int[]?scores={89,-23,64,91,119,52,73};
????????System.out.println("考試成績的前三名為:");
????????HelloWorld?sort=new?HelloWorld();????
????}
????
????//定義方法完成成績排序并輸出前三名的功能
????public?void?sort(int[]?scores){????????//這個sort方法你根本沒調用
????????for(int?i=0;i<scores.length;i++){
????????????for(int?j=0,int?k=0;j<scores.length;j++){???//j已經int了,k就不需要再int了
????????????????if(<scores[j]>scores[i]){?????//就算調用了這個方法,i,j都是0,if不會執行
????????????????//寫多了個"<"
????????????????????k=scores[i];
????????????????????scores[i]=scores[j];
????????????????????scores[j]=k;
????????????????}
????????????}
????????}
????????System.out.println(scores[0]+scores[1]+scores[2]);
????}

總體上來說,你這個程序根本不能運行,還有程序如果報錯,就不要運行了。我一放進去,一堆報錯。還是照著慕課網的例子學比較好。

1 回復 有任何疑惑可以回復我~

for循環只能定義一個變量。你定了兩個,所以錯了

0 回復 有任何疑惑可以回復我~
????//定義方法完成成績排序并輸出前三名的功能
????public?void?sort(int[]?scores){
????????for(int?i=0;i<scores.length;i++){
????????????for(int?j=0,int?k=0;j<scores.length;j++){?//?for(int?j=0,k=0;...
????????????????if(<scores[j]>scores[i]){
????????????????????k=scores[i];
????????????????????scores[i]=scores[j];
????????????????????scores[j]=k;
????????????????}
????????????}
????????}
????????System.out.println(scores[0]+scores[1]+scores[2]);
????????//?此處不應該直接直接使用+相連,否則三個數會做相加運算,可以改成如下形式
????????System.out.println(scores[0]+","+scores[1]+","+scores[2]);
????}


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

請問這樣寫為什么有錯誤?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號