Java簡單四則運算
題目
從控制檯輸入只有一個四則運算子(+,-,,/)的簡單四則運算式子,然後輸出計算結果。例如輸入345+23,則輸出345+23=368;輸入20100,則輸出20*10=2000;如果輸入非四則運算式子就給出提示資訊。運算結果如下圖所示
提示:本篇文章是面對初學者文章,其中未使用java語言中類與物件的概念,沒有什麼深層次和抽象的內容。學習者只需一步一步閱讀就可理解程式的執行邏輯,與c語言程式設計較為相似。
不足需改正點:1.該程式沒有使用函式,即沒有將程式做模組化設計。2.該程式的判斷條件仍未完善,例如:其對含小數數尚不能進行判斷,且判斷條件相對繁瑣,需改進。
程式碼如下(示例):
import java.util.Scanner;
public class demo3_2b {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i = 0;
System.out.println("請輸入四則運算式:");
String a = sc.nextLine();
//判斷輸入的字串為簡單的四則運算
/**
* 判斷理念 正確的簡單四則運算形式應該為 數字+符號+數字,那麼,反之不為此形式者就不是四則運算。
*
*第一輪迴圈,判斷前面的字串是否為數字,找到第一個非數字字元,退出迴圈進行下一步判斷。 i為定位字串下標變數
* 對找到第一個非數字字元進行判斷,為四則運算子則進入下一輪迴圈。
* 接下來剩餘的字串應全為數字,則只需設定判斷數字的條件即可。
*/
for (i=0; i<a.length(); i++) {
if(i==0&&(a.charAt(i)<'0'||a.charAt(i)>'9')) { //第一個字元必須為數字,否則不為四則運算,即提示並退出
System.out.println("不是正確的四則運算式子!!!");
System.exit(0);
}
if(a.charAt(i)<'0'||a.charAt(i)>'9')
break;
}
char b;
int x;
x = i;
b = a.charAt(i);
if(b=='+'||b=='-'||b=='*'||b=='/') { //運算子判斷
i++; //位置下標後移
for(;i<a.length();i++) {
if(a.charAt(i)<'0'||a.charAt(i)>'9') {
System.out.println("不是正確的四則運算式子!!!");
System.exit(0);
}
}
}
else {
System.out.println("不是正確的四則運算式子!!!");
System.exit(0);
}
//分離字元 將數字和符號分離x,提取字串中的數字
String c = a.substring(0, x);
String d = a.substring(x+1, a.length());
//此處提取出的數字為字串型,所以需要對其轉化
//強制型別轉化,將string型轉化成int
double e = Integer.parseInt(c);
double f = Integer.parseInt(d);
double s=0;
//使用switch語句 尋找到其對應的運算規則,完成運算。此處也可以使用if-else
switch(b) {
case '+':
s = e+f;
System.out.println(e+"+"+f+"="+s);
break;
case '-':
s = e-f;
System.out.println(e+"-"+f+"="+s);
break;
case '*':
s = e*f;
System.out.println(e+"*"+f+"="+s);
break;
case '/':
if(f==0) {
System.out.println("除數不能為零!!!");
break;
}
else {
s = e/f;
System.out.println(e+"/"+f+"="+s);
break;
}
default:
System.out.println("不正確的四則運算式子!");
sc.close(); //代表關閉輸入流,不然會有警告
}
}
}
相關文章
- 演算法(3)簡單四則運算演算法
- java大整數四則運算Java
- 四則運算
- 四則運算計算器
- 四則運算專案
- 四則運算手冊
- OJ1038 四則運算
- python四則運算生成器Python
- 結對專案四則運算
- 軟體工作四則運算測試
- 結對程式設計-四則運算程式設計
- 四則運算+-×÷同時成立的四連環(2)
- 四則運算+-×÷同時成立的四連環(4)
- 四則運算+-×÷同時成立的四連環(3)
- 四則運算+-×÷同時成立的四連環(1)
- 四則運算+-×÷同時成立的四連環(6)
- 位運算簡單操作
- python資料型別和四則運算Python資料型別
- 結對編碼-四則運算 2252118 2252121
- 課後作業——30道四則運算
- XJSON 是如何實現四則運算的?JSON
- 簡單混合運算的計算器
- 結對程式設計 小學四則運算程式設計
- [記錄] 通用封裝函式——四則運算封裝函式
- 用python實現四則運算的生成與判定Python
- 圖文剖析 big.js 四則運算原始碼JS原始碼
- php鏈式操作實現四則鏈式運算PHP
- 複數的四則運算(C語言實現)C語言
- 編譯原理實戰入門:用 JavaScript 寫一個簡單的四則運算編譯器(修訂版)編譯原理JavaScript
- 隨機生成三百道四則混合運算題目程式隨機
- java基礎(四) java運算順序的深入解析Java
- JS四則運算與四捨五入精度問題及解決方案JS
- NumPy 簡單算術:加減乘除及其他運算
- 結對程式設計--自動生成小學四則運算程式設計
- 用 Java 構建簡單的規則引擎Java
- 六十行程式碼完成 四則運算 語法解析器行程
- c++四則運算結對程式設計 2252416 黃子軒C++程式設計
- 16進位制的簡單運算(迴圈)