请教JAVA 数组问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 04:46:02
我想编写一个一唯数组,让用户输入5 个数
然后程序算出这5个数从大到小的排序顺序。
int a[] = new int [5];
int s;
Scanner sc = new sc.Scanner(System.in);
System.out.println("请输入5个数");
for(int i=0;i<a.length;i++)
{
s=sc.nextInt();
System.out.println(" "+a[i]);//打印出用户输入的5个数
}
我是个初学者,只能做到这,请明白的帮帮忙。
最好有点注释,让我能看明白点,在此谢过。

for(int i=0;i<a.length;i++)
{
s=sc.nextInt();
System.out.println(" "+a[i]);//打印出用户输入的5个数 这个写错了啊,还没给它赋值怎么能输出呢。
}
应该这样
static int a[] = new int [5];
Scanner sc = new sc.Scanner(System.in);
System.out.println("请输入5个数");
for(int i=0;i<a.length;i++)
{
a[i]=sc.nextInt();
}
然后做一个冒泡排序对这个这个数组进行排序
public static int[] bubble(int[] arr){
int temp;
for(int i=arr.length-1;i>0;i--){
boolean end=true;
for(int j=0;j<i;j++){
if(arr[j]>arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
end=false;
}
}
if(end==true){
break;
}
}
return arr;
}
在主方法里调用一下这个方法就排序了。

Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。

例如,以下代码使用户能够从 System.in 中读取一个数:

Scanner sc = new Scanner(S