2017-04-16 66 views
0

我得到一個編譯錯誤,當我試圖讓矩陣大小。我的老師告訴我們不要改變它,我知道主要方法沒有什麼問題。所以我猜getMatixSize方法有問題。編譯器計算程序:嘗試使用用戶輸入創建矩陣時出現編譯錯誤。 JAVA

error: method getMatrixSize in class TesterProject cannot be applied to given types;

import java.util *;已經輸入到程序中。

public class TesterProject 
{ 
    public static void main(String [] args) 
    { 
     int n = getMatrixSize(); 
     int[][] m = makeAndFillMatrix(n); 
     printMatrix(m); 
    } 
    public static int getMatrixSize(int n) 
    { 
     Scanner S = new Scanner(System.in); 
     System.out.println("give me a int to create the matrix"); 
     int n = S.nextInt(); 
     return n; 
    } 
} 
+0

好,'getMatrixSize(INT N)'_requires_的'int'說法,但是當你調用它,你不提供一個參數。除此之外,'getMatrixSize()'實際上並未使用過的值,這樣你就可以改變簽名'公共靜態INT getMatrixSize()',使其工作。 –

+0

哇K,謝謝你和其他用戶的幫助! – IDK

回答

1

您正在試圖調用int n = getMatrixSize();不帶任何參數,但你的方法public static int getMatrixSize(int n)接受整數作爲參數。這就是你遇到錯誤的原因。從getMatrixSize()參數和代碼

刪除int n將正常工作。

0

這是因爲getMatrixSize需要一個int作爲參數,並且您沒有給出它。

int n = getMatrixSize(5); //pass some int 

此外,在您的getMatrixSizen已聲明。

public static int getMatrixSize(int n) 
{ 
    Scanner S = new Scanner(System.in); 
    System.out.println("give me a int to create the matrix"); 
    int n = S.nextInt(); //error, n is already declared in the arguments. 
    return n; 
} 

或刪除參數並解決了一切:

public static int getMatrixSize() // removed argument 
相關問題