gpt4 book ai didi

java - 为什么我的 for 循环不会停止;尽管有一个 boolean 表达式?

转载 作者:行者123 更新时间:2023-11-29 06:40:39 25 4
gpt4 key购买 nike

列出的最后一个 for 循环(整数变量 n 和 o)..我对任何类型的编程都很陌生,在我们的入门类(class)中,我们使用 Dr Java 和一些基本媒体 Material 来制作本质上是乌龟笔的东西。它在显示器上绘制东西。

我的最后一个 for 循环似乎(在我看来)说它应该在 n<=o 时启动,它们是第一个。所以它启动了。然后它应该更新,以便 n=2 不是 <=o (1)..但它只是无限循环最后一部分......

import Media.*;
import static java.lang.Math.*;

public class DiamondTiles2 {

private TurtleDisplayer display;
private Turtle steve;

public DiamondTiles2 (){

display = new TurtleDisplayer();
steve = new Turtle();
display.placeTurtle(steve);

steve.setSpeed(15);
steve.forward(140); // Moves Steve to the furthest right he needs to be
steve.left(PI/2);
steve.forward((float)1.5*(40*sqrt(3.0))); // Moves Steve to the top (up 1.5 times the height of a diamond)
steve.left(PI/6);
steve.penDown();

for (int m=1 ; m<=4 ; m++){
for (int j=1 ; j<=7 ; j++){ //Diamond Drawing
steve.forward(40);
steve.left(2*PI/3);
steve.forward(40);
steve.left(PI/3);
steve.forward(40);
steve.left(2*PI/3);
steve.forward(40);
steve.left(PI/3);
for (int i=1 ; i<=1 ; i++){
steve.penUp();
steve.left(PI/3);
steve.forward(40);
steve.right(PI/3);
steve.penDown();
for (int k=1 ; j>=7 ; k++){
for (int n=1, o=1 ; n<=o ; n=n+2){
steve.right(7*PI/6);
steve.forward((float)40*(sqrt(3.0)));
steve.left(PI/2);
steve.forward(280);
steve.left(2*PI/3);*
}
}
}
}
}
display.close();
};

基本上最终的结果应该是最后一个循环(n,o)每7次循环j只发起一次。它所做的是绘制 7 颗钻石,然后 n,o 循环将其向下移动以开始新的一行,然后在那里绘制另外 7 颗钻石!但它只是无限期地上下移动..

最佳答案

你检查j而不是 k .

这个:for (int k=1 ; j>=7 ; k++)

应该是:for (int k=1 ; k<=7 ; k++)

此外,您不会递增 o ,因此它始终为零,最内层的循环每次只运行一次。

关于java - 为什么我的 for 循环不会停止;尽管有一个 boolean 表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12715062/

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