我在java中一次打印一个字符串时遇到问题。我必须输入一个字符串,每行输出一个字母。我的代码如下
import java.util.*;
public class StringToMultiLines
{
public static void main(String[] args)
{
String myString;
int placeInString = 0;
Scanner scan = new Scanner(System.in);
System.out.println("Please enter a string.");
myString = scan.nextLine();
while(placeInString <= myString.length())
{
System.out.println("" + myString.substring(placeInString));
placeInString ++;
}
}
}
这ouptuts以下' 请输入一个字符串。 你好 你好 ELLO LLO 罗 Ø
我也试过这个没有运气
System.out.println("" + myString.subsstring(0, placeInString));
和
System.out.println("" + myString.subsstring(placeInString, placeInString));
答案 0 :(得分:6)
您只需使用for-loop
和String#charAt
(或String#toCharArray
)
for (int index = 0; index < myString.length(); index++) {
System.out.println(myString.charAt(index));
}
或
for (char c : myString.toCharArray()) {
System.out.println(c);
}
请查看The for
statement和String
JavaDocs了解详情
答案 1 :(得分:4)
您正在寻找charAt
:
System.out.println(myString.charAt(placeInString));
请记住,索引从0开始,因此myString.length()
是无效索引。因此你需要
while (placeInString < myString.length())
而不是
while (placeInString <= myString.length())