在此程序中,您將學(xué)習(xí)如何使用Java中的switch..case創(chuàng)建一個(gè)簡單的計(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)檫@里我們要打印格式化的字符串。要了解更多信息,請?jiān)L問Java printf()方法。