2 回答

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊
我假設(shè)您想迭代 的每個(gè)數(shù)字sevens。由于sevens從 初始化args[0],循環(huán)限制應(yīng)該匹配并查看args[0].length()而不是args.length。
for (int i = 0; i < args[0].length(); i++)
編寫循環(huán)的另一種方法是迭代直到sevens達(dá)到 0。這與循環(huán)體更好地對(duì)齊;兩者都使用相同的變量。
while (sevens > 0) {
if (sevens%10 == 7) {
count += 1;
}
sevens /= 10;
System.out.println(sevens);
}

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
您的代碼存在邏輯錯(cuò)誤,因此要檢查迭代的數(shù)字是否為數(shù)字 7,您需要將數(shù)字轉(zhuǎn)換為字符串,并使用以下命令檢查該字符是否是所需的字符: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);
}
添加回答
舉報(bào)