Java NetBeans 中变量的值未更新

Value of variable not updating in Java NetBeans

我在同一个包中有两个 java 文件。我想将一个变量的更新值从一个文件获取到另一个文件。我写了下面的代码。在 class1.java 中:-

import javax.swing.JOptionPane;
public class class1 {
    public static String bar = "Yes";
    static int age = 26;
    public static void main(String[] args){
        switch(age) {
            case 25: bar = "world";
                break;
            case 26: bar = "good";
                break;
            case 27: bar = "very";
                break;
            case 30: bar = "hello";
                break;
            default: JOptionPane.showMessageDialog(null,"Please");
                break;
        }
    }
}

在class2.java中:-

public class class2 {
    public static void main(String[] args){
        class1 second = new class1();
        System.out.println(second.bar);
    }
}

问题是打印了最终值,不应该打印。输出应该是 good。请帮助我。

您创建了一个 class1 对象,但您从未 运行 main 方法。这意味着代码部分永远不会 运行s,因此 bar 仍然是 "Yes".

class2 中,在打印 second.bar 之前插入 second.main(args);,您将得到一个 good 值。

class class1 {

    public String getBar(String age){
        String bar = "Yes";
        switch(Integer.valueOf(age)) {
            case 25: bar = "world";
                break;
            case 26: bar = "good";
                break;
            case 27: bar = "very";
                break;
            case 30: bar = "hello";
                break;
        }
        return bar;
    }
}

public class class2 {
    public static void main(String[] args){
    String age = JOptionPane.showInputDialog("Age Please");
    class1 class1Obj = new class1();
    System.out.println(class1Obj.getBar(age));
    }
}