Search code examples
javavariablesnetbeansaccess-specifier

Value of variable not updating in Java NetBeans


I have two java files in same package. I want to take the updated value of one variable from one file to another. I wrote the following code. In 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;
        }
    }
}

In class2.java :-

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

The problem is that the final value is printed Yes which should not be printed. The output should be good. Please help me.


Solution

  • You create a class1 object, but you never run the main method. This means that the section of code never runs, and thus bar remains as "Yes".

    In class2 insert second.main(args); before you print second.bar and you will get a good value.