【i码邦】java经典基础源码练习题170717

给一个数组,内容是数字,且数字不重复。然后对数组进行重新排列,新排列数组中数字位置不得与原数组中数字位置相同!
 
如:数组{1,2,3}    输出应该是{2,3,1}和{3,1,2},其他都不符合。
 
请写出java代码,并验证。
 


--来自网页客户端
已邀请:

笨笨2017

赞同来自: admin 小萨 坚持C19BC152

public class Test717{
public static void main(String[] args){
int[] a = {1,2,3};
int[] a1 = new int[a.length];
int[] a2 = new int[a.length];

sort(a,a1);
sort(a1,a2);
//print(a);
print(a1);
print(a2);
}
public static void sort(int[] x, int[] y){
for(int i=0;i<x.length;i++){
if(i>0){
y[i-1] = x[i];
}
else{
y[x.length-1] = x[i];
}
}
}

public static void print(int[] x){
for(int i=0;i<x.length;i++){
if(i<x.length-1){
System.out.print(x[i]+",");
}
else{
System.out.print(x[i]+"\n");
}
}
}
}
Screenshot_2017-09-04-09-31-32-956_cn.idehub_.javaide2_.png


--来自移动客户端

蓝胖子F8405

赞同来自:

好难,萌新路过

--来自移动客户端

易水

赞同来自:

来试试

--来自移动客户端

小北哥

赞同来自:

这个太简单了 根据数组的长度一次便利取余就计算出来了。一共有array.length-1种排列,思路已经给出。

--来自移动客户端

钢镚

赞同来自:

public class Tabcpailie {
public static void main(String[] args) {
// System.out.println("hello world");
int a=1,b=2,c=3;
System.out.println("输入的值"+a+" "+b+" "+c);
System.out.println("输出的值"+c+" "+b+" "+a+";"+b+" "+c+" "+a);

}

}

--来自移动客户端
public class Homework{
public static void main(String[] args){
int[] arr={1,3,5,6};
int[] res=arr.clone();
for(int i=0;i<arr.length;i++){
if(i==arr.length-1){
res[0]=arr[i];
}else{
res[i+1]=arr[i];
}
}
for(int e:res){
System.out.println(e);
}
}
}

--来自移动客户端

棒秸秆儿 - 棒秸秆儿

赞同来自:

nsnsnn
xmxmdm

--来自移动客户端

要回复问题请先登录注册

Template error, template file not found