Есть ответ 👍

Программа работает некорректно понять причины. Есть вот такая запись:
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
Посмотреть ответы 1

Ответы на вопрос:

jzzy
4,7(12 оценок)

Решение показано в прилагаемом файле.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS