首页 > 解决方案 > 如何删除我的代码中的重复整数?

问题描述

用户输入一个数字,如果我重复相同的数字并将数字写入我的文本文件中。我怎样才能停止重复。?

我创建一个文本文件并在我的文本文件中写入数字..如果我重复写入与我的文件中相同的数字..请更正我的代码..我只想写一个数字....

public class FileOp extends Thread {
    volatile String s = "yes";

    void create() throws InterruptedException, IOException {
        String filename = "Numberfile.txt";

        File file = new File(filename);

        FileWriter fw = new FileWriter(file, true);

        BufferedWriter bw = new BufferedWriter(fw);

        if (file.createNewFile()) {

            System.out.println("\nFile '" + filename + "' has
                    been created.\n");

        } else {

            System.out.println("\nFile '" + filename + "'
                    already exists.\n");
        }


    }

    void write() throws InterruptedException, IOException {

        FileWriter fw = new FileWriter("Numberfile.txt", true);
        BufferedWriter bw = new BufferedWriter(fw);


        do {
            Scanner in = new Scanner(System.in);

            System.out.println("Please enter a number :");

            int a = in.nextInt();

            bw.write("" + a + "\n");

            System.out.println("Succesfully added in
                    Numberfile");


            try {
                Thread.sleep(3000);
            } catch (InterruptedException e) {
            }

            System.out.println("Do you want continue
            (yes / no) ? ");

            s = in.next();


        }
        while (s.equalsIgnoreCase("yes"));
        bw.close();
    }
}   

我输入一个数字2,它写在我的文本文件中,我2反复输入数字..它存储在文本文件中。我不想要那个..只有一次它写在文本文件中,

标签: javaloops

解决方案


您不需要设置,只需制作一个包含先前添加的数字的 Integer 类型列表。使用 list.add(number) 添加和 list.contains(number) 在写入文件/添加到列表之前检查列表中是否已经存在 number。声明一个整数类型的列表: List<Integer> numbers = new ArrayList<>();

还可以查看 Java 中的集合: 类集合

编辑:设置声明:Set<Integer> set = new HashSet<>();


推荐阅读