eclipse默认运行一个方法

时间:2014-03-27 10:41:37

标签: java eclipse

当我在Eclipse中运行我的启动器时,它默认运行我的第一个方法。为什么呢?

这是我的代码。

public static void main(String[] args) {
    Wolf wolf = new Wolf("Wolf", "Wollig", "Zwart", "Joost", 1000, 100, true, false, true, false, false);
    wolf.jagen();
}

这是我Wolf课程中的第一个方法。

package model;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Random;

public class Wolf extends Zoogdier{ 

    public Wolf(String diersoort, String soortHuid, String pigment,
            String naam, int energie, int humeur, boolean isMannelijk,
            boolean isZwanger, boolean isHonger, boolean isZiek,
            boolean heeftTandpijn) {

        super(diersoort, soortHuid, pigment, naam, energie, humeur, isMannelijk,
                isZwanger, isHonger, isZiek, heeftTandpijn);
    }

    public void JDBC(){
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();

            String url = "jdbc:mysql://localhost/pro_dierentuin";

            String user = "root";
            String password = "DhFlyB75";

            Connection conn = DriverManager.getConnection(url, user, password);

            Statement stmt = conn.createStatement();

            int m = 1;
            if(isMannelijk() == true){
                m = 1;
            }
            else {
                m = 0;
            }

            int z = 1;
            if(isZwanger() == true){
                z = 1;
            }
            else{
                z = 0;
            }

            int h = 1;
            if(isHonger() == true){
                h = 1;
            }
            else {
                h = 0;
            }

            int ziek = 1;
            if(isZiek() == true){
                ziek = 1;
            }
            else {
                ziek = 0;
            }

            int tand = 1;
            if(isHeeftTandpijn() == true){
                tand = 1;
            }else {
                tand = 0;
            }

            String sql = "INSERT INTO dier_gegevens (diersoort, soorthuid,              
                    pigment, naam, energie, humeur, isMannelijk, isZwanger, isHonger, isZiek,  
                    heeftTandpijn) VALUES ('Wolf', '"+ getSoortHuid() +"', '"+ getPigment() +"', '"+ 
                    getNaam() +"', '"+ getEnergie() +"', '"+ getHumeur() +"', '"+ m +"', '"+ z +"', 
                    '"+ h +"', '"+ ziek +"', '"+ tand +"')";

            stmt.executeUpdate(sql);
            System.out.println("Query uitgevoerd");

        } catch (InstantiationException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {

            System.out.println("Duplicate entry " + getNaam() + " for key  
            'PRIMARY'");
            e.printStackTrace();
        }
    }

    public String jagen(){
        Random r = new Random();
        boolean b = r.nextBoolean();
        if(b == true){
            eten();
        }
        else{
            System.out.println("Je wolf heeft geen voedsel");
            setZiek(true);

            try {
                Class.forName("com.mysql.jdbc.Driver").newInstance();

                String url = "jdbc:mysql://localhost/pro_dierentuin";

                String user = "root";
                String password = "DhFlyB75";

                Connection conn = DriverManager.getConnection(url, user, 
                        password);

                PreparedStatement stmt = conn.prepareStatement("UPDATE 
                dier_gegevens SET isZiek = 1 WHERE naam = '"+ getNaam() +"'");

                stmt.executeUpdate();
                System.out.println("Query uitgevoerd");
            } catch (InstantiationException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            }

        }
        return "";
    }

    public String lopen() {
        Random r = new Random();
        boolean b = r.nextBoolean();
        if(b == true){
            int energie = getEnergie() - 10;
            setEnergie(energie);
            System.out.println(getEnergie());
        }
        if(b == false){
            int energie2 = getEnergie() - 5;
            setEnergie(energie2);
            System.out.println(getEnergie());
        }
        return null;
    }

    public Dier bevallen() {
        if(isZwanger()){
            return new Wolf("wolf", getSoortHuid(), getPigment(), getNaam(),  
                    getEnergie(), getHumeur(), isMannelijk(), false, true, false, false);
        }
        return null;
    }

    public String verzorgen() {
        if(bevallen() != null){
            return "Welp wordt verzorgd";
        }
        return null;
    }

    public String dokterbezoek() {
        if(isZiek()){
            setZiek(false);
            System.out.println("Je wolf is weer beter!");
        }
        return null;
    }

    public String tandartsbezoek() {
        if(isHeeftTandpijn()){
            setHeeftTandpijn(false);
            System.out.println("Je wolf heeft weer een gezond gebit!");
        }
        return null;
    }

    public String eten() {
        Random r = new Random();
        int voedsel = r.nextInt(100);

        if(voedsel > 60){
            setZiek(true);
            System.out.println("Je Wolf is nu ziek..");
        }
        else if(voedsel < 40){
            int energie = getEnergie() + 20;
            setEnergie(energie);
            System.out.println(getEnergie());
            setHeeftTandpijn(true);
            setHonger(false);

            try {
                Thread.sleep(30000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            setHonger(true);
        }
        else{
            System.out.println("Je geeft een ongewenst gram voedsel!");
        }
        return "";
    }

    public String spelen() {
        if(getHumeur() < 40){
            System.out.println("Je dier gaat spelen");
            int humeur = getHumeur();

            for(int i = humeur; i <= 100; i++){
                setHumeur(i);

            }
            System.out.print(getHumeur());
        }

        return "";
    }

    public void Voortplanten(Dier partner) {
        if(isMannelijk()){
            setZwanger(true);
        }
        else{
            setZwanger(true);
        }
    }
}

我希望有足够的信息来解决我的问题。

1 个答案:

答案 0 :(得分:0)

在main方法的开头调用JDBC方法,如下所示:

public static void main(String[] args) {   
    JDBC();
    Wolf wolf = new Wolf("Wolf", "Wollig", "Zwart", "Joost", 1000, 100, true, false, true, false, false);
    wolf.jagen();
}

这假定JDBC()是您班级的方法。

编辑:看到你的类的代码,我还建议将初始化JDBC连接的代码与插入分开。