Java 如何重新排列数组以从中间开始?

Java 如何重新排列数组以从中间开始?,java,arrays,algorithm,sorting,Java,Arrays,Algorithm,Sorting,我想重新安排一个数组,从任何元素开始 e、 g.arr=[1,2,3,4,5,6,7,8] 如果数字选择5,则输出 arr = [5,6,7,8,1,2,3,4] arr = [3,4,5,6,7,8,1,2] arr = [7,8,1,2,3,4,5,6] 如果数字选择3,则输出 arr = [5,6,7,8,1,2,3,4] arr = [3,4,5,6,7,8,1,2] arr = [7,8,1,2,3,4,5,6] 如果数字选择7,则输出 arr = [5,6,7,8,1,2

我想重新安排一个数组,从任何元素开始

e、 g.arr=[1,2,3,4,5,6,7,8]

如果数字选择5,则输出

arr = [5,6,7,8,1,2,3,4]
arr = [3,4,5,6,7,8,1,2]
arr = [7,8,1,2,3,4,5,6]
如果数字选择3,则输出

arr = [5,6,7,8,1,2,3,4]
arr = [3,4,5,6,7,8,1,2]
arr = [7,8,1,2,3,4,5,6]
如果数字选择7,则输出

arr = [5,6,7,8,1,2,3,4]
arr = [3,4,5,6,7,8,1,2]
arr = [7,8,1,2,3,4,5,6]

任何关于我如何做这件事的建议或指导都将不胜感激。谢谢。

签出此Javascript代码。您可以更改var select以获得所需的输出

var select = 5;
var arr = [1,2,3,4,5,6,7,8];
var newArr =[];

if(select <= arr.length && select > 0) {
  for (var i = select-1; i < (select + arr.length -1); i++) {
    newArr.push(arr[i % arr.length]);
  }
}

console.log(newArr)

您是否已将数组排序作为输入?从i到长度迭代,选择数组索引i+偏移量%array length使用偏移量进行简单数组旋转。一点数学和-如果仅用于输出,则只需一点mathforint i=0;从标签中可以看出,OP正在使用/希望使用Java来实现这一点。他们从不谈论使用JSforint i=0;我@Linosays说,算法对提出问题的人来说很重要。