olá, sou novato em programação java, estou aprendendo o básico e tenho um problema de biblioteca:
tenho uma classe Biblioteca em que se situam os vetores
-vetor de Livros [20]
-vetor de Revistas [20]
-vetor de Cds [20]
-vetor de Jornais [20]
-vetor de Alunos [10]
-vetor de Professores [10]
tal classe mexe com a classe material, das quais herdam os livros, revistas, cds, etc (isso eu fiz)
mas a classe main, tem que fazer a inclusao de dados e usar a classe biblioteca para manipular os vetores dos materiais ou de usuarios
uma parte do meu programa:
biblioteca b;
do{
b = new biblioteca();
System.out.println("Digite:\n1) para adicionar usuario\n2)Para adicionar materiais (livros,CD's,Revistas ou jornais)\n3)Para consultar usuario\n4)Para devolver material");
System.out.println("Digite -1 para finalizar sistema");
esc1 = scan.nextInt();
switch(esc1){
case 1:
System.out.println("Digite:\n1)Para adicionar aluno\n2)para adicionar professor");
esc2 = scan.nextInt();
switch(esc2){
case 1: //adicionar aluno
for(i = 0; i < b.a.length; i++){
System.out.println("Digite o nome do aluno");
b.a[i].setNome(nome = scan.nextLine());
System.out.println("Digite o codigo do aluno");
b.a[i].setCodigo(codigo = scan.nextInt());
System.out.println("Digite o curso do aluno");
b.a[i].setCurso(curso = scan.nextLine());
System.out.println("Digite o ano do aluno");
b.a[i].setAno(ano = scan.nextInt());
///
classe biblioteca:
public class biblioteca {
livros l[] = new livros[20];
CD cds[] = new CD[20];
jornais j[] = new jornais[20];
revistas r[] = new revistas[20];
professor p[] = new professor[10];
aluno a[] = new aluno[10];
int i;
void relatorioAlunos(){
for(i = 0; i > a.length;i++){
System.out.println("Nome do aluno" + a[i].getNome());
}
}
public void relatorioProfessores(){
for(i = 0; i > p.length;i++){
System.out.println("Nome do professor" +p[i].getNome());
é que eu estou confuso em como mexer com uma classe que possui vetor de objetos,através da main, mas essa classe tem vetor de objeto de outra classe, entende?
é como mexer uma classe para mexer em outra
biblioteca b;
b = new biblioteca();
System.out.println(“Digite o codigo do aluno”);
b.a[i].setCodigo(codigo = scan.nextInt());
eu fiz essa lusitanagem , apesar de nao apontar erro , aponta erro em :
Exception in thread “main” java.lang.NullPointerException
at Main.main(Main.java:56)
Java Result: 1
a classe biblioteca possui os vetores de outras classes, como CD, revista e jornal , e para mexer na biblioteca tenho que mexer na main
main > biblioteca > cd/revista/jornal ,
classe biblioteca (um pco do codigo)
public class biblioteca {
livros l[] = new livros[20];
CD cds[] = new CD[20];
jornais j[] = new jornais[20];
entendi agora, é como se o objeto estivesse null, eu dei gets só não aparecem no codigo
mais uma coisa
é correto usar um objeto para acessar outro objeto de tal classe?
como se o objeto b da classe biblioteca acessasse outro objeto, por exemplo , o objeto l da classe livro
code System.out.println(“Digite o titulo do livro”);
b.l[i].setTitulo(titulo = scan.nextLine());/code