我是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){
吗?他们给我相同的输出。我去研究静态,他们告诉我静态意味着单一。这意味着什么?
答案 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
关键字表示您无需拥有班级实例即可调用此方法。