簡體   English   中英

嘗試運行代碼時,出現“沒有主方法錯誤”的信息

[英]When Trying to Run Code, I get a “Does Not Have Main Method Error”

我對Java還是很陌生,在我的課程中沒有學到很多東西。 每次我嘗試運行代碼時,都會被告知我沒有主要方法。 但是,我認為public void main(String [] args){聲明了main方法,它位於代碼的底部。 任何人都可以幫助修改代碼以使其運行嗎?

package Java2;
import java.util.Date;

public class tenpoint01 {

public class Time {
    private int hour;
    private int minute;
    private int second;
    public Time() {
    this(System.currentTimeMillis());
}

public Time(long elapsed) {
    Date date = new Date(elapsed);
    this.hour = date.getHours();
    this.minute = date.getMinutes();
    this.second = date.getSeconds();
}

public Time(int hour, int minute, int second) {
    this.hour = hour;
    this.minute = minute;
    this.second = second;
}

private void setTime(long elapsedTime) {
    Date date = new Date(elapsedTime);
    this.hour = date.getHours();
    this.minute = date.getMinutes();
    this.second = date.getSeconds();
}

public int getHour() {
    return hour;
}

public int getMinute() {
    return minute;
}

public int getSecond() {
    return second;
}

@Override
public String toString() {
    return hour + ":" + minute + ":" + second;
}
/**
* @param args the command line arguments
*/
public void main(String[] args) {
    Time time = new Time();
    Time time2 = new Time(555550000);
    System.out.println(time);
    System.out.println(time2);
}
}
}

更改

public void main(String[] args) {

public static void main(String[] args) {

導致

package java2;

import java.util.Date;

public class tenpoint01 {

    public class Time {
        private int hour;
        private int minute;
        private int second;

        public Time() {
            this(System.currentTimeMillis());
        }

        public Time(long elapsed) {
            Date date = new Date(elapsed);
            this.hour = date.getHours();
            this.minute = date.getMinutes();
            this.second = date.getSeconds();
        }

        public Time(int hour, int minute, int second) {
            this.hour = hour;
            this.minute = minute;
            this.second = second;
        }

        private void setTime(long elapsedTime) {
            Date date = new Date(elapsedTime);
            this.hour = date.getHours();
            this.minute = date.getMinutes();
            this.second = date.getSeconds();
        }

        public int getHour() {
            return hour;
        }

        public int getMinute() {
            return minute;
        }

        public int getSecond() {
            return second;
        }

        @Override
        public String toString() {
            return hour + ":" + minute + ":" + second;
        }

        /**
         * @param args the command line arguments
         */
        public void main(String[] args) {
            Time time = new Time();
            Time time2 = new Time(555550000);
            System.out.println(time);
            System.out.println(time2);
        }
    }
}

運行上面的結果

16
4
4
4
4
0

蜜蜂印刷

這應該做

如果缺少static關鍵字,則main方法的簽名不正確,main方法應為:

public static void main(String[] args) {
       ^^^^^^
    // your code here
}

因為您正在使用Netbeans(現在很智能),所以您只需鍵入public並按Ctrl + Enter ,就可以看到主要方法。 或只鍵入psvm然后鍵入tab ,有關更多詳細信息,請轉到此處:

您應該在主要方法中添加“靜態”關鍵字

要執行您當前擁有的內容,應該是:

public static void main(String[] args) {
 Time time = new Time();
 Time time2 = new Time(555550000);
 System.out.println(time);
 System.out.println(time2);

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM