2017-05-20 12 views
-1

で見つかっていない主な方法私は私のコードを実行すると、私はこのエラーメッセージが表示されます。あなたがメインを必要とするJavaプログラムを起動するにはエラー::クラス

public static void main(String[] args){ 
    public void printPhoto(int width,int height, boolean inColor){ 
     System.out.println("Width = " + width + " cm"); 
     System.out.println("Height = " + height + " cm"); 
     if(inColor){ 
      System.out.println("Print is Full color."); 
     } else { 
      System.out.println("Print is black and white."); 
     } 
     printPhoto(10,20,false); 
    } 
} 
+0

エラーが十分にクリアされていませんか? BTW。実際にある場合は、mainメソッドのコードを表示する必要があります。 'public static void main(String args [])' –

+0

あなたのクラスに 'public static void main(String [] args)'を作成しますか? – QBrute

+0

World's Smaileは正しい文脈で質問しませんでした。 Jetbrains IDEの問題です。私も同じ問題を抱えています。私は熟練したプログラマーで、クラスとメインメソッドはすべて正しいですが、アイデアコミュニティ版の中から実行すると、このエラーが表示されます。 – Nitiraj

答えて

2

Error: Main method not found in class "Class name", please define the main method as: 
    public static void main(String[] args) 
or a JavaFX application class must extend javafx.application.Application 

私のコードを

public class Test { 

    public void printPhoto(int width, int height, boolean inColor) { 
     System.out.println("Width = " + width + " cm"); 
     System.out.println("Height = " + height + " cm"); 
     if (inColor) { 
      System.out.println("Print is Full color."); 
     } else { 
      System.out.println("Print is black and white."); 
     } 
     // printPhoto(10, 20, false); // Avoid a Stack Overflow due the recursive call 
    } 

    //main class 
    public static void main(String[] args) { 
     Test tst = new Test();//create a new instance of your class 
     tst.printPhoto(0, 0, true);//call your method with some values   
    } 

} 
0

は、すでに述べたように@YCF_L投稿、あなたが主な方法が必要:あなたはこのようにそれを作ることができ、あなたのコード内で定義されていない方法。

まず、あなたが削除します

printPhoto(10,20,false); 

再帰呼び出しによるスタックオーバーフローを避けるために。

新しいインスタンスを作成する必要がありますし、直接あなたの方法を使用する場合は、次の操作を実行できます。また

public class Test { 

    public Test printPhoto(int width, int height, boolean inColor) { 
     System.out.println("Width = " + width + " cm"); 
     System.out.println("Height = " + height + " cm"); 
     if (inColor) { 
      System.out.println("Print is Full color."); 
     } else { 
      System.out.println("Print is black and white."); 
     } 
     return this; 
    } 

    public static void main(String[] args) { 
     Test testObj = new Test().printPhoto(10, 20, false); //Creates a new instance of your class Test and calls the method printPhoto 
    } 

} 

、あなたはまた、この方法は、静的作ることができますが、それは常に最善の方法ではありません、それどのように使用するかによって異なります。

public class Test { 

    public static void printPhoto(int width, int height, boolean inColor) { 
     System.out.println("Width = " + width + " cm"); 
     System.out.println("Height = " + height + " cm"); 
     if (inColor) { 
      System.out.println("Print is Full color."); 
     } else { 
      System.out.println("Print is black and white."); 
     } 
    } 

    public static void main(String[] args) { 
     printPhoto(10, 20, false); 
    } 

} 
関連する問題