题目:想控制台输1-3个整数,按顺序为年,月,日。#号键结束输入。若输入一个整数,则为年份,程序判断是闰年还是平年;若输入两个整数,则为年份和月份,程序将输出该年的月份的天数;若输入3个整数;则为年,月,日,程序输出这一天是星期几。若未提供任何数据或大于3个,则提示错误。

public class Page121 {

    /**
* 项目案例
* nzx10.24,
* @param args
*/
public static int getMonthDay(String leaps,int month){
String small="4,6,9,11";
String mon=String.valueOf(month);
int flag=small.indexOf(mon);
int monthDay;
if(month==2){
monthDay=(leaps.equals( "闰年"))?29:28;
}else{
monthDay=(flag!=-1)?30:(31);
}
return monthDay;
}
public static void main(String[] args) {
System.out.println("请输入3个以内的数字,以#结束");
Scanner sc=new Scanner(System.in);
String str="";
String leap = null;
int year=0;
StringBuffer inputStr=new StringBuffer(str);
while(!(str=sc.next()).equals("#")){
inputStr.append(str+";");
}
System.out.println(inputStr);
String temp=inputStr.toString();
String[] array=temp.split(";"); for(int i=0;i<array.length;i++){
System.out.println(array[i]);
} if(array.length<1||array.length>3){
System.out.println("输入有误");
}else{
year=Integer.valueOf(array[0]).intValue();
leap=((year%4==0&&year%100!=0)||year%400==0)?"闰年":"平年";
}
if(array.length==1){
System.out.println("今年是"+leap);
}else if(array.length==2){
int months=Integer.parseInt(array[1]);
int monthDay=getMonthDay(leap, months);
System.out.println(months+"月有"+monthDay+"天");
}else if(array.length==3){
int day=Integer.parseInt(array[2]);
System.out.println("今天是星期"+day);
}
}
}

结果显示:

请输入3个以内的数字,以#结束
2012
2
#
2012;2;
2012
2
2月有29天

一开始写完,只要输入#,就提示错误Exception in thread "main" Java.lang.NumberFormatException: For input string: "# ",原因为分割的元字符串给错了

java 练习题的更多相关文章

  1. 《Java练习题》Java编程题合集(全)

    前言:不仅仅要实现,更要提升性能,精益求精,用尽量少的时间复杂度和空间复杂度解决问题. 初学者: <Java练习题>习题集一   https://www.cnblogs.com/jssj/ ...

  2. Java练习题

    1.实现一个类似于ConcurrentHashMap的分段加锁 import java.util.HashMap; import java.util.Map; import java.util.con ...

  3. [Java练习题] -- 1. 使用java打印杨辉三角

    package cn.fzm.demo1.array; import java.util.Scanner; /* * 需求:打印杨辉三角形(行数可以键盘录入) 1 1 1 1 2 1 1 3 3 1 ...

  4. 2018宁夏邀请赛网赛 I. Reversion Count(java练习题)

    题目链接 :https://nanti.jisuanke.com/t/26217 Description: There is a positive integer X, X's reversion c ...

  5. java练习题:现给出二组字符串,比较他们看是否相等

    import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import jav ...

  6. java练习题——类与对象

    一.请依据代码的输出结果,自行总结Java字段初始化的规律 public static void main(String[] args) { InitializeBlockClass obj=new ...

  7. java练习题——字符串

    一.动手动脑之String.equals()方法: 判断s1和s2的内容相同s1.equals(s2). 判断s1和s2的地址相同s1 == s2. 二.整理String类的Length().char ...

  8. [Java] 练习题001:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

    [程序1]题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析: 兔子的规律为数列1,1,2 ...

  9. 《Java练习题》进阶练习题(五)

    编程合集: https://www.cnblogs.com/jssj/p/12002760.html 前言:不仅仅要实现,更要提升性能,精益求精,用尽量少的时间复杂度和空间复杂度解决问题. [程序88 ...

随机推荐

  1. ios学习笔记01

    ## HUD - 其他说法:指示器.遮盖.蒙板 - 半透明HUD的做法 - 背景色设置为半透明颜色 ## 定时任务 - 方法1:performSelector ```objc // 1.5s后自动调用 ...

  2. 当As3遇见Swift(二)

    字符串:String 都是用String来表示,都是值类型,在传递过程中都会进行拷贝. 计算字符数量 As3: str.length Swift: countElements(str) 数组:Arra ...

  3. views of postgresql user password and encrypted or unencrypted

    password_encryption = onpostgres=# create user user1 with encrypted password 'user1';CREATE ROLEpost ...

  4. PostgreSQL Replication之第十章 配置Slony(5)

    10.5 给复制添加表和管理的问题 一旦我们增加了此表到系统中,我们可以将它添加到复制设置.这样做有点复杂.首先,我们必须创建我们自己的新表集合并把这个和我们已经有的表合并.因此,过一段时间,我们将有 ...

  5. 转:python webdriver API 之调用 JavaScript

    当 webdriver 遇到没法完成的操作时,笔者可以考虑借用 JavaScript 来完成,比下下面的例子,通过 JavaScript 来隐藏页面上的元素.除了完成 webdriver 无法完成的操 ...

  6. acm算法模板(3)

    位  运  算 程序中的所有数在计算机内存中都是以二进制的形式储存的.位运算说穿了,就是直接对整数在内存中的二进制位进行操作.运位算包括位逻辑运算和移位运算,位逻辑运算能够方便地设置或屏蔽内存中某个字 ...

  7. ofbiz进击 第四节。 我的form之旅

    一般使用ofbiz做后台管理的时候,多数会使用ofbiz的form去做后台.下面我就总结下我在使用form的时候的一些总结与问题吧. 1.首先,我们看如何使用最简单form去查询某个单个的对象,并对其 ...

  8. CCF真题之图像旋转

    201503-1 问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度. 计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可. 输入格式 ...

  9. PHP内核探索:哈希碰撞攻击是什么?

    最近哈希表碰撞攻击(Hashtable collisions as DOS attack)的话题不断被提起,各种语言纷纷中招.本文结合PHP内核源码,聊一聊这种攻击的原理及实现. 哈希表碰撞攻击的基本 ...

  10. paper 53 :深度学习(转载)

    转载来源:http://blog.csdn.net/fengbingchun/article/details/50087005 这篇文章主要是为了对深度学习(DeepLearning)有个初步了解,算 ...