要從標(biāo)準(zhǔn)輸入讀取數(shù)字,我們必須將其讀取為字符串并將其解析為數(shù)字。
java.util包中的Scanner類(lèi)根據(jù)模式讀取并解析基本類(lèi)型和字符串中的文本。
文本源可以是InputStream,文件,String對(duì)象或可讀對(duì)象。
我們可以使用Scanner對(duì)象從標(biāo)準(zhǔn)輸入System.in中讀取原始類(lèi)型值。
以下代碼說(shuō)明了如何使用Scanner類(lèi)構(gòu)建一個(gè)簡(jiǎn)單的計(jì)算器來(lái)執(zhí)行加,減,乘和除。
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; } }
上面的代碼生成以下結(jié)果。
更多建議: