Java排序错误 公共类主{ 公共静态void main(字符串[]args){ intz; int[]a=新的int[5]; a[0]=4; a[1]=8; a[2]=5; a[3]=1; a[4]=3; 对于(;;){ z=0; 对于(int i=1;ia[i]){ int tmp=a[i]; a[i-1]=a[i]; a[i]=tmp; z++; } } 如果(z==0){ 打破 } } 对于(int i=0;i
您覆盖了[i-1]的值,因此您丢失了它Java排序错误 公共类主{ 公共静态void main(字符串[]args){ intz; int[]a=新的int[5]; a[0]=4; a[1]=8; a[2]=5; a[3]=1; a[4]=3; 对于(;;){ z=0; 对于(int i=1;ia[i]){ int tmp=a[i]; a[i-1]=a[i]; a[i]=tmp; z++; } } 如果(z==0){ 打破 } } 对于(int i=0;i,java,Java,您覆盖了[i-1]的值,因此您丢失了它 所以你只需要改变这个int-tmp=a[i];用这个int-tmp=a[i-1]; 整个代码是: 公共类邮件客户端{ public class Main { public static void main(String[] args) { int z; int [] a = new int[5]; a[0]=4; a[1]=8; a[2]=5; a[3]=1; a[4]=3;
所以你只需要改变这个int-tmp=a[i];用这个int-tmp=a[i-1]; 整个代码是:
公共类邮件客户端{
public class Main {
public static void main(String[] args) {
int z;
int [] a = new int[5];
a[0]=4;
a[1]=8;
a[2]=5;
a[3]=1;
a[4]=3;
for(;;){
z=0;
for(int i=1;i<a.length;i++){
if(a[i-1]>a[i]){
int tmp = a[i];
a[i-1]=a[i];
a[i]=tmp;
z++;
}
}
if(z==0){
break;
}
}
for(int i=0;i<a.length;i++)
{
System.out.println(a[i]);
}
}}
publicstaticvoidmain(字符串[]args){
intz;
int[]a=新的int[5];
a[0]=4;
a[1]=8;
a[2]=5;
a[3]=1;
a[4]=3;
对于(;;){
z=0;
对于(int i=1;ia[i]){
int tmp=a[i-1];
a[i-1]=a[i];
a[i]=tmp;
z++;
}
}
如果(z==0){
打破
}
}
对于(int i=0;i安装一个调试器并遍历代码-这是您能够从这次体验中学习的唯一方法。我郑重推荐。有人将答案推给您将剥夺您的机会。但我认为我的代码是正确的,并且不必出错(((仔细查看代码以交换数组的两个元素。不要想,自己调试它,并确保像任何其他专业人员一样,只需谷歌“[name of your IDE]debugging”,然后使用该工具逐行遍历代码。无法理解下一票。虽然答案很差,但似乎是正确的
public static void main(String[] args) {
int z;
int [] a = new int[5];
a[0]=4;
a[1]=8;
a[2]=5;
a[3]=1;
a[4]=3;
for(;;){
z=0;
for(int i=1;i<a.length;i++){
if(a[i-1]>a[i]){
int tmp = a[i-1];
a[i-1]=a[i];
a[i]=tmp;
z++;
}
}
if(z==0){
break;
}
}
for(int i=0;i<a.length;i++)
{
System.out.println(a[i]);
}
}