作为练习,我使用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);
        }
    }
}

最佳答案

在第三个循环中,条件始终为true(或者至少直到得到整数下溢为止),因为从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++) {

09-11 19:17