[英]Displaying word letter by letter
我該怎么做?
給我個字>糖
s
su
ug
須賀
糖
這是我到目前為止的內容:
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Enter a word:");
String word = scan.nextLine();
int length = word.length();
for(int number = 0; number < length; number++){
System.out.println(word.charAt(number));
}
}
這使單詞逐個字母顯示。
我建議使用String.substring(int startIndex, int endIndex)
。
對於您來說,您的程序將如下所示:
String s = "Sugar";
for(int i = 0; i < s.length() - 1; i++) {
System.out.println(s.substring(0,i));
}
請記住,startIndex是包含的,endIndex是排除的。 因此, "Sugar".substring(0,3)
將給出“ Sug”。
一種方法是使用String
裝飾的形式...
String word = "Sugar";
int length = word.length();
StringBuilder sb = new StringBuilder(word.length());
for (int number = 0; number < length; number++) {
sb.append(word.charAt(number));
System.out.println(sb.toString());
}
基本上,這會在每個循環中將每個字符附加到生成器,並打印結果...
S
Su
Sug
Suga
Sugar
另一種方法可能是使用復合循環...
String word = "Sugar";
int length = word.length();
for (int number = 0; number < length; number++) {
for (int inner = 0; inner < number; inner++) {
System.out.print(word.charAt(inner));
}
System.out.println("");
}
外部(第一個)循環控制要打印的字符數,內部(第二個)循環從開始到要打印的字符數實際打印每個字符...(nb:這將打印前導空白空間,因此您可能需要一個if
控件來控制它,如果它很重要)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.