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. }