Boa tarde, sou iniciante em java.
Não estou muito acostumado com o uso do while, do while, for.
Preciso implementar um método que recebe 2 valores inteiros.
O primeiro corresponde a um valor inicial e o segundo corresponde à ordem de uma matriz (uma matriz de ordem n é uma matriz com n linhas e n colunas).
Esse método deverá mostrar uma matriz na tela. Por exemplo, para um valor inicial igual a 15 e um valor de orgem igual a 3, o método imprime na tela a seguinte matriz:
15 16 17
18 19 20
21 22 23
Como posso fazer o método?
Fica melhor com while, do while ou for?
Para eu aprender de uma forma simples, qual devo usar mais em meus programas?
Obrigado por enquanto.
gpd38
Abril 24, 2010, 2:18pm
#2
Para cada programa vc usa uma codição diferente, mas no caso de matriz o for é mais apropriado.
vc tera que criar dois for aninhados, ou seja, um dentro do outro. O 1ª para percorrer as linhas e o outro para precorrer as colunas
for(){
for(){
//Aqui vc preenche a matriz ou mostra a matriz
}
}
A maneira mais simples que encontrei para você entender como funcionaria a matriz, dentro do for, foi esta:
[code]import javax.swing.JOptionPane;
public class Matriz {
public static void main(String[] args)
{
int valorInicial , ordem = 0;
valorInicial = Integer.parseInt(JOptionPane.showInputDialog("Valor inicial"));
ordem = Integer.parseInt(JOptionPane.showInputDialog("Ordem:"));
int[][] matriz = new int[ordem][ordem];
for (int i = 0; i<ordem; i++)
for (int y = 0; y<ordem; y++)
matriz[i][y] = valorInicial++;
for (int i = 0; i<ordem; i++)
{
for (int y = 0; y<ordem; y++)
{
System.out.print(matriz[i][y] + " ");
if (y == ordem-1)
System.out.print("\n");
}
}
}
}[/code]
Espero ter ajudado. Até mais1
Veja se te ajuda !!!
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author jupiracy
*/
public class Matriz {
public static void main(String args[]){
Matriz matriz = new Matriz();
matriz.imprimeMatriz(10, 3);
}
public void imprimeMatriz(int vlrinicial, int ordem){
int inteiro[][] = new int[ordem][ordem];
int vlrinicial_sin_matriz = vlrinicial;
System.out.println("==========SEM USAR MATRIZ =========");
for(int i=0; i<ordem;i++){
for(int j=0; j<ordem;j++){
System.out.print(" " + vlrinicial_sin_matriz);
inteiro[i][j] = vlrinicial_sin_matriz;
vlrinicial_sin_matriz++;
}
System.out.println();
}
System.out.println("==========COM MATRIZ =========");
for (int x=0; x < inteiro.length; x++) {
for (int y=0; y < inteiro[x].length; y++) {
inteiro[x][y] = vlrinicial;
vlrinicial++;
System.out.print(" " + inteiro[x][y]);
}
System.out.println();
}
}
}
Tiago, obrigado mas não cheguei ainda nessa parte de importar e tal.
Depois do seu for tem a parte
matriz[][] = valorinicial++;
Nessa parte também ainda não cheguei.
Pensei que tivesse uma forma simples apenas um método usando while, do while ou for…juntos.