要從標準輸入讀取數位,必須將其讀取為字串並將其解析為數位。java.util
包中的Scanner
類根據模式讀取並解析基本型別和字串中的文字。文字源可以是InputStream
,檔案,String
物件或可讀物件。
可以使用Scanner
物件從標準輸入System.in
中讀取原始型別值。以下程式碼說明了如何使用Scanner
類構建一個小型計算器來執行加,減,乘和除。
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
System.out.println("type something like: 1+3");
Scanner scanner = new Scanner(System.in);
double n1 = Double.NaN;
double n2 = Double.NaN;
String operation = null;
try {
n1 = scanner.nextDouble();
operation = scanner.next();
n2 = scanner.nextDouble();
double result = calculate(n1, n2, operation);
System.out.printf("%s %s %s = %.2f%n", n1, operation, n2, result);
}
catch (Exception e) {
System.out.println("An invalid expression.");
}
}
public static double calculate(double op1, double op2, String operation) {
switch (operation) {
case "+":
return op1 + op2;
case "-":
return op1 - op2;
case "*":
return op1 * op2;
case "/":
return op1 / op2;
}
return Double.NaN;
}
}
上面的程式碼生成以下結果。
type something like: 1+3
12
+
34
12.0 + 34.0 = 46.00