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

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

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

for(;;){

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

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("請輸入您要的數(shù)量");

Scanner input3=new Scanner(System.in);

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

System.out.println("請輸入你要租用的天數(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里面不能用==,因為==對于字符串而言需要他們存放的內(nèi)存地址一樣和值一樣兩者缺一不可,而顯然這里僅僅是值一樣。一般比較對象的值是否一樣用equals即wancheng.equals("finish")就可以了。

還有一點如果你定義兩個字符串

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

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

如果你是這樣定義的

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


?語文不好希望你能看懂


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

慕粉1472426630 提問者

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

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

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

舉報

0/150
提交
取消

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

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

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

幫助反饋 APP下載

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

公眾號

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