聯成電腦技術論壇

 找回密碼
 註冊
搜索
查看: 2767|回復: 5

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

[複製鏈接]
發表於 2012-1-26 23:24:55 | 顯示全部樓層 |閱讀模式
本帖最後由 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:
    }
  }
}
發表於 2012-1-27 00:49:23 | 顯示全部樓層
do
    {
      str03=JOptionPane.showInputDialog("四則運算");   
    }while(str03!="+"&&str03!="-"&&r03!="*"&&str03!="/");

應該是str03吧
 樓主| 發表於 2012-1-27 13:59:06 | 顯示全部樓層
恩恩 不過問題還是存在
跳出視窗都卡在第三個輸入介面
想說判斷式應該有問題 
可是又想不出來怎寫會更好
有請高手請教
發表於 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
這是我自己測試的結果,有錯歡迎指正
 樓主| 發表於 2012-1-30 20:50:43 | 顯示全部樓層
感謝~困擾了我好久~!
匿名  發表於 2013-9-16 20:49:43
楼主辛苦了!!顶起




另外推荐一个牛B的家庭影院工具给你-----电 视  棒,有批发的呢,能收到上万个电视电影频道,想看什么就看什么,你懂的!
详情:dsb.633w.net.cn/ds1.htm?qu
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

小黑屋|Archiver|手機版|聯成電腦技術論壇

GMT+8, 2021-4-21 07:43

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表