Писатель в Java статический метод - PullRequest
0 голосов
/ 19 июня 2019

Раньше я использовал писатель, но по какой-то причине у меня возникают проблемы с его реализацией следующим способомЯ никогда не помещал писателя в статический метод.

    //replace an empty seat with a person in the seating chart
    public static void seatingChart(String seat[]) {
        for(int i = 0; i < seat.length; i++) {  
            if(seat[i]!=null) {
                System.out.print(seat[i] + " ");
            } else {
                System.out.print("empty seat  ");
            }    

            if(i % 8 == 0) {
                System.out.println();
            }
        }
    }

Изменится ли что-нибудь для использования писателя в Java, когда метод статичен по сравнению с тем, когда метод не является?

У меня естьтолько писатель до сих пор печатал «пустое место» в блокноте.

Окончательный вывод, который я хочу видеть в блокноте, будет выглядеть примерно так:

empty seat  
empty seat  empty seat  empty seat  empty seat  empty seat  empty seat  empty seat  empty seat  
empty seat  empty seat  empty seat  empty seat  empty seat  empty seat  empty seat  empty seat  
empty seat  empty seat  empty seat  empty seat  empty seat  empty seat  empty seat  

В зависимости отчто пользователь вводит, некоторые из пустых мест могут иметь имя.

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

Вам не нужно использовать try catch для каждого отдельного использования писателя.Вы можете просто использовать один.

public static void seatingChart(String seat[]) {
    try(PrintWriter writer = new PrintWriter("C:\\Users\\Bryce\\Downloads\\Hola\\SeatingChart.txt", "UTF-8") {

        for (int i = 0; i < seat.length; i++) {
            if (seat[i] != null) {
                System.out.print(seat[i] + " ");
                writer.print(seat[i] + " ");
                writer.print("");
            } else {
                System.out.print("empty seat  ");
                writer.print("empty seat  ");
                writer.print("");
            }

            if (i % 8 == 0) {
                System.out.println();
                writer.println();
                writer.print("");
            }
        }
    } catch (Exception e) {
        System.out.println("Error! " + e.getMessage());
    }
}

и заметить

try(PrintWriter writer = new PrintWriter("C:\\Users\\Bryce\\Downloads\\Hola\\SeatingChart.txt", "UTF-8") {

это попытка с ресурсами, она автоматически закроет устройство записи для вас.

0 голосов
/ 19 июня 2019

Ну, я понял это. Наверное, слишком сложно, но ... ответ был:

    // replace an empty seat with a person in the seating chart
    public static void seatingChart(String seat[]) {
        try {
            writer = new PrintWriter("C:\\Users\\Bryce\\Downloads\\Hola\\SeatingChart.txt", "UTF-8");
            } 
            catch (Exception e)
            {
                System.out.println("Error! " + e.getMessage());
            }
        for (int i = 0; i < seat.length; i++) {
            if (seat[i] != null) {
                    try {
                        System.out.print(seat[i] + " ");
                        writer.print(seat[i] + " ");
                        writer.print("");
                    } 
                    catch (Exception e)
                    {
                        System.out.println("Error! " + e.getMessage());
                    }
            } else {
                try {
                    System.out.print("empty seat  ");
                    writer.print("empty seat  ");
                    writer.print("");
                    } 
                    catch (Exception e)
                    {
                        System.out.println("Error! " + e.getMessage());
                    }
            }

            if (i % 8 == 0) {
                try {
                    System.out.println();
                    writer.println();
                    writer.print("");
                    } 
                    catch (Exception e)
                    {
                        System.out.println("Error! " + e.getMessage());
                    }
            }
        }
        writer.close();
    }
...