第一个java程序,不打印任何东西

时间:2013-12-28 16:03:31

标签: java

我认为我正确编写了代码,但它没有打印任何内容。谁能解释我为什么?

public class Dogs {

    String name = "";
    String color = "";
    String breed = "";
    boolean hungry = true;

    void changeBarking (boolean True) {
        hungry = True;
    }

    void changeName (String newValue) {
        name = newValue;
    }

    void changeBreed (String newValue) {
        breed = newValue;
    }

    void changeColor (String newValue) {
        color = newValue;
    }

    void printStates() {
        System.out.println("name:" + name);
        System.out.println("color:" + color);
        System.out.println("breed:" + breed);
        System.out.println("hungry:" + hungry);
    }

}

class DogsDemo {
    public static void main(String[] args) {

        Dogs dog1 = new Dogs();
        Dogs dog2 = new Dogs();

        dog1.changeName("Dogas");
        dog1.changeColor("Juodas");
        dog1.changeBarking(true);

        dog2.changeName("Taksas");
        dog2.changeColor("Rudas");
        dog2.changeBarking(false);
    }
}

6 个答案:

答案 0 :(得分:9)

您必须实际调用执行打印的方法。

添加

dog1.printStates();
dog2.printStates();

这似乎有点尴尬:

void changeBarking (boolean True) {
     hungry = True;
}

变量名应以小写字母开头,调用布尔变量True必然会引起混淆。而是使用这样的东西:

void changeBarking (boolean isBarking) {
     hungry = isBarking;
}

答案 1 :(得分:3)

您不是在调用方法printStates()

答案 2 :(得分:3)

尝试添加行

dog1.printStates();
dog2.printStates();
设置完所有值后,在main()方法中

。目前,您实际上从未打电话给您的打印方法。

答案 3 :(得分:1)

的System.out.println( “”);允许您打印字符串。这是你在printStates()方法中所做的,但由于你没有随时调用它,它不会被执行。

答案 4 :(得分:0)

因为您没有调用方法printStates()

将方法调用为

dog1.printStates();
dog2.printStates();

答案 5 :(得分:0)

main方法之前的静态,它将方法声明为类方法,这意味着它不需要调用实例。因此,当您打算调用非静态方法时,Java会抱怨,因为您正在尝试调用所谓的“实例方法”,当然首先需要实例。

只需在主要方法中调用dog1.printStates();dog2.printStates();

class DogsDemo {
    public static void main(String[] args) {
       //  code here
        dog1.printStates();
        dog2.printStates();
    }
}

请参阅此简单程序:http://www.daniweb.com/software-development/java/threads/366637/calling-methods-from-main-method