Программа, которая позволит пользователю вводить строку, а затем выводить каждую букву в новой строке. - PullRequest
0 голосов
/ 09 ноября 2011
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 Ответ

1 голос
/ 09 ноября 2011

String#length() - это метод, а не поле, String. Вам нужно вызвать метод. В Java методы вызываются (или «вызываются») с использованием скобок. Итак, измени

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

Предвидя следующую ошибку компиляции, которую вы видите:

while (length)

не будет компилироваться в Java, поскольку length является int, но условная часть while должна быть логической. Я предполагаю, что вы хотите продолжить, пока строка не пуста, поэтому измените условие while на

while (length > 0)

Другие проблемы, которые вам нужно решить, чтобы ваш код компилировался:

Кроме того, код будет компилироваться с String input = new String();, но назначение совершенно не нужно. В Java вам почти никогда не нужно new строку. Вместо этого используйте строковые литералы.

...