というメソッドを書いていgetThanksgiving
ます。それはそのまま機能し、はるかに大きなクラスの一部ですが、より効率的にする方法についてアドバイスが必要でした. このgetWeekDay
メソッドは、ユーザーが入力した年の 11 月 1 日の曜日を返すだけです。
public String getThanksgiving(){
String a = getWeekDay(11, 1);
int offset = 0;
if(a.equals("Friday")){
offset = 7;
}
if(a.equals("Saturday")){
offset = 6;
}
if(a.equals("Sunday")){
offset = 5;
}
if(a.equals("Monday")){
offset = 4;
}
if(a.equals("Tuesday")){
offset = 3;
}
if(a.equals("Wednesday")){
offset = 2;
}
if(a.equals("Thursday")){
offset = 1;
}
int date = 21 + offset;
thanksgiving = "Thursday, November " + date;
return thanksgiving;
}
for ループとして書き直そうとしましたが、うまくいきません。
public String getThanksgiving(){
String a = getWeekDay(11, 1);
int offset = 8;
String[] wTable = {"Friday", "Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday"};
for(int i = 1; i < 8; i++){
if(a.equals(wTable[i - 1])){
offset --;
}
}
}
また、オフセットと 21 の加算というアイデアは、私の先生が私たちにやりたいと思っていることです。前もって感謝します!