简体   繁体   English

我必须设计代码以在 Java 中按升序和降序返回一组无序整数

[英]I must design code to return an unordered set of integers in ascending and descending order in Java

I just started to code in Java using Eclipse.我刚开始使用 Eclipse 在 Java 中编写代码。 I am brand new to coding and need help trouble shooting my code.我是编码新手,需要帮助解决我的代码问题。 I must sort a set of integers in ascending and then descending order.我必须按升序然后降序对一组整数进行排序。 Eclipse keeps giving me an error message saying "fw is never closed". Eclipse 不断给我一条错误消息,说“fw 永远不会关闭”。 What does this mean and how do I close fw?这是什么意思,我该如何关闭 fw?

Thanks in advance for any help.提前感谢您的帮助。

package square;

import java.io.*;

public class Integers 
{
    public static void main(String[] args) throws IOException {
        int[] setOfInts = {28,3,53,4,89};
        int i, j, temp;
        FileWriter fw;
        fw = new FileWriter("sort_log.txt");
        System.out.println("Sort a set of Ints");
        
        fw.write("Unsorted set of ints\n");
        for (i=0; i<setOfInts.length; i++)
        {
            fw.write(setOfInts[i] + " ");
        }
        
        fw.write('\n');
            for (j=0; j<setOfInts.length; j++);
            {
                for (i=0; i<setOfInts.length-1-j; i++)
                { 
                    if (setOfInts[i] > setOfInts[i+1]) {
                        temp = setOfInts[i];
                        setOfInts[i] = setOfInts[i+1];
                        setOfInts[i+1] = temp;
                    }
            }
    }
    
    fw.write("Sorted set of ints\n");
    for (i=0; i<setOfInts.length; i++)
    {
        fw.write(setOfInts[i] + " ");
    }
        fw.close(); 
    }
}

In intellij that work for me, so...在对我有用的intellij中,所以... 在此处输入图像描述

For you sort you can do this:对于您的排序,您可以这样做:

public class Integers
{
    public static void main(String[] args) throws IOException {
        Integer[] setOfInts = {28,3,53,4,89};
        int i, j, temp;
        FileWriter fw;
        fw = new FileWriter("sort_log.txt");
        System.out.println("Sort a set of Ints");

        fw.write("Unsorted set of ints\n");
        for (i=0; i<setOfInts.length; i++)
        {
            fw.write(setOfInts[i] + " ");
        }

        fw.write('\n');
        Arrays.sort(setOfInts);

        fw.write("asc\n");
        for (i=0; i<setOfInts.length; i++)
        {
            fw.write(setOfInts[i] + " ");
        }

        fw.write('\n');
        Arrays.sort(setOfInts, Collections.reverseOrder());

        fw.write("desc\n");
        for (i=0; i<setOfInts.length; i++)
        {
            fw.write(setOfInts[i] + " ");
        }

        fw.close();
    }
}

在此处输入图像描述

I give you an advice Use thing that already exist , for example here i use Arrays.sort我给你一个建议Use thing that already exist例如这里我使用Arrays.sort

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM