java新手求解,关于ArrayList键盘输入数组问题

刘雁冰 刘雁冰 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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.求大神解答
...全文
评论 7
收藏 已收藏
分享
返回顶部
刘雁冰
Java SE 62,621 成员 307,251 内容