一度呼び出されて複数回使用されるメソッドを作成するプログラムを実行しようとしています。次の例を検討してくださいメソッドをアプリケーションライフタイム全体で1回だけ呼び出す
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
を繰り返すことは望ましくありませんが、1回だけ設定します。これを並べ替えるための回避策はありますか?
これは、変数に日付を格納するという意味ですか? – John3136
mainで 'createDate'を呼び出してみませんか?第2に、毎回日付をフォーマットする代わりに、フォーマットされた 'String'をキャッシュする必要があります。 –
@ John3136、私はちょうど 'A.useMethodA()' B.createDate() 'が何度も呼び出されないようにしたいと思っています。 – user7036414