Программа работает некорректно понять причины. Есть вот такая запись:
public class StudentsPD
{
private String[] array = new String[10];
private int size = 0;
public void addStudent (String str)
{
array[size] = str;
size += 1;
if (size == array.length)
{
String[]newArray = new String[array.length * 2];
for (int i = 0; i < array.length; i++)
{
newArray[i] = array[i];
}
array = newArray;
}
}
и вот такая:
import java.util.Scanner;
public class Main
{
public static void main (String[]args)
{
Scanner read = new Scanner (System.in);
StudentsPD follower = new StudentsPD ();
System.out.println ("Skol'ko ychenikov vvesti?");
int nYch = read.nextInt ();
for (int i = 0; i <= nYch; i++)
{
System.out.println ("input name " + (i));
follower.addStudent (read.nextLine ());
}
если делать ввод количества учеников с клавиатуры ( оставить на месте строчку int nYch = read.nextInt ();), то при запуске последующего цикла программа пишет подряд две строки:
input name 0
input name 1
и соответственно принимает значения начиная со второго, т.е. если пользователь хочет ввести данные для 5 учеников, то программа примет данные только для 4. попытки запускать цикл не от 0, а от 1 ничего не меняют,.
Однако, если убрать строки
System.out.println ("Skol'ko ychenikov vvesti?");
int nYch = read.nextInt ();
и вместо них написать int nYch=5 то программа корректно запрашивает данные для ученика 0, потом для ученика 1 и т.д., т.е. выводит все корректно. Что не так? почему не работает при вводе nYch с клавиатуры также как при задании его значения в теле программы?
137
451
Ответы на вопрос:
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
artemmaslov25Artem20.06.2020 09:46
-
Saida666611.01.2023 02:34
-
maratkaa33717.10.2020 12:15
-
8огонь819.06.2020 20:08
-
denvolk0018.11.2021 00:43
-
MishkaBra15.10.2020 23:49
-
Anasstezz29.12.2020 18:55
-
aruzhanomash27.06.2020 15:12
-
nikita40459004.04.2023 10:02
-
annelya00926.03.2021 21:55
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.