Laurens van Oorschot
Laurens van Oorschot

Reputation: 105

Java compiler error

I am getting a Exception in Thread main

java.lang.NoSuchMethodException: com.laurens.Main.main([Ljava.lang.String;)
    at java.lang.Class.getMethod(Class.java:1786)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:125)

Can someone explain where I am going wrong here?

Main

   package com.laurens;
   public class Main {
   private player player;

     public Main(com.laurens.player player) {
    this.player = player;
     }

public com.laurens.player getPlayer() {
    return player;
      }

public void setPlayer (int performance, String name) {
    if (performance < 4) {

        boolean injured = true;

    }

}

@Override
public String toString() {
    return "com.laurens.Main{" +
            "player=" + player +
            '}';
}
 }

player

 package com.laurens;

/**
* Created by laurensvanoorschot on 20-01-16.
 */
  public class player {
  private String name;
   private int performance;
  private boolean injured;

public player(int performance, boolean injured, String name) {
    this.injured = injured;
    this.name = name;
    this.performance = performance;
}

public boolean isInjured() {
    return injured;
}

public void setInjured(boolean injured) {
    this.injured = injured;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getPerformance() {
    return performance;
}

public void setPerformance(int performance) {
    this.performance = performance;
    }
   }

Upvotes: 0

Views: 521

Answers (1)

Will
Will

Reputation: 820

You don't have a method called main, which is what it is looking for to run your program. Notice that when you create a template application for a java console application in intelliJ it has a method:

public static void main(string[] args) { 

}

That needs to be there for your program to run.

Upvotes: 3

Related Questions