一直在考虑这个,我似乎无法找到解决方案。该代码允许逐个字母地打印单词的字符。这很好,但如果我想逐个字母地构建单词。这怎么可能?
例如,单词为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();
}
再次抱歉这些愚蠢的问题,但我真的看不到解决方案。
答案 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();
}
希望这有帮助