Tenho um programa dividido em dois arquivos; Registro e principal
public class Registro {
public String nome;
public String fone;
//construtor
public Registro (String novoNome, String novoFone) {
nome = novoNome;
fone = novoFone;
}
}
então, no principal é um banco de dados que armazena nomes e fones; Eu preciso mudar os atributos nome e o fone do registro para private e ainda continuar usando eles no principal. Como posso fazer isso?
import java.util.Vector;
// foi preciso importar o pacote java.io.* para as classes BufferedReader e InputStreamReader
import java.io.*;
public class Principal
{
/** objeto que armazena objetos como em uma lista encadeada dinamicamente **/
Vector listaTelefones;
public Principal() {
listaTelefones = new Vector();
}
//método que cria novo registro e adiciona na lista
public void adicionarFone() {
String nome,fone;
BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));
try {
System.out.print ("Nome: ");
nome = entrada.readLine();
System.out.print ("Fone: ");
fone = entrada.readLine();
listaTelefones.add(new Registro(nome,fone));
System.out.println ("Registro adicionado com sucesso!!!");
}
catch (IOException e) {
System.out.println ("Houve um erro: " + e.getMessage());
}
}
//método p/ remover um telefone na posição n
public void removerFone() {
int indice;
BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));
try {
boolean removido = false;
System.out.print ("Indice a remover: ");
//converte string p/ inteiro
indice = Integer.parseInt(entrada.readLine());
if (indice >= 0)
if (listaTelefones.size() > indice) {
listaTelefones.removeElementAt(indice);
removido = true;
}
if (removido)
System.out.println ("Remocao OK!!");
else
System.out.println ("Erro, entre com um indice valido!!");
}
catch (Exception e) {
//mostrar alguma msg de erro!!
}
}
//método p/ listar nomes e fones da agenda
public void listarFones() {
if (listaTelefones.size() == 0)
System.out.println ("Nao ha fones!!!");
else {
int j;
for (j = 0; j < listaTelefones.size(); j++) {
Registro r = (Registro) listaTelefones.get(j);
System.out.println ("Posicao: " + j + " - Nome: " + r.getNome + " Telefone: " + r.fone);
}
}
}
//método que gera o menu
public boolean menu() {
boolean terminar;
int nOpcao = 0;
BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));
System.out.println(); //para deixar uma linha em branco
System.out.println ("* Menu *");
System.out.println ("1-Inscrever; 2-Listar; 3-Remover; 4-Sair");
System.out.print ("Opcao: ");
try {
nOpcao = Integer.parseInt(entrada.readLine());
}
catch (Exception e) {
// mostrar alguma msg de erro!!
}
switch (nOpcao) {
case 1: {
adicionarFone();
break;
}
case 2: {
listarFones();
break;
}
case 3: {
removerFone();
break;
}
case 4: break;
default: System.out.println ("Opcao Invalida");
}
terminar = (nOpcao == 4);
return (terminar == false);
}
public static void main (String args[]) {
Principal p = new Principal();
do {
// soh para repetir o método menu() da classe Principal1
} while (p.menu());
}
}