как вввести число и столько же раз можно было ввести имён и потом их вывести?
пример ввода в консоли
3
Athos
Porthos
Aramis
Вывод в консоли:
Hello, Athos
Hello, Porthos
Hello, Aramis
А пример кода, приведенный выше, к сожалению, в таком виде не выводит информацию. Помогите, пожалуйста, разобраться. Вот пишу код
import java.io.IOException;
import java.util.Scanner;
public class HelloStrangers {
public static void main(String[] args) throws IOException {
//Write a program, asks for a number - amount of strangers to meet.
//Then reads stranger names line by line and prints line by line "Hello, ...".
Scanner scan = new Scanner(System.in);
int number = scan.nextInt();
if (number > 0) {
String[] word = new String[number];
int i;
for (i = 0; i < number; i++) {
word[i] = scan.nextLine();
}
for (i = 0; i < number+1; i++) {
System.out.println("Hello, " + word[i]);
}
}
else if (number ==0 )
{ System.out.println("Oh, it looks like there is no one here");
}
else {
System.out.println("Seriously? Why so negative?");
}
}
}
Что за throws IOException? До исключений в java еще не добрался))) Не судите строго))
Ответы (1 шт):
Поправил вашу программу в 2ух местах: Ошибки пометил в коде с помощью слешей ///////
1 ошибка) вы вычитываете целое число сканером, а потом нажимаете Enter, который передает символ \n - переход на новую строку, который в итоге записывается в ваш массив words под 0 индексом. Обойти данную проблему можно добавим строку scan.nextLine(); она "съест" лишний \n. И тогда вы будете в ваш массив уже записывать непосредственно имена.
2 ошибка ) в последнем for цикле выходите за пределы массива и получаете исключение. - Так же поправил.
По поводу исключений, в данной программе они вам не нужны. Поэтому убрал throws IOException. - Разберетесь в них когда дойдете до этой темы. Пока можете не вдаваться в подробности. Тема достаточно обширная чтобы одним ответом объяснить обработку исключений. Это целый раздел.
public class HelloStrangers {
public static void main(String[] args) {
//Write a program, asks for a number - amount of strangers to meet.
//Then reads stranger names line by line and prints line by line "Hello, ...".
Scanner scan = new Scanner(System.in);
int number = scan.nextInt();
scan.nextLine();///////
if (number > 0) {
String[] word = new String[number];
int i;
for (i = 0; i < number; i++) {
word[i] = scan.nextLine();
}
for (i = 0; i < number; i++) { ///////
System.out.println("Hello, " + word[i]);
}
}
else if (number ==0 )
{ System.out.println("Oh, it looks like there is no one here");
}
else {
System.out.println("Seriously? Why so negative?");
}
}
}
Консоль
3
Athos
Porthos
Aramis
Hello, Athos
Hello, Porthos
Hello, Aramis
Process finished with exit code 0