English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этой программе вы узнаете, как создать простую вычислительную программу с использованием switch..case в Java. Эта программа будет выполнять операции сложения, вычитания, умножения и деления с двумя числами.
import java.util.Scanner; public class Calculator { public static void main(String[] args) { Scanner reader = new Scanner(System.in); System.out.print("Введи два числа: "); //nextDouble() читает следующий double с клавиатуры double first = reader.nextDouble(); double second = reader.nextDouble(); System.out.print("Введи оператор (+, -, *, /): "); 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; // неодинаковые операторы (+, -, *, /) default: System.out.printf("Ошибка! оператор не правильный"); return; } System.out.printf("%.1f %c %.1f = %.1f", first, operator, second, result); } }
При запуске программы, вывод будет следующим:
Введите два числа 1.5 4.5 Введите оператор (+, -, *, /): * 1.5 * 4.5 = 6.8
Оператор *, введенный пользователем, хранится в переменной оператора с помощью метода next() объекта Scanner.
Таким образом, с помощью метода nextDouble() объекта Scanner два операнда 1.5 и 4.5 соответственно хранятся в переменных first и second.
Поскольку оператор * соответствует условию case '*', поэтому управление в программе переходит к
result = first * second;
Оператор вычисляет результат и хранит его в переменной result, а также break; заканчивает оператор switch.
В конце концов, выполняется оператор printf.
Внимание: Мы используем метод printf() вместо println. Это связано с тем, что здесь мы хотим напечатать форматированную строку. Для получения дополнительной информации, пожалуйста, посетитеJava метод printf().