java新手求解,关于ArrayList键盘输入数组问题
import java.util.ArrayList;
import java.util.Scanner;
public class Application {
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
int m=sc.nextInt();
ArrayList<Integer>list=new ArrayList<Integer>();
while(m!=0){
list.add(m);
m=sc.nextInt();
}
int a[]=new int[list.size()];
a[m]=list.get(m);
Application qs=new Application();
qs.sort(a,0,a.length-1);
qs.print(a);
}
public void print(int[]a){
for(int i=0;i<a.length;i++){
if(i==a.length-1){
System.out.print(a[i]);
}
else{
System.out.print(a[i]+",");
}
}
}
public void sort(int []a,int left,int right){
int i=left;
int j=right;
if(i>j){
return ;
}
int key=a[left];
while(true){
while(j>i){
if(a[j]<key){
int temp=a[j];
a[j]=a[i];
a[i]=temp;
break;
}
else{
j--;
}
}
while(j>i){
if(a[i]>key){
int temp=a[j];
a[j]=a[i];
a[i]=temp;
break;
}
else{
i++;
}
}
if(j==i){break;}
}
sort(a,left,i-1);
sort(a,i+1,right);
}
}

结果如上,如果自己定义一个int a[]={12,31,34,57,88,45};,不使用ArrayList<Integer>键盘输入数组的话,算法没有问题,但是使用率ArrayList<Integer>键盘输入数组的话,就只能键盘录下第一个数据12.求大神解答
...全文
相关推荐
java 数组的合并
java 数组的合并 java 数组的合并 java 数组的合并
Java实现数组去除重复数据的方法详解
主要介绍了Java实现数组去除重复数据的方法,结合实例形式详细分析了java数组去除重复的几种常用方法、实现原理与相关注意事项,需要的朋友可以参考下
java删除数组中的某一个元素的方法
下面小编就为大家带来一篇java删除数组中的某一个元素的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
java中删除 数组中的指定元素方法
下面小编就为大家带来一篇java中删除 数组中的指定元素方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Java环境下数组和链表的效率问题探讨.pdf
Java环境下数组和链表的效率问题探讨


Java SE
