Dúvidas Programação Java em um trabalho da faculdade

3 respostas
V

Olá a todos!

eu estou com algumas dúvidas e gostaria que vocês me ajudassem no que for possível.

Estou implementando cinco classes sendo uma pai e outras três filhas e também uma classe Main para rodar o programa e ter a interação com o usuário.

Primeiro no segundo menu tem a opção para retornar ao menu anterior e eu não consigo ter idéia de como implementar isto para que ao usuário digitar uma opção x retorne para o menu anterior

Segundo é que eu gostaria de criar uma arraylist para o cadastro dos funcionários, mas não sei aonde colocar esta arraylist se na classe funcionário ou na classe main e ainda nesta arraylist que o usuário pudesse cadastrar um numero variavel e não um numero fixo de funcionarios. Não sei se ficou bem explicado esta questão…

E por ultimo gostaria de uma ajuda com relação aos métodos excluir, alterar e listar e se eu estou fazendo certo o método cadastro. Se vocês pudessem me dar exemplos ou mesmo me ajudar no código agradeço muito.

1. //classe pai  
   2. import javax.swing.JOptionPane;  
   3.   
   4.   
   5. public class Funcionario {  
   6.    private String nome;  
   7.         
   8.    public Funcionario(String nome){  
   9.       setNome(nome);  
  10.    }  
  11.      
  12.    public void setNome(String nome){  
  13.       this.nome = nome;  
  14.    }  
  15.      
  16.         
  17.    public String getNome(){  
  18.       return nome;  
  19.    }  
  20.         
  21.    public void cadastro(){  
  22.       setNome(JOptionPane.showInputDialog("Informe o nome: "));  
  23.    }  
  24.      
  25.    public void excluir(){  
  26.      
  27.    }  
  28.      
  29.    public void alterar(){  
  30.      
  31.    }  
  32.      
  33.    public void listar(){  
  34.         
  35.    }  
  36. }  
  37.   
  38.   
  39. //classe filha  
  40.   
  41. import javax.swing.JOptionPane;  
  42.   
  43.   
  44. public class Programador extends Funcionario {  
  45.    private double salario;  
  46.   
  47.    public Programador(){  
  48.       super(null);  
  49.       salario = 0;  
  50.    }  
  51.   
  52.    public void setSalario(double dsalario){  
  53.       salario = dsalario;  
  54.    }  
  55.   
  56.    public double getSalario(){  
  57.       return salario;  
  58.    }  
  59.   
  60.    public void cadastro() {  
  61.       super.cadastro();  
  62.       setSalario(Double.parseDouble(JOptionPane.showInputDialog("Informe o salário: ")));  
  63.    }  
  64.   
  65.    public void excluir(){  
  66.       super.excluir();  
  67.    }  
  68.   
  69.    public void alterar(){  
  70.       super.alterar();     
  71.    }  
  72.   
  73.    public void listar(){  
  74.       super.listar();  
  75.    }  
  76. }  
  77.   
  78.   
  79. //classe filha  
  80. import javax.swing.JOptionPane;  
  81.   
  82.   
  83. public class DesignGrafico extends Funcionario {  
  84.    private double salario;  
  85.      
  86.    public DesignGrafico() {  
  87.       super(null);  
  88.       salario = 0;  
  89.    }  
  90.      
  91.    public void setSalario(double dsalario){  
  92.       salario = dsalario;  
  93.    }  
  94.      
  95.    public double getSalario(){  
  96.       return salario;  
  97.    }  
  98.      
  99.    public void cadastro(){  
 100.       super.cadastro();  
 101.       setSalario(Double.parseDouble(JOptionPane.showInputDialog("Informe o salário: ")));  
 102.    }  
 103.      
 104.    public void excluir(){  
 105.       super.excluir();  
 106.    }  
 107.      
 108.    public void alterar(){  
 109.       super.alterar();  
 110.    }  
 111.      
 112.    public void listar(){  
 113.       super.listar();  
 114.    }  
 115. }  
 116.   
 117. //classe filha  
 118. import javax.swing.JOptionPane;  
 119.   
 120.   
 121. public class DesignDeSons extends Funcionario {  
 122.    private double salario;  
 123.      
 124.    public DesignDeSons(){  
 125.       super(null);  
 126.       salario = 0;  
 127.    }  
 128.      
 129.    public void setSalario(double dsalario){  
 130.       salario = dsalario;  
 131.    }  
 132.      
 133.    public double getSalario(){  
 134.       return salario;  
 135.    }  
 136.      
 137.    public void cadastro(){  
 138.       super.cadastro();  
 139.       setSalario(Double.parseDouble(JOptionPane.showInputDialog("Informe o salário: ")));  
 140.    }  
 141.      
 142.    public void excluir(){  
 143.       super.excluir();  
 144.    }  
 145.      
 146.    public void alterar(){  
 147.       super.alterar();  
 148.    }  
 149.      
 150.    public void listar(){  
 151.       super.listar();  
 152.    }  
 153. }  
 154.   
 155.   
 156. //classe filha  
 157. import javax.swing.JOptionPane;  
 158.   
 159.   
 160. public class DesignDeSons extends Funcionario {  
 161.    private double salario;  
 162.      
 163.    public DesignDeSons(){  
 164.       super(null);  
 165.       salario = 0;  
 166.    }  
 167.      
 168.    public void setSalario(double dsalario){  
 169.       salario = dsalario;  
 170.    }  
 171.      
 172.    public double getSalario(){  
 173.       return salario;  
 174.    }  
 175.      
 176.    public void cadastro(){  
 177.       super.cadastro();  
 178.       setSalario(Double.parseDouble(JOptionPane.showInputDialog("Informe o salário: ")));  
 179.    }  
 180.      
 181.    public void excluir(){  
 182.       super.excluir();  
 183.    }  
 184.      
 185.    public void alterar(){  
 186.       super.alterar();  
 187.    }  
 188.      
 189.    public void listar(){  
 190.       super.listar();  
 191.    }  
 192. }  
 193.   
 194.   
 195. import java.util.ArrayList;  
 196.   
 197. import javax.swing.JOptionPane;  
 198.   
 199.   
 200. public class Main {  
 201.   
 202.    public void menu(){  
 203.   
 204.       ArrayList<Funcionario> funcionario = new ArrayList<Funcionario>();  
 205.         
 206.       int op = 0;  
 207.   
 208.       while (op != 5) {  
 209.          op = Integer.parseInt(JOptionPane.showInputDialog("Digite a opção\n"  
 210.                + "1=Inserir\n"  
 211.                + "2=Excluir\n"  
 212.                + "3=Alterar\n"  
 213.                + "4=Listar\n"  
 214.                + "5=Sair"));  
 215.          Funcionario f = null;  
 216.   
 217.          switch(op) {  
 218.          case 1:  
 219.             int pp = 0;  
 220.   
 221.             while (pp != 4) {  
 222.                pp = Integer.parseInt(JOptionPane.showInputDialog("Digite a opção\n"  
 223.                      + "1=Programador\n"  
 224.                      + "2=Design Grafico\n"  
 225.                      + "3=Design De Sons\n"  
 226.                      + "4=Retornar ao Menu Anterior"));  
 227.   
 228.                switch(pp) {  
 229.                case 1:  
 230.                   f = new Programador();  
 231.                   f.cadastro();  
 232.   
 233.                   break;  
 234.   
 235.                case 2:  
 236.                   f = new DesignGrafico();  
 237.                   f.cadastro();  
 238.   
 239.                   break;  
 240.   
 241.                case 3:  
 242.                   f = new DesignDeSons();  
 243.                   f.cadastro();  
 244.   
 245.                   break;  
 246.   
 247.                case 4:  
 248.                   return;  
 249.                }  
 250.             }  
 251.   
 252.          case 2:  
 253.               
 254.             break;  
 255.          case 3:  
 256.               
 257.             break;  
 258.          case 4:  
 259.            
 260.             break;  
 261.          case 5:  
 262.             System.exit(0);  
 263.               
 264.             break;  
 265.          }  
 266.   
 267.       }  
 268.   
 269.    }  
 270.   
 271.   
 272.   
 273.    public static void main(String[] args) {  
 274.       Main main = new Main();  
 275.       main.menu();  
 276.    }  
 277.   
 278.   
 279. }

