Programa parece estar 'pulando' uma parte do código.
Eai galera tudo certo,estou com o seguinte problema na classe Interface,depois de ele entrar no switch a primeira vez ele fica repedindo o loop while mas depois da primeira vez ele parece estar pulando o switch,ele vai do "marcador1" direto para o "marcador 2" a baixo segue o programa com todas as classes.
Main:
>
package uni4;
public class Uni4 {
public static void main(String[] args) {
Interface itf = new Interface();
itf.menu();
/*ListaDePessoas l = new ListaDePessoas(10);
Aluno a1 = new Aluno();
l.IncluirPessoa(a1);*/
}
}
Interface:
>
package uni4;
import java.util.Scanner;
public class Interface {
Scanner scan = new Scanner(System.in);
ListaDePessoas l = new ListaDePessoas(10);
Prof pro1 = new Prof();
Aluno a1 = new Aluno();
Funcionario fun1= new Funcionario();
public void menu(){
System.out.println("Digite a opcao desejada");
this.printMenu();
int op=scan.nextInt();
while(op!=0){
System.out.println("marcador1");
switch(op){
case 1:{l.IncluirPessoa(a1);break;}
case 2:{l.IncluirPessoa(pro1);break;}
case 3:{l.IncluirPessoa(fun1);break;}
case 4:{l.ProcuraPessoa(scan.nextLine());break;}
case 5:{l.ProcuraPessoa(scan.nextLine());break;}
}
System.out.println("marcador 2");
System.out.println("Se desejar mais alguma coisa digite a opção correspondente,se não digite zero");
op=scan.nextInt();
System.out.println(op);
}
}
public void printMenu(){
System.out.println("1 - adicionar aluno");
System.out.println("2 - adicionar professor");
System.out.println("3 - adicionar outro funcionario");
System.out.println("4 - procurar pessoa por nome");
System.out.println("5 - mostrar o numero de pessoas cadastradas");
System.out.println("0 - terminar");
}
}
Pessoa
ListaDePessoas
>
package uni4;
import java.util.Scanner;
public class ListaDePessoas extends Pessoa {
Scanner scan = new Scanner(System.in);
protected Pessoa[] array;
public ListaDePessoas(int indice){
array=new Pessoa[indice];
}
public void IncluirPessoa(Pessoa p){
int cont=0;
for(int i=0;i<array.length;i++){
if(array*==null){*//System.out.println(i);
* array**=p;*
System.out.println("Digite o nome da pessoa");
* array**.setNome(scan.nextLine());*
System.out.println("\n");
System.out.println("Digite o endereço da pessoa");
* array**.setEndereco(scan.nextLine());*
System.out.println("\n");
System.out.println("Digite a idade");
* array**.setIdade(scan.nextInt());*
}
else cont++;
break;
}
if(cont==array.length) System.out.println("O vetor já está cheio!");
}
/Método para procurar pessoas pelo nome/
public Pessoa ProcuraPessoa(String nome){
int aux=0;
for(int i=0;i<array.length;i++){
* if(nome.equalsIgnoreCase(array**.nome)){*
System.out.println(nome+" está na posição "+i+" da lista");
//printar a classe e os outros dados do aluno-----------------------------------AQUI
* String var=array**.getClass().getName();*
String vet[]=var.split("\\W+");
System.out.println("Ele é um "+vet[vet.length-1]); //--------------------ESSA LINHA É CABREIRA
aux =i;
break;
}
else{
return null;
}
}
return array[aux];
}
/Método que retorna o objeto presente no índice X/
public Pessoa get(int indice){
* if(array[indice]!=null) return array[indice];*
* else return null;*}
/Método que retorna a quantidade de pessoas/
public int quantidade(){
int cont=0;
for(int i=0;i<array.length;i++){
* if(array**!=null) cont++;*
else break;
}
return cont;
}
///Método que procura a pessoa pelo curso que ela está relacionada (aluno ou professor)*
public ListaDePessoas pessoasDoCurso(String nomeDoCurso){
Pessoa[] ListaDePessoas = new Pessoa[100];
for(int i=0;i<ListaDePessoas.length;i++){
for(int j=0;j<ListaDePessoas.length;j++){
if(nomeDoCurso.equalsIgnoreCase(array[j].getCurso())){ //------ ERRO AQUI
* ListaDePessoas**=array[j];*
}
break;
}
}
return ListaDePessoas;
}/*
}
Pessoa
>
package uni4;
abstract class Pessoa {
/ Está classe possuiu apenas os dados básicos de uma pessoa/
protected String nome;
protected String endereco;
protected int idade;
public void setNome(String nome) {
this.nome = nome;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public void setIdade(int idade) {
this.idade = idade;
}
public String getNome() {
return nome;
}
public String getEndereco() {
return endereco;
}
public int getIdade() {
return idade;
}
}
ListaDePessoas
>
package uni4;
import java.util.Scanner;
public class ListaDePessoas extends Pessoa {
Scanner scan = new Scanner(System.in);
protected Pessoa[] array;
public ListaDePessoas(int indice){
array=new Pessoa[indice];
}
public void IncluirPessoa(Pessoa p){
int cont=0;
for(int i=0;i<array.length;i++){
* if(array**==null){*
//System.out.println(i);
* array**=p;*
System.out.println("Digite o nome da pessoa");
* array**.setNome(scan.nextLine());*
System.out.println("\n");
System.out.println("Digite o endereço da pessoa");
* array**.setEndereco(scan.nextLine());*
System.out.println("\n");
System.out.println("Digite a idade");
* array**.setIdade(scan.nextInt());*
}
else cont++;
break;
}
if(cont==array.length) System.out.println("O vetor já está cheio!");
}
/Método para procurar pessoas pelo nome/
public Pessoa ProcuraPessoa(String nome){
int aux=0;
for(int i=0;i<array.length;i++){
* if(nome.equalsIgnoreCase(array**.nome)){*
System.out.println(nome+" está na posição "+i+" da lista");
//printar a classe e os outros dados do aluno-----------------------------------AQUI
* String var=array**.getClass().getName();*
String vet[]=var.split("\\W+");
System.out.println("Ele é um "+vet[vet.length-1]); //--------------------ESSA LINHA É CABREIRA
aux =i;
break;
}
else{
return null;
}
}
return array[aux];
}
/Método que retorna o objeto presente no índice X/
public Pessoa get(int indice){
* if(array[indice]!=null) return array[indice];*
* else return null;*}
/Método que retorna a quantidade de pessoas/
public int quantidade(){
int cont=0;
for(int i=0;i<array.length;i++){
* if(array**!=null) cont++;*
else break;
}
return cont;
}
///Método que procura a pessoa pelo curso que ela está relacionada (aluno ou professor)*
public ListaDePessoas pessoasDoCurso(String nomeDoCurso){
Pessoa[] ListaDePessoas = new Pessoa[100];
for(int i=0;i<ListaDePessoas.length;i++){
for(int j=0;j<ListaDePessoas.length;j++){
if(nomeDoCurso.equalsIgnoreCase(array[j].getCurso())){ //------ ERRO AQUI
* ListaDePessoas**=array[j];*
}
break;
}
}
return ListaDePessoas;
}/*
}
Funcionario
>
package uni4;
public class Funcionario extends Pessoa {
protected boolean presenca; /Atributo que diz se o funcionario veio trabalhar/
protected double salario; /Atributo que recebe o valor salarial/
public Funcionario(){} /Construtor normal/
public Funcionario(String nome,int idade){ /Construtor Personalizado/
this.nome=nome;
this.idade=idade;
}
public void setPresenca(boolean presenca) {
this.presenca = presenca;
}
/é um 'get' da presença/public boolean isPresenca() {
return presenca;
}
/Método para calcular o salário/
public double CalcSalario(double s,double hr){
double aux=shr;*
this.salario=aux;
return this.salario;
}
}
Prof
>
package uni4;
public class Prof extends Funcionario {
private String curso; //Curso em que o professor da aula
private double ch; //carga horaria
private double salario;
public Prof(){}
public Prof(String n,int id){
super.idade=id;
super.nome=n;
}
public void setCurso(String curso) {
this.curso = curso;
}
public void setCh(double ch) {
this.ch = ch;
}
public String getCurso() {
return curso;
}
public double getCh() {
return ch;
}
public void setSalario(double salario) {
System.out.println("Digite quanto o professor recebe por hora");
this.salario = salario;
}
public double getSalario() {
return this.salario;
}
}
Aluno
>
package uni4;
public class Aluno extends Pessoa{
private String curso; /O curso que o aluno estuda/
private int numMat; /O numero da matrícula do aluno/
public Aluno(){}
/Construtor personalizado/
public Aluno(String n,int idade){
this.nome=n;
this.idade=idade;
}
/Getters e Seters dos atributos/
/ public void setNome(String nome) {*
this.nome = nome;
}
public void setIdade(int idade) {
this.idade = idade;
}/*
public void setCurso(String curso) {
this.curso = curso;
}
/public String getNome() {*
return nome;
}
public int getIdade() {
return idade;
}/*
public String getCurso() {
return curso;
}
}
Se alguém puder me ajudar por favor,realmente n faço ideia do que fazer e já perdi umas boas horinhas empacado aqui,agradeço desde já
Discussão (1)
Carregando comentários...