2017-07-26 39 views
1

我最近開始使用java,我試圖做一個程序,檢查是否可以通過返回true /假。Java程序不確定在哪裏以及如何執行主要方法,同時使用靜態布爾

這是它的要義,但是我在主類有問題。我得到的錯誤是在類中找不到主要方法。

public static boolean solution (int[] A){ 
int count = 0; 
....... 
....... 
....... 
for(int i=0; i<A.length; i++) 
    { 
     if(A[i] != B[i]) count++; 
    } 
    if(count > 2) return false; 
    return true; 
    } 
    } 

因爲我這樣做是因爲我的Java夏季作業,所以我很迷惑,應該在哪裏添加主要方法。我知道這應該是

public static void main (String args[]) 

但是如果我要補充一點,從類我得到的錯誤後的代碼的開始。這是因爲我不能有

public static boolean and public static void main 

在同一類?

謝謝。

+1

不,這不是因爲在同一個類中不能有'public static boolean'和'public static void main'。只需將'main'方法添加到類中,在'solution'方法旁邊。 – Jesper

+0

所有程序都必須有一個主程序。主要應該在課堂上。只要不在任何其他內部,「恰恰在課堂內」的位置並不重要。 – Carcigenicate

+0

'我試圖做一個程序來檢查數組是否可以通過返回true/false來改變升序 - 這裏是你的解決方案:'公共布爾canBeSorted(final int [] arr){return arr! = null; }'。一切有效的**都可以被排序,甚至是空數組。 – specializt

回答

0

您可以將public static booleanpublic static void main放在同一個班級中。一個主要的方法可以添加到類中的任何地方,只要你將它定義爲它自己的獨立方法,不要在另一個方法中聲明。例如:

public class Example{ 

     public void method1(){ 
     .... 
     } 
     public void method2(){ 
     .... 
     } 
     public static void main(String[] args){ 
     .... 
     } 
} 
+0

如果這不能完全覆蓋您的問題,請不要猶豫,要求澄清 – ja08prat

0

奧凱,如果你使用的是IDE的IntelliJ一樣,也必須設置在你的項目哪一類具有的主要方法。

0

CAN有一個主要方法和其他靜態方法在同一個類中。事實上,你可以在課堂上使用任何類型的方法。你的程序不能「找到一個主要方法」的原因是因爲那裏沒有一個,或者你的運行配置關閉。

一個java程序以主要方法啓動,但有一些例外,如initializer blocks。所以你必須在你的程序至少有一個類。

從聽起來像你想測試如果數組已經是升序。由於所有非空的數組都可以被排序。

public class Example{  

    public static void main(String[] args){ 
     int[] test = {1,2,3,4,5}; 
     System.out.println(solution(test)); 
    } 

    public static boolean solution (int[] a){ 
     //returns true if in a 
     for (int i = 0; i < a.length-2; i++) { 
      if (a[i] > a[i + 1]) 
       return false; 
     } 
     return true; 
    } 
} 

如果您的cannot find main method錯誤仍然存​​在,這可能是你的run configuration

0

如果你得到一個錯誤,根據你說的問題的方式,這聽起來像你有一個方法具有完全相同的方法簽名。 你不能有:

public static void main(String[] args) 
{ 

} 

public static boolean main(String[] args) 
{ 
    return false; 
} 

如果這是你所擁有的,你應該重命名第二個方法。

相關問題