Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何循环以不断生成类的新对象实例? while(x_Java_Loops_Object - Fatal编程技术网

Java 如何循环以不断生成类的新对象实例? while(x

Java 如何循环以不断生成类的新对象实例? while(x,java,loops,object,Java,Loops,Object,这个循环是否创建了6新的不同对象,并将它们分配给参考变量kfl或…?它将创建大约5个整型.minu值的狗对象。在每次迭代之后,他们将有资格对前一个对象进行垃圾收集。在while循环之后,所有Dog对象将不再被引用,因为它将超出范围 这意味着您最终将不会引用任何已创建的Dog对象 编辑:我将x作为x=5。因为它必须是

这个循环是否创建了
6
新的不同对象,并将它们分配给参考变量
kfl
或…?

它将创建大约5个
整型.minu值
对象。在每次迭代之后,他们将有资格对前一个对象进行垃圾收集。在while循环之后,所有
Dog
对象将不再被引用,因为它将超出范围

这意味着您最终将不会引用任何已创建的
Dog
对象


编辑:我将x作为
x=5
。因为它必须是
<6
才能满足while约束。

对象创建取决于
x
的值。如果
x
的值小于6,则将创建无限多的对象。在另一种情况下,如果
x
的值大于6,则循环将不会执行,因此对象的数量将为0。

这取决于x是什么。同样,按照设置循环的方式,如果x开始小于6,它将无限运行;如果x开始大于或等于6,它将不执行

假设
intx=0

while (x < 6) {
    x = x-1;
    Dog kfl = new Dog();
}


这里使用for循环的原因是for循环用于迭代,而不是while循环。虽然循环是用来作为一个连续的条件-像一个if语句除了不断重复。因此,当您不知道一个代码块应该迭代多少次时,您将使用
while
循环,当您知道应该迭代多少次时,将使用
for
循环

答案是肯定的。。。但这是一个糟糕的问题。欢迎来到Stackoverflow,请阅读x-1?而xSort。它会创建一些新对象,但由于只有一个引用,因此一旦指定了一个新对象,每个对象都会“丢失”。所以最后你只有一个可到达的对象。(我想你的意思是,
x=x+1
,我想不出x的初始值会倒计时到6。)@JuanCarlosMendoza不是永远,只是直到它溢出…实际上这取决于x的初始值(没有给出)。如果x的初始值是整数。最小值
,它将只创建一个对象,然后退出。实际上,它将创建正好为0或无限的。。。。(而x@JasonVanBenschoten它不会是无限的,因为
x
的值最终会下溢,变成
整数。MAX\u value
@JasonVanBenschoten你是怎么计算的?如果你从
Integer.MIN\u value
中减去一,它就会变成
整数。MAX\u value
,至少大于6。好吧,所以无穷不是正确的词…但是…它表达了观点。你能至少在你的文章中添加一些Interfunction吗?你能解释为什么他的代码不能达到预期的结果是很好的。你应该解释一个可能的解决方案。
while (x < 6) {
    x = x-1;
int x = 6;
while (x > 0) {
    x--;
int x = 0;
while (x < 6) {
    x++;
Dog dogs[] = new Array[5]; // Sets array to 5 elements total

for (int i = 0; i < dogs.length; i++) {
    dogs[i] = new Dog();
}