2 回答

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊
如果您不跟蹤代碼,則不應(yīng)將輸出語(yǔ)句放入循環(huán)中:
int res = 0;
for (int i = 0; i < s.length(); i++)
{
if (s.charAt(i) == c)
res++;
}
System.out.print(res + " " + c + " in" + s);

TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊
因?yàn)槟拇蛴≌Z(yǔ)句存在于循環(huán)中,所以每次執(zhí)行循環(huán)時(shí)它都會(huì)打印當(dāng)前計(jì)數(shù),從而為您提供多行/計(jì)數(shù)。將打印移到循環(huán)之外將確保它只在整個(gè)字符串被解析后執(zhí)行一次:
private static void CountLetters(Scanner sc) {
System.out.println("Enter a string");
String s = sc.nextLine();
System.out.println("Enter a letter");
char c = sc.nextLine().charAt(0);
int res = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == c)
res++;
}
// Moved print statement outside of the loop; changed "i" to "in".
System.out.println(res + " " + c + " in" + s);
}
添加回答
舉報(bào)