在此程序中,将要求用户输入2个单词,(firstWord和secondWord)。创建对象后,这两个单词将自动出现在屏幕上。
设置firstWord通过while循环在屏幕上更改其位置。
secondWord将保持固定的位置。
我希望循环在firstWord的X位置或Y位置与secondWord相同时结束。
secondWord的XY位置=(155,361)
例如,像:
if (word1.xPosition = 155) {
break;
}
显然,该代码是错误的,它只是给你 了解我想要实现的目标 那么我怎么写这个if语句?
我的代码粘贴在下面:
public words(String w1, String w2)
{
// initialise instance variables
firstWord = new Text(w1);
firstWord.randomizePosition();
firstWord.changeColor("green");
firstWord.changeSize(48);
firstWord.makeVisible();
secondWord = new Text(w2);
secondWord.setPosition(155, 361);
secondWord.changeColor("orange");
secondWord.changeSize(48);
secondWord.makeVisible();
public void draw()
{
while(true) {
firstWord.randomizePosition();
}
if(firstWord.xPosition = ){
break;
}
}
替换if语句
答案 0 :(得分:0)
我希望循环在firstWord的X位置或Y位置与secondWord相同时结束
while (!( firstWord.getXPosition() == secondWord.getXPosition() ||
firstWord.getYPosition() == secondWord.getYPosition())
{
firstWord.randomizePosition();
}
"虽然第一个位置不等于第二个位置的X或Y位置,但更改第一个位置"
如果您希望在GUI上绘制这些标签,请不要在没有线程的情况下看到任何移动,这会在移动之间重新绘制元素。
答案 1 :(得分:0)
如果要将两个元素对齐在EITHER x OR y上,则应将while循环更改为:
while(firstWord's X == secondWord's X || firstWord's Y == secondWord's Y)
firstWord.randomizePosition();
根据您的描述,这应该有效。当然,如果你愿意,你可以随时添加一个小延迟来观看动画。