首页 > 解决方案 > 爪哇。我的一类用户输入没有返回到主程序

问题描述

爪哇。我的一类用户输入没有返回到主程序

对于 user1.guess1 的值,其他类只返回 0 而不是用户输入的值。在这里需要帮助我如何获得用户输入的原始值。

class randtestdrive
{ 
  public static void main(String[] args){    
    user user1 = new user();
    user1.guess();

    int a = user1.guess1 ;
    int b = 5;

    //for user1.guess1's value here other class is returing only 0 instead of value entered by the user.
    // need help here how I can get the orignal value entered by the user.
    System.out.println(user1.guess1+" test A's value");

    if (a==b)
      System.out.println("Hit");
    else if(user1.guess1 != b)
      System.out.println("Missed!"); 
  }
}
class user
{ 
  Scanner in = new Scanner(System.in);  
  int guess1;
  void guess()
  {
    System.out.println("Guess the random number in 1-10");
    int guess1 = in.nextInt();
  }
}

标签: javaclasscompiler-errorsinstance-variables

解决方案


这:

int guess1 = in.nextInt();

是局部变量,而不是实例变量,删除int,它将起作用。

这是你的user课:

class user {
    Scanner in = new Scanner(System.in);
    int guess1;

    void guess() {
        System.out.println("Guess the random number in 1-10");
        int guess1 = in.nextInt();
    }
}

创建新用户时,0默认情况下会分配实例变量。guess()然后您读入一个局部变量,该变量在您的方法结束时被丢弃。所以你0在你的主要方法中得到了一个。


推荐阅读