2015-10-30 56 views
-1

每次运行我的程序以获得两个随机生成的整数的总和时,结果总是为0 + 0.请让我知道我错过了什么。为什么我的随机发生器只产生0的?

public void question() { 

    System.out.println("What is " + Random1 + "+" + Random2 + "?"); 
    userAnswer = scan.nextInt(); 
    System.out.println("You entered: " + userAnswer); 
} 

public void actualAnswer() { 

    Answer = (Random1 + Random2); 

    System.out.println("The Correct Answer is: " + Answer); 

    if(userAnswer==(Answer)) { 
     System.out.println("You answered correctly!"); 
    } 
    else { 
     System.out.println("You answered incorrectly"); 

    } 
} 


private void random1() { 

    Random1 = random.nextInt(10) + 1; 

} 

private void random2() { 

    Random2 = random.nextInt(10) + 1; 

} 
+1

尝试和避免使用大写的变量名称,这是相当混乱。另外,什么是“random”,“Random1”,“Random2”和“Answer”?您的代码不显示。 – fge

+6

因为在将值分配给“答案”之前,您没有调用random1()和random2()方法。正如@fge建议的那样,阅读Java命名约定。 – Adi

+0

@阿迪谢谢。我用问题的方法给他们打电话,现在正在工作 – Jb1128

回答

0

虽然你的环境是不是对我很清楚,我从你的问题理解是哟无法生成和随机数。我编辑了一部分,我的解决方案给了你随机生成的整数的总和。希望这将是一个帮助:)

import java.util.Random; 
import java.util.Scanner; 

public class RandomGenerator { 

    int randomInt1 =0; 
    int randomInt2 =0; 
    Scanner scan=new Scanner(System.in); 
    int userAnswer; 
    int answer; 
    /*public void question() { 

     System.out.println("What is " + randomInt1 + "+" + randomInt2 + "?"); 
     userAnswer = scan.nextInt(); 
     System.out.println("You entered: " + userAnswer); 
    }*/ 

    public void actualAnswer() { 
     answer = (random1() + random2()); 
     System.out.println(" numbers generated are: "+ random1()+", "+random2()); 
     System.out.println("The Sum is: " + answer); 

     /* if(userAnswer==(answer)) { 
      System.out.println("You answered correctly!"); 
     } 
     else { 
      System.out.println("You answered incorrectly"); 

     }*/ 
    } 


    private int random1() { 
      Random randomGenerator = new Random(); 
      for(int i =0; i<3; i++){ 

      randomInt1 = randomGenerator.nextInt(10); 
      } 
      return randomInt1; 
    } 

    private int random2() { 

     Random randomGenerator = new Random(); 
     for(int i =0; i<3; i++){ 

      randomInt2 = randomGenerator.nextInt(10); 

     } 
     return randomInt2; 
    } 
public static void main(String a[]){ 
    RandomGenerator rg=new RandomGenerator(); 
    rg.actualAnswer(); 
} 
} 
相关问题