Прежде всего, мне нужно создать массив длины n, входные переменные для заполнения этого массива, затем в месте расположения массива k я должен сдвинуть все расположения массивов k и вверх на 1 и поместить значение x в массивместоположение к.Но если k = n, то поместите x в n + 1.
Прежде всего, у меня возникла проблема с работой целых чисел для k и x.По какой-то причине код устанавливает n на первый вход и сразу устанавливает k и x так же, как n, когда установлено n.
Во-вторых, у меня возникают проблемы с расширением массива до n + 1.Я знаю, не просто дать мне ответ, но мне нужно какое-то направление, куда идти.
import java.util.Scanner;
public class hw2
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int k = scan.nextInt();
int x = scan.nextInt();
int[] a = new int[n];
for(int i = 0; i<n; i++)
{
a[i] = scan.nextInt();
}
n++;
final int LENGTH = a.length - 1;
for(int j=LENGTH; j>k; j--)
{
a[j] = a[j-1];
}
a[k] = x;
for(int h = 0; h < n; h++)
{
System.out.println("location " + h + " is " + a[h]);
}
}
}
Пример ввода для nkxa [0] ... a [n-1] равен
5 3 7 2 3 5 11 13
соответственно.
После запуска кода с этим вводом n должен = 6, а массив должен быть
a[0] = 2
a[1] = 3
a[2] = 5
a[3] = 7
a[4] = 11
a[5] = 13
РЕДАКТИРОВАТЬ: Я прочитал проблему совершенно неправильно.Подсказка внизу гласила: «Предположим, что массив имеет размер не менее n + 1» ...