Estou tentando limitar os estudantes da classe Disciplina em 50 com uma ArrayList e uma condição, mas talvez elas estejam em lugares errados ou é algo muito simples que não consigo enxergar.
Como faço pra dizer: se a quantidade de estudantes for > 50 então mostrar : “Sala lotada”?
Porque basicamente um objeto disciplina pode ter no máximo 50 estudantes.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
Estudante e1 = new Estudante();
e1.nome = "Juan da Silva";
e1.nmatricula = "420.666";
e1.ano= "2017";
e1.idade= "15";
Professor p1 = new Professor();
p1.nome = "Kira Yagami";
p1.ano = "2017";
p1.especialidade = "Tecnologia da Informação";
Disciplina d1 = new Disciplina();
d1.professor = p1;
d1.estudantes.add(e1);
if(this.estudantes.size()>50){
System.out.println("Sala lotada. Mais de 50 alunos!");
}
else{
System.out.println("Sala com menos de 50 alunos!");
}
}
}
class Estudante{
String nome;
String nmatricula;
String ano;
String idade;
}
class Professor{
String nome;
String ano;
String especialidade;
}
class Disciplina{
Professor professor;
ArrayList<Estudante> estudantes;
public Disciplina(){
this.estudantes = new ArrayList<Estudante>();
}
public void quantidadeDeEstudante(){
for(int i =0;i<this.estudantes.size();i++){
}
}
}
Eu sei que o erro esta na parte:
if(this.estudantes.size()>50){
pois esta dizendo que a função q eu fiz n existe. Como arrumo isso?
Cara, vou postar o código; não é muito bom, todavia, você recebê-lo por completo, uma vez que você já fez quase tudo dele. Lembrando: o bom é pegar as dicas e ir aprimorando seu raciocínio lógico.
Pense nisso!
Seque o código:
[code] import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
Estudante e1 = new Estudante();
e1.nome = “Juan da Silva”;
e1.nmatricula = “420.666”;
e1.ano= “2017”;
e1.idade= “15”;
Professor p1 = new Professor();
p1.nome = “Kira Yagami”;
p1.ano = “2017”;
p1.especialidade = “Tecnologia da Informação”;
Disciplina d1 = new Disciplina();
d1.professor = p1;
boolean salaLotada = false;
while (!salaLotada) {
// ler dados dos estudantes
salaLotada = !d1.adicionarEstudante(e1);
e1 = new Estudante();
e1.nome = "Juan da Silva II";
e1.nmatricula = "420.666";
e1.ano= "2017";
e1.idade= "15";
}
for (int i = 0; i < d1.estudantes.size(); i++) {
System.out.println(d1.estudantes.get(i).nome);
}
}
}
class Estudante{
String nome;
String nmatricula;
String ano;
String idade;
}
class Professor{
String nome;
String ano;
String especialidade;
}
class Disciplina{
Professor professor;
ArrayList estudantes;
private static int LIMITE_ALUNOS = 2;
public Disciplina(){
this.estudantes = new ArrayList();
}
public boolean adicionarEstudante (Estudante novoEstudante){
if (this.estudantes.size() < LIMITE_ALUNOS) {
this.estudantes.add(novoEstudante);
return true;
}
return false;
}
public void quantidadeDeEstudante(){
for(int i =0;i<this.estudantes.size();i++){
}
}
} [/code]