Многовариантное ветвление — оператор switch
Конструкция if/else может оказаться неудобной, если вы стоите перед необходимостью сделать выбор из многих вариантов. В языке Java есть оператор switch, эквивалентный оператору switch из языков С и С++.Например, создавая систему меню, состоящую из четырех альтернатив, как показано на рис. 3.13, можно использовать следующий код.
String Input = JOptionPane.showInputDialog
("Выберите вариант (1, 2, 3, 4)");
int choice = Integer.parselnt(input);
switch (choice)
{
case 1:
…
break;
case 2:
…
break;
case 3:
…
break;
case 4:
…
break;
default:
// Неверный выбор.
…
break;
}
Выполнение начинается с метки case, соответствующей значению переменной choice, и продолжается до следующего оператора break или конца оператора switch. Если ни одна метка не совпадает со значением переменной, выполняется раздел default, если он предусмотрен.
Заметим, что метка case должна быть целочисленной. Нельзя проверять строки. Например, в следующем фрагменте кода сделана ошибка.
Місяць
Дано ціле число N (1 ≤ N ≤ 12), яке видає порядковий номер місяця в році. За введеним значенням N виведіть назву відповідного місяця.
Технічні умови
Вхідні дані
Єдине число - порядковий номер місяця у році.
Вихідні дані
Єдиний рядок - назва місяця на англійській мові.
Інформація про задачу
Ліміт часу: 1 секундаЛіміт пам`яті: 64 MB
Бали за пройдений тест: 7.5
Складність: 3% 460/472
Джерело: ДПА 2011 - в.18
Приклад
Приклад вхідних даних1 |
Приклад вихідних данихJanuary |
Розв'язок
import java.io.*;import java.util.*;
public class Main
{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
PrintWriter out = new PrintWriter(System.out);
int a = in.nextInt();
switch (a)
{
case 1:
out.println("January");
break;
case 2:
out.println("February");
break;
case 3:
out.println("March");
break;
case 4:
out.println("April");
break;
case 5:
out.println("May");
break;
case 6:
out.println("June");
break;
case 7:
out.println("July");
break;
case 8:
out.println("August");
break;
case 9:
out.println("September");
break;
case 10:
out.println("October");
break;
case 11:
out.println("November");
break;
case 12:
out.println("December");
break;
default:
// Неверный выбор.
break;
}
out.flush();
}
}
Немає коментарів:
Дописати коментар