//猿辅导洗牌的那道题 本地跑出来很好, 为什么网页上显示数组越界啊 求大神指导 import java.util.Scanner;
public class test1 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
Scanner scanner2=new Scanner(System.in);
//下面是对第一行数字读取 将两个数字放在了num数组里面
String inputString=scanner.nextLine();
String stringArray[]=inputString.split(" ");
int num[]=new int[stringArray.length];
for(int i=0;i<stringArray.length;i++){
num[i]=Integer.parseInt(stringArray[i]);
}
//下面这行是读取第二行数字,将那些数字放在了num2数组里面
String inputString2=scanner2.nextLine();
String stringArray2[]=inputString2.split(" ");
int num2[]=new int[stringArray2.length];
for(int i=0;i<stringArray2.length;i++){
num2[i]=Integer.parseInt(stringArray2[i]);
}
//下面定义了两个数组分别用来放 那两部分数字 (前半段数字跟后半段数字)
int temp1[]=new int[stringArray2.length/2];
int temp2[]=new int[stringArray2.length-stringArray2.length/2];
//下面就是不断循环 进行洗牌
int i=0;
while(i<num[1]){
// int j=0;
for(int j=0;j<stringArray2.length/2;j++){
temp1[j]=num2[j];
}
for(int j=0;j<(stringArray2.length-stringArray2.length/2);j++){
temp2[j]=num2[j+stringArray2.length/2];
}
int ii=0,jj=0;
while(ii<stringArray2.length/2||ii<(stringArray2.length-stringArray2.length/2)){
if(ii<temp2.length){
num2[jj]=temp2[ii];
jj++;}
if(ii<temp1.length) {
num2[jj] = temp1[ii];
jj++;
}
ii++;
}
i++;
}
for(int iii=0;iii<num2.length;iii++)
System.out.print(num2[iii]+" ");
}
}