public static void main(String[] args)
{
getRowSum(2,3);
}
public static int[] getRowSum(int row, int col)
{
int[][] matrix = createMatrix(row, col);
int[] result = sumRowArray(matrix);
System.out.println(Arrays.toString(result));
return result;
}
public static int[] sumRowArray(int[][] matrix)
{
int[] result = new int[matrix.length];
for (int i = 0; i < result.length; i++)
{
result[i] = sumArray(matrix[i]);
}
return result;
}
public static int sumArray(int[] row)
{
int sum = 0;
for (int item : row)
{
sum += item;
}
return sum;
}
public static int[][] createMatrix(int row, int col)
{
if (row > 0 && col > 0)
{
int[][] createdMatrix = new int[row][col];
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
String message = String.format("Please enter %d, %d th item", i, j);
createdMatrix[i][j] = getNumberFromUser(message);
}
}
return createdMatrix;
} else
{
throw new IllegalArgumentException("row and col should greater than 0.");
}
}
public static int getNumberFromUser(String message)
{
System.out.printf("%s: ", message);
String input = scanner.nextLine().trim();
try
{
int num = Integer.parseInt(input);
return num;
}
catch (Exception ex)
{
System.err.println("\nIllegal user input! Try again.");
return getNumberFromUser(message);
}
}