Есть ли способ получить доступ к случаю переключения из другого метода? - PullRequest
0 голосов
/ 07 апреля 2019

Я занимаюсь разработкой математической программы викторины, которая спросит пользователя, есть ли у вас тест на сложение, вычитание, деление или умножение.Так с помощью оператора switch case я могу получить доступ к методу?

public static void Addition(){ 

} 

public static void Subtraction(){

} 

public static void Division(){ 

} 

Public static void Multi(){

} 

static void option(){
        Scanner input = new Scanner(System.in);
            int choice = 0; 

        System.out.print("Enter your choice: ");
    choice = input.nextInt(); 

switch (choice){ 
            case 1: 
                break; 
            case 2: 
                break; 
            case 3: 
                break; 
            case 4: 
                break; 
            default: 
                                break;
}

Ответы [ 2 ]

0 голосов
/ 07 апреля 2019

Я думаю, вы действительно хотите что-то вроде этого:

public static double add(double x, double y){ 
  return x + y;
} 

public static double subtract(double x, double y){
  ...
} 

public static void divide(double x, double y){ 
  ...    
} 

public static double multiply(double x, double y){
  ...        
} 

public static void main (String[] args ) {
  Scanner input = new Scanner(System.in);
  int choice = -1;
  while (choice != 5) {
     System.out.print("1) add, 2) subtract, 3) divide, 4) multiply 5) quit");
     int choice = input.nextInt();
     // Get x, y, result
     switch (choice){ 
            case 1: 
                result = add(x, y);
                break; 
            case 2: 
                result = subtract(x, y);
                break; 
            case 3: 
                result = divide(x, y);
                break; 
            case 4: 
                result = multiply(x, y);
                break; 
            default: 
                System.out.println("Exiting program...");
                return;
           break;
      }
  }

Обратите внимание, что вам, вероятно, следует использовать возможность передавать " возвращаемое значение " из функций (методов). Также обратите внимание, что обычно это методы " casel " (например, "addNumbers ()", а не "Addition ()".

0 голосов
/ 07 апреля 2019

Правильный синтаксис будет, например:

switch (choice){ 
        case 1:
            Addition();
            break; 
        case 2: 
            Subtraction();
            break; 
        case 3: 
            Division();
            break; 
        case 4: 
            Multi();
            break; 
        default: 
            break;
}

Я бы рекомендовал обычно именовать методы в Java с camelcase

...