2017-03-14 1 views
-2

Sup Jungs,Rechner Fall '5' unbegrenzte Optionen

Brauchen Sie Hilfe, die verwirrend ist. Ich habe diesen Rechner mit einigen Methoden erstellt. Ich würde gerne wissen, ob das, was ich getan habe, eine gute Art ist, es zu schreiben oder gibt es andere bessere Möglichkeiten, es zu tun. Die zweite Frage ist, wenn Sie das SWITCH CASE 5 sehen, wenn der Benutzer nach Y/N gefragt wird, kann der Benutzer verschiedene Zeichen eingeben, die nicht nur an Y und N hängen. Wie kann ich den Benutzer beschränken, nur Y und N zu verwenden.

****THIS IS MY MAINCALC JAVA FILE****** 

package calculator; 

import java.util.Scanner; 

public class MainCalc { 

public static void main (String args []) { 

    Scanner scan = new Scanner(System.in); 

    Calcmethod calc = new Calcmethod(); 

    char choice; 


    do { 
    System.out.println("<*-*-*-*-*-*>"); 
    System.out.println("1. Add "); 
    System.out.println("2. Sub "); 
    System.out.println("3. Mul "); 
    System.out.println("4. Div "); 
    System.out.println("5. Exit"); 
    System.out.println("<*-*-*-*-*-*>\n"); 

    choice = scan.next().charAt(0);  

    switch (choice){ 

    case '1': System.out.println("The CalcVal is: " + "" + calc.calcAdd()); 
    break; 

    case '2': System.out.println("The CalcVal is: " + "" + calc.calcSub()); 
    break; 

    case '3': System.out.println("The CalcVal is: " + "" + calc.calcMul()); 
    break; 

    case '4': System.out.println("The CalcVal is: " + "" + calc.calcDiv()); 
    break; 

    case '5': System.out.println("Are You Sure y/n??"); 
       choice = scan.next().charAt(0);  
       if (choice !='n') { 
       System.out.println("Thanks for using Calc!!!"); 
       System.exit(0); 
       } 
       break; 
    default: System.out.println("Wrong Choice of Selection - Please Select between 1-5 only"); 
    break; 

     }//switch 
    }while (choice != '5'); 
    scan.close(); 
} 
} 


****THIS IS MY CALCMETHOD JAVA FILE****** 

package calculator; 

import java.util.Scanner; 

public class Calcmethod { 

Scanner scan = new Scanner(System.in); 




public double calcAdd(){ 
    System.out.println("Enter 1st Val: "); 
    double x = scan.nextDouble(); 

    System.out.println("Enter 2nd Val: "); 
    double y = scan.nextDouble(); 

    double res = (x+y); 
    return res; 
} 

public double calcSub(){ 
    System.out.println("Enter 1st Val: "); 
    double x = scan.nextDouble(); 

    System.out.println("Enter 2nd Val: "); 
    double y = scan.nextDouble(); 

    double res = (x-y); 
    return res; 
} 

public double calcMul(){ 
    System.out.println("Enter 1st Val: "); 
    double x = scan.nextDouble(); 

    System.out.println("Enter 2nd Val: "); 
    double y = scan.nextDouble(); 

    double res = (x*y); 
    return res; 
} 

public double calcDiv(){ 
    System.out.println("Enter 1st Val: "); 
    double x = scan.nextDouble(); 

    System.out.println("Enter 2nd Val: "); 
    double y = scan.nextDouble(); 

    double res = (x/y); 
    return res; 
} 
+1

Die erste Frage gehört zu [codereview.se]. Die Antwort auf die zweite Frage lautet: Können Sie nicht? Sie können die Eingabe validieren, aber Sie können sie nicht steuern. – shmosel

+0

@AndyTurner Wie ist dieser Link relevant? – shmosel

+1

@AndyTurner Ich habe deinen Rücken :) – shmosel

Antwort

-1

Sie können keine Benutzereingaben begrenzen. Sie können nur voraussehen und haben Ihr Programm bereit für alle Eingaben, die Fehler verursachen können, indem Sie Exception Handling verwenden.