簡體   English   中英

一個字母一個字母地建立一個單詞

[英]Building a word letter by letter

一直在思考這個問題,我似乎找不到解決方案。 該代碼允許逐個字母打印單詞的字符。 很好,但是如果我要逐個字母地構建單詞。 這怎么可能?

例如,單詞為dogs ,輸出為:

d
do
dog
dogs

資源:

public static void main(String[] args) 
{
    String word;
    Scanner kb = new Scanner(System.in);
    System.out.print("insert your word");
    word = kb.nextLine();
    for (int k = 0; k< word.length(); k++)
    {
        System.out.println(word.charAt(k));
    }
    kb.close();
}

再次為愚蠢的問題感到抱歉,但我真的看不到解決方案。

例如,此代碼可以為您提供幫助。

for (int i = 1; i <= word.length(); i++) {
    System.out.println(word.substring(0, i));
}

但實際上,將來嘗試再思考一分鍾再問一個問題...

您需要保存已經打印的舊字符。 嘗試這樣修改您的for循環:

String toPrint = "";
for (int k = 0; k < word.length(); k++){
    toPrint += word.charAt(k);
    System.out.println(toPrint);
}

您可以使用to charArray方法將單詞轉換為char數組,然后輸出字符:

char [] word = "Dogs".toLowerCase().toCharArray();
int index = 1;
while(index <= word.length){
   for (int k = 0; k<index; k++){
    System.out.print(word[k]);
   }
   System.out.println();
   index++;
}

輸出:

d
do
dog
dogs

您可以簡單地進行雙循環。

for (int k = 0; k < word.length(); k++)
{

    for (int x = 0; x =< k; x++)
    {
        System.out.println(word.charAt(x));

    }
    System.out.println("");      //spacing
    k++;

}
public static void main(String[] args) 
{
  String word;
  Scanner kb = new Scanner(System.in);
  System.out.print("insert your word");
  word = kb.nextLine();
  for (int k = 0; k< word.length(); k++)
    {
      System.out.println(word.substring(0, k+1));
    }
    kb.close();
}

希望這可以幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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