Dúvida Matriz

11 respostas
imeioloco

Bom dia pessoal, estou com uma dúvida simples, queria ver se alguem poderia me ajudar…

Tenho o seguinte programinha:

package estudo;

import javax.swing.*;

public class Matriz {

public static void main(String args[]) {
    
    int a[] = new int[10];
    int i;
    
    for(i=0;i<10;i++) {
        
    }
}

}

Estou querendo saber como faço para preencher a matriz, dentro do laço for, com valores que seriam digitados
pelo usuário, ou seja, 10 valores.

Em C, sei que seria simplesmente utilizando o scanf, ou gets… mas em java, parece que tenho que usar um tal
de Sys.in.read que ainda nao faço idéia como funciona…

alguem pode me ajudar?

grato,

Maurício.

11 Respostas

neoramon

Vc qr saber como buscar informações do teclado?

sydtpt
Faz assim:
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Matriz {

	public static void main(String args[]) {

		int a[] = new int[10];
		int i;

		for (i = 0; i < 10; i++) {
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			try {
				a[i] = Integer.parseInt(reader.readLine());			
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		for(i=0;i<10;i++){
			System.out.println("posição "+(i+1)+" : "+ a[i]);
		}
	}

}

Obs: Não precisa importar o pacote swing , pois não esta sendo utilizado.

imeioloco

Valeu Brother!

Mas eu quero que apareça pro usuário: “Digite o valor 1:”
daí o cara digita e vai preenchendo até o valor 10 entendeu?

copiei e colei seu código aqui, mas nao aconteceu nada na hora que
compilei…rs

cara, desculpa, mas é que sou meio iniciante em java ainda…rs

valeus!

sydtpt
import java.io.BufferedReader;  
 import java.io.InputStreamReader;  
   
 public class Matriz {  
   
     public static void main(String args[]) {  
   
         int a[] = new int[10];  
         int i;  
   
         for (i = 0; i < 10; i++) {  

             System.out.print("Digite o valor "+(i+1)+" : "); // add essa linha aki

             BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));  
             try {  
                 a[i] = Integer.parseInt(reader.readLine());           
             } catch (Exception e) {  
                 e.printStackTrace();  
             }  
         }  
         for(i=0;i<10;i++){  
             System.out.println("posição "+(i+1)+" : "+ a[i]);  
         }  
     }  
   
 }
imeioloco

Valeus brother!! Obrigadão mesmo pela ajuda!!!

[ ]´s

Maurício.

sydtpt

Voce pode fazer utilizando o JOptionPane Tbm...

import javax.swing.JOptionPane;

public class Matriz {

	public static void main(String args[]) {

		int a[] = new int[10];
		int i;

		for (i = 0; i < 10; i++) {
			a[i] = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite o "+(i+1)+"º valor :"));
		}
		for(i=0;i<10;i++){
			System.out.println("posição "+(i+1)+" : "+ a[i]);
		}
	}

}
imeioloco

Então… acho que devo ter explicado errado… o que eu quero, é que conforme o usuário
for digitando os numeros, eles sejam capturados pelo array, sei fazer isso em C é bem simples…
mas em java nao sei se dá pra fazer…

acho que é um pouco mais complicado do que eu imaginava…

mas é tipo assim:

// isso aqui seria em C mas em java nao sei como é…

int vet[10];

for(i=0;i<10;i++) {

printf("Digite o numero %d",i);

scanf("%d",vet[i]);

}
Andre_Brito

Não seria mais fácil usar a classe Scanner?

//package estudo;

import javax.swing.*;
import java.util.Scanner;

public class Matriz 
{

    public static void main(String args[]) 
    {
        int a[] = new int[10];
        int i;
        final int tamanho = 10;

        Scanner leitor = new Scanner(System.in);
        
        for( i = 0; i < tamanho; i++ )
        {
            System.out.println("Digite o " + ( i + 1 ) + " numero: ");
            a[i] = leitor.nextInt();
        }
        
        System.out.println("\nApresentando o array: \n");
        for ( i = 0; i < tamanho; i++ )
            System.out.println("" + a[i] + "    ");
    }
}

A classe Scanner é o scanf do C aqui. Eu estranhei quando tava passando do estruturado pro Java, mas é do jeitão que falei pra você. Se você der uma pesquisada melhor sobre isso fica muito mais fácil de entender.
Veja melhor na API da classe Scanner -> http://java.sun.com/j2se/1.5.0/docs/api/java/util/Scanner.html

imeioloco

Aeeeee cara!!! era esse JOptionPane mesmo que eu queria!!!

VALEEEEEEEUSSSSS!!!

[ ]´S

imeioloco

OBRIGADO A TODOS PELA AJUDA!! :wink:

Cheguei na solução, VALEUS GALERA!

[ ]´S

B
package com.fiap.exercicio;

import java.io.BufferedReader;
import java.io.InputStreamReader;


public class Matriz {


	
	
	public static void main(String args[]){
		int[] a = new int[10];
		int i;
		for (i=0; i<10; i++ ) {
			try {
			  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
			 String str = "";
			 
			    System.out.print("Digite um numero e tecle enter:");
			    str = in.readLine();
			    a[i] = Integer.parseInt(str);
			

			} catch (Exception e){

			}

			}
			System.out.println("Vc digitou os numeros:");
			for (int j=0; j<a.length; j++) {
			   System.out.println(j + ": " + a[j]);

			}
	}
	
}
Criado 12 de dezembro de 2007
Ultima resposta 12 de dez. de 2007
Respostas 11
Participantes 5