//对一系列数进行升序排列
class example{
static void sort(int []a){
for(int i=0;i<a.length;i++){
for(int j=i+1;j<a.length;j++){
if(a[j]<a[i]){
int t=a[i];
a[i]=a[j];
a[j]=t;
}
}
System.out.print(a[i]+" ");
}
}
public static void main(String []args){
int []a={10,20,9,25,11,13};
sort(a);
}
}
这个程序对一固定数组中的数字进行升序排列,问题是现在想要随机输入一系列数字进行排序,查找了java书中的I/O包,可使用BufferedReader br=new BufferedReader(new InputStreamReader(System.in))进行随机输入,可是缓冲输入流只能输入字符串,那么数字类型的怎么随机输入?有没有直接的方法?还是要进行Integer.parseInt()转换类型?谢谢D人指点~~
class example{
static void sort(int []a){
for(int i=0;i<a.length;i++){
for(int j=i+1;j<a.length;j++){
if(a[j]<a[i]){
int t=a[i];
a[i]=a[j];
a[j]=t;
}
}
System.out.print(a[i]+" ");
}
}
public static void main(String []args){
int []a={10,20,9,25,11,13};
sort(a);
}
}
这个程序对一固定数组中的数字进行升序排列,问题是现在想要随机输入一系列数字进行排序,查找了java书中的I/O包,可使用BufferedReader br=new BufferedReader(new InputStreamReader(System.in))进行随机输入,可是缓冲输入流只能输入字符串,那么数字类型的怎么随机输入?有没有直接的方法?还是要进行Integer.parseInt()转换类型?谢谢D人指点~~
int []a={10,20,9,25,11,13};
Arrays.sort(a);就能实现排序吗?我试了一下不行,是不是不是这样用?
教你个方法:
long[] array = new long[20];//建一个数组
for(int i=0; i<10000;i++) //随即产生10000个数组
{
for(int j=0;j<20;j++)
{
array[j]=(int)(java.lang.Math.Random()*100000);//随即赋值
}
.....
.....//调用你的排序方法}
public static void main(String[] args) {
int [] test = getTestData(10);
Arrays.sort(test);
} public static int[] getTestData(int size) {
Random r = new Random();
int[] res = new int[size];
for (int i = 0; i < size; i++) {
res[i] = r.nextInt();
}
return res;
}
}
int index = 0;
Scanner sc = new Scanner(System.in);//Scanner在java.util.*包中
System.out.println("请输入整数,并以true结束");
while(sc.hasNextInt()){
int j = sc.nextInt();
intArray[index++] = j;
if(sc.hasNextBoolean()){
sc.close();
break;
}
}
sort(intArray);
你想自己输入的话,那当然只能用System.in啦,没有别的办法。
另:Arrays是在java.util包里面的,可以实现功能很强,效率很高的排序。
-------------------------------------------------------------------------
Arrays.sort()用法我明白了,可是你说只能用System.in,说的还不够具体啊,能不能再具体点啊?
另外请问楼上你写的int [] intArray = new int[20];为什么要让它成为固定大小的数组,现在我就是想自己随便输入一些数字,并不知道数组的长度,另外你说的Scanner我试了一下,不行啊,编译提示说Scanner sc = new Scanner(System.in);这一行 cannot resolve symbol,这是怎么回事?
注:有的朋友可能误会了,我并不是想要程序随机产生一些数,只是自己想要随意输入一些数~~
system.in来输入。
直道满足你的特定结束操作。比如输入字符C。
然后开始排吧。