一个程序,让用户输入一个字符串,然后在新行上输出每个字母

时间:2011-11-09 04:09:52

标签: input char while-loop println

import java.util.Scanner;
public class Program3_5
{
    public static void main (String[]args)
    {
        Scanner scan = new Scanner(System.in);
        String input = new String();
        System.out.println("Please enter a string: ");
        input=scan.next();
        int length;
        length = input.length;
        input.substring();
        System.out.println(charAt(0));
        while (length)
            {
                System.out.println(charAt(0 + 1));
            }
        }
    }

我收到一条错误,指出它“无法找到符号 - 可变长度” 我尝试了很多东西但是我无法让它工作。 Java新手!提前谢谢。

例如,如果用户输入: Hello There 输出将在单独的行上打印字母。

1 个答案:

答案 0 :(得分:1)

String#length()String的方法,而不是字段。你需要调用该方法。在Java中,使用括号调用(或“调用”)方法。所以,改变

length = input.length;
// to
length = input.length();

预测您看到的下一个编译错误:

while (length)

不会在Java中编译,因为lengthint,但while的条件部分必须是布尔值。我猜你想继续,只要字符串不为空,所以将while条件更改为

while (length > 0)

要使代码编译需要解决的其他问题:

此外,代码将使用String input = new String();进行编译,但分配完全没必要。在Java中,几乎从不需要new字符串。相反,请使用字符串文字。