2D Array для получения входных данных от пользователя и вычисления суммы столбцов. - PullRequest
0 голосов
/ 27 февраля 2020

Я действительно новичок в Java, и мне было дано задание создать двумерный массив, который принимает данные от пользователя. Проблема, с которой я столкнулся, заключается в том, что для этого нужно взять некоторые десятичные числа, а также целые числа, а затем вычислить сумму каждого столбца, и моя программа возвращает ошибку после ввода десятичного числа. Я попытался изменить все экземпляры «int» на «float», но все равно появляется та же ошибка. Затем мне также нужно распечатать итоги каждого столбца.

Мой код на данный момент:

    package sumElements;
    import java.util.Scanner;



    public class sumElements{



    public static void main(String args[]){
    int row, col, i, j;
    int arr[][] = new int[3][4];
    Scanner scan = new Scanner(System.in);

    // enter row and column for array.
    row = 3;
    col = 4;

    // enter array elements.
    System.out.println("Enter " +(row*col)+ " array elements row by row (4 per row) : ");
    for(i=0; i<row; i++)
    {
        for(j=0; j<col; j++)
        {
            arr[i][j] = scan.nextInt();
        }
    }

    // the 2D array is here.
    System.out.print("The Array is :\n");
    for(i=0; i<row; i++)
    {
        for(j=0; j<col; j++)
        {
            System.out.print(arr[i][j]+ "  ");
        }
        System.out.println();
    }



   }

}

Измененный код:

package sumElements;
import java.util.Scanner;



public class sumElements{



public static void main(String args[]){
    float row, col, i, j;
    float arr[][] = new float[3][4];
    Scanner scan = new Scanner(System.in);

    // enter row and column for array.
    row = 3;
    col = 4;

    // enter array elements.
    System.out.println("Enter " +(row*col)+ " array elements row by row (4 per row) : ");
    for(i=0; i<row; i++)
    {
        for(j=0; j<col; j++)
        {
            arr[i][j] = scan.nextFloat();
        }
    }

    // the 2D array is here.
    System.out.print("The Array is :\n");
    for(i=0; i<row; i++)
    {
        for(j=0; j<col; j++)
        {
            System.out.print(arr[i][j]+ "  ");
        }
        System.out.println();
    }



}

}

1 Ответ

0 голосов
/ 27 февраля 2020
package sumElements;
import java.util.Scanner;



public class sumElements{



public static void main(String args[]){
    int row, col, i, j;
    float arr[][] = new float[3][4];
    Scanner scan = new Scanner(System.in);

    // enter row and column for array.
    row = 3;
    col = 4;

    // enter array elements.
    System.out.println("Enter " +(row*col)+ " array elements row by row (4 per row) : ");
    for(i=0; i<row; i++)
    {
        for(j=0; j<col; j++)
        {
            arr[i][j] = scan.nextFloat();
        }
    }

    // the 2D array is here.
    System.out.print("The Array is :\n");
    for(i=0; i<row; i++)
    {
        for(j=0; j<col; j++)
        {
            System.out.print(arr[i][j]+ "  ");
        }
        System.out.println();
    }



}

Индексы должны быть int, так как элементы массива плавают

...