首页 > 解决方案 > Java If /Else 语句命令字符串

问题描述

所以我是编码新手,现在正在学习它的课程。我试图让我正在编写的代码采用类似字符串并根据命令移动或绘制海龟图像,我正在使用 for 循环,但每当我输入命令字符串时,它都会以奇怪的顺序执行运动。

int stringLength = commands.length();

for(int i=0; i<stringLength ;i++) {
    if (thigny.contains("F")) {

        rabbit.forward(move);

    } else if (thigny.contains("f")) {

        rabbit.penUp();
        rabbit.forward(move);

    } else if (thingy.contains("+")) {
        rabbit.turnLeft();
    } else if (thingy.contains("-")) {
        rabbit.turnRight();

    }
}

标签: javaif-statementswitch-statementdraw

解决方案


在循环的每次迭代中,您检查字符串是否包含某个字符,无论其位置如何。相反,您应该遍历字符串的字符并单独检查它们。例如:

for(int i = 0; i < stringLength; i++) {
    char ch = commands.charAt(i);
    if (ch == 'F') {
        rabbit.forward(forwardPixels);
    } else if (ch == 'f') {
        rabbit.penUp();
        rabbit.forward(forwardPixels);
    } else if (ch == '+') {
        rabbit.turnLeft();
    } else if (ch == '-') {
        rabbit.turnRight();
    }
}

推荐阅读