我正在尝试执行一个程序,我想在其中创建一个方法,该方法将被调用一次然后多次使用。请考虑以下示例
public class SampleClass {
public static void main(String[] args) {
System.out.println(A.useMethodA());
System.out.println(A.againUseMethodA());
}
}
class A {
public static String useMethodA() {
return new SimpleDateFormat("yyyy-MM-dd").format(methodA());
}
public static String againUseMethodA() {
return new SimpleDateFormat("EEE yyyy-MMM-dd").format(methodA());
}
public static Date methodA() {
return B.createDate();
}
}
class B {
public static Date createDate() {
Scanner sc = new Scanner(System.in);
System.out.println("Enter Year");
int year = sc.nextInt();
System.out.println("Enter month");
int month = sc.nextInt();
System.out.println("Enter day");
int date = sc.nextInt();
Calendar calendar = Calendar.getInstance();
calendar.set(year, month, date);
return calendar.getTime();
}
}
现在的问题是我有一种设置日期和时间的方法。由于有许多其他格式使用此日期方法,因此它被多次调用。我不想重复console window
每次在方法调用时输入数据,但只设置一次。有没有解决方法来排序。
答案 0 :(得分:2)
如果存储日期为B.createDate()
,则A类存储静态日期,仅调用null
。
class A {
private static Date theDate = null;
// unchanged
public static String useMethodA() { ... }
}
// unchanged
public static String againUseMethodA() {... }
public static Date methodA() {
if (theDate == null)
{
theDate = B.createDate();
}
return theDate;
}
}