0

I am new to coding and java and wrote a program that prints list of workers name, surname and age. While executing the second 'for' loop the program requests two inputs (name and surname) at the same time. How to fix this?

And if would have any critique about code, syntax, use of class, anything please comment on it. Thanks.

import java.util.Scanner;

public class Firm {

public static void main(String[] args) {

    class Worker {

        private int n, age;
        private String name, surn;
        private String[] names = new String[10];
        private String[] surnames = new String[10];
        private int[] years = new int[10];

        public void workers(String name, String surn, int age, int index) {

            names[index] = name;
            surnames[index] = surn;
            years[index] = age;

        }
        public String showme(int index) {
            return(names[index] + " " + surnames[index]+ " " + years[index]);

        }
    }
    Scanner scanner = new Scanner(System.in);
    Worker worker = new Worker();

    System.out.println("How many workers do you want to show: ");
    worker.n = scanner.nextInt();

    for(int i=0;i<worker.n;i++) {

        System.out.println("Name: ");
        worker.name = scanner.nextLine();

        System.out.println("Surname: ");
        worker.surn = scanner.nextLine();

        System.out.println("Age: ");
        worker.age = scanner.nextInt();

        worker.workers(worker.name, worker.surn, worker.age, i);
    }
    System.out.println("Current workers are: ");
    for(int i=0; i<worker.n; i++) {

        System.out.println(worker.showme(i));
    }
}

}

nullPointer
  • 4,062
  • 1
  • 12
  • 26
  • 1
    In short `scanner.nextInt()` will consume the whole line up to, but not including the line separator as one number. – Lino Feb 19 '19 at 11:08
  • 1
    Just add `scanner.nextLine();` after the line `worker.n = scanner.nextInt();` – Chris623 Feb 19 '19 at 11:10
  • It works. Thank you very much. I will try in future to look better for already asked questions before asking my own. Do you have any comments as for code itself?? – John Doe Feb 19 '19 at 11:18

0 Answers0