Ola pessoal!
Sou novato aki no forum, e estou com um problema aki com um programinha que serve para incuir, alterar, excluir, pesquisar, ordenar e a quantidade de convidados cadastrados.
Ele ta incluindo blz, mas da opção alterar em diante não ta funcionando!!
Segue o código do programa e da casse convidado abaixo:
[code]package br.com.cet.algoritmos;
/**
- autor: Marcos
- To change this generated comment edit the template variable "typecomment":
- Window>Preferences>Java>Templates.
- To enable and disable the creation of type comments go to
- Window>Preferences>Java>Code Generation.
*/
import javax.swing.*;
public class ProgramaFinal {
static int tamanho = 5;
static Convidado [] conv = new Convidado[tamanho];
/**
* @param args
*/
/**
* @param args
*/
public static void main(String[] args) {
int acao = 0;
while (acao != 9){
try{
/* Object[] marcos = new Object[1]; */
String input = JOptionPane.showInputDialog(null,
" 1 = Inclusão \n" +
" 2 = Alteração \n" +
" 3 = Exluir \n" +
" 4 = Pesquisar \n" +
" 5 = Ordenar a Lista \n" +
" 6 = Quantidade de Convidados \n" +
" 9 = Sair");
acao = Integer.parseInt(input);
switch (acao) {
case 1:
if (numeradora() == tamanho) {
JOptionPane.showMessageDialog(null, " Lista Ja Esta Completa ",
"Mensagem", JOptionPane.INFORMATION_MESSAGE);
break;
}
incConv();
break;
case 2:
if (exitConv() == 9){
JOptionPane.showMessageDialog(null, "Não Há Convidados Cadastrados ",
"Mensagem", JOptionPane.INFORMATION_MESSAGE);
break;
}
altConv();
break;
case 4:
pesqConv();
break;
case 3:
excConv();
break;
case 6:
qtdConv();
break;
default:
if (acao != 9){
JOptionPane.showMessageDialog(null, " Opção Errada, Escolha Uma das Opções Acima!",
"Mensagem", JOptionPane.INFORMATION_MESSAGE);
}
}
}catch (NumberFormatException e ){
JOptionPane.showMessageDialog(null, " Opção Errada, Escolha Uma das Opções Acima! ",
"Mensagem", JOptionPane.INFORMATION_MESSAGE);
}catch (NullPointerException e ){
System.out.println(e);
}
catch (ArrayIndexOutOfBoundsException e ){
System.out.println("Fora do Array");
}
}
}
/**
* Numera o array .
*/
public static int numeradora(){
int numera = 0;
for(int i =0;i < tamanho; i++){
if (conv[i] == null){
numera = i;
break;
}
else {
numera = tamanho;
}
}
return numera;
}
/**
* Metodo Para Inclusao dos Convidados
*
*/
public static void incConv() {
Convidado convidado;
@SuppressWarnings("unused")
String convConv,convTel;
convTel = null;
convConv = JOptionPane.showInputDialog(" Nome Do Convidado?");
if (convConv.equals("")){
JOptionPane.showMessageDialog(null, " Falta Informa o Nome do Convidado ",
"Mensagem", JOptionPane.INFORMATION_MESSAGE);
}
else {
convTel = JOptionPane.showInputDialog(" Telefone Do Convidado");
}
convidado = new Convidado();
conv[numeradora()]= convidado;
JOptionPane.showMessageDialog(null,"Convidado Cadastrado com Sucesso!",
"Mensagem", JOptionPane.INFORMATION_MESSAGE);
}
public static void altConv(){
int encontrou = 0;
String convConv = "";
convConv = JOptionPane.showInputDialog(" Nome do Convidado Para Alterar?");
if (convConv.equals("")){
JOptionPane.showMessageDialog(null, " Falta Informar o Nome do Convidado Para Pesquisa!",
"Mensagem", JOptionPane.INFORMATION_MESSAGE);
}
else {
boolean ok = false;
for(int i=0; i < tamanho;i++){
if ((conv[i]!= null) && convConv.equalsIgnoreCase(conv[i].nome)){
encontrou = i;
ok = true;
break;
}
}
if (ok == true){
int acao = 0;
try{
/* Object[] Marcos = new Object[1]; */
String input = JOptionPane.showInputDialog(null,
" 1 = Altera Convidado \n" +
" 2 = Altera Numero do Telefone \n" +
" 9 = Sair");
acao = Integer.parseInt(input);
switch (acao) {
case 1:
convConv = JOptionPane.showInputDialog(null,
"Vai Altera Convidado " + conv[encontrou].nome + " Para?");
conv[encontrou].nome(convConv);
JOptionPane.showMessageDialog(null,"Convidado Alterado com Sucesso!",
"Mensagem", JOptionPane.INFORMATION_MESSAGE);
break;
case 2:
String telConv = JOptionPane.showInputDialog(null,
"Vai Altera o Telefone de " + conv[encontrou].nome + " Para?");
conv[encontrou].telefone(telConv);
JOptionPane.showMessageDialog(null,"Telefone do Convidado Alterado com Sucesso!",
"Mensagem", JOptionPane.INFORMATION_MESSAGE);
break;
default:
if (acao != 9){
JOptionPane.showMessageDialog(null, " Opção Errada, Escolha Uma das Opções Acima! ",
"Mensagem", JOptionPane.INFORMATION_MESSAGE);
}
}
}catch (NumberFormatException e ){
JOptionPane.showMessageDialog(null, " Opção Errada, Escolha Uma das Opções Acima! ",
"Mensagem", JOptionPane.INFORMATION_MESSAGE);
}catch (Exception e ){
//System.out.println("Sair 2");
}
}
else{
JOptionPane.showMessageDialog(null, " Convidado Não Está Cadastrado! ",
"Mensagem", JOptionPane.INFORMATION_MESSAGE);
}
}
}
public static void excConv() {
int encontrou = 0;
String convConv = "";
convConv = JOptionPane.showInputDialog(" Nome do Convidado Para Exluir?");
if (convConv.equals("")){
JOptionPane.showMessageDialog(null, " Falta Informa o Nome do Convidado Para Pesquisa! ",
"Mensagem", JOptionPane.INFORMATION_MESSAGE);
}
else {
boolean ok = false;
for(int i=0; i < tamanho;i++){
if ((conv[i]!= null) && convConv.equalsIgnoreCase(conv[i].nome)){
encontrou = i;
ok = true;
break;
}
}
if (ok == true){
conv[encontrou].nome("");
conv[encontrou].telefone("");
}
}
}
/**
* Metodo para o pesquisa de o convidados esta cadastrado ou Nao
*
*/
public static void pesqConv() {
String Convconv = null;
Convconv = JOptionPane.showInputDialog(" Nome Do Convidado Para Pesquisa?");
if (Convconv.equals("")){
JOptionPane.showMessageDialog(null, " Falta Informa o Nome do Convidado Para Pesquisa ! ",
"Mensagem", JOptionPane.INFORMATION_MESSAGE);
}
int encontrou = 0;
boolean ok = false;
for (int i=0;i < tamanho;i++){
if ((conv[i]!= null) && Convconv.equalsIgnoreCase(conv[i].nome)){
encontrou = i;
ok = true;
break;
}
}
if (ok == true){
JOptionPane.showMessageDialog(null, " Convidado Cadastrato! "+conv[encontrou].nome+" - "+conv[encontrou].telefone,
"Mensagem", JOptionPane.INFORMATION_MESSAGE);
}
else {
JOptionPane.showMessageDialog(null, "Convidado Nao Cadastrado",
"Mensagem", JOptionPane.INFORMATION_MESSAGE);
}
}
public void ordConv() {
for (int i = 0; i < conv.length-1; i++){
for (int j = i+1; j < conv.length; j++){
if ((conv[i]!=null) && (conv[j] != null))
if (conv[i].nome.compareToIgnoreCase(conv[j].nome) < 0){
}
}
}
}
/**
* Metodo para Calcular a quantidade de Convidados
* @return
* @return
*/
public static void qtdConv() {
int qtdconv = 0;
String out="";
for (int i =0; i < tamanho;i++){
if (conv[i] == null){
qtdconv = qtdconv+i;
break;
}else {
out += conv[i].nome+ " - "+ conv[i].telefone+"\n";
}
}
out = out + "Quantidade de Convidados é : " + qtdconv+"\n";
JOptionPane.showMessageDialog(null, out,
"Mensagem", JOptionPane.INFORMATION_MESSAGE);
}
public static int exitConv() {
int existe = 0;
for (int i =0; i < tamanho;i++){
if (conv[i] == null){
existe = i;
break;
}
}
return existe;
}
}
[/code]
Classe convidado:
[code]package br.com.cet.algoritmos;
/**
- @author Marcos Monteiro
- To change this generated comment edit the template variable "typecomment":
- Window>Preferences>Java>Templates.
- To enable and disable the creation of type comments go to
- Window>Preferences>Java>Code Generation.
*/
/**
-
Class representa os convidados
*/
public class Convidado {
public static final String conv = null;
public String nome;
public String telefone;
public void nome(String string) {
// TODO Auto-generated method stub}
public void telefone(String string) {
// TODO Auto-generated method stub}
}[/code]