【问题标题】:How do you use the replace command with an Array?如何将替换命令与数组一起使用?
【发布时间】:2019-05-09 13:35:07
【问题描述】:

我正在尝试获取一个 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];
    }
}

请帮忙??

【问题讨论】:

  • 这些是我正在使用的导入文件: import java.lang.Math;导入 java.util.*;导入 java.Scanner;

标签: arrays bluej jgrasp


【解决方案1】:

我不完全确定我是否理解正确。但这是我解决它的方法(没有扫描仪,但你的代码可以很容易地使用):

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 个元素复制到第一个位置。然后将第一个元素复制到第二个位置(第一个元素与位置 0 相同)。然后,您基本上只是用第一个元素填充数组。最后,您将之前保护的元素插入第一个位置。 希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2011-08-26
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-21
    • 2021-09-22
    • 2020-10-03
    相关资源
    最近更新 更多