在将用户添加到ArrayList之后,他就没有[]了,而使用其他功能就拥有了[] Java

时间:2018-12-04 18:35:25

标签: java

当我尝试使用一个功能将用户添加到我的文件后,他出现在没有[]的位置,但是当我尝试使用另一功能后,内容就出现在[]中。他们都是

第一个功能之后:

  

Programuotojo vardas:W,pavarde:X,amzius:2,programavimo kalba:C

一个接一个:

  

[Programuotojo vardas:佩特拉斯,pavarde:Petraitis,amzius:21,   programavimo kalba:C#]

这是我的第一个功能。

 else {
            System.out.println("Laikinu darbuotoju sarasas");
            for (int i = 0; i < darbuotojuArrayList.size(); i++) {
                System.out.println("ID: " + "[" + i + "]" + " " + darbuotojuArrayList.get(i));
            }
            File FILE = new File(darbuotojuFailas);
            try {
                System.out.println("Issirinkite pagal ID darbuotoja kuri pridesite i sarasa");
                Scanner SI = new Scanner(System.in);
                int vartotojoPasirinkimasKuriPridetiISistema = Integer.parseInt(SI.nextLine());
                BufferedWriter file = new BufferedWriter(new FileWriter(FILE, true));
                file.write(darbuotojuArrayList.get(vartotojoPasirinkimasKuriPridetiISistema).toString());
                file.newLine();
                file.close();
                System.out.println("darbuotojas issaugotas sistemoje");
                pasirinkimaiSuDarbuotojais();
            } catch (Exception e) {
                System.err.println(e.getMessage() + "problema su darbuotoju failu");
            }
        }

第二个

private void vartotojasPridedamasISistemaIsRandom() {
    File FILE = new File(darbuotojuFailasSuRandom);
    // cia kai yra failas ir jis nera tuscias
    if (FILE.exists() && FILE.length() > 0) {
        System.out.println("Pasirinkite viena darbuotoja is pateiktu variantu, kuris bus pridetas i sistema");
        try {
            Scanner SC = new Scanner(FILE);
            for (int i = 0; i < FILE.length(); i++) {
                if (SC.hasNextLine()) {
                    String parodymui = SC.nextLine();
                    System.out.println("ID: " + "[" + i + "]" + " " + parodymui);
                }
            }
            Scanner SI = new Scanner(System.in);
            int vartotojoPasirinkimasPerkeliantISistema = Integer.parseInt(SI.nextLine());
            String line = Files.readAllLines(Paths.get(darbuotojuFailasSuRandom)).get(vartotojoPasirinkimasPerkeliantISistema);
            Pattern pattern = Pattern.compile(":([^,\\]]*)");
            Matcher matcher = pattern.matcher(line);
            String[] output = new String[4];
            int i = 0;
            while (matcher.find()) {
                output[i++] = matcher.group(1).trim().replace(",", ", ");
            }
            // Cia kai vartotojas pasirenka perkelti i sistema programuotoja
            if (vartotojoPasirinkimasPerkeliantISistema == 0) {
                darbuotojuArrayList.add(new Programuotojas(output[0], output[1], Integer.parseInt(output[2]), output[3]));
                File file = new File(darbuotojuFailas);
                BufferedWriter files = new BufferedWriter(new FileWriter(file, true));
                files.write(darbuotojuArrayList.toString());
                files.newLine();
                files.close();
            }
            // Cia kai vartotojas pasirenka perkelti i sistema testuotoja
            else {
                darbuotojuArrayList.add(new Testuotojas(output[0], output[1], Integer.parseInt(output[2]), Integer.parseInt(output[3])));
                File file = new File(darbuotojuFailas);
                BufferedWriter files = new BufferedWriter(new FileWriter(file, true));
                files.write(darbuotojuArrayList.toString());
                files.newLine();
                files.close();
            }
            System.out.println("Sekmingai perkeltas darbuotojas i sistema");
            pasirinkimaiSuDarbuotojais();
        } catch (Exception e) {
            System.out.println(e.getMessage() + "problema su random darbuotoju failu");
        }
    }
    // cia kai nera arba failas tuscias butu
    else {
        try {
            BufferedWriter file = new BufferedWriter(new FileWriter(FILE, true));
            file.write("Programuotojo vardas: Petras, pavarde: Petraitis, amzius: 21, programavimo kalba: C#");
            file.newLine();
            file.write("Testuotojo vardas: Jonas, pavarde: Jonaitis, amzius: 20, isdirbtos valandos: 6000");
            file.close();
            vartotojasPridedamasISistemaIsRandom();
        } catch (Exception e) {
            System.err.println(e.getMessage() + "problema su random darbuotoju failu");
        }
    }
}

1 个答案:

答案 0 :(得分:0)

在第一个函数中,在调用toString方法之前,您正在使用get;在第二个函数中,则不是。

如果这不是问题,我深表歉意,语言障碍让我不胜枚举,使我无法阅读代码(手掌是我的一部分)...