Как вы используете команду замены с массивом? - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь взять массив int и переместить все целые числа вправо на одно место, последнее число в массиве перейдет в массив [0].Например:

public static void main(String[] OOOF)
{
    Scanner in = new Scanner(System.in);
    System.out.print("Enter the integer of how long you want the array to be: ");
    int length = in.nextInt();
    int[] array = new int[length];

Этот сегмент заполняет массив целочисленными значениями, введенными пользователем:

    for(int i = 0; i < length; i++)
    {
        System.out.println("Enter in an integer:");
        array[i] = in.nextInt();
    }
    System.out.println(array);

Этот следующий сегмент заменяет конец int и первый int:

    int swap1 = array[0];
    array[0] = array[length];
    array[length] = swap1;
    System.out.println(array);

Здесь у меня проблемы, я хочу использовать какой-то тип команды, который заменяет этот int в определенной точке, а затем удаляет оригинал, который будет сохранен.Далее ... повторите этот процесс в цикле for, пока он не завершится.Я знаю, что это возможно, но пару лет не посещал уроки информатики ...

    int safe = myArr[length];
    for(int j = 0; j < length; j++)
    {
        myArr[j+1] = myArr[j];
    }
}

Пожалуйста, помогите ??

1 Ответ

0 голосов
/ 07 декабря 2018

Я не совсем уверен, правильно ли я понял.Но это способ, которым я решил бы это (без сканера, но ваш код там может быть легко использован):

System.out.println("Enter the integer of how long you want the array to be: ");
int length = 4;
int[] array =  {1,2,3,4};
int safe = array[array.length-1];
for(int j =array.length-1; j >0; j--)
{
  array[j] = array[j-1];
}
array[0] = safe;

У них главное отличие - последний forloop.Вы хотите сдвинуть каждое целое число вправо, поэтому имеет смысл заполнить его справа, подсчитав i.В противном случае вы копируете 0-й элемент в первую позицию.Затем вы копируете 1-й элемент во 2-ю позицию (первый элемент тот же, что был в позиции 0).Затем вы просто заполняете массив первым элементом.В конце вы вставляете элемент, который вы сохранили ранее в первой позиции.Надеюсь, это поможет.

...