使用 break 停止 java 中的移动行
Using break to stop the moving lines in java
我是 java 的新手,我有一个问题正在努力解决。我出于我的目的使用 ACM 库。我的目标如下:
- 移动标签 1
- 移动标签 2
- 比较标签 1 和标签 2 的位置(当文本相互重叠时)"Using 'if' statement"
- 一旦到达顶部,使用
break
语句将其停止。
- 重新开始循环。
如果有人可以通过解释如何实施来帮助我。那将是真棒。我在尝试学习。谢谢!
import acm.graphics.GLabel;
import acm.program.CommandLineProgram;
import acm.program.GraphicsProgram;
public class Main extends GraphicsProgram {
public void run( )
{
int label1_xy = 50;
int label2_xy = 200;
GLabel label1 = new GLabel("Hello World.");
add(label1, label1_xy,label1_xy);
GLabel label2 = new GLabel("Goodbye World.");
add(label2, label2_xy,label2_xy);
while (true)
{
label1.move(10,10);
pause(500);
label2.move(-10,-10);
break;
}
}
}
- 移动标签 1
- 移动标签 2
这两个你都做到了
- 比较标签 1 和标签 2 的位置(当文本相互重叠时)"Using 'if' statement"
- 一旦到达顶部,使用 break 语句将其停止。
您可以通过尝试检索对象的 "bound" 来比较这两个标签的位置。示例:
label1.move(10,10);
pause(500);
if (label1.getBounds().getX() == label2.getBounds().getX()
&& label1.getBounds().getY() == label2.getBounds().getY()) {
break;
} else {
label2.move(-10,-10);
}
- 重新开始循环
您可以通过为 run()
代码放置另一个 while 块来重新启动它,或者可能只是调用 run()
(注意此处的 WhosebugError
)。
我是 java 的新手,我有一个问题正在努力解决。我出于我的目的使用 ACM 库。我的目标如下:
- 移动标签 1
- 移动标签 2
- 比较标签 1 和标签 2 的位置(当文本相互重叠时)"Using 'if' statement"
- 一旦到达顶部,使用
break
语句将其停止。 - 重新开始循环。
如果有人可以通过解释如何实施来帮助我。那将是真棒。我在尝试学习。谢谢!
import acm.graphics.GLabel;
import acm.program.CommandLineProgram;
import acm.program.GraphicsProgram;
public class Main extends GraphicsProgram {
public void run( )
{
int label1_xy = 50;
int label2_xy = 200;
GLabel label1 = new GLabel("Hello World.");
add(label1, label1_xy,label1_xy);
GLabel label2 = new GLabel("Goodbye World.");
add(label2, label2_xy,label2_xy);
while (true)
{
label1.move(10,10);
pause(500);
label2.move(-10,-10);
break;
}
}
}
- 移动标签 1
- 移动标签 2
这两个你都做到了
- 比较标签 1 和标签 2 的位置(当文本相互重叠时)"Using 'if' statement"
- 一旦到达顶部,使用 break 语句将其停止。
您可以通过尝试检索对象的 "bound" 来比较这两个标签的位置。示例:
label1.move(10,10);
pause(500);
if (label1.getBounds().getX() == label2.getBounds().getX()
&& label1.getBounds().getY() == label2.getBounds().getY()) {
break;
} else {
label2.move(-10,-10);
}
- 重新开始循环
您可以通过为 run()
代码放置另一个 while 块来重新启动它,或者可能只是调用 run()
(注意此处的 WhosebugError
)。