我的编程思路不好。每次看到一个编程任务的时候,没有去认真分析解题思路,而是直接想着找答案,找老师的标准答案。以后要试试自己去写代码,错了就错了,重新更正
1/4的结果是0,因为int数据类型碰到小数的处理方法是向下取整,即小于计算结果数的最大的一个整数。
try...catch
月份判别不能独立判断以为都要加一
try{}中为正常情况处理;catch(){}为异常情况处理情况
try...catch 12:00
搜索
复制
mport java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
int moon = 0;
//创建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 num = new Scanner(System.in).nextInt();
//计算今天是几月(1-月第一周、4-月第4周
if (num % 4 == 0) {
month = num / 4;
}else {
month = (num / 4) + 1;
}
//计算输入的周是这个月的第几周
week = num - (mouth-1) * 4;
//提示信息
System.out.println("以下是您本月的学习计划, √ 代表当周学习任务");
System.out.println("=======================================");
//利用for循环,找到数组中对应这个月的内容输出
for (int i = (month - 1) * 4 ; i < month * 4 ; i++) {
try {
if (i == (num - 1)){
System.out.println("√"+contentList[i]);
}else {
System.out.println(contentList[i]);
}
}
catch (ArrayIndexOutOfBoundsException e){
System.out.println("暂无"+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 in = new Scanner(System.in).nextInt();
//计算今天是几月(1-月第一周、4-月第4周)
int a;
// a=(in%4==0)?(in/4):(in/4)+1;
if (in % 4 == 0) {
a = in / 4;
} else {
a = in / 4 + 1;
}
//计算输入的周是这个月的第几周
//提示信息
System.out.println("以下是您本月的学习计划, √ 代表当周学习任务");
System.out.println("=======================================");
//利用for循环,找到数组中对应这个月的内容输出
//根据当前月第几周,在输出此行时,前面添加“√”
for (int i = (a - 1) * 4; i < a * 4; i++) {
if (i == in - 1) {
System.out.println("√" + contentList[i]);
} else {
System.out.println(contentList[i]);
}
}
}
}
try(){ }
catch(ArrayIndexOfBoundsException e){ }
//try...catch...对异常进行捕获
索引越界异常
Exception异常:输入的数字在数组中不存在
处理方法:
看出错地点at com.imooc.Demo03.main(Demo03.java:58)
try{
出错部分代码
}
catch(异常的名字 给的一个变量) {
程序异常后要显示的代码 此处+1回到自然中
}
注意数组从0开始
遍历
初始值;终止条件;i++
终止值;终止条件;i--
处理异常
可以使用 try. . . catch. . . 对异常进行捕获
try{
出现异常的代码块
}
catch(异常 给异常取一个变量名){
出现该异常时的处理方式
}
异常
处理
把报错的名字放到catch里,后面加个e
printXXX
package com.imooc;
import java.util.Scanner;
public class Demo3 {
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 week = new Scanner(System.in).nextInt();
int month = 0;
//计算今天是几月(1-月第一周、4-月第4周)
if (week % 4 == 0) {
month = week / 4;
week = 4;
} else {
month = week / 4 + 1;
week = week % 4;
}
//计算输入的周是这个月的第几周
System.out.println("第" + month + "月第" + week + "周");
//提示信息
System.out.println("以下是您本月的学习计划, √ 代表当周学习任务");
System.out.println("=======================================");
//利用for循环,找到数组中对应这个月的内容输出
for (int i = 0; i < 4; i++) {
//根据当前月第几周,在输出此行时,前面添加“√”
try {
if (i == week - 1) {
System.out.print("√");
}
System.out.println(contentList[(month - 1) * 4 + i]);
} catch (ArrayIndexOutOfBoundsException e) {
week = (month - 1) * 4 + i;
System.out.println("未发现第" + week + "周学习计划");
}
}
}
}
1
try-catch使用
try {
if (i == wnum) {
System.out.println("√" + contentList[i - 1]);
} else {
System.out.println(contentList[i - 1]);
}
}
catch(ArrayIndexOutOfBoundsException e){
System.out.println("没有"+i+"周的数据");
}
//提示信息
System.out.print("您要开始第几周学习啦,直接输入数字吧:");
//设置变量存储接收到的数据
int week = new Scanner(System.in).nextInt();
int month = 0;
//计算今天是几月(1-月第一周、4-月第4周)
if(week%4==0){
month=week/4;
week=4;
}
else {
month = week/4 +1;
week = week%4;
}
//计算输入的周是这个月的第几周
System.out.println("第"+month+"月第"+week+"周");
//提示信息
System.out.println("以下是您本月的学习计划, √ 代表当周学习任务");
System.out.println("=======================================");
//利用for循环,找到数组中对应这个月的内容输出
for(int i=0;i<4;i++){
//根据当前月第几周,在输出此行时,前面添加“√”
try{
if(i==week-1){
System.out.print("√");
}
System.out.println(contentList[(month-1)*4+i]);
}
catch (ArrayIndexOutOfBoundsException e){
week = (month-1)*4+i;
System.out.println("未发现第"+week+"周学习计划");
}
}
if(w%4==0)
month = w/4;
else
month = w/4+1;
for(int i = (month-1)*4;i<month*4;i++){
try{
if(i==(w-1))
System.out.println("√"+contentList[i]);
else
System.out.println(contentList[i]);
}
catch(ArrayIndexOutOfBoundsException b){
System.out.println("未发现第"+(i+1)+"周学习计划");
}
}
//处理异常BUG try{ if(i==num-1){ System.out.println("√ "+contentList[i]); }else{ System.out.println(contentList[i]); } }catch (ArrayIndexOutOfBoundsException e){ System.out.println("未发现第"+(i+1)+"周的学习"); }
几个笔记吧