问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java数组的升序降序排列

发布网友 发布时间:2022-04-26 18:04

我来回答

4个回答

热心网友 时间:2022-05-01 13:36

先来说你的问题,,你要实现写入文件是排序的结果,,那么你就应该先排序再写到文件,,而不是你现在这样接受一个写一个,,再说为什么文件里面是乱码,是因为你每次写入文件的时候写了一个字符‘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;i<n;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的,这点一定要注意

热心网友 时间:2022-05-01 14:54

public class ScoreFile {
 public static void main(String args[]) throws IOException {
  int sum = 0;
  System.out.println("请输入学生的个数");
  int n = new Scanner(System.in).nextInt();
  int s[] = new int[n];
  for (int i = 0; i < n; i++) {
   System.out.println("请输入第" + (i + 1) + "个学生的成绩");
   s[i] = new Scanner(System.in).nextInt();
   sum += s[i];
  }
  
  writeIntoFile(sortScore(s));
 }
 
 //数组排序
 public static int[] sortScore(int[] score){
  
  int temp = 0;
  //大->小
  for(int i=0;i<score.length-1;i++){
   for(int j=i+1;j<score.length;j++){
    if(score[j]>score[i]){
     temp = score[i];
     score[i] = score[j];
     score[j] = temp;
    }
   }
  }
  
  return score;
 }
 
 //从大到小写入文件
 public static void writeIntoFile(int[] score) throws IOException{
  
  RandomAccessFile rf = new RandomAccessFile("d://11.txt", "rw");
  //解决乱码
  byte  buffer[]  =   new   byte [ 1024 ];
  for(int i : sortScore(score)){
   buffer = String.valueOf(i).getBytes();
   rf.write(buffer);
   rf.writeBytes("\r\n");
  }
  rf.close();
  
 }
}

热心网友 时间:2022-05-01 16:29

别用数组,用List,先别写入文件,排完序再写。
public class test {
public static void main(String args[]) {
try {
int sum = 0;
RandomAccessFile f = new RandomAccessFile("data.txt", "rw");
System.out.println("请输入学生的个数");
int n = new Scanner(System.in).nextInt();
// int s[] = new int[n];
List<Integer> input= new ArrayList<Integer>();
int temp;
for (int i = 0; i < n; i++) {
System.out.println("请输入第" + (i + 1) + "个学生的成绩");
temp = new Scanner(System.in).nextInt();
input.add(temp);
}
Collections.sort(input);
//todo 写入文件
f.close();
} catch (IOException e) {
System.err.println(e);
e.printStackTrace();
}
}
}

热心网友 时间:2022-05-01 18:20

可以在写入文件之前 对数组进行排序,然后再写入文件、、
Java中对数组升序排列用Arrays.sort( )方法,那降序排列用什么方法?

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

java怎么让数组的数字从大到小排序?

