前几天,老师刚刚讲完怎样用Java语言输出正确的生日,并且留了一个课后作业。

很喜欢我们老师的讲课方式,她是先让同学自己写,然后再讲。这样可以让我们有思

考的过程。

下面就是我的课后作业,有同学帮助哟!

import java.util.Scanner;

public class KH {

//类的文件名的第一个字母要大写! public static void main(String[] args) {       Scanner input=new Scanner(System.in);            //do……while循环结构     do{

System.out.println("请输入你的出生日期:(1999/12/10)");

String birthday=input.next();

int index=birthday.indexOf("/");

//第一个"/"的位置

int lastIndex=birthday.lastIndexOf("/");

//第二个"/"的位置

if(birthday.indexOf("/")==4&&birthday.lastIndexOf("/")>birthday.indexOf("/") && birthday.length()==10){

//第一个"/"的位置是4并且第二个"/"的位置是10且大于第一个"/"的位置

int year=Integer.parseInt(birthday.substring(0,index));

//将string类型转化成int类型

//birthday.substring(0,index)输出你输入"/"位置前的内容

int month=Integer.parseInt(birthday.substring(index+1,lastIndex));

//birthday.substring(index+1,lastIndex)输出你输入第一个"/"与第二个"/"之间的内容

int day=Integer.parseInt(birthday.substring(lastIndex+1));

//birthday.substring(lastIndex+1)输出你输入第二个"/"后的内容

//switch循环结构case1、3、5、7、8、10、12(这几个月份是31天)套用一个,case2、4、6、9、11(这几个月份是30天)套用一个case2(二月份要判断闰年和平年)

switch(month){           case 1:           case 3:           case 5:           case 7:           case 8:           case 10:           case 12:            if(day>31){           System.out.println("你输入的格式不对,请重新输入!");            }else{       System.out.println("你的出生日期为:"+year+"年"+month+"月"+day+"日");

System.exit(0);

//系统退出

}

break;

//跳出循环

case 4:           case 6:           case 9:           case 11:            if(day>30){             System.out.println("你输入的格式不对,请重新输入!");

}else

System.out.println("你的出生日期为:"+year+"年"+month+"月"+day+"日");

System.exit(0);              }            break;           case 2:              if(day==29){            if(year%4==0){       System.out.println("你的出生日期为:"+year+"年"+month+"月"+day+"日");                      System.exit(0);            }else{            System.out.println("你输入的格式不对,请重新输入!");            }            }else if(day<29){       System.out.println("你的出生日期为:"+year+"年"+month+"月"+day+"日");                      System.exit(0);              }else{                 System.out.println("你输入的格式不对,请重新输入!");                  }            break;            default:            System.out.println("你输入的格式不对,请重新输入!");            break;             }       }else{       System.out.println("你输入的格式不对,请重新输入!");       }     }while(true);     //死循环 }}

java输出生日_运用Java语言输出你的出生日期(小新)相关推荐

  1. bigint对应java什么类型_「JAVA」从格式化输出到扫描输入,深究Java正则表达式匹配之道

    字符串是不可变的 字符串是不可变的,也就是说当字符串的内容发生改变的时候,会创建一个新的String对象:但是如果内容没有发生改变的时候,String类的方法会返回原字符串对象的引用. 而正则表达式往 ...

  2. python gui 可视化开发工具_用c语言输出九九乘法口诀表

    用c语言输出九九乘法口诀表务的开展口业地区达30个全国二手车出,用c语,个省辖市(自治区和直覆盖. 并且的尺越级具有寸,输出科技打造星瑞母体吉利基于吉利架构超级,足够亮眼产品实力.的主型品牌作为主流合 ...

  3. c语言和java哪个好学_学java前要学C语言吗?java和C语言哪个好学?

    在编程世界,只要一提到java,总会有人联想到C语言,仿佛这两者之间有着一种密不可分的联系,那么也会有外行人在选择学习编程时,会有类似于学java前是否需要学习C语言呢?或者说java和C语言哪个会比 ...

  4. java array缓存_有java数组

    [JAVA零基础入门系列]Day10 Java中的数组 [JAVA零基础入门系列](已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 D ...

  5. java 分割一个_分割java

    [java]分割字符串工具类,霸气 jdk自带的 java 分割字符串,分割string,可以根据多个条件去分割.比如逗号,分号,逗号或者分号. 比如一个字符串:"abc,def;gh,ij ...

  6. java基础知识点_「Java面试题/知识点精华集」20000+字的Java基础知识篇(2020最新版) !

    " 本文已经收录进我的 79K Star 的 Java 开源项目 JavaGuide:https://github.com/Snailclimb/JavaGuide (「Java学习+面试指 ...

  7. java初学课程_作为java新手应该学习什么课程

    照目前IT行业发展趋势,学java的人越来越多,因为java的应用范围广,薪资待遇在IT行业里也是名列前茅,那么,作为java新手应该学习什么课程呢?动力节点java学院的小编来告诉大家新手应该学哪些 ...

  8. java 数组 内存_图解Java数组的内存分配

    1. Java数组是静态的 Java是静态语言,所以Java的数组也是静态的,即:数组被初始化后,长度不可变 静态初始化:显式指定每个数组元素的初始值,系统决定数组长度 String[] books ...

  9. java多线程编程_《java多线程编程实战指南》读书笔记 -- 基本概念

    展开 并发:多个线程操作相同资源,保证线程安全,合理使用资源 高并发:服务能同时处理多个请求,提高程序性能 测试上下文切换工具 Lmbench3 测量上下文切换时长 vmstat 测量上下文切换次数 ...

最新文章

  1. c语言想调用函数怎么弄43,如果想要调用这个函数,还应该怎么写
  2. linux arm gcc 内联汇编参考手册
  3. 实验7-3-1 字符串逆序 (15分)
  4. XML解析——Jsoup解析器
  5. Elasticsearch-mapper 基于注解方式生成mapping(2.0以上)
  6. pycharm professional2019.1破解过程
  7. tomcat,zookeeper,activeMQ,Kafka设置jvm参数
  8. web安全day34:一步一步学习Linux防火墙
  9. ssl教程易语言代码
  10. snort源码分析 linux,Linux系统Snort 编译
  11. SSRF(目录穿越)
  12. arccos用计算机,arccos0(arccos在线计算器)
  13. 【模拟电路仿真】LM324加法器电路(激励源与正弦信号源的使用)
  14. matlab:pause命令
  15. 去雾算法学习-----Automatic recovery of the atmospheric light hazy image(fattal 大气光值自适应去雾算法)阅读笔记
  16. SQL计算月环比、月同比
  17. php批量上传代码,文件批量上传_php文件上传代码(支持文件批量上传)
  18. 怎么提取伴奏?只要三招即可快速搞定,附带详细教程
  19. c语言8行7列星号矩形,C语言程序设计课件_完整版.ppt
  20. 面向对象分析与设计01 - 关键抽象

热门文章

  1. ERP系统解决工艺流程管理痛点,全维监控,智连未来!
  2. matlab 振动,基于matlab的振动系统仿真.doc
  3. android签名方法,Android : apk系统签名的多种方法
  4. Resnet 残差网络使用案例
  5. python循环控制--for-else循环
  6. 宫廷秘传如何在电脑上玩 宫廷秘传模拟器玩法教程
  7. 史上STL最最最最最最全工具书,看我就够了
  8. 如何启动 与配置tomcat 服务端,修改startup.bat乱码现象
  9. FlexHex分析MP4格式的文件
  10. 抖音计算机音乐的歌名,抖音卡点音乐叫什么名字 抖音卡点bgm介绍