[Resolvido] Vetores

6 respostas
mauraoemau

Olá galera ainda estou estudando Java, mas estou empacado na parte dos vetores.
Estou com o seguinte código ele cadastra mas não mostra os valores cadastrados.

import java.io.*;

public class Array {

    public static void main(String[] args)throws IOException{
        //Buffer
        BufferedReader entra = new BufferedReader(new InputStreamReader(System.in));
        
        //Cria o vetor
        int[] meuArray;
        
        //Aloca a memoria para 10 inteiros e instancia.
        meuArray =  new int[10] ;
        
        //Atributos
        int numero;
        int op;
        int in;
        int cont = 0;
        int ca;
        
        //Do while
        do{
            System.out.println(" (1) - Inserir");
            System.out.println(" (2) - Visualizar");
            
            System.out.println("Entre com um numero:");
            op = Integer.parseInt(entra.readLine());
            
            switch(op){
                
                case 1:
                    System.out.println("Digite um nuemro:");
                    in = Integer.parseInt(entra.readLine());
                    for(int i=0; i<cont; i++ ){
                        meuArray[i] = in;
                    }
                case 2:
                    for(int i=0; i<meuArray.length; i++){
                        System.out.println("O numero e:" +meuArray[i]);
                    }
            }
            System.out.println("Deseja continuar: 1(Sim) 2 (Não)");
            ca = Integer.parseInt(entra.readLine());
            
        }while(ca == 1);
    }
}

6 Respostas

G

Olhei por cima e vi que teu cont ta sempre 0, logo não irá atribuir a entrada no teu array.

mauraoemau

Mas ali tem o cont++

ViniGodoy

Tem? Mostre onde. Cont é sempre 0.

Faz assim, não crie uma variável chamada cont. No lugar use diretamente a propriedade:

for(int i=0; i<meuArray.length; i++ ){

Isso evita a criação de uma variável desnecessária e já te previne de erros como esse.

mauraoemau

Beleza alterei o código mas na hora de exibir ele mostra todos os vetores com mesmo numero que foi atribuído por ultimo.

import java.io.*;

public class Array {

    public static void main(String[] args)throws IOException{
        //Buffer
        BufferedReader entra = new BufferedReader(new InputStreamReader(System.in));
        
        //Cria o vetor
        int[] meuArray;
        
        //Aloca a memoria para 10 inteiros e instancia.
        meuArray =  new int[10] ;
        
        //Atributos
        int numero;
        int op;
        int in;
        int ca;
        
        //Do while
        do{
            System.out.println(" (1) - Inserir");
            System.out.println(" (2) - Visualizar");
            
            System.out.println("Entre com um numero:");
            op = Integer.parseInt(entra.readLine());
            
            switch(op){
                
                case 1:
                    System.out.println("Digite um nuemro:");
                    in = Integer.parseInt(entra.readLine());
                    for(int i=0; i<meuArray.length; i++ ){
                        
                        meuArray[i] = in;
                                
                    }
                    
                case 2:
                    for(int i=0; i<meuArray.length; i++){
                        System.out.println("O numero e:" +meuArray[i]);
                    }
            }
            System.out.println("Deseja continuar: 1(Sim) 2 (Não)");
            ca = Integer.parseInt(entra.readLine());
            
        }while(ca == 1);
    }
}
pvrsouza

Iss esta acontecendo porque quando vc entra neste bloco…

for(int i=0; i<meuArray.length; i++ ){ meuArray[i] = in; }
…o valor de “in” é sempre o mesmo!

Faça assim:

for(int i=0; i<meuArray.length; i++ ){ System.out.println("Digite o "+i+"° número: "); in = Integer.parseInt(entra.readLine()); meuArray[i] = in; }

mauraoemau

Galera valeu pela ajuda consegui resolver o que eu queria valeu mesmo.

Ai fica o código se alguém tiver o mesmo problema.

import java.io.*;

public class Array {

    public static void main(String[] args)throws IOException{
        //Buffer
        BufferedReader entra = new BufferedReader(new InputStreamReader(System.in));
        
        //Cria o vetor
        int[] meuArray;
        
        //Aloca a memoria para 10 inteiros e instancia.
        meuArray =  new int[10] ;
        
        //Atribut1os
        int numero;
        int op;
        int in;
        int ca;
        int cont = 0;
        
        //Do while
        do{
            System.out.println(" (1) - Inserir");
            System.out.println(" (2) - Visualizar");
            
            System.out.println("Entre com um numero:");
            op = Integer.parseInt(entra.readLine());
            
            switch(op){
                
                case 1: 
                    System.out.println("Digite um nuemro:");
                    in = Integer.parseInt(entra.readLine());
                    for(int i=cont; i<10; i++){                             
                        meuArray[i] = in;
                    }
                    cont++;
                    break;
                    
                case 2:
                    for(int i=0; i<cont; i++){
                        System.out.println("O numero e:" +meuArray[i]);
                    }
                    break;
            }
            System.out.println("Deseja continuar: 1(Sim) 2 (Não)");
            ca = Integer.parseInt(entra.readLine());
            
        }while(ca == 1);
    }
}
Criado 31 de março de 2010
Ultima resposta 31 de mar. de 2010
Respostas 6
Participantes 4