第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

請(qǐng)問(wèn)我這個(gè)報(bào)錯(cuò)[I@15db9742是怎么回事啊?

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("考試成績(jī)的前三名為:");

? ? HelloWorld hello = new HelloWorld();

? ? hello.cj(scores);

? ? int[] a= hello.cj(scores);

? ? System.out.println(a);

? ? }

? ??

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

? ? 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>2){

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

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

? ? ? ? }return scores;

? ? }

? ?

}


正在回答

6 回答

a是int[],你直接輸出,當(dāng)然是打印地址,

0 回復(fù) 有任何疑惑可以回復(fù)我~

因?yàn)槟阆胼敵龅氖菙?shù)組,所以打印成這樣.數(shù)組輸出需要轉(zhuǎn)換一下:Arrays.toString(a),你改一下就好了。?System.out.println(Arrays.toString(a));

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

蘇北行 提問(wèn)者

好嘞,我懂了,謝謝你
2018-12-12 回復(fù) 有任何疑惑可以回復(fù)我~

錯(cuò)誤1:num++;? if(num>2){ break;}? 假如在上一輪num=2,意味著已經(jīng)有兩個(gè)有效成績(jī)。在這一輪中,假如有效,你首先就加了個(gè)1,就變成3,進(jìn)入if,直接break退出了,根本不會(huì)輸出這第三個(gè)有效成績(jī)。正確的順序應(yīng)該是先加一,再輸出,再判斷。

錯(cuò)誤2:return scores; int[] a= hello.cj(scores); System.out.println(a); 這個(gè)我也說(shuō)不太清楚,但是我覺(jué)得應(yīng)該是不能這樣子的吧,不說(shuō)語(yǔ)法,從邏輯來(lái)看,scores只是升序排序之后的數(shù)組,你再輸出來(lái)和題目不符,題目是前三高。我覺(jué)得cj方法可以不用返回直接用void,在cj方法里面輸出,當(dāng)你判斷數(shù)組里這個(gè)數(shù)滿足要求你就可以輸出它,增一條語(yǔ)句比你這個(gè)要稍微簡(jiǎn)單點(diǎn):System.out.prinln(scores[i]);? main方法里呢只要調(diào)用cj方法就好,hello.cj(scores);


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

蘇北行 提問(wèn)者

嗯...第一個(gè)錯(cuò)誤是我在實(shí)驗(yàn)的時(shí)候改了忘記改回來(lái)了,第二個(gè)是我想的,想看看改成有返回值的是怎么改,為什么我改了反而出錯(cuò)了,現(xiàn)在我懂了,謝謝你
2018-12-12 回復(fù) 有任何疑惑可以回復(fù)我~

你的代碼里

int[] a= hello.cj(scores);

? ? System.out.println(a);

這里沒(méi)必要,不需要寫(xiě),直接刪了

if(num>2)這里只會(huì)輸出倆個(gè)數(shù)字,應(yīng)該改成if(num>3)

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

蘇北行 提問(wèn)者

嗯,我是想設(shè)成有返回值的那種,想看看怎么改,還是謝謝你
2018-12-12 回復(fù) 有任何疑惑可以回復(fù)我~

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("考試成績(jī)的前三名為:");

? ? HelloWorld hello = new HelloWorld();

? ? hello.cj(scores);

? ? }

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

? ? 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>3){

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

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

? ? ? ? }

return scores;

? ? }

}

? ??

? ??

? ??

? ??

? ??

? ??

試試這樣

0 回復(fù) 有任何疑惑可以回復(fù)我~

不需要返回值

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

蘇北行 提問(wèn)者

我的意思是想知道如果設(shè)成有返回值的該怎么寫(xiě)
2018-12-12 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
Java入門第一季(IDEA工具)升級(jí)版
  • 參與學(xué)習(xí)       1167722    人
  • 解答問(wèn)題       18749    個(gè)

0基礎(chǔ)萌新入門第一課,從Java環(huán)境搭建、工具使用、基礎(chǔ)語(yǔ)法開(kāi)始

進(jìn)入課程

請(qǐng)問(wèn)我這個(gè)報(bào)錯(cuò)[I@15db9742是怎么回事?。?/h1> 我要回答 關(guān)注問(wèn)題

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)