Add values within the Two-Dimensional Matrix from the line that the user chooses

2

In the exercise I had to create a 2D array and then when the user types 0, 1 or 2 to know the array line , I should add the values of the line and show the result.

I'd like to know if inside the array, if I can add it up without having to put matriz[0][0] ... matriz[0][3] . For in a very large array, I think it would take a lot of work to do this.

Here's my exercise:

package arraysbidimensionais;

import java.util.Scanner;

public class Ex9 {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        int matriz[][] = new int[3][3];
        int indicador;

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

            for (int j = 0; j < matriz[i].length; j++) {

                System.out.println("Digite um valor: ");
                matriz[i][j] = input.nextInt();

            }

        }

        System.out.println();
        System.out.println("Matriz Completa");
        for (int i = 0; i < matriz.length; i++) {

            for (int j = 0; j < matriz[i].length; j++) {

                System.out.print(matriz[i][j] + " ");

            }
            System.out.println();

        }

        System.out.println();

        System.out.println("Digite 0, 1 ou 2: ");
        indicador = input.nextInt();

        int soma = 0;
        if (indicador == 0) {

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

                for (int j = 0; j < matriz[i].length; j++) {

                    soma = matriz[0][0] + matriz[0][1] + matriz[0][2];

                }

            }

            System.out.println("Soma da linha 0: " + soma);

        } else if (indicador == 1) {

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

                for (int j = 0; j < matriz[i].length; j++) {

                    soma = matriz[1][0] + matriz[1][1] + matriz[1][2];

                }

            }

            System.out.println("Soma da linha 1: " + soma);

        } else if (indicador == 2) {

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

                for (int j = 0; j < matriz[i].length; j++) {

                    soma = matriz[2][0] + matriz[2][1] + matriz[2][2];

                }

            }

            System.out.println("Soma da linha 2: " + soma);

        }

    }

}
    
asked by anonymous 30.03.2016 / 22:12

1 answer

2

Remove the "if (indicator ...)" and use the block like this:

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

                for (int j = 0; j < matriz[i].length; j++) {

                    soma = matriz[indicador][0] + matriz[indicador][1] + matriz[indicador][2];

                }

            }

            System.out.println("Soma da linha " + indicador + ": " + soma);
    
30.03.2016 / 23:02