我的輸出有問題:它總是在沒有假設的情況下在最後加上一個額外的星號。示例:編寫一個程序,讀出你的名字,並用星號分隔每個字母
m*i*c*h*a*e*l*
當是假設沒有星號l
或最後一個字符之後。任何人都可以幫我解決這個問題嗎?這是我到目前爲止的代碼:
import java.util.Scanner;
public class CoolSet2Problem3
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
System.out.println("Please enter your first name in all lowercase: ");
String name = keyboard.next();
int n = 0;
String star = "*";
while (n < name.length())
{
System.out.print(name.charAt(n) + star);
n++;
}
}
}
我的老師告訴我,我們可能都與ASCII字符集,這我不知道的東西的想法。
你明白爲什麼會發生這種情況嗎?你有關於如何阻止最後一個'*'出現的想法嗎?你可以弄明白這一點! –
您希望爲該最後一顆明星添加特殊情況,以便只在當前角色**不是最後一個角色時連接/追加該角色,或者在添加完所有星星後刪除最後一顆星星。 – nem035
在循環中爲每個字符添加一個'*'。事情是你不應該與最後一個字符。因此,您需要相應地修改您的循環 – trungdinhtrong