2016-12-25 1 views
-3

switch case 문 안에 사용자 입력문을 사용할 수 있습니까?switch case 문 안에 사용자 입력문을 사용할 수 있습니까?

이것은 내 코드입니다.

switch(choice) { 
    System.out.println("Enter First Number"); 
    num1=input.nextInt(); 
    System.out.println("Enter Second Number"); 
    num2=input.nextInt(); 
    case 1: 
     total=num1+num2; 
     System.out.println("Addition of "+num1+" and "+num2+" are "+total); 
     break; 
    case 2: 
     total=num1-num2; 
     System.out.println("Substraction of "+num1+" and "+num2+" are "+total); 
     break; 
    case 3: 
     total=num1*num2; 
     System.out.println("Multiplication of "+num1+" and "+num2+" are "+total); 
     break; 
    case 4: 
     total=num1/num2; 
     System.out.println("Divistion of "+num1+" and "+num2+" are "+total); 
     break; 
    default: 
     System.out.println("Please Choose right option...Try again"); 
     break; 

} 

자바로 가능합니까?

+4

왜 그렇게하고 싶습니까? switch 문 앞에 입력을 받아서 입력이 유효하지 않은 경우 do-while 루프에서 다시 가져 오는 것은 어떻습니까? –

+0

내부 스위치 케이스 설명이 가능하지 않습니까? – Mathur

+1

컴파일러가 뭔가를 할 수 없다고 말하면 대답은 할 수 없다는 것입니다. – dasblinkenlight

답변

0
없는 경우는 사용자 입력 문에 할당되지 같은 코드가 작동하지

...
이 물건은 스위치 명령문의 본체는 스위치 블록으로서 알려져 오라클
을 주어진 정의에 의해 이해 될 수있다 . 스위치 블록의 명령문은 하나 이상의 대소 문자 또는 기본 레이블로 레이블 될 수 있습니다. switch 명령문은 표현식을 평가 한 다음 일치하는 case 레이블 다음에 오는 모든 명령문을 실행합니다. "사용자 입력 문"귀하의 경우와 같은
그러므로 컴파일러는 오류를
가 발생합니다 어떤 경우에 할당되지 않은하지만 당신은 스위치 블록 내부 호의 어느 하나에 해당하는 경우에는 사용자 입력 문을 넣을 경우는, 사용자 입력을 할 수 있습니다 예를 들어
:

case 1: 
System.out.println("Enter First Number"); 
    num1=input.nextInt(); 
    System.out.println("Enter Second Number"); 
    num2=input.nextInt(); 
total=num1+num2; 
     System.out.println("Addition of "+num1+" and "+num2+" are "+total); 
     break; 


이제 사용자 입력 문이 할당되어 있기 때문에이 작동하는 "경우 1"스위치 블록에 ...

희망 설명 도움말의 당신은 ...

+0

감사합니다. @anubhav 그리고 또한 설명해 주셔서 감사합니다. – Mathur

+0

당신이 대답에 만족한다면 환영합니다. 그러면 틱 버튼을 클릭하여 동의 할 수 있습니다. –