在此程序中,您將學(xué)習(xí)如何使用Java中的switch..case創(chuàng)建一個(gè)簡(jiǎn)單的計(jì)算器。該計(jì)算器將能夠?qū)蓚€(gè)數(shù)字進(jìn)行加,減,乘和除運(yùn)算。
import java.util.Scanner; public class Calculator { public static void main(String[] args) { Scanner reader = new Scanner(System.in); System.out.print("輸入兩個(gè)數(shù)字: "); //nextDouble()從鍵盤讀取下一個(gè)double double first = reader.nextDouble(); double second = reader.nextDouble(); System.out.print("輸入一個(gè)運(yùn)算符 (+, -, *, /): "); char operator = reader.next().charAt(0); double result; switch(operator) { case '+': result = first + second; break; case '-': result = first - second; break; case '*': result = first * second; break; case '/': result = first / second; break; // 運(yùn)算符不匹配 (+, -, *, /) default: System.out.printf("Error! operator is not correct"); return; } System.out.printf("%.1f %c %.1f = %.1f", first, operator, second, result); } }
運(yùn)行該程序時(shí),輸出為:
輸入兩個(gè)數(shù)字 1.5 4.5 輸入一個(gè)運(yùn)算符 (+, -, *, /): * 1.5 * 4.5 = 6.8
用戶輸入的*運(yùn)算符使用Scanner對(duì)象的next()方法存儲(chǔ)在操作符變量中。
同樣,使用Scanner對(duì)象的nextDouble()方法將兩個(gè)操作數(shù)1.5和4.5分別存儲(chǔ)在變量first和second中。
由于運(yùn)算符*與條件case '*'相匹配:因此程序的控制跳轉(zhuǎn)到
result = first * second;
語句計(jì)算結(jié)果并存儲(chǔ)在變量result,同時(shí)break; 結(jié)束switch語句。
最后,printf語句被執(zhí)行。
注意:我們使用的printf()方法代替println。這是因?yàn)檫@里我們要打印格式化的字符串。要了解更多信息,請(qǐng)?jiān)L問Java printf()方法。