最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

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

這個(gè)部分為什么輸入finish并沒有結(jié)束這個(gè)循環(huán)啊,換成int型就可以中止循環(huán),為什么String不行啊

for(;;){

System.out.println("請(qǐng)輸入您要的類型:");

Scanner input2=new Scanner(System.in);

int b=input2.nextInt();

?if( b>0&&b<7){

p[b-1]=cars[b-1].getMoney();

System.out.println("請(qǐng)輸入您要的數(shù)量");

Scanner input3=new Scanner(System.in);

n[b-1]=input3.nextInt();

System.out.println("請(qǐng)輸入你要租用的天數(shù):");

Scanner input4=new Scanner(System.in);

d[b-1]=input4.nextInt();

}

?else {

?System.out.println("您輸入無效字符");

?}

System.out.println("確定輸入finish");

Scanner input4=new Scanner(System.in);

String wancheng=input4.next();

if(wancheng=="finish")

break;


正在回答

2 回答

字符串的比較在java里面不能用==,因?yàn)?=對(duì)于字符串而言需要他們存放的內(nèi)存地址一樣和值一樣兩者缺一不可,而顯然這里僅僅是值一樣。一般比較對(duì)象的值是否一樣用equals即wancheng.equals("finish")就可以了。

還有一點(diǎn)如果你定義兩個(gè)字符串

String?s1?=?"2";
String?s2?=?"2";

這里你用==判斷用System。out。println(s1==s2)你會(huì)發(fā)現(xiàn)是true,是的他們地址也一樣因?yàn)?span>JAVA在String類,采用了享元模式,每當(dāng)生成一個(gè)新內(nèi)容的字符串時(shí),他們都被添加到一個(gè)共享池中,當(dāng)?shù)诙卧俅紊赏瑯觾?nèi)容的字符串實(shí)例時(shí),就共享此對(duì)象,而不是創(chuàng)建一個(gè)新對(duì)象,這樣的做法僅僅適合于通過=符號(hào)進(jìn)行的初始化”

如果你是這樣定義的

String?s1?=?new?String("1");
String?s2?=?new?String("1");
System.out.println(s1?==?s2);
你會(huì)發(fā)現(xiàn)輸出為false. ?


?語文不好希望你能看懂


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

慕粉1472426630 提問者

非常感謝!
2016-09-10 回復(fù) 有任何疑惑可以回復(fù)我~

換成int型就可以中止循環(huán),為什么String不行啊

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

舉報(bào)

0/150
提交
取消

這個(gè)部分為什么輸入finish并沒有結(jié)束這個(gè)循環(huán)啊,換成int型就可以中止循環(huán),為什么String不行啊

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

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

幫助反饋 APP下載

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

公眾號(hào)

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