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

Asked

Viewed 722 times

2

In the exercise I had to create a two-dimensional matrix and then when the user typed 0, 1 or 2 to know the matrix line, I should add the line values and show the result.

I wonder if inside the matrix, if I can add otherwise without having to put matriz[0][0]...matriz[0][3]. Because in a very large matrix, I believe I would have a lot of work to do that way.

Follow 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);

        }

    }

}

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);

Browser other questions tagged

You are not signed in. Login or sign up in order to post.