2 回答
TA贡献1840条经验 获得超5个赞
我假设您想迭代 的每个数字sevens。由于sevens从 初始化args[0],循环限制应该匹配并查看args[0].length()而不是args.length。
for (int i = 0; i < args[0].length(); i++)
编写循环的另一种方法是迭代直到sevens达到 0。这与循环体更好地对齐;两者都使用相同的变量。
while (sevens > 0) {
if (sevens%10 == 7) {
count += 1;
}
sevens /= 10;
System.out.println(sevens);
}
TA贡献1788条经验 获得超4个赞
您的代码存在逻辑错误,因此要检查迭代的数字是否为数字 7,您需要将数字转换为字符串,并使用以下命令检查该字符是否是所需的字符:numberString.charAt(index)
下面是更正后的代码:
public static void main(String[] args) {
int sevens = Integer.parseInt(args[0]);
String numberString = String.valueOf(sevens);
int count = 0;
for (int i = 0; i < numberString.length(); i++) {
char c = numberString.charAt(i);
if (c == '7') {
count += 1;
}
System.out.println("Input number: " + sevens);
}
System.out.println("Count of 7 numbers: " + count);
}
添加回答
举报