簡體   English   中英

逐字顯示單詞

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM