作为练习,我正在使用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);
}
}
}
答案 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。您必须对其进行修改才能使其正常工作。