簡體   English   中英

是否可以從已經具有main方法的類中調用main方法?

[英]Is it possible to call to main method from a class that already has a main method?

我有一個包含兩個類的程序,每個類都有一個main方法,我想知道是否可以從第二個類中調用main方法來在第一個類中工作。 我似乎找不到任何有幫助的例子,這使我認為我不可能做自己想做的事。

頭等艙:

    package scannerarrays;

        import java.util.Scanner;

             public class ScannerArrays {



public static void main(String[] args) {
    Scanner input = new Scanner (System.in);
    String words;
    int IDnum;


    System.out.println("Enter your Name");
    words = input.nextLine();

    System.out.println("Enter your Surname");
    words = input.nextLine();

    System.out.println("Enter your ID number");
    IDnum = input.nextInt(); 

二等艙:

 package scannerarrays;

import java.util.Scanner;

public class IdDetails {


String id;
int month[] = {31 , 29 , 31 , 30 , 31, 31 , 30 , 31 , 30 , 31};


public IdDetails()  {


    Scanner input = new Scanner(System.in);
    System.out.println("Enter your ID number \nLike : 000000000V");
    id = input.next();



     }

public int getYear() {
    return(1900 + Integer.parseInt(id.substring(0, 2)));

}
    public int getDays() {
     int d = Integer.parseInt(id.substring(2, 5)); 
     if (d > 500) {
         return (d - 500);
     }else{
         return d;



     }

    }
public void setMonth() {

    int mo = 0, da = 0;
    int days = getDays();

    for (int i = 0; i < month.length; i++) {
        if (days < month[i]) {
            mo = i + 1;
            da = days;
            break;

        }else{
            days = days - month[i];
        }        

        }

  System.out.println("Month: " + mo + "\nDate : " + da);

    }

    public String getSex() {
        String M = "Male" , F = "Female";
        int d = Integer.parseInt(id.substring(2 , 5));
        if (d>81) {
            return F;

        }else{
         return M;   
        }

}
     public static void main(String[]args) {

IdDetails ID = new IdDetails();
System.out.println("Your Details of DOB from ID");
System.out.println("Year : " + ID.getYear());
ID.setMonth();
System.out.println("Sex : " + ID.getSex());

      }



     }

main方法與類中的任何其他靜態方法一樣,因此您可以用相同的方式調用它,就像:

IdDetails.main();

或使用任意數量的String參數:

IdDetails.main("name", "surname", "12");

但這似乎有點混亂,以這種方式在主要方法中使用邏輯。 如果確實需要執行此操作,則只需創建另一個具有固定輸入參數的方法,然后在所需的任何地方調用它(在兩種情況下,這都是主要方法)。

暫無
暫無

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

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