使用if语句

时间:2016-11-13 20:35:40

标签: java if-statement collision

在此程序中,将要求用户输入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语句

2 个答案:

答案 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();

根据您的描述,这应该有效。当然,如果你愿意,你可以随时添加一个小延迟来观看动画。