[Solved] Reverse Names Given [closed]


If you have all names in file (e.g. names.txt):

Baynes, Aron
Bazemore, Kent
Beal, Bradley
Beasley, Malik
Beasley, Michael
Belinelli, Marco
Bell, Jordan
Bembry, DeAndre'

You can:

  • Read line
  • split line (using separator)
  • display in reverse way
import java.io.BufferedReader;
import java.io.FileReader;

public class Main {

    public static void main(String[] args) {

        // File name
        String fileName = "names.txt";
        String separator = ", ";

        String line;

        try (FileReader fileReader = new FileReader(fileName);
             BufferedReader bufferedReader = new BufferedReader(fileReader)) {

            while ((line = bufferedReader.readLine()) != null) {
                String[] elements = line.split(separator);

                if (elements.length == 2) {
                    System.out.printf("%s %s\n", elements[1], elements[0]);
                } else {
                    System.out.println("Wrong line: " + line);
                }
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Or using List instead of files:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Main {

    public static void main(String[] args) {

        List<String> list = new ArrayList<>(Arrays.asList(
                "Baynes, Aron",
                "Bazemore, Kent",
                "Beal, Bradley",
                "Beasley, Malik",
                "Beasley, Michael",
                "Belinelli, Marco",
                "Bell, Jordan",
                "Bembry, DeAndre'"
        ));

        String separator = ", ";

        // Using loop
        for (String person : list) {
            String[] elements = person.split(separator);

            if (elements.length == 2) {
                System.out.printf("%s %s\n", elements[1], elements[0]);
            } else {
                System.out.println("Wrong line: " + person);
            }
        }

        // Using stream
        list.forEach(person -> {
            String[] elements = person.split(separator);

            if (elements.length == 2) {
                System.out.printf("%s %s\n", elements[1], elements[0]);
            } else {
                System.out.println("Wrong line: " + person);
            }
        });
    }
}

5

solved Reverse Names Given [closed]