0
我有一個有兩個類的程序,每個程序都有一個主要方法,我想知道是否可以從我的第二個類調用主要方法在我的第一個類中工作。我似乎無法找到任何有用的例子,這讓我認爲我無法做到自己想做的事。是否可以從已有主方法的類調用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(String [] args)'只是一種方法,就像所有其他方法一樣(當你讓它運行一個類時,JVM專門處理它) – MadProgrammer
是的,你可以做到,但它會在這種情況下無法嘗試。最好創建一個更類似於「類OOP」的IdDetails類,其中沒有UI(用戶界面)代碼,並且可以在第一類中使用它。因此,讓Scanner脫離IdDetails類,給它一個體面的字段,一個真正的構造器(再次沒有Scanner),並讓其他類處理所有的UI代碼。 –