Java用怎样用main方法排序?

java

(1) 内容:用main方 法排序(按首字母或按字符串长度)
(2)要求:①输出原数组和排序后的数组
②若有“,”“.”不能进行排序,并将不符合排序要求的数组打印出来
③不能用API,可用选择、冒泡、快速
4.必须用args数组

那你就用冒泡排序啊
声明数组
int[] a = new int[]{x,y,z,...}
for (int i = 1; i for (int j = 0; j if(a[j]>a[j+1]){
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}

}
}
//循环遍历数组
for (int n:a
) {
System.out.print(n+"\t");
}

class Untitled {
    public static void main(String[] args) {
        int num;
        System.out.println("请输入数组元素长度:");
        Scanner in=new Scanner(System.in);
        num=in.nextInt();
        System.out.println("请输入字符串:");
        String str[]=new String[num];
        for(int count=0;count<num;count++)
        {
            str[count]=in.next();
        }
        in.close();

        System.out.println("before sorting:");

        int c = 0;
        for (int i = 0; i < num; i++)
        {
            if (str[i].contains(",")
                || str[i].contains(".")) 
                c++;
            System.out.println(str[i]); 
        }

        for (int i = 0; i < num - 1; i++)
        {
            int min = i;
            for (int j = i + 1; j < num; j++)
            {
                if (str[min].contains(",")
                    || str[min].contains("."))
                    min = j;
                else if (str[j].compareTo(str[min]) < 0 && !str[j].contains(",")
                    && !str[j].contains("."))
                    min = j;
            }
            if (min != i)
            {
                String t = str[i];
                str[i] = str[min];
                str[min] = t;
            }
        }

        System.out.println("after sorting:");
        for (int i = 0; i < num - c; i++)
            System.out.println(str[i]);
        System.out.println("invalid items:");
        for (int i = num - c; i < num; i++)
            System.out.println(str[i]);
    }
}

在排序的过程中可以自己加一个数据过滤的功能,把数据筛选分类存储到集合容器中;
冒泡与快排文章贡献:https://blog.csdn.net/hu_belif/article/details/83627130
希望能解决您的问题。