「java排序升序排序」java中降序排序

博主:adminadmin 2022-12-21 15:15:11 67

今天给各位分享java排序升序排序的知识,其中也会对java中降序排序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java数组的升序降序排列

先来说你的问题,,你要实现写入文件是排序的结果,,那么你就应该先排序再写到文件,,而不是你现在这样接受一个写一个,,再说为什么文件里面是乱码,是因为你每次写入文件的时候写了一个字符‘0’,这个写到文件中打开后并不是你想看到的字符串“0”,所以打开是乱码,

帮你简单修改了代码

    public static void main(String args[])

    {

        Scanner scanner=new Scanner(System.in);

        try

        {

            int sum=0;// 总分

            RandomAccessFile f=new RandomAccessFile("data.txt","rw");

            System.out.print("请输入学生的个数: ");

            int n=scanner.nextInt();

            int s[]=new int[n];

            for(int i=0;in;i++)

            {

                System.out.println("请输入第"+(i+1)+"个学生的成绩");

                s[i]=scanner.nextInt();

                sum+=s[i];

            }

            System.out.println("总分:"+sum);

            Arrays.sort(s);

            f.writeBytes(Arrays.toString(s));

            f.close();

        }

        catch(IOException e)

        {

            System.err.println(e);

            e.printStackTrace();

        }

    }

随机文件(RandomAccessFile)读写的一些方法,如writeInt writeChar 等,这些方法写到文件的数据都是二进制的,比如你writeInt(25),写到文件后打开是不会看到25的,这点一定要注意

java升序排序

public class SortNumString {//定义SortNumString方法 public static String[] sortNumStr(String numStr){// 定义一个String[](数组)为返回值的类并且带参数(String numStr) if(numStr==null||numStr.trim().equals(""))//if判断如果numStr为空值 return null; //就返回(return)空(null) StringTokenizer mToken = new StringTokenizer(numStr);//定义变量 String[] result = new String[mToken.countTokens()];//实例化变量把它赋给一个数组 int i = 0;//定义i while(mToken.hasMoreTokens()){ //进行while循环 result[i] = mToken.nextToken();//从i即0开始从数组取值 i++;//每取出一个值就自增+1取下个值 } return result;//返回这组值 } public static void main(String[] args){//主方法 String[] s = sortNumStr("99 345 8 888 55 0 -9999 30");//为这个数组赋值 int[] ii = new int[s.length];//定义数组ii规定长度为String[] result数组的个数 for(int i = 0;iii.length;i++ ){//进行for循环 定义i,并且i小于int[] ii数组的长度,每循环一次自增一次i++ ii[i] = Integer.parseInt(s[i]); //为int[]赋值并强转为Integer类型 } Arrays.sort(ii);//对指定的数进行排序 //ASC for(int i = 0; i ii.length;i++){//循环输出int[] ii数组的值 if (i 0) {//如果i0 System.out.print(" ");//则输出“ ” } System.out.print(ii[i]);//否则输出int[] ii数组的值 } /* //DESC for(int i = s.length -1;i=0;i--){ if (i s.length-1) { System.out.print(" "); } System.out.print(ii[i]); }*/ } }

java 数组升序排列

 public static void main(String args[])

    { 

       try

       {

       int i, sum=0;

       FileWriter f_out=new FileWriter("data.txt");

       System.out.println("请输入学生的个数");

       int n=new Scanner(System.in).nextInt();

       int s[]=new int [n];

       for( i=0;in;i++)

         {

          System.out.println("请输入第"+(i+1)+"个学生的成绩");

            s[i]=new Scanner(System.in).nextInt();

            if (s[i]0||s[i]100)

            {            

            System.out.println("输入错误,请重新输入");           

            s[i]=new Scanner(System.in).nextInt();

            }

            

            

         }

       Arrays.sort(s);

       for(int j=0;jn;j++){

       f_out.write(s[j]+"\n");  

       }

f_out.close();

         FileReader f_in=new FileReader("data.txt");

         for(int c=f_in.read();c!=-1;c=f_in.read())

         System.out.print((char)c+"  ");

       

         f_in.close();

       }    

        catch(IOException e)

        {

         System.err.println(e);

         e.printStackTrace();

        }      

    }

这样应该就好了。

Java中对数组升序排列用Arrays.sort( )方法,那降序排列用什么方法?

Arrays.sort( )方法一个参数默认是升序排列,你要降序排列第一种方法调用重载的2个参数的Arrays.sort( T[]a,Comaparator c)才行,第二个参数需要自定义一个比较器类实现Comaparator接口,根据需要重新compare方法。

第二种方法先进行升序排列,再调用Arrays的asList方法转换成数组,然后调用Collections的reverse方法倒序排列,最后调用Collection的toArray方法转换成数组。

java 输入任意几个数字,怎样将他们从大到小排序?

public static void main(String[] args) { Scanner scan = new Scanner(System.in)。

}

System.out.println("从大到小输出:");

for (int m = num.length-1; m =0; m--) {

System.out.println(num[m]);//从大到小输出

}

}

String[] str = scan.nextLine().split(" "),// 输入时以空格隔开数字。

int[] num = new int[str.length];//初始化一个整型数组,长度为你输入数字的个数。

String[] str = scan.nextLine().split(" ");// 输入时以空格隔开数字

int[] num = new int[str.length];//初始化一个整型数组,长度为你输入数字的个数

for (int i = 0; i str.length; i++) {

num[i] = Integer.parseInt(String.valueOf(str[i]));//将字符转换为int型再赋给整型数组

}

Arrays.sort(num);//升序排序

System.out.println("从小到大输出:");

for (int j = 0; j num.length; j++) {

System.out.println(num[j]);//从小到大输出

java定义一个整型数组将数组中的元素用冒泡排序法升序排序

请看:

/*

 * 冒泡排序

 */

public class BubbleSort {

public static void main(String[] args) {

int[] arr={6,3,8,2,9,1};

System.out.println("排序前数组为:");

for(int num:arr){

System.out.print(num+" ");

}

for(int i=0;iarr.length-1;i++){//外层循环控制排序趟数

for(int j=0;jarr.length-1-i;j++){//内层循环控制每一趟排序多少次

if(arr[j]arr[j+1]){

int temp=arr[j];

arr[j]=arr[j+1];

arr[j+1]=temp;

}

}

System.out.println();

System.out.println("排序后的数组为:");

 for(int num:arr){

 System.out.print(num+" ");

 } 

}

 }

关于java排序升序排序和java中降序排序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-21,除非注明,否则均为首码项目网原创文章,转载请注明出处。