Array multidimensional em java
08/04/2013
0
Carlos Leonel
Posts
09/04/2013
Joel Rodrigues
Qual é sua dúvida exatamente?
11/04/2013
Carlos Leonel
11/04/2013
Joel Rodrigues
Você sabe trabalhar com arrays?
11/04/2013
Joel Rodrigues
Acho que você vai conseguir fazer a partir daí.
11/04/2013
Carlos Leonel
12/04/2013
Joel Rodrigues
Em seguida, faz um laço para ir pedindo ao usuário a linha e a coluna onde ele deseja inserir o valor e o valor propriamente dito. Então você verifica se o elemento da posição solicitada já tem um valor diferente de -1, se tiver, é por que já foi preenchido, senão, você passa o valor para esse elemento.
12/04/2013
Joel Rodrigues
int[][] numeros = new int[5][4]; int linhas = 5; int colunas = 4; //inicia todos os números com -1 for(int i = 0; i < linhas; i++) { for(int j = 0; i < colunas; i++) { numeros[i][j] = -1; } } Scanner in = new Scanner(System.in); string opcao = "s"; while(opcao == "s") { System.out.println("Informe a linha onde deseja inserir o valor:"); int x = in.nextInt(); System.out.println("Informe a coluna onde deseja inserir o valor:"); int y = in.nextInt(); if(numeros[x][y] != -1) { System.out.println("Informe o valor que deseja inserir nessa posição:"); numeros[x][y] = in.nextInt(); } else { System.out.println("O elemento desta posição já foi preenchido."); } System.out.println("Deseja continuar? s/n"); opcao = int.next(); }
13/04/2013
Carlos Leonel
1º para solicitar o usuário digitar a posição da linha e da coluna e em seguida o valor que ele quer;
2º ao digitar outro valor ele, caso seja na mesma posição, ele informe que a posição já foi ocupada que deve escolher outra posição (nota ele não deve trocar de lugar com outro);
Estou tentando fazer aqui. Mando o código depois.
Obrigado.
13/04/2013
Carlos Leonel
public class teste {
public static void imprimir (int [][]num)
{
for(int i = 0;i<num.length;i++)
{
for(int j=0;j<num[i].length;j++)
System.out.printf("%2d", num[i][j]);
System.out.println();
}
}
public static void iniciar(int[][]num)
{
Scanner input = new Scanner(System.in);
int linha=5, coluna=4;
for(int i = 0;i<linha;i++)
{
for(int j=0;j<coluna;j++)
{
num[i][j]= -1;
}
}
}
public static void testar(int[][]num)
{
Scanner input = new Scanner(System.in);
String opcao = "s";
int x,y;
while(opcao == "s")
{
System.out.println("Informe a linha onde deseja inserir o valor:");
x = input.nextInt();
System.out.println("Informe a coluna onde deseja inserir o valor:");
y = input.nextInt();
if(num[x][y] != -1)
{
System.out.println("Informe o valor que deseja inserir nessa posição:");
num[x][y] = input.nextInt();
}else
{
System.out.println("O elemento desta posição já foi preenchido.");
}
System.out.println("Deseja continuar? s/n");
opcao = input.next();
}
}
/**
* @param args
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int [][]valor = new int[5][4];
iniciar(valor);
testar(valor);
imprimir(valor);
// TODO Auto-generated method stub
}
}
dá como resultado:
-1 -1 -1 -1
-1 -1 -1 -1
-1 -1 -1 -1
-1 -1 -1 -1
-1 -1 -1 -1
no caso aqui eu queria que no lugar do zero fosse 0 ou "*".
13/04/2013
Joel Rodrigues
14/04/2013
Carlos Leonel
14/04/2013
Joel Rodrigues
É preciso rever o algoritmo.
15/04/2013
Carlos Leonel
15/04/2013
Joel Rodrigues
15/04/2013
Carlos Leonel
a) Informe a posição da linha (ex: 2 linha);
b) Informe a posição da coluna (ex: 3 coluna);
c) Digite o valor para o array (ex: 5)
d) Que ele somente pare de digitar até que o array esteja todo preenchido, e que, seja informado para ele caso o local já esteja ocupado, que ele escolha outro.
Tem como fazer este array multidimensional 5x4 em apenas um método ou será preciso dois métodos. Quero aprender fazer este código pois será a base para aplicá-lo em Algebra Linear (Matriz).
Obrigado.
Clique aqui para fazer login e interagir na Comunidade :)