Como eu transformo esse metodo main em 2 métodos menores (processa e imprime)?

1 resposta
F

gostaria de transformar o main em dois metodos compactos, para que possa melhorar essa legibilidade
obrigado

import java.util.Scanner;

public class Menu {

	public static void main(String[] args) {
		int contador = 0, opcao;
		int  i = 0;
		Scanner input= new Scanner(System.in);
		System.out.println("Deseja criar qtas contas:");
		contador = input.nextInt();
		Conta[] conta= new Conta[contador]; 
		
		for (i=0; i < contador; i++){
			System.out.println("1 - Conta Comum		2 - Conta Especial		0 - Sair");
			opcao = input.nextInt();
			
			switch(opcao){
				case 1:		
					Conta contaC = new Conta(null, 0, 0);
					contaC.criaConta();
					conta[i]= contaC;
					break;
					
				case 2:
					ContaEspecial contaE = new ContaEspecial(null, 0, 0, 0);
					contaE.criaConta();
					conta[i]= contaE;
					System.out.println("Digite o limite:"); 
					contaE.setLimite(0);
					break;
					
				default:
					break;
			}
		}
		for (i=0; i < contador; i++){
			System.out.printf("%s\n\n", conta[i].toString());
		}
			
	}


}

1 Resposta

Andre_Fonseca
fernandomoncao:
gostaria de transformar o main em dois metodos compactos, para que possa melhorar essa legibilidade obrigado
import java.util.Scanner;

public class Menu {

	public static void main(String[] args) {
		int contador = 0, opcao;
		int  i = 0;
		Scanner input= new Scanner(System.in);
		System.out.println("Deseja criar qtas contas:");
		contador = input.nextInt();
		Conta[] conta= new Conta[contador]; 
		
		for (i=0; i < contador; i++){
			System.out.println("1 - Conta Comum		2 - Conta Especial		0 - Sair");
			opcao = input.nextInt();
			
			switch(opcao){
				case 1:		
					Conta contaC = new Conta(null, 0, 0);
					contaC.criaConta();
					conta[i]= contaC;
					break;
					
				case 2:
					ContaEspecial contaE = new ContaEspecial(null, 0, 0, 0);
					contaE.criaConta();
					conta[i]= contaE;
					System.out.println("Digite o limite:"); 
					contaE.setLimite(0);
					break;
					
				default:
					break;
			}
		}
		for (i=0; i < contador; i++){
			System.out.printf("%s\n\n", conta[i].toString());
		}
			
	}


}

Se você estiver no Eclipse pode fazer o seguinte:

1) Selecione o trecho do código que quer refatorar - substituir para uma chamada de outro método
2) Ctrl-X
3) Escreva o nome do método que quer chamar
4) Ctrl+. (ponto) depois Ctrl+1
5) O eclipse irá sugerir para você algo como Create method 'meuMetodo'
6) Crie o método e cole o que você copiou dentro dele Ctrl-V

Criado 31 de julho de 2008
Ultima resposta 31 de jul. de 2008
Respostas 1
Participantes 2