Comptez quand rencontrer la déesse avec des exercices Java-Java

Question pratique:
Aujourd'hui, vous avez rencontré Xiao Zhang à l'hôpital, c'est une belle infirmière, vous êtes tombé amoureux d'elle au premier regard et avez voulu la poursuivre. Je voulais donc comprendre son temps pour aller et revenir du travail et concevoir une scène de «coïncidence».
Après de nombreuses enquêtes, vous avez appris que Xiao Zhang et elle travaillaient régulièrement depuis le 5 juillet 2018 et ne l'avaient jamais violée. Son horaire de travail régulier est le suivant: deux quarts de nuit, un jour de congé, trois quarts de jour et un jour de congé.
Aujourd'hui, la société vous informe que vous avez été dépêché depuis 46 jours, et le billet de retour arrivera à la gare à 13 heures.
Puis-je vous demander quand pourrez-vous rencontrer votre déesse? (Si vous vous reposez, vous ne pouvez pas vous rencontrer par hasard)

Idées de résolution de problèmes:

  •  1.先得到出差回来后的日期。
    
  •  2.根据那天日期和小张入职日期,算出之间相隔的天数
    
  •  3.根据小张上班的规律,来得到那天上班的情况。
    
  •  4.判断是否能够邂逅女神。
    
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Doctor {
   public static void main(String[] args) throws ParseException {
       //获取今天的时间
       Calendar calendar = Calendar.getInstance();

       //计算45天之后的时间
       calendar.add(Calendar.DAY_OF_MONTH,46);

       //创建SimpleDateFormat对象,写入格式
       SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");

       //获得时间字符串
       String time = calendar.get(Calendar.YEAR)+"年"+(calendar.get(Calendar.MONTH)+1)+"月"+calendar.get(Calendar.DAY_OF_MONTH)+"日";


       //传入当前时间和入职时间
       Date entryTime = sdf.parse("2018年7月5日");
       Date dayTime = sdf.parse(time);//2020-12-12

       //求出间隔时间
       long d1 = ((dayTime.getTime()-entryTime.getTime())/1000/60/60/24);


       //小张上班的规律是7天一轮回,间隔时间对七取余
       int x = (int) d1%7 ;
       System.out.println(x);

       //通过判断x值,来确定当天小张的上班不能情况
       switch (x){
           case 1://夜班
           case 2://夜班
           case 4://白班
           case 5://白班
           case 6://白班
               System.out.println("邂逅女神日期是:"+time);
               break;
           case 3://休息
           case 0://休息
               time = calendar.get(Calendar.YEAR)+"年"+(calendar.get(Calendar.MONTH)+1)+"月"+(calendar.get(Calendar.DAY_OF_MONTH)+1)+"日";
               System.out.println("邂逅女神日期是:"+time);
       }
   }
}

Je suppose que tu aimes

Origine blog.csdn.net/LinKin_Sheep/article/details/109325743
conseillé
Classement