首页 > 解决方案 > 试图在单独的行上打印字符串中的一个单词

问题描述

我想要它,以便它在自己的行上打印每个单词。

String movie = "10 Things I Hate About You";
String g = "";
for (int letter = 0; letter < movie.length(); letter++) {
    if (letter != ' ') {
        g += word.charAt(letter);
    } else {
        g += "\n";
    }
}
System.out.println(g);

但是,我每次都会抛出这个错误。

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 8
    at java.lang.String.charAt(String.java:658)
    at MyProgram.main(MyProgram.java:34)

标签: javastringreplace

解决方案


你应该检查movie.charAt(letter) != ' ',如果是true,你应该添加movie.charAt(letter)g.

public class Main {
    public static void main(String[] args) {
        String movie = "10 Things I Hate About You";
        String g = "";
        for (int letter = 0; letter < movie.length(); letter++) {
            if (movie.charAt(letter) != ' ') {
                g += movie.charAt(letter);
            } else {
                g += "\n";
            }
        }
        System.out.println(g);
    }
}

输出:

10
Things
I
Hate
About
You

一个更简单的解决方案:

public class Main {
    public static void main(String[] args) {
        String movie = "10 Things I Hate About You";
        movie = movie.replace(' ', '\n');
        System.out.println(movie);
    }
}

输出:

10
Things
I
Hate
About
You

推荐阅读