I do not understand why it does not work [duplicate]

2

I have a problem here, I do not know why this does not print anything. It does not have compilation errors, but it does not work.

Students Class

import java.io.PrintStream;

public class Alunos {
    private String primeiro;
    private String segundo;
    private int idade;
    private static int quantidade;

    Alunos(String pn,String sn,int i){
        primeiro=pn;
        segundo=sn;
        idade=i;
        quantidade++;
        System.out.printf("Aluno %s %s juntou-se a turma, ele tem %d anos!A turma tem agora %d alunos. \n",primeiro , segundo, idade,quantidade);
    }


}

Test Class

import java.util.Random;
import java.util.Scanner;
import java.util.EnumSet;

public class Teste {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        String pn;
        String sn;
        int idade = 0;

        for (int contador = 0; contador < 5; contador++) {
            System.out.println("Insira o primeiro nome, segundo nome e idade:");
            pn = sc.nextLine();
            sn = sc.nextLine();
            idade = sc.nextInt();
            Alunos Aluno = new Alunos(pn, sn, idade);
        }

    }

}
    
asked by anonymous 14.06.2017 / 23:59

2 answers

4

In your code, instantiate Scanner again:

    for (int contador = 0; contador < 5; contador++) {
        System.out.println("Insira o primeiro nome, segundo nome e idade:");
        Scanner sc = new Scanner(System.in);
        pn = sc.nextLine();
        sn = sc.nextLine();
        idade = sc.nextInt();
        Alunos Aluno = new Alunos(pn, sn, idade);
    }

ps. There are other practices that are not being followed, but I will not extend the issue.

    
15.06.2017 / 01:28
1

You need to assign an initial value to the variable "quantity" in the Students class

private static int quantidade = 0;

Embrace

    
15.06.2017 / 02:28