課程
/后端開發
/Java
/Java入門第一季(IDEA工具)升級版
/85/1598/uvK/HelloWorld.java:13: error:expected ? ? ? ? ? ?for(int j=0,int k=0;j
2017-04-23
源自:Java入門第一季(IDEA工具)升級版 7-1
正在回答
?
//完成 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;
? ? ? ? ? } ? ? ??
? ? ? ?} ??
}
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]); ????}
總體上來說,你這個程序根本不能運行,還有程序如果報錯,就不要運行了。我一放進去,一堆報錯。還是照著慕課網的例子學比較好。
for循環只能定義一個變量。你定了兩個,所以錯了
????//定義方法完成成績排序并輸出前三名的功能 ????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基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始
2 回答為什么不能這樣編寫,為什么這樣編寫就是錯誤的?
4 回答這樣寫為什么會輸出錯誤呀
3 回答幫忙我這樣寫有什么錯誤嗎?
2 回答這樣寫為什么說我if else錯誤了
1 回答請問為什么不能這樣寫
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-05-12
?
//完成 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;
? ? ? ? ? } ? ? ??
? ? ? ?} ??
}
2017-04-26
總體上來說,你這個程序根本不能運行,還有程序如果報錯,就不要運行了。我一放進去,一堆報錯。還是照著慕課網的例子學比較好。
2017-04-24
for循環只能定義一個變量。你定了兩個,所以錯了
2017-04-24