题目:想控制台输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 自定义UITabBarController的tabBar

               #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDeleg ...

  2. spring消费RESTfull服务

    使用RestTemplate做这件事非常简单 package hello; import org.slf4j.Logger; import org.slf4j.LoggerFactory; impor ...

  3. JAVA字符串的GZIP压缩解压缩

    package com.gzip; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import ...

  4. IntelliJ IDEA 下的版本控制介绍

    不管是个人开发或是团队开发,版本控制都是可以很好地被使用的,目前我找不到任何开发者不使用版本控制的理由.而且对于 IDE 来讲,集成版本控制的本身就是它最大的亮点之一,很多开发者也是为此而使用它. 在 ...

  5. java io读书笔记(2)什么是stream

    什么是stream?stream就是一个长度不确定的有序字节序列. Input streams move bytes of data into a Java program from some gen ...

  6. j2ee servlet listener

    JSP/Servlet 中的事件处理写过AWT或Swing程序的人一定对桌面程序的事件处理机制印象深刻:通过实现Listener接口的类可以在特定事件(Event)发生时,呼叫特定的方法来对事件进行响 ...

  7. Java相对路径读取文件

    不管你是新手还是老鸟,在程序中读取资源文件总会遇到一些找不到文件的问题,这与Java底层的实现有关,不能算bug,只要方法得当,问题还是可以解决的. 项目的文件夹结构: repathtest ├─sr ...

  8. java List 简单使用

    Student类 class Student{ String name; String pwd; public Student(){} public Student(String name, Stri ...

  9. RubyMine(基于IntelliJ IDEA的Ruby集成开发环境)快捷键

    常用快捷键: 一级必会Ctrl+Alt+G:弹出GenerateCtrl+Alt+L:格式化代码Alt+F1:切换视图(Project, Structure, etc.).Alt+F2:弹出预览窗口, ...

  10. 变形--缩放 scale()

    缩放 scale()函数 让元素根据中心原点对对象进行缩放. 缩放 scale 具有三种情况: 1. scale(X,Y)使元素水平方向和垂直方向同时缩放(也就是X轴和Y轴同时缩放) 例如: div: ...