[code]package br.unipac.trabalho_final;
import java.util.Scanner;
import br.unipac.trabalho_final.Insere_Dados_Clientes;
public class Aplicacao_Cliente {
public static void main(String[] args) {
Insere_Dados_Clientes dados = new Insere_Dados_Clientes();
Scanner novo = new Scanner (System.in);
System.out.println("Código");
novo.nextLine();
System.out.println("Nome");
novo.nextLine();
System.out.println("CPF");
novo.nextLine();
System.out.println("Telefone");
novo.nextLine();
}
}
[/code]
eu preciso inserir esses dados na arvore, tô em dúvida de como fazer… desde jah agradeço a todos
as Clases estão aki…
package br.unipac.trabalho_final;
public class Insere_Dados_Cliente {
private Clientes raiz;
public Insere_Dados_Cliente(){
raiz = null;
}
public void insere(int codigo, String nome, String cpf, String telefone) {
Clientes novoNo = new Clientes();
novoNo.setCodigo(codigo);
novoNo.setNome(nome);
novoNo.setCpf(cpf);
novoNo.setTelefone(telefone);
if (raiz == null)
raiz = novoNo;
else
{
Clientes atual = raiz;
Clientes parente;
while (true)
{
parente = atual;
if (codigo < atual.getCodigo())
{
atual = atual.getFilhosDaEsquerda();
if (atual == null)
{
parente.setFilhosDaEsquerda(novoNo);
return;
}
}
else
{
atual = atual.getFilhosDaDireita();
if (atual == null)
{
parente.setFilhosDaDireita(novoNo);
return;
}
}
}
}
}
public boolean delete(int chave)
{
Clientes atual = raiz;
Clientes parente = raiz;
boolean eFilhosDaEsquerda = true;
while (atual.getCodigo() != chave)
{
parente = atual;
if (chave < atual.getCodigo())
{
eFilhosDaEsquerda = true;
atual = atual.getFilhosDaEsquerda();
} else
{
eFilhosDaEsquerda = false;
atual = atual.getFilhosDaDireita();
}
if (atual == null)
return false;
}
if (atual.getFilhosDaEsquerda() == null && atual.getFilhosDaDireita() == null) {
if (atual == raiz)
raiz = null;
else if (eFilhosDaEsquerda)
parente.setFilhosDaEsquerda(null);
else
parente.setFilhosDaDireita(null);
}
else if (atual.getFilhosDaDireita() == null)
if (atual == raiz)
raiz = atual.getFilhosDaDireita();
else if (eFilhosDaEsquerda)
parente.setFilhosDaDireita(atual.getFilhosDaEsquerda());
else
parente.setFilhosDaDireita(atual.getFilhosDaDireita());
else if (atual.getFilhosDaEsquerda() == null)
if (atual == raiz)
raiz = atual.getFilhosDaDireita();
else if (eFilhosDaEsquerda)
parente.setFilhosDaEsquerda(atual.getFilhosDaDireita());
else
parente.setFilhosDaDireita(atual.getFilhosDaDireita());
else
{
Clientes successor = getSuccessor(atual);
if (atual == raiz)
raiz = successor;
else if (eFilhosDaEsquerda)
parente.setFilhosDaEsquerda(successor);
else
parente.setFilhosDaDireita(successor);
successor.setFilhosDaDireita(atual.getFilhosDaDireita());
}
return true;
}
private Clientes getSuccessor(Clientes deleteNo) {
Clientes sucessorParente = deleteNo;
Clientes sucessor = deleteNo;
Clientes atual = deleteNo.getFilhosDaDireita();
while (atual != null){
sucessorParente = sucessor;
sucessor = atual;
atual = atual.getFilhosDaDireita();
}
if (sucessor != deleteNo.getFilhosDaDireita()){
sucessorParente.setFilhosDaDireita(sucessor.getFilhosDaDireita());
sucessor.setFilhosDaDireita(deleteNo.getFilhosDaDireita());
}
return sucessor;
}
public void travessia(int tipoTravessia) {
switch (tipoTravessia) {
case 1:
System.out.print("\nTravessia usando Preorder.\n ");
preOrder(raiz);
break;
case 2:
System.out.print("\nTravessia usando Inorder.\n ");
inOrder(raiz);
break;
case 3:
System.out.println("\nTravessia usando Postorder. ");
posOrder(raiz);
break;
}
System.out.println();
}
private void preOrder(Clientes localraiz) {
if (localraiz != null) {
localraiz.mostraNo();
preOrder(localraiz.getFilhosDaEsquerda());
preOrder(localraiz.getFilhosDaDireita());
}
}
private void inOrder(Clientes localraiz) {
if (localraiz != null) {
inOrder(localraiz.getFilhosDaEsquerda());
localraiz.mostraNo();
inOrder(localraiz.getFilhosDaDireita());
}
}
private void posOrder(Clientes localraiz) {
if (localraiz != null) {
posOrder(localraiz.getFilhosDaEsquerda());
posOrder(localraiz.getFilhosDaDireita());
localraiz.mostraNo();
}
}
public Clientes busca(int cod)
{
Clientes atual = raiz;
while (atual.getCodigo() != cod)
{
if (cod < atual.getCodigo())
atual = atual.getFilhosDaEsquerda();
else
atual = atual.getFilhosDaDireita();
if (atual == null)
return null;
}
return atual;
}
}
package br.unipac.trabalho_final;
public class Clientes {
private double codigo;
private String nome;
private String cpf;
private String telefone;
private Clientes filhosDaEsquerda;
private Clientes filhosDaDireita;
public Clientes getFilhosDaEsquerda() {
return filhosDaEsquerda;
}
public void setFilhosDaEsquerda(Clientes filhosDaEsquerda) {
this.filhosDaEsquerda = filhosDaEsquerda;
}
public Clientes getFilhosDaDireita() {
return filhosDaDireita;
}
public void setFilhosDaDireita(Clientes filhosDaDireita) {
this.filhosDaDireita = filhosDaDireita;
}
public double getCodigo() {
return codigo;
}
public void setCodigo(double codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public void mostraNo(){
System.out.print("{");
System.out.print(codigo);
System.out.print(", ");
System.out.print(nome);
System.out.print(", ");
System.out.print(cpf);
System.out.print(", ");
System.out.print(telefone);
System.out.print("} ");
}
}
Antes de tudo, aprenda a postar código fonte no Guj.
Veja : Aprenda a postar Código Fonte no GUJ
Isso vai facilitar a leitura do seu código pelos demais usuários.
desculpa amigo, sou novo por aki, resolvido o problema… se puder ajudar agradeço… abraços
Obrigado por arrumar seu código.
Não entendi a sua dúvida. Inserir dados na arvore? Que arvore?
Aqui tem um pequeno tutorial sobre scanner
o usuario vai formecer os dados,e tem que usar a função inserir, que está na classe Inserir_dados_cliente, não sei como fazer isso… se puder dá uma ideia… vou agradecer mt…
Algo desse tipo:
[code]public class Aplicacao_Cliente {
public static void main(String[] args) {
Insere_Dados_Clientes dados = new Insere_Dados_Clientes();
Scanner novo = new Scanner (System.in);
System.out.println("Código");
String codigo = novo.nextLine();
System.out.println("Nome");
String nome = novo.nextLine();
System.out.println("CPF");
String cpf = novo.nextLine();
System.out.println("Telefone");
String fone = novo.nextLine();
dados.insere(codigo, nome, cpf, fone);
}
}[/code]
valeu parceiro, tinha dado certo aki… mt grato pela sua colaboração… abraços
Ok!
Então mais uma dica sobre o Guj. Quando tiver um tópico resolvido, edite sua 1ª postagem e ao lado do campo titlulo digite: [RESOLVIDO]
T+