在垂直位置循环

时间:2013-04-18 11:34:34

标签: java

我是java的初学者,我想寻求一些帮助。

编写一个名为vertical的方法,它接受一个String作为参数,并在不同的行上打印字符串的每个字母。例如,垂直调用(“嘿现在”)应产生以下输出:

h
e
y

n
o
w

这就是我所做的。

public void vertical(String x){
    char OneByOne='x';
        for(int i=0;i<=x.length()-1;i++){
            OneByOne=x.charAt(i);
        }
        System.out.print(OneByOne);
}

当我呼唤它时,它给了我。 但我很困惑。我创建一个char容器并调出位置0.并循环通过它。不应该位置0 从h开始。而不是给我一个w?

另外,我应该使用public void vertical(String x){ or public static void vertical(String x){吗?他们给我相同的输出。我去研究静态,他们告诉我静态意味着单一。这意味着什么?

6 个答案:

答案 0 :(得分:2)

public void vertical(String x){
    int count = x.length();
    for(int i=0;i<count;i++){
       System.out.println(x.charAt(i));
    }      
}

答案 1 :(得分:1)

您不在循环内打印。另外,请使用println。

答案 2 :(得分:1)

你需要在每次迭代中打印char。

public void vertical(String x){
    char OneByOne='x';
        for(int i=0;i<=x.length()-1;i++){
            System.out.println(x.charAt(i));
        }

}

答案 3 :(得分:1)

除了其他答案:您还可以为每个循环使用a:

public static void vertical(String x) {
    for (char OneByOne : x.toCharArray()) {
        System.out.println(OneByOne);
    }
}

答案 4 :(得分:1)

我在这里使用了更传统的风格:

public void vertical(String x){
    for(int i = 0; i < x.length(); i++){
        char oneByOne = x.charAt(i);
        System.out.println(oneByOne);
    }
}

小于长度,i.o。等于长度 - 1。

本地声明。 Vars以小写字母开头。

其余的都很好。 charAt(i)给出了第i个字符,就像构思一样。

答案 5 :(得分:0)

您应该使用println而不是print

System.out.println(OneByOne);

static关键字表示您无需拥有班级实例即可调用此方法。