INICIANTE - Array retornando null e outras coisas

1 resposta
java
M

A ideia era criar um sistema bem simples de cadastro, dentro do próprio código, apenas para treinar o que aprendi. Porém, não tá funcionando como gostaria.

public static void main(String[] args) {
int x = 0; 
int i = 0;
boolean inicial = true;
while(inicial){
        boolean finish = true; 
        Scanner input = new Scanner (System.in);

                    while(finish){

                        boolean quit = true;

                        while(quit){
                            boolean modificar = true;
                            System.out.println("Escreva ADD, se quiser inserir mais usuarios. QUIT, se quiser terminar o processo."
                                             + " OPCOES, para mais opcoes.");
                            String select = input.nextLine();
                            String lista[]= new String[(x+1)];
                            switch(select) {
                                
                                case "ADD":     
                                    
                                    System.out.println("Digite o usuario " + (x+1)); 
                                    lista[x] = input.nextLine();
                                    x++;
                                    break;
                                
                                case "QUIT":
                                    System.out.println("O programa foi finalizado");
                                    inicial = false;
                                    finish = false;
                                    break;
                                
                                case "OPCOES":
                                System.out.print("--------------------\n"
                                               + "LISTAR ou MODIFICAR:");
                                String choose = input.nextLine();
                                
                                    switch(choose){

                                        case "LISTAR":
                                            while(i<x){
                                                System.out.println(lista[i]);
                                                i++;
                                                }
                                        break; 

                                        case "MODIFICAR":
                                            while(modificar){
                                                System.out.print("Qual voce deseja modificar?\n"
                                                                +"0, 1, 2 ,3 ... 10?\n");
                                                int mod = input.nextInt();
                                                System.out.println("Digite o novo nome para a numeracao selecionada: ");
                                                lista[mod] = input.nextLine();
                                                System.out.println("PRONTO ou CONTINUAR");
                                                String modificacao = input.nextLine();
                                                    switch(modificacao){
                                                        case "PRONTO":
                                                            modificar = false;
                                                            break;
                                                        default:       
                                                    }
                            }
                        }
                    }
                }
            }
        }
    }    
}

1 Resposta

TerraSkilll

Ajuda bastante se você disser qual array está retornando null ou em qual parte dá erro.

Dito isso, recomendo separar seu código em métodos, assim fica mais fácil entender o que faz cada parte. Por exemplo, crie um método para receber as entradas e retornar uma String com o que foi digitado, outro para fazer o loop principal, outro para imprimir, etc.

Abraço.

Criado 17 de março de 2019
Ultima resposta 17 de mar. de 2019
Respostas 1
Participantes 2