类不响应来自不同类的Int

时间:2015-09-14 20:29:21

标签: java eclipse

这可能是一个愚蠢的问题,但

我有这个代码

    public class Main {
public static int choice;
public static void main(String[] args) throws InterruptedException {
    ...
    //Get Input
  Scanner reader = new Scanner(System.in);
  System.out.println("");
  System.out.print("Choose The Number!");
  int choice = reader.nextInt();

我有另一个类,想要与int进行交互,选择

   public class DevSetting {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    if( Main.choice == 4 ){
System.out.print("Testing");
        }
}

        }

但是当我输入'4'程序终止时,但我认为它可能不是实际代码,它可能是我如何设置项目。

无论如何谢谢!

1 个答案:

答案 0 :(得分:2)

  1. 您正在遮蔽选择变量,这意味着您在方法或构造函数中重新声明变量,以便对内部变量所做的任何更改都不会反映在类字段中。
  2. 你的程序应该只有一个主方法,只有一个会运行,所以即使你没有隐藏变量,你的第二个类也行不通,也不会成功获得新的选择值。
  3. 您的代码格式有点随机,特别是您的代码缩进样式,这使您的代码很难让我们阅读和理解。良好的格式化(包括使用统一且一致的缩进样式)将有助于其他人(我们!)更好地理解您的代码,更重要的是,它将帮助更好地理解您的代码,从而修复自己的错误。此外,它表明你愿意付出额外的努力,让这里的志愿者更容易帮助你,而且这种努力非常赞赏。
  4. 最好是在第二个类中创建一个公共方法,比如

    DevSetting.doSomething(choice);
    

    然后第一个类可以通过以下方法调用此方法:

    {{1}}

    将更改的选择信息传递给此方法。