gpt4 book ai didi

java - 遇到想要的输出

转载 作者:行者123 更新时间:2023-12-01 18:46:07 26 4
gpt4 key购买 nike

public class dog {
String name;
public void bark()
{
System.out.println(name+ "says warf!" );
}

public static void main(String[] args) {
dog dog1 = new dog();
dog1.bark();
dog1.name="bart";
//creation of array
dog[] dogs= new dog[3];
//object reference
dogs[0]= new dog();
dogs[1]= new dog();
dogs[2]= dog1;
//Accessing object variables
dogs[0].name= "fred";
dogs[1].name= "marge";
System.out.println("last dog's name is");
System.out.println(dogs[2].name);
//looping through array
int x=0;
while(x < (dogs.length));
{
dogs[x].bark();
x=x+1;

}
}

}

大家好....我是java新手,也是java编程的菜鸟......在上述代码中......按照“head First java”教科书......输出应该是

"null says warf!
last dog's name is bart
fred says warf!
marge says warf!"

但是在上面的代码中,当我在 eclipse ide 中对其进行编码时......输出的前两行我得到但不是最后两行......似乎 while 循环没有被执行...... 。任何人都可以告诉我引用输出的代码有什么问题吗???

最佳答案

while 末尾有一个分号声明:

while(x < (dogs.length));  // Remove the semi-colon

it seems that the while loop is not getting executed.

事实上,它会无限执行,因为x的值始终是相同的,并且由于该分号,您暂时没有任何主体来更改它。以下代码只是一个本地作用域 block ,与 while 无关.

关于java - 遇到想要的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17775236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com