2013-10-03 6 views
-1

Это мой первый запрос на помощь в программировании. Anywho, мне нужно написать программу, которая найдет определитель матрицы (код детерминанта будет сделан позднее). Проблема заключается в том, что у меня возникают проблемы с отображением моей матрицы. Кажется, что у меня есть массив, написанный правильно, но вывод будет пропускать циклы for для записи матрицы. Должны ли быть какие-либо изменения, которые необходимо выполнить, или если существует определенный способ, которым я должен установить свой массив для определения детерминант?Проблемы с получением матрицы для отображения

public class DetProg { 
public static void main(String[] args) { 

    Scanner a = new Scanner (System.in); 

    Random mNum = new Random(); 
    System.out.print("Enter matrix size: "); 
    int num = a.nextInt(); 
    int numX = num; 
    int numY = num; 
    int [][] matNN = new int [numX] [numY]; 
    int det = 0;// 0 is the placeholder until det method is inputted. 
    int n = mNum.nextInt(100)+1; 
    if (num >= 2) 
    {    
     for(int x = 0; x >= numX; x++) 
     { 
      for(int y = 0; y >= numY; y++) 
      { 
       matNN [x][y] = n; 
       System.out.println(matNN[x][y] + " "); 
      } 
     } 
     System.out.println("\n"); 
     System.out.println("Determinant of a matrix is " + det); 
    } 
    else 
     System.out.println("Incorrect matrix size. Exiting..."); 
} 
} 
+0

Взгляните на условие цикла ... –

ответ

0

В ваших петлях, вы делаете ошибку в размещении состояния. вы написали x> = numX и y> = numY, которые не будут удовлетворены даже началом цикла, потому что ваши x и y равны 0 в начале. это должно быть:

for(int x = 0; x <= numX; x++) 
    { 
     for(int y = 0; y <= numY; y++) 
     { 
0

Во-первых, вам необходимо изменить условия цикла.

for (int x = 0; x < numX; x++) { 
    for (int y = 0; y < numY; y++) { 

это приведет к правильному присвоению значений в массиве, и после этого вы можете идти дальше для вашего кода Determinant матрицы.

Смежные вопросы