问答详情
源自:7-2 编程挑战解析

我的还有没有问题,大家帮我看看

import javax.swing.plaf.synth.SynthEditorPaneUI;
import java.sql.SQLOutput;
import java.util.Scanner;

public class cdb {
    public static void main(String[] args) {
        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.println("您要开始第几周学习啦,直接输入数字吧:");
        int i = new Scanner(System.in).nextInt();
        if (i > 0 && i < 35) {
            //计算今天是几月(1-月第一周、4-月第4周)
            int a = ((i - 1) / 4 + 1);
            System.out.println("这是第" + a + "月");

            //计算输入的周是这个月的第几周
            int b = i - (a - 1) * 4;
            System.out.println("这是第" + b + "周");
            //提示信息
            System.out.println("以下是您本月的学习计划, √ 代表当周学习任务");
            System.out.println("=======================================");

            //利用for循环,找到数组中对应这个月的内容输出

            for (int c = 4 * a - 3; c >= 4 * a - 3 && c <= 4 * a; c++) {
                if (c == i) {
                    System.out.println("√" + contentList[c - 1]);
                } else {
                    System.out.println(contentList[c - 1]);
                }
            }
        } else {
            System.out.println("超过最大时间");

        }

    }
}


提问者:陈情陈情 2022-01-25 01:01

个回答

  • 清风流逝7309210
    2022-02-13 00:51:49

    代码运行逻辑没有问题,仅提供些许建议

    1. 类名首字母最好按规范命名为大写;

    2. 提示用户输入第几周,实际为n+1周, 输入0代表第一周,不大合适, 最好是1-35,  然后判断来减1

    3. for循环语句,直接采用 for(int i = 0; i < 4; i++)即可,在里面判断是否超限,然后continue,代码会更加美观