int i;
System.out.print("Please enter a string: ");
String string_1 = input.nextLine();
System.out.println("Entered string: " + string_1);
for ( i = 0; i < string_1.length(); i++ ) {
System.out.println ("Character #1:" + string_1.charAt(i));
}
Как я могу заставить программу распечатать каждый символ в новой строке, возглавляемой "Символ № (номер персонажа):"
Извините, если вопрос запутан, я новичок в программировании
Вы можете напечатать "i" в виде текста
System.out.println ("Character #" + i + ":" + string_1.charAt(i));
Прямо сейчас вы печатаете только "Character #1:"
в каждой итерации цикла. Вместо этого вам нужно будет вывести "Character #"
, затем (i + 1)
, затем ":"
, затем string_1.charAt(i)
.
Здесь есть несколько вещей. Прежде всего, вы никогда не создаете объект для ввода ввода с консоли. В Java эта задача часто выполняется с помощью Scanner
.
Scanner sc = new Scanner(System.in);
Далее, типичные соглашения Java-кода (например, с помощью руководства Google) определяют, что имена переменных должны быть в стиле camelCase и не должны содержать символы подчеркивания. Лучшее имя для string_1
поэтому будет input
, или нечто подобное.
System.out.print("Please enter a string: ");
String input = sc.nextLine(); // input from console
System.out.println("Entered string: " + input);
Наконец, в вашем for-loop
вы хотите увеличить число, отображаемое пользователю для местоположения символа по мере продвижения цикла. Это делается путем объединения String
, содержащей переменную цикла i
. Поскольку цикл имеет нулевую индексацию и, по-видимому, вы хотите, чтобы результат интерпретировался людьми, было бы полезно добавить его в индекс при его отображении.
for (int i = 0; i < input.length(); i++ ) {
// build a string using 'i + 1' to display character index
System.out.println ("Character #" + (i + 1) + ": " + input.charAt(i));
}
Также стоит отметить, что объявление переменной цикла int i
в определении цикла является предпочтительным, поскольку оно ограничивает область действия переменной (см. Объявление переменных внутри или вне цикла).
input
для чтения текста из консоли, например,Scanner input = new Scanner(System.in);