How to receive a value and store it in the position indicated by the user in an arrays array?

1

I did as follows:

int matriz[][] = new int[numLinhas][numColunas];

    //FOR PARA RECEBER OS VALORES E POSIÇÕES INFORMADAS PELO USUÁRIO
    for(int x=0; x<numLinhas; x++) {
        valor = Integer.parseInt(JOptionPane.showInputDialog("Informe o valor que "
                + "deseja adicionar: "));
        valorLinha = Integer.parseInt(JOptionPane.showInputDialog("Informe a posição "
                + "que deseja adicionar(linha):"+"["+numLinhas+"]["+numColunas+"]"));
        valorColuna = Integer.parseInt(JOptionPane.showInputDialog("Informe a posição"
                + "que deseja adicionar(coluna):"+"["+numLinhas+"]["+numColunas+"]"));  
        for(int i=0; i<numLinhas; i++) {
            if(i == valorLinha) {
                for(int j=0; j<numColunas; j++) {
                    matriz[i][j] = valor;
                }
            }
        }
    }

It even works, but with small arrays.

    
asked by anonymous 20.05.2015 / 05:59

1 answer

1

To solve your problem, simply enter the value for each iteration of the loop in the matrix coordinates. See the example below:

int matriz[][] = new int[numLinhas][numColunas];

//FOR PARA RECEBER OS VALORES E POSIÇÕES INFORMADAS PELO USUÁRIO
for(int x=0; x<numLinhas; x++) {
    valor = Integer.parseInt(JOptionPane.showInputDialog("Informe o valor que "
            + "deseja adicionar: "));
    valorLinha = Integer.parseInt(JOptionPane.showInputDialog("Informe a posição "
            + "que deseja adicionar(linha):"+"["+numLinhas+"]["+numColunas+"]"));
    valorColuna = Integer.parseInt(JOptionPane.showInputDialog("Informe a posição"
            + "que deseja adicionar(coluna):"+"["+numLinhas+"]["+numColunas+"]"));  

    // insira nas coordenadas informadas da matriz
    matriz[valorLinha][valorColuna] = valor;
}
    
20.05.2015 / 06:32