java 练习题
题目:想控制台输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 练习题的更多相关文章
- 《Java练习题》Java编程题合集(全)
前言:不仅仅要实现,更要提升性能,精益求精,用尽量少的时间复杂度和空间复杂度解决问题. 初学者: <Java练习题>习题集一 https://www.cnblogs.com/jssj/ ...
- Java练习题
1.实现一个类似于ConcurrentHashMap的分段加锁 import java.util.HashMap; import java.util.Map; import java.util.con ...
- [Java练习题] -- 1. 使用java打印杨辉三角
package cn.fzm.demo1.array; import java.util.Scanner; /* * 需求:打印杨辉三角形(行数可以键盘录入) 1 1 1 1 2 1 1 3 3 1 ...
- 2018宁夏邀请赛网赛 I. Reversion Count(java练习题)
题目链接 :https://nanti.jisuanke.com/t/26217 Description: There is a positive integer X, X's reversion c ...
- java练习题:现给出二组字符串,比较他们看是否相等
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import jav ...
- java练习题——类与对象
一.请依据代码的输出结果,自行总结Java字段初始化的规律 public static void main(String[] args) { InitializeBlockClass obj=new ...
- java练习题——字符串
一.动手动脑之String.equals()方法: 判断s1和s2的内容相同s1.equals(s2). 判断s1和s2的地址相同s1 == s2. 二.整理String类的Length().char ...
- [Java] 练习题001:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
[程序1]题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析: 兔子的规律为数列1,1,2 ...
- 《Java练习题》进阶练习题(五)
编程合集: https://www.cnblogs.com/jssj/p/12002760.html 前言:不仅仅要实现,更要提升性能,精益求精,用尽量少的时间复杂度和空间复杂度解决问题. [程序88 ...
随机推荐
- iOS 事件穿透
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typica ...
- C++Primer 第十三章
//1.当定义一个类时,我们显示地或隐式地指出在此类型的对象(注意这里是此类型的对象,而不包括此类型的指针)拷贝,移动,赋值,销毁时做什么.一个类通过定义五种特殊的成员函数来控制这些操作:拷贝构造函数 ...
- 转:python webdriver API 之下载文件
webdriver 允许我们设置默认的文件下载路径.也就是说文件会自动下载并且存在设置的那个目录中.要想下载文件,首选要先确定你所要下载的文件的类型.要识别自动文件的下载类型可以使用 curl ,如图 ...
- UML:组件图
要搞清楚组件图,必须先搞清楚什么是组件? 组件有以下特点:1.能实现一定功能,或者提供一些服务.2.不能单独运行,要作为系统的一部分来发挥作用.3.在物理上独立的,不是逻辑上的概念.4.可单独维护.可 ...
- Java线程总结
在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口. 对于直接继承Thread的类来说,代码大致框架是: class 类名 extends Thread ...
- bzoj3437 小P的牧场
斜率优化dp 代码 #include<cstdio> #include<algorithm> using namespace std; typedef long long ll ...
- IMapDocument interface
Provides access to members that control the reading and writing of map document files.(提供访问的成员,控制读 ...
- PAT乙级 1026. 程序运行时间(15)
1026. 程序运行时间(15) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 要获得一个C语言程序的运行时间, ...
- zw版【转发·台湾nvp系列Delphi例程】.NET调用HALCON COM控件内存释放模式
zw版[转发·台湾nvp系列Delphi例程].NET调用HALCON COM控件内存释放模式 ------------------------------------方法一 :Imports Sys ...
- [crunch bang]在Crunch Bang安装和设置fcitx(小企鹅输入法)
试来试去还是喜欢小企鹅多一些 第一步:在终端下 sudo apt−get install fcitx fcitx−sunpinyin fcitx-ui-classic fcitx-table sud ...