例如简一点的冒泡排序,将第一个数字和后面的数字逐个比较大小,如果小于,则互换位置,大于则不动。此时,第一个数为数组中的最大数。然后再将第二个数与后面的数逐个比较,以次类推。示例代码如下: public class Test { public static void main(String[] args) { int [] array = {12,3,12...

java数组sort()方法降序怎么排

java数组sort()方法降序方式:用Arrays类sort()对数组元素进行降序排列 import java.util.Arrays;class SortDemo { public static void main(String[] args){ int[] vec={0,15,-14,45,20,70};Arrays.sort(vec);System.out.println("/n");System.out.println("降序排列:");for (int i=vec...

java里升序和降序最简短的代码

直接调用jdk里面的方法Arrays.sort(args)方法。。。而且这个方法重载实现了多个参数,排序下标[N~M]位数字~倒叙,升序等等~

java冒泡升序排列

Java冒泡升序排列就是使用Java语言实现冒泡,将待排元素按照从小到大的顺序进行排列。冒泡排序的现象:较大的元素会“下沉”,较小的元素会“上浮”。冒泡排序的理解:第一次找到所有元素中最大的元素放在倒数第一位不再变动,第二次再找到剩余元素中最大的元素放到倒数第二位不再变动,依此类推,直到...

java中 Arrays.sort是升序 那什么是降序 是!Arrays.sort吗

只有一个升序的方法是这样的:java.util.Arrays.sort(数组名称)~~~如果你非得要降序,可以用这个方法转变一下:System.arraycopy(源数组名称,源数组开始点,目标数组名称,目标数组开始点,拷贝长度) ;或者手写一个方法也好~~~

在java编程中如何对数组进行排序,并输出排序后的数组及原数组下标值

java变成对数组进行排序可以使用ArraySort方法,保存源数组下标值可以存入map中,如下代码:import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import java.util.List;public class ceshi {public static void main(String[] args) {int n = 5;int[] a = { 8, 5, 4...

JAva,数组从大到小排序,for循环里的条件倒过来怎么写 ,只要这个方法_百...

冒泡排序,将第一个数字和后面的数字逐个比较大小,如果小于,则互换位置,大于则不动。此时,第一个数为数组中的最大数。然后再将第二个数与后面的数逐个比较。

java 关于数组的排序,不用sort方法完成升序排列

数组的排序,曾经是计算机编程的必学课程,不过现在“不要重新发明轮子”的理念深入人心,所以也就不强求大家都学算法,结构了。一个排序算法的例子 import java.util.Arrays;public class SortImpl { public static void main(String[] args) { int[] intArray = new int[] { 2, 4, 6, 8, 1...

java 输入字符串 输出升序和降序排序结果

100,333,4,55]System.out.println("Before sort : " + Arrays.toString(input));Arrays.sort(input);//Arrays.sort()方法是java提供的数组排序,可以直接使用 System.out.println("After sort : " + Arrays.toString(input));} public static void main(String...args){ sort();} } ...

用java编写数组升序排序程序 java数组排序sort降序 java数组升序排列 Java数组降序排列 java数组arrays排序 java数组排序函数 java数组排序倒序 java数组升序 数组排序java
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
躺下食管有东西堵住,用力去会冒到喉咙,吐又吐不出来,是反流性食管炎吗... ...弄出来了,现在鼻子有一点不透气就感觉又是呛东西到鼻腔里了,_百度... ...貌似呛到了,现在老是觉得鼻子底部有东西,吸不进去,弄不出来,但是不... 我今天在吃东西,吃着吃着不小心呛到鼻子里去了,出不来耶进不进去,卡... 刑事立案后未破案会有何后果 电子水温表显示–––是什么问题? ...QQ视频只有声音,没有画面,我用本本上的,自带摄像头。 说明下,我... 东北石油大学周边环境 北京雅思考点哪个好考 ...也没声音 但电脑本身的视频驱动和声音驱动都能使用啊 只有QQ开... 在东莞买满十五年养老保险,退休后能领多少钱 最低养老保险领多少钱一个月多少钱一个月 c++算法头文件 sort怎么降序排列数组 java中的java.util.Arrays.sort这条语句是自动排序的语句吗 java.util.Arrays.sort(x); 这个表示对的是按 降序、升序还是其他的什么顺序进行排序的?高人指点 我能月领多少社会统筹养老金 java中怎样对一个整数数组进行降序排序 按3500元交社保退休能领多多钱 我的社保已经买了15年,现在就业单位也买了3年,以后退休可以领多少养老金呢?? 这个java代码,如何降序排列,代码如何编写呢? 我今年44岁在北京交社保每年交18000到60岁每年领多多钱 array.sort vb升序降序 养老保险最低交费15年后每月能领多少 java中 Arrays.sort是升序 那什么是降序 是!Arrays.sort吗 退休后的养老金,到底可以领到几岁呢? 在PPT2010中设置了一个动作按钮,怎么使用它在鼠标点击时播放声音为... 60岁以上老人每月领多少养老金? Arrays.sort是升序,怎么写一个降序的方法 湖北城建学院专升本 专套本分别在哪里读 请问是不是可以专升本的学校所有专业都可以专升本, 广州城建职业学院和广州涉外经济职业技术学院呢? java 我要降序排列和名称一并输出 但是要咋样写代码呢? 我只学过Arrays.sory(); 请求个为大哥帮下忙 谢谢 用java编程序 对一个由5个整数组成的数组,按照其内元素的大小依降序排序 山东潍坊地区村里交的养老保险是不是交的多领的就多多交合适吗 java中Arrays.sort()是降序,那升序是什么? 养老保险如果交30年,现在每年交2400,到时候每个月能领多少钱拜托各位大神 农村养老保险领取条件 java中Arrays.sort使用的是什么算法 社会养老保险金已经交了二十多年了,还有最后三年已无力再交了,请问这样会影响退休金吗?退休了能按时拿 Java中有一个排序操作的方法:java.util.Arrays.sort.()请问括号应该写什么 java里升序和降序最简短的代码 网银交易出现客户识别号是什么东西? 实现MyArrayList 要求实现add方法、sort方法(两个、正向排序、逆向排序) 今天立秋了,看见盆友圈晒阿胶糕的,想问下二蛋妈纯手工阿胶糕,有人吃过吗?效果怎么样? 美国大选是怎么选的? 小泷胶阿胶糕有什么作用 美国大选及选举制度 手工阿胶糕的最佳食用方法? 美国大选的机制是怎么样的? 美国大选的程序是怎样的 美国总统是怎么选出来的