2017-04-13 26 views
0

如何使用不同方法檢查簡單方程的用戶答案。 這是我目前有:使用單獨方法的輸入驗證

public static void generateSubtraction() { 

    Random rand2 = new Random(); 
    Scanner keyboard4 = new Scanner(System.in); 

    int max = 100; 
    int min = 1; 

    int random = rand2.nextInt(50); 
    int random2 = rand2.nextInt(50); 

    int n = random - random2; 
    System.out.println(random + " - " + random2 + " = ?"); 
    int x = keyboard4.nextInt(); 

    if (n == x) { 

     System.out.println("Correct!"); 
    } 
    if (n != x) { 

     System.out.println("Wrong!"); 
    } 

這是我想在一個完全不同的方法的一部分:

if (n == x) { 

     System.out.println("Correct!"); 
    } 
    if (n != x) { 

     System.out.println("Wrong!"); 
    } 

不知道如何使用的答案輸入的第一個方法,並檢查它在第二種方法中。我需要從主方法中調用這兩種方法。

+0

而什麼是阻止你從一個單獨的方法拉出代碼? –

+0

你的意思是'separateMethod(n,x)'? – abcOfJavaAndCPP

+0

@iluusion在'int x'初始化下的generateSubstruction()內部調用'printAnswer(n,x)'方法,然後刪除調用方法中的if..else – abcOfJavaAndCPP

回答

0

,如果你想調用兩種方法可以創建INT-n的陣列和X 然後提供一個返回類型是一個數組

public static int[] generateSubtraction() { 

     Random rand2 = new Random(); 
     Scanner keyboard4 = new Scanner(System.in); 

     int max = 100; 
     int min = 1; 

     int random = rand2.nextInt(50); 
     int random2 = rand2.nextInt(50); 

     int n = random - random2; 
     System.out.println(random + " - " + random2 + " = ?"); 
     int x = keyboard4.nextInt(); 
     int[] numbers={n,x}; 
     return numbers; 
} 

然後

public static void getArray(int[] numbers) 

    { 
     if(numbers[0]==numbers[1]) 
     //code code code 
     else 
      //code code code 

    } 

然後在主

getArray(generateSubstraction()); 
+0

@iluusion看到這個答案 – abcOfJavaAndCPP

1

爲什麼不只是做一個無效的方法?

public void printAnswer(int n, int x){ 
    if (n == x) { 

     System.out.println("Correct!"); 
    } 
    if (n != x) { 

     System.out.println("Wrong!"); 
    } 
} 

調用它使用:printAnswer(n, x);

+0

上調用'generateSubstruction()'我需要從我的main方法調用這兩個方法。 – iluusion