2016-12-25 6 views
-3

Kann ich eine Benutzereingabeanweisung in der switch case-Anweisung verwenden?Kann ich eine Benutzereingabeanweisung in der switch case-Anweisung verwenden?

Dies ist mein Code.

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; 

} 

Ist dies in Java möglich?

+4

Warum möchten Sie das tun? Warum nicht einfach die Eingabe vor der switch-Anweisung abrufen und sie dann innerhalb einer do-while-Schleife erneut abrufen, wenn die Eingabe nicht gültig ist? –

+0

ist dies nicht möglich innerhalb der Switch-Case-Anweisung? – Mathur

+1

Wenn Compiler sagt, dass Sie etwas nicht tun können, ist die Antwort, Sie können es nicht tun. – dasblinkenlight

Antwort

0

der Code wird nicht funktionieren, da kein Fall auf eine Benutzereingabe-Anweisungen zugeordnet ist ...
dieses Ding kann durch Orakel
Der Körper einer switch-Anweisung als Schalterblock bekannt gegeben durch die Definition zu verstehen . Eine Anweisung im Switch-Block kann mit einem oder mehreren Case- oder Standard-Labels versehen werden. Die switch-Anweisung wertet ihren Ausdruck aus und führt anschließend alle Anweisungen aus, die der übereinstimmenden Fallbezeichnung folgen.
wie in Ihrem Fall „der Benutzereingabe Aussage“ nicht daher in jedem Fall zugeordnet Compiler
Fehler werfen, aber Sie können Benutzereingaben nehmen, wenn Sie Benutzereingabeanweisung in einem der Fälle innerhalb Schalterblock setzen
zum Beispiel :

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; 


dies, weil jetzt die Benutzereingabe-Anweisung auf „1 Fall“ im Schalterblock ...

zugewiesen wird funktionieren hoffen die Sie Beschreibung Hilfe ...

+0

Danke @anubhav und auch danke für Ihre Beschreibung – Mathur

+0

Sie sind herzlich willkommen sirif Sie mit der Antwort zufrieden sind, dann können Sie es akzeptieren, indem Sie auf die Schaltfläche "Häkchen" klicken –

Verwandte Themen