java - 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();
}
}
解决方案
在循环的每次迭代中,您检查字符串是否包含某个字符,无论其位置如何。相反,您应该遍历字符串的字符并单独检查它们。例如:
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();
}
}
推荐阅读
- javascript - 只需要一点帮助来完成这个脚本
- css - 在显示时使文本溢出:flex
- python - 如何找到列值Python之间的匹配百分比
- go - 我不明白什么时候在旅途中使用指针
- python - 在python中将多个列表元素加入单个列表
- html-email - 是否可以使用 mjml 设置容器或包装器宽度?
- typo3 - 如何在 TYPO3 中将压缩和连接的 CSS 移动或包含到页脚?
- python-3.x - 升级 Python 版本以运行和创建 Sagemaker Endpoint 的自定义容器
- amazon-s3 - 拒绝在框架中连接“https://s3.console.aws.amazon.com/”,因为 AWS 是“X-Frame-Options”到“拒绝”
- c# - 将巨大的项目列表作为参数传递给 SQL Server 的最高效方法是什么?