逐字显示单词

时间:2014-11-17 00:30:52

标签: java

我该怎么做?

  

给我一​​个字>糖

     

取值

     

     

SUG

     

     

这是我到目前为止所做的:

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

这使得单词逐字显示。

2 个答案:

答案 0 :(得分:4)

我建议使用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”。

答案 1 :(得分:3)

一种方法是使用String concaternation的形式......

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来控制它,如果它很重要的话)