作者cawae (中華職棒加油阿!!!)
看板java
標題[問題] 有關計算機程式的小問題
時間Sun Oct 18 15:25:49 2009
爬過板上的文後 給初學的自己一個練習的題目
但是卻遇到一些疑惑...
我原本是想用SWING寫出一個計算機
但是想說先用CONSOLE來確認自己的邏輯
以下是我的程式碼
======================
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("strat math");
double y = input.nextDouble();
//這邊的Y如果輸入的不是數字而是運算符號的話會有問題
//而在這邊加上TRY CATCH的話 底下的Y會因為沒有初始值而出現錯誤...
a:
for (;;) {
String msg = input.next();
switch (msg.charAt(0)) {
case '+':
y += input.nextDouble();
//而每個CASE裡的input.nextDouble()也會出現類似的問題
//我知道那是因為我一開始宣告變數是double型態
//所以這邊如果是輸入成運算符號的話會有問題
continue a;
case '-':
y -= input.nextDouble();
continue a;
case '*':
y *= input.nextDouble();
continue a;
case '/':
y /= input.nextDouble();
continue a;
default:
System.out.println(+y);
break;
}
break a;
}
System.out.println("math over");
}
這是我第一次練習書上沒有的程式
希望板上的前輩可以給予批評指教
謝謝
另外我想請教的是...
關於這個計算機的程式
我的邏輯上有沒有什麼瑕疵或者是什麼問題???
還請板上的前輩可以多多給予批評
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.65.58
推 costbook:請參考中序式轉前序、後序...(資料結構) 10/18 17:27
→ cawae:抱歉 我不太了解你說的耶... 10/18 19:35
推 ducksteven:infix, prefix, postfix google 找一下吧 10/18 19:55
→ cawae:謝謝解說 非常感謝 10/18 20:12
推 slalala:好懷念 這是以前的作業之一XD 10/18 22:42
推 PsMonkey:她這個好像沒有先乘除後加減,不用資料結構吧? 10/19 08:06
推 xlk:假設使用者一定會正確輸入不太好 要是沒catch到程式不就炸了XD 10/19 19:28