Я не могу заставить этот метод toString () работать?Метод deepToString работает отлично, за исключением того, что я должен распечатать их организованно, как будет выглядеть матрица с выровненными строками и столбцами.У меня это работало некоторое время назад, но я кое-что изменил, и теперь бог знает, что я сделал, я понятия не имею, как вернуть это.В любом случае, кто-нибудь знает, как вывести многомерный массив в матрицу, такую как строковая форма?
Кроме того, у меня возникает еще одна проблема: выяснить, как проверить, что числа> = 0, поскольку они не могут быть отрицательными,Не уверен, как это сделать?Я думал, что могу хранить каждое значение в цикле и проверять, отрицательно ли оно, но я все время путаюсь и / или сталкиваюсь с ошибками.Любая помощь по этим вопросам будет принята с благодарностью, я работаю над этим около 5 часов и нигде не получил! _
Вот код, который у меня есть до сих пор:
import java.util.Arrays;
public class MatrixOperations {
public static void main(String[] args) {
double[][] matrix1 = { { 0.0, 1.0, 2.0 }, { 3.0, 4.0, 5.0 },
{ 6.0, 7.0, 0.8 }, };
double[][] matrix2 = { { 1.0, 1.0, 1.0 }, { 0.0, 0.0, 0.0 },
{ 2.0, 2.0, 2.0 } };
System.out.println(toString(matrix1));
System.out.println(Arrays.deepToString(add(matrix1, matrix2)));
}
// Throws an IllegalArgumentException unless A and B contain n arrays of
// doubles, each of
// which contains m doubles, where both n and m are positive. (In other
// words, both A
// and B are n-by-m arrays.)
//
// Otherwise, returns the n-by-m array that represents the matrix sum of A
// and B.
public static double[][] add(double[][] A, double[][] B) {
if (A.length != B.length || A[1].length != B[1].length) {
throw new IllegalArgumentException("Rows and Columns Must Be Equal");
}
double[][] S = new double[A.length][A[1].length];
for (int i = 0; i < A.length; i++) {
// double valueAt = ;
for (int j = 0; j < A[1].length; j++) {
S[i][j] = A[i][j] + B[i][j];
}
}
return S;
}
// Throws an IllegalArgumentException unless A contains n arrays of doubles,
// each of
// which contains k doubles, and B contains k arrays of doubles, each of
// which contains
// m doubles, where n, k, and m are all positive. (In other words, A is an
// n-by-k array and B is a k-by-m array.)
// Otherwise, returns the n-by-m array that represents the matrix product of
// A and B.
// public static double[][] mul (double[][] A, double[][] B) {
// if (A[1].length != B.length){
// throw new IllegalArgumentException("Column-A Must Equal Row-B");
// }
// }
// Throws an IllegalArgumentException unless M contains n arrays of doubles,
// each of
// which contains m doubles, where both n and m are positive. (In other
// words, M
// is a n-by-m array.
// Otherwise, returns a String which, when printed, will be M displayed as a
// nicely
// formatted n-by-m table of doubles.
public static String toString(double[][] M) {
String separator = ", ";
StringBuffer result = new StringBuffer();
if (M.length > 0) {
result.append(M[0]);
for (int i = 0; i < M.length; i++) {
result.append(separator);
result.append(M[i]);
}
}
return result.toString();
}
}
Спасибо за вашу помощь!:)