为什么这个循环忽略了我的指令?

时间:2015-03-30 14:28:01

标签: java for-loop

作为练习,我正在使用Robot类让鼠标在屏幕上画一个正方形。(实际上不是绘图,而是移动鼠标以创建方形,只要它到达最后一个循环,它总是忽略我给它的任何坐标,它永远不会存在于循环中。它只是留在它自己的角落里。我哪里出错?

import java.awt.AWTException;
import java.awt.Robot;


public class RoBotPractice {

    public static void main(String[] args) throws AWTException {
        int a = 500;
        int b = 500;

        Robot myRobot = new Robot();
        for (int i = 0; i<100; i++) {
            myRobot.delay(25);
            myRobot.mouseMove(i, a);
        }
        for (int i = 500; i<600; i++) {
            myRobot.delay(25);
            myRobot.mouseMove(100, i);
        }
        for (int i = 100; i<200; i--) {
            myRobot.delay(25);
            myRobot.mouseMove(i, 600);
        }
        for (int i = 0; i<100; i++) {
            myRobot.delay(25);
            myRobot.mouseMove(i, a);
        }
    } 
}

2 个答案:

答案 0 :(得分:3)

在你的第三个循环中,条件将始终为真(或者至少在你得到一个整数下溢之前),从100开始然后减少,但等待数字达到200

for (int i = 100; i < 200; i--) {
    myRobot.delay(25);
    myRobot.mouseMove(i, 600);
}

你可能意味着

for (int i = 200; i > 100; i--) {

for (int i = 100; i < 200; i++) {

答案 1 :(得分:0)

你代码中的第三个厕所:

for (int i = 100; i < 200; i--) {
    myRobot.delay(25);
    myRobot.mouseMove(i, 600);
}

此外观始终在运行,因为条件始终为true。您必须对其进行修改才能使其正常工作。