按顺序交换java中的数组元素
我试图按升序交换一个数组,但在某个地方我出了问题。我正在使用
int n = Integer.parse.int(args[0]);
但它不起作用。下面是完整的代码
package tech;
import java.util.*;
import java.io.*;
public class Techgig {
public static int ta[]={1,12,5,111,200,1000,10,9,6,7,4};
public static void main(String[] args) {
// TODO code application logic here
System.out.println("Amount Mark has:");
int rs=50;//Integer.parseInt(args[0]);
//int a=0;
System.out.println(rs);
// for(int k=0;k<ta.length;k++)
//System.out.print("\t"+ ta);
int min,temp;
for(int i=0;i<ta.length;i++)
{
min=i;
// System.out.print("\t"+ ta[i]);
for( int j=i+1;j<ta.length;j++)
{
if(ta[i]<ta[min])
{
temp=ta[i];
ta[i]=ta[min];
ta[min]=temp;
}
// System.out.print("\t"+ ta[i]);
}
}
for(int k=0;k<ta.length;k++)
{
System.out.print("\t"+ ta[k]);
}
}
}
# 1 楼答案
原因是您正在将“i”索引与您分配给min变量的自身进行比较,因此它永远不会在您的if条件下进行交换
通过使用i和j作为索引并在两者之间进行检查,可以如下所示解决此问题: