为了账号安全,请及时绑定邮箱和手机立即绑定

关于本题的思路

package com.company;

import java.util.Scanner;

public class Demo {

    public static void main(String[] args) {
   // write your code here
        //创建String数组,并为每一个元素赋值。赋值内容为第几周+学习内容
        String[] contentList = new String[35];
        contentList[0] = "【第1周】环境搭建与语法入门";
        contentList[1] = "【第2周】Java语法之循环、数组与方法";
        contentList[2] = "【第3周】面向对象之封装与继承";
        contentList[3] = "【第4周】面向对象之单例模式与多态";
        contentList[4] = "【第5周】常用工具类(上)";
        contentList[5] = "【第6周】常用工具类(下)";
        contentList[6] = "【第7周】常用工具类(下)";
        contentList[7] = "【第8周】前端基础之HTML与CSS";
        contentList[8] = "【第9周】前端基础之JavaScript与综合案例";
        contentList[9] = "【第10周】Java Web基础";
        contentList[10] = "【第11周】Java Web基础";
        contentList[11] = "【第12周】常用功能与过滤器";
        contentList[12] = "【第13周】监听器与项目实战";
        contentList[13] = "【第14周】监听器与项目实战";
        contentList[14] = "【第15周】MySQL基础";
        contentList[15] = "【第16周】MySQL基础";
        contentList[16] = "【第17周】Java数据库开发基础";
        contentList[17] = "【第18周】框架前置知识";
        contentList[18] = "【第19周】MyBatis基础";
        contentList[19] = "【第20周】MyBatis实现OA系统项目实战";
        contentList[20] = "【第21周】MyBatis实现OA系统项目实战";
        contentList[21] = "【第22周】Linux环境搭建与Redis应用";
        contentList[22] = "【第23周】Spring基础";
        contentList[23] = "【第24周】Spring基础";
        contentList[24] = "【第25周】Spring基础";
        contentList[25] = "【第26周】SSM开发社交网站";
        contentList[26] = "【第27周】Spring Boot电商项目实战";
        contentList[27] = "【第28周】Spring Boot电商项目实战";
        contentList[28] = "【第29周】面试";
        contentList[29] = "【第30周】多线程与分布式";
        contentList[30] = "【第31周】多线程与分布式";
        contentList[31] = "【第32周】Spring Cloud基础";
        contentList[32] = "【第33周】Spring Cloud电商实战";
        contentList[33] = "【第34周】Spring Cloud电商实战";
        contentList[34] = "【第35周】Zookeeper+Dubbo应用与面试";

        //提示信息
        System.out.print("您要开始第几周学习啦,直接输入数字吧:");
        //设置变量存储接收到的数据
        int n = new Scanner(System.in).nextInt();

        //计算今天是几月(1-月第一周、4-月第4周)
        int month = 7*n%30==0?7*n/30:7*n/30+1;//是否刚好本月
        //计算输入的周是这个月的第几周
        int week = 7*n%30==0?5:7*n%30%7==0?7*n%30/7:7*n%30/7+1;//是否刚好本周
        //提示信息
        System.out.println("以下是您本月的学习计划, √ 代表当周学习任务");
        System.out.println("=======================================");

        //利用for循环,找到数组中对应这个月的内容输出
        for(int i=0;i<contentList.length;i++){
            //如果是当月就打印
            int fmonth = (i+1)*7%30==0?7*(i+1)/30:7*(i+1)/30+1;
            if(fmonth == month){
                //如果是本周就加√
                int fweek = 7*(i+1)%30==0?5:(i+1)*7%30%7==0?7*(i+1)%30/7:7*(i+1)%30/7+1;
                if(fweek == week){
                    System.out.println("√"+contentList[i]);
                }else{
                    System.out.println(contentList[i]);
                }
            }
        }
    }
}


正在回答

1 回答

在每月为30天的情况下,根据累加天数 找到本月本周并打印

0 回复 有任何疑惑可以回复我~
#1

Shadom 提问者

考虑一个月存在上个月没过完的周,也就是一个月有5周的情况
2021-03-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165207    人
  • 解答问题       17581    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

关于本题的思路

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信