代码答案是什么
/*什么都不说了,我这个最简单, 但是有漏洞,就是没有做超出35周的纠正 但是题目也没要求这个*/ 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 weeks = new Scanner(System.in).nextInt(); //计算今天是几月(1-月第一周、4-月第4周) int month=(weeks-1)/4+1; //计算输入的周是这个月的第几周 int week=(weeks-1)%4+1; //提示信息 System.out.println("以下是您本月的学习计划, √ 代表当周学习任务"); System.out.println("======================================="); //利用for循环,找到数组中对应这个月的内容输出 for(int i=0;i<4;i++){ //根据当前月第几周,在输出此行时,前面添加“√” if(i==week-1){ System.out.print("√"); } System.out.println(contentList[4*(month-1)+i]); } } }
数组长度为35,然后你在for循环内下i = day-1。 那么i不可能到35啊,你在for内部赋值,又把i作为循环递增数。所以就会一直循环(死循环),跳不出来。
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 days = new Scanner(System.in).nextInt();
//计算今天是几月(1-月第一周、4-月第4周)
int month;
if(days%4==0)
month = (int)days/4;
else
month = days/4 +1;
//提示信息
System.out.println("月份:"+month);
System.out.println("以下是您本月的学习计划, √ 代表当周学习任务");
System.out.println("=======================================");
//利用for循环,找到数组中对应这个月的内容输出
if (days<=32) {
for (int i = month * 4 - 4; i < month * 4; i++)
System.out.println(contentList[i]);
//根据当前月第几周,在输出此行时,前面添加“√”
for (int i = days - 1; i < month * 4; i++)
System.out.println("√" + contentList[i]);
}
else if(days>32){
for (int i = month * 4 - 4; i <=34; i++)
System.out.println(contentList[i]);
//根据当前月第几周,在输出此行时,前面添加“√”
for (int i = days - 1; i < month * 4; i++) {
System.out.println("√" + contentList[i]);
if (i==34)
continue;
}
}
}
}
出现这种情况要么是死循环,要么全部输出一条语句
for( i=0;i<=contentList.length;i++){
if(day>0&&day<=35){
i=day-1;
这个地方你在for中已经给 i 给了一个递增的条件,下面又给 i=day-1; 就存在错误。
package experience03_11;
import java.util.Scanner;
public class Demo08 {
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 day = new Scanner(System.in).nextInt();
//计算今天是几月(1-月第一周、4-月第4周)
int month=(int)(day/4+1);
if(day%4==0)
{month--;}
System.out.println("这周属于是"+month+"月");
//计算输入的周是这个月的第几周
int week;
if(day%4==0){
week=4;
}else{
week=(int)(day%4);
}
System.out.println("这周是第"+week+"周");
//提示信息
System.out.println("以下是您本月的学习计划, √ 代表当周学习任务");
System.out.println("=======================================");
int i;
//利用for循环,找到数组中对应这个月的内容输出
for( i=0;i<=contentList.length;i++){
if(day>0&&day<=35){
i=day-1;
System.out.println("√"+contentList[i]);
}else
{
System.out.println("您输入的数据有误!");
}
}
//根据当前月第几周,在输出此行时,前面添加“√”
}
}
有没有大神可以帮忙看一下啊,我的代码一直不断输出,类似下图