MemoriseOff 發表於 2012-1-26 23:24:55

請問高手這樣哪邊出錯誤 感謝@@"a

本帖最後由 MemoriseOff 於 2012-1-27 13:57 編輯

小弟我要寫的類似計算機。
第一個和第二個跳出的是數字,
第三個跳出的是加減乘除,
轉換之後一職卡在第三個視窗,
請問這樣寫哪邊有錯誤嗎?


import javax.swing.*;
public class test
{
public static void main(String args[])
{
    int n01,n02;
    String str01,str02,str03;
    do
    {
      str01=JOptionPane.showInputDialog("第一個數字");
      n01=Integer.parseInt(str01);
    }while((n01<-10000000)||(n01>10000000));
    do
    {
      str02=JOptionPane.showInputDialog("第二個數字");
      n02=Integer.parseInt(str02);
    }while((n02<-10000000)||(n02>10000000));
    do
    {
      str03=JOptionPane.showInputDialog("四則運算");   
    }while(str03!="+"&&str03!="-"&&str03!="*"&&str03!="/");
    switch(str03)
    {
      case "+":
      JOptionPane.showMessageDialog(null,n01+n02);
      break;
      case "-":
      JOptionPane.showMessageDialog(null,n01-n02);
      break;
      case "*":
      JOptionPane.showMessageDialog(null,n01*n02);
      break;
      case "/":
      JOptionPane.showMessageDialog(null,n01/n02);
      break;
      default:
    }
}
}

was31832 發表於 2012-1-27 00:49:23

do
    {
      str03=JOptionPane.showInputDialog("四則運算");   
    }while(str03!="+"&&str03!="-"&&r03!="*"&&str03!="/");

應該是str03吧

MemoriseOff 發表於 2012-1-27 13:59:06

恩恩 不過問題還是存在
跳出視窗都卡在第三個輸入介面
想說判斷式應該有問題 
可是又想不出來怎寫會更好
有請高手請教

was31832 發表於 2012-1-28 00:16:08

本帖最後由 was31832 於 2012-1-28 00:23 編輯

先說,以下是我個人的意見與看法,我不確定對不對
首先,字串在判斷方面,用!=和==的話,如果在程式內先設定好字串的內容就沒問題
但如果是程式執行後才用手動輸入的話,用!=和==就完全判斷不出來,這時就要用字串專用的equals來判斷,但是equals是判斷等於,而我這個人又不學無術,不知道字串有沒有特殊的判斷不等於的方法,所以我只能用equals來幫你改這個判斷式
str03.equals("+")||str03.equals("-")||str03.equals("*")||str03.equals("/")
這樣改的話會變無限迴圈,所以我乾脆把跳出條件設定在迴圈內,所以就變這樣了
    do
    {
      str03=JOptionPane.showInputDialog("四則運算");
      if(str03.equals("+")||str03.equals("-")||str03.equals("*")||str03.equals("/"))
      break;
    }while(true);
然後,因為除法有可能產生出浮點數,所以case中的除法項最好改成(float)n01/n02
這是我自己測試的結果,有錯歡迎指正

MemoriseOff 發表於 2012-1-30 20:50:43

感謝~困擾了我好久~!

發表於 2013-9-16 20:49:43

楼主辛苦了!!顶起




另外推荐一个牛B的家庭影院工具给你-----电 视棒,有批发的呢,能收到上万个电视电影频道,想看什么就看什么,你懂的!
详情:dsb.633w.net.cn/ds1.htm?qu
頁: [1]
查看完整版本: 請問高手這樣哪邊出錯誤 感謝@@"a