2016-11-25 10 views
3

私はそれが何曜日であるかを比較しようとしています。週末であればアクションを実行しますが(まだ実装されていません)、今日の日付25/11/2016または土曜日26/11/2016の明日は、それはまだ "WEEKDAY"だけを印刷します。 ITSは動作していないと私はこだわっている:/日付が平日か週末かを判断する

public static void calcDatePrice(String a, boolean b, double c){ 
    System.out.println("CALC PRICE METHOD: " + a); 
    Double price; 
    Date d1 = new Date(a); 

    Calendar c1 = Calendar.getInstance(); 
    c1.setTime(d1); 
    System.out.println(c1.get(Calendar.DAY_OF_WEEK)); 

    if ((c1.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) 
      || (Calendar.DAY_OF_WEEK == Calendar.SUNDAY)) { //or sunday 
    System.out.println("WEEKEND PRICE"); 
    }else { 
    System.out.println("WEEKDAY"); 
    } 
} 
+3

ある日を見つけるためにcalender.DayofWeekメソッドを使用することができます== Calendar.SUNDAY'ではなく 'Calendar.DAY_OF_WEEK == Calendar.SUNDAY' –

+0

いくつかの国では週末が異なります。たぶんあなたは私の方法[ローカル化された週末を実装する](http://time4j.net/javadoc-en/net/time4j/PlainDate.html#isWeekend-java.util.Locale-)が面白いかもしれません。 –

+0

投稿する前にスタックオーバーフローを検索してください。 –

答えて

-1
if ((c1.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) || (c1.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)) { 
    System.out.println("WEEKEND PRICE"); 
} else { 
    System.out.println("WEEKDAY"); 
} 
6

をあなたは日曜日にc1.getを忘れてしまったあなたのif文で。このようにする必要があります:

if (c1.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || 
    c1.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) 

また、なぜブール値bとdouble cを送信しますか?それは決して使用されません。 `c1.get(Calendar.DAY_OF_WEEKの):

+0

私はまだ書いていませんが、計算しても意味がありませんので、私は考えました。 –

+0

このソリューションがうまくいくかどうか。してくださいupvote :) –

-2

あなたはそれがあなたの場合で、` c1.get`を忘れてしまった

Calendar cl = Calendar.getInstance(); 
 
c1.setTime(Enter Yor Date); 
 
int day = c.get(Calendar.DAY_OF_WEEK); 
 
if(check day value is 5 or 6) 
 
    { 
 
    // Weekend Coding 
 
    } 
 
Else 
 
{ 
 
    // Weekday Coding 
 
}

関連する問題