標籤:
* 使用者輸入商品生產日期和保質期(天數),通過程式計算促銷日期。
* 計算規則為:到保質期前14天所在周的周三為促銷日。
/** * 使用者輸入商品生產日期和保質期(天數),通過程式計算促銷日期。 * 計算規則為:到保質期前14天所在周的周三為促銷日。控制台互動情況-1所示 * 思路: * 1. 使用者輸入生產日期和保質期(天數),就可以求出 到期日期 * 2. 通過到期日期減去14天即為促銷日期所在的周 * 3. 通過所在周求出周三的日期 * 演算法: * 1.通過使用者輸入的兩個日期,轉換生產日期文字為DATE類型,然後通過calendar進行加30天的計算,求出到期的日期 * 2.通過calendar的到期日期,減去14天,計算出促銷日期所在周 * 3.設定calendar的為周三,即為促銷日 * 4.轉換為DATE在轉換為STR輸出。 * */public class HomeWork01 { public static void main(String[] args) throws ParseException { Scanner s = new Scanner(System.in); System.out.println("請輸入生產日期(yyyy-MM-dd)"); //使用者輸入生產日期 String produceDate_usr = s.next(); //使用者輸入保質期(天數) System.out.println("請輸入保質期(天數)"); int badDays_usr = s.nextInt(); //根據使用者輸入的兩個日期,求出到期日期為 //首先,需要SDF定義時間格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //Str --- Data 用 sdf.prase(produceDate_usr) Date produceDate = sdf.parse(produceDate_usr); //然後轉換date為了進行calendar計算加30天的記過 //Date ---- Calendar 用 calendar.setTime() //前提:先建立Calendar執行個體 Calendar calendar = Calendar.getInstance(); calendar.setTime(produceDate); //轉換完成進行計算,先加30天保質期,用 calendar.add(Calendar.Day_Of_Year,30) calendar.add(Calendar.DAY_OF_YEAR, badDays_usr ); //加完30天減去14天 calendar.add(Calendar.DAY_OF_YEAR, -14); //已經到促銷的這周,設定周三的日期// System.out.println(calendar.getTime()); calendar.set(Calendar.DAY_OF_WEEK, 4); //計算完畢,Calendar ---- Data 用calendar.getTime()// System.out.println(calendar.getTime()); Date goodDate = calendar.getTime(); //然後Date轉換成字串形式輸出 Date ---- Str用 sdf.format(goodDate); String result = sdf.format(goodDate); //輸出結果 System.out.println("促銷日期:"+result); }}View Code
使用者輸入商品生產日期和保質期(天數),通過程式計算促銷日期。