3 Respostas

V

Olá pessoal!!

A minha primeira dúvida que é sobre eu sair de um menu/sub menu e voltar ao menu anterior eu já solucionei. Eu substitui o return por break na linha 248 e funcionou.
Mas ainda com relação as minhas outras dúvidas, se alguem puder ajudar, não precisa fazer, é somente me dar um exemplo ou explicar mais ou menos o que deveria ser feito.

Agradeço desde já!!

# public class Main {  
#   
#    public void menu(){  
#   
#       ArrayList<Funcionario> funcionario = new ArrayList<Funcionario>();  
#         
#       int op = 0;  
#   
#       while (op != 5) {  
#          op = Integer.parseInt(JOptionPane.showInputDialog("Digite a opção\n"  
#                + "1=Inserir\n"  
#                + "2=Excluir\n"  
#                + "3=Alterar\n"  
#                + "4=Listar\n"  
#                + "5=Sair"));  
#          Funcionario f = null;  
#   
#          switch(op) {  
#          case 1:  
#             int pp = 0;  
#   
#             while (pp != 4) {  
#                pp = Integer.parseInt(JOptionPane.showInputDialog("Digite a opção\n"  
#                      + "1=Programador\n"  
#                      + "2=Design Grafico\n"  
#                      + "3=Design De Sons\n"  
#                      + "4=Retornar ao Menu Anterior"));  
#   
#                switch(pp) {  
#                case 1:  
#                   f = new Programador();  
#                   f.cadastro();  
#   
#                   break;  
#   
#                case 2:  
#                   f = new DesignGrafico();  
#                   f.cadastro();  
#   
#                   break;  
#   
#                case 3:  
#                   f = new DesignDeSons();  
#                   f.cadastro();  
#   
#                   break;  
#   
#                case 4:  
#                   break;  
#                }  
#             }  
#   
#          case 2:  
#               
#             break;  
#          case 3:  
#               
#             break;  
#          case 4:  
#            
#             break;  
#          case 5:  
#             System.exit(0);  
#               
#             break;  
#          }  
#   
#       }  
#   
#    }  
#   
#   
#   
#    public static void main(String[] args) {  
#       Main main = new Main();  
#       main.menu();  
#    }  
#   
#   
# }
G

pare de trabalhar com classes concretas e trabalhe com abstração e interfaces, seu trabalho terá um tom mais profissional.

V

gambazinho,

Estou tentando fazer pelo modo mais fácil pra mim, mas eu vou dar uma pesquisada na sua sugestão.

Obrigado!!

Criado 2 de maio de 2011
Ultima resposta 2 de mai. de 2011
Respostas 3
Participantes 2