「java排序升序排序」java中降序排序
今天给各位分享java排序升序排序的知识,其中也会对java中降序排序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java数组的升序降序排列
- 2、java升序排序
- 3、java 数组升序排列
- 4、Java中对数组升序排列用Arrays.sort( )方法,那降序排列用什么方法?
- 5、java 输入任意几个数字,怎样将他们从大到小排序?
- 6、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中降序排序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-21,除非注明,否则均为
原创文章,转载请注明出处。