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

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

使用foreach方法為啥會(huì)有邏輯錯(cuò)誤?

int i=0;
for(int a:arr){
i+=((100>=a)&&(0<=a))?1:0;
}
i為什么會(huì)是5?

全部代碼:
import java.util.Arrays;
public class HelloWorld {

//完成 main 方法
public static void main(String[] args) {
HelloWorld hello=new HelloWorld();
hello.Top3(scores);


}
//成績(jī)數(shù)組必須是全局變量,否則HelloWorld類無法調(diào)用
static int scores[]={89 , -23 , 64 , 91 , 119 , 52 , 73};
public void Top3(int[] arr)
{
Arrays.sort(arr);

//統(tǒng)計(jì)有效成績(jī)個(gè)數(shù)
int i=0;
for(int a:arr){
i+=((100>=a)&&(0<=a))?1:0;
}

//輸出成績(jī)信息
// System.out.println("成績(jī)排名是:"+Arrays.toString(arr));
// System.out.print("有效成績(jī)有"+i+"個(gè),包括:");
/* for(;i>0;i--){?
System.out.print(arr[arr.length-i]+",");
}*/
System.out.println("");
System.out.println("考試前三名為:");
for(i=3;i>0;i--){?
System.out.println(arr[arr.length-i]);
}

}
}

正在回答

2 回答

i+=((100>=a)&&(0<=a))?1:0;

這行代碼中用到了條件運(yùn)算符,條件運(yùn)算符的語法如下:

條件運(yùn)算符( ? : )也稱為 “三元運(yùn)算符”。
語法形式:布爾表達(dá)式 ? 表達(dá)式1 :表達(dá)式2
運(yùn)算過程:如果布爾表達(dá)式的值為 true ,則返回 表達(dá)式1 的值,否則返回 表達(dá)式2 的值

由此可以看出((100>=a)&&(0<=a))就是布爾表達(dá)式,即a在0到100的范圍內(nèi)就返回true,然后i+1

那個(gè)成績(jī)數(shù)組里一眼就可以看出只有五個(gè)成績(jī)滿足0-100這個(gè)條件,所以最后i=5

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

comtrumuke 提問者

你仔細(xì)數(shù)數(shù),是6個(gè)不是5個(gè)
2015-06-06 回復(fù) 有任何疑惑可以回復(fù)我~
#2

comtrumuke 提問者

啊,不好意思,是我大意了,我忘了大于100的情況,這樣看來,輸出部分也得改了
2015-06-06 回復(fù) 有任何疑惑可以回復(fù)我~

import java.util.Arrays;

public class HelloWorld {

???

??? //完成 main 方法

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

?????? HelloWorld? hello=new? HelloWorld();

?????? hello.Top3(scores);

???????

???????

??? }

??? //成績(jī)數(shù)組必須是全局變量,否則HelloWorld類無法調(diào)用

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

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

??? public void Top3(int[] arr)

??? {

??????? Arrays.sort(arr);

??????? int i=0;

??????? for(int a:arr){

??????????? i+=((100>=a)&&(0<=a))?1:0;

??????? }

??????? System.out.println("成績(jī)排名是:"+Arrays.toString(arr));

??????? int length=arr.length-1;

??????? for(;length>=0;length--){???????????

??????? if((100>=arr[length])&&(0<=arr[length]))

??????? break;

??????? }

??????? System.out.print("有效成績(jī)有"+i+"個(gè),包括:");

?

??????? for(int l1=length;i>0;i--){???????????

??????? System.out.print(arr[l1--]+",");

??????? }

??????? System.out.println("");

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

??????? for(i=3;i>0;i--){

??????? if(arr[length]<0){

??????? System.out.println("只有以上"+(3-i)+"個(gè)有效成績(jī)");

??????? break;

??????? }

??????? System.out.println(arr[length--]

);

?

??????? }

???????????

??? }

}


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

舉報(bào)

0/150
提交
取消

使用foreach方法為啥會(huì)有邏輯錯(cuò)誤?

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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