четвер, 19 липня 2012 р.

Багатоваріантне розгалуження (вибір) — оператор switch

 Многовариантное ветвление — оператор 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 (1N12), яке видає порядковий номер місяця в році. За введеним значенням 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();
  }
}

Немає коментарів:

Дописати коментар