import java.util.Scanner;public class Test17{ public static void main(String[] args){ Scanner a=new Scanner(System.in); System.out.println("請(qǐng)輸入a值"); int b=a.nextInt(); System.out.println("請(qǐng)輸入B值"); int c=a.nextInt(); System.out.println("請(qǐng)輸入運(yùn)算符號(hào)+-*/"); String d=a.next(); if(d=="+"){ System.out.println(b+c); } if(d=="-"){ System.out.println(b-c); } if(d=="*"){ System.out.println(b*c); } if(d=="/"){ System.out.println(b/c); } }上面是我寫(xiě)的。if語(yǔ)句后面括號(hào)里如果用1234代表加減乘除就沒(méi)問(wèn)題。但是換了符號(hào)就不行。字串符不是應(yīng)該用String么?
3 回答
已采納

Caballarii
TA貢獻(xiàn)1123條經(jīng)驗(yàn) 獲得超629個(gè)贊
但是String的比較不應(yīng)該用==,而應(yīng)該是equals函數(shù),d=="+"改成d.equals("+")就好了

九天喲
TA貢獻(xiàn)9條經(jīng)驗(yàn) 獲得超14個(gè)贊
==是用來(lái)比較棧內(nèi)存中的內(nèi)容,通俗的講就是,基本的類(lèi)型可以用==符號(hào)來(lái)進(jìn)行比較,如果是引用類(lèi)型的話需要用equals()方法來(lái)進(jìn)行比較。
因?yàn)樽址?lèi)型屬于引用類(lèi)型,所以要用 equals()的方法來(lái)進(jìn)行表示,如果是對(duì)象之間的比較不但需要是用equals()方法比較,還需要在類(lèi)中重載equals()方法。
添加回答
舉報(bào)
0/150
提交
取消