定排序数的个数,并输入对应数据,然后将数据从大到小排序后输出。
这样子的?
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
System.out.println("请输入第:"+(i+1)+"个数");
list.add(scanner.nextInt());
}
System.out.println(list);
list.sort((a1,a2) ->{
if (a1 > a2) {
return -1;
} else {
return 1;
}
});
System.out.println(list);
}
我觉得学习阶段可以少直接调用系统的api,写个简单的排序也是能加深学习的,例如最常见的冒泡排序
import java.util.Scanner;
/**
* TODO
*
* @author victor
* @version 1.0
* @date 2022/04/13 15:32
*/
public class Test
{
public static void main(String[] args)
{
Test test = new Test();
Scanner input = new Scanner(System.in);
System.out.print("输入排序数字的总个数:");
int num = input.nextInt();
int[] arrs = new int[num];
for (int i = 0; i < num; i++)
{
System.out.print("输入一个数字:");
arrs[i] = input.nextInt();
}
System.out.println("排序前的数字顺序:");
for (int i : arrs)
{
System.out.print(i + " ");
}
System.out.println();
// 调用排序方法
test.bubbleSort(arrs);
System.out.println("排序后的数字顺序:");
for (int i : arrs)
{
System.out.print(i + " ");
}
}
/**
* 冒泡排序
*
* @param arrs
* @return
*/
public int[] bubbleSort(int[] arrs)
{
for (int i = 1; i < arrs.length; i++)
{
boolean flag = true;
for (int j = 0; j < arrs.length - 1; j++)
{
if (arrs[j] > arrs[j + 1])
{
flag = false;
int tmp = arrs[j];
arrs[j] = arrs[j + 1];
arrs[j + 1] = tmp;
}
}
if (flag)
{
break;
}
}
return arrs;
}
}