提供一下个人的解题思路

来源:7-1 编程练习

请带喔去太谷里

2020-09-13 01:13

http://img.mukewang.com/5f5d00770001e9d104470188.jpg

网页写的好像没办法读取用户数据 然后我用idea写了一下代码  因为时间原因只测试了部分月份  随便看看吧  

刚看教程作者的视频自学了两天java 按之前学的C#思路做的 感觉大差不差 

如果误导大家的话请少骂 只是提供一下个人的解题思路

粗体为自己的方法 非粗体为作者自带的代码

System.out.print("您要开始第几周学习啦,直接输入数字吧:");

//设置变量存储接收到的数据

int Week = new Scanner(System.in).nextInt();//定义星期的接收变量
System.out.println("以下是您本月的学习计划, √ 代表当周学习任务");
System.out.println("=======================================");
//利用for循环,找到数组中对应这个月的内容输出

int Month = (Week*7)/30+1;//转换月份

for(int i =1;i<contentList.length+1;i++)//从1开始循环35次(35周)
{
        if((i*7)/30+1 >=Month && (i*7)/30+1<(Month+1))//筛选符合本月的星期
        {
                if(i==Week)//在输入的星期前打√
                {
                    System.out.print("√");
                }
                System.out.println(contentList[i-1]);//输出符合条件的星期
        }
}



写回答 关注

1回答

  • JAVA_蓝鹰
    2020-09-14 15:55:30
    import java.util.Scanner;
    public class HelloWorld{
        public static void main(String[] args) {
            //创建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  inputnum = new Scanner(System.in).nextInt();
    
            //计算今天是几月(1-月第一周、4-月第4周)
            
            //同时计算月和周
            int m,w;
            if (inputnum % 4 != 0 ){
                m = inputnum / 4 + 1;
                w = inputnum % 4;
            }else{
                m = inputnum / 4;
                w = 4;
            }
            
            //为下面for提供起始值
            int startnum;
            if (inputnum > 3) {
                startnum = inputnum - 4;
            }else {
                startnum = 0;
            }
            
            if (inputnum > 35) {
                System.out.println("以超出课程范围");
                System.exit(0);
            }
            
            //提示信息
            System.out.println("以下是您本月的学习计划, √ 代表当周学习任务");
            System.out.println("=======================================");
            System.out.println("已学习了"+ m + "个月,第" + w + "周!");
            
            //利用for循环,找到数组中对应这个月的内容输出
            for (int i = startnum; i < startnum+4; i++) {
                
                //根据当前月第几周,在输出此行时,前面添加“√”
                if (i == inputnum-1) {
                    contentList[inputnum-1] = "√" + contentList[inputnum-1];
                }             
                System.out.println(contentList[i]);            
            }   
    }
    }
    
    
    
    
    直接在网页上面不成功, 提示Scanner问题, 本机测试成功


    慕少1370...

    每个月不是固定的四周,这种写法会造成运行结果的错误。比如第17周,应该是第四个月的第五周,但是按这种写法是第五个月的第一周,其实是不对的。

    2020-09-27 10:48:19

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

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

1165172 学习 · 17581 问题

查看课程

相似问题