逐字逐句建立一个字

时间:2013-11-18 21:17:03

标签: java

一直在考虑这个,我似乎无法找到解决方案。该代码允许逐个字母地打印单词的字符。这很好,但如果我想逐个字母地构建单词。这怎么可能?

例如,单词为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();
}

再次抱歉这些愚蠢的问题,但我真的看不到解决方案。

5 个答案:

答案 0 :(得分:3)

例如,此代码可以帮助您。

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

但实际上,未来在提出问题之前还要再思考一下......

答案 1 :(得分:1)

您需要保存已打印的旧字符。尝试修改你的for循环:

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

答案 2 :(得分:0)

您可以使用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

答案 3 :(得分:0)

你可以简单地做一个双循环。

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++;

}

答案 4 :(得分:0)

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();
}

希望这有帮助