如何写java代码:由用户输入自己的生日,距离今天已过多少天或者还有多少天

如何写java代码:由用户输入自己的生日,距离今天已过多少天或者还有多少天,第1张

import javatextSimpleDateFormat;

SimpleDateFormat formatter = new SimpleDateFormat ("yyyy年MM月dd日 HH:mm:ss ");

Date curDate = new Date(SystemcurrentTimeMillis());//获取当前时间

String str = formatterformat(curDate);

str-你的生日

package comssjswt;

import javautilScanner;

public class MyBirthday {

public static void main(String[] args) {

Systemoutprintln("请输入您的姓名");

Scanner scN=new Scanner(Systemin);

String name=scNnext();

Systemoutprintln("请输入生日的年:");

Scanner scY=new Scanner(Systemin);

int year=scYnextInt();

Systemoutprintln("请输入生日的月:");

Scanner scM=new Scanner(Systemin);

int month=scMnextInt();

Systemoutprintln("请输入生日的日:");

Scanner scD=new Scanner(Systemin);

int day=scDnextInt();

Systemoutprintln("");

Systemoutprintln("您的姓名为:"+name+"长度:"+namelength());

Systemoutprintln("生日的年是:"+(isLeapYear(year)"闰年":"平年"));

Systemoutprintln("生日的月是:"+getMonth(month));

Systemoutprintln("生日的天是:"+(day%2==0"偶数":"奇数"));

}

public static String getMonth(int m)

{

String months[]={"January","February","March","April","May","June",

"July","August","September","October","November","Decemeber"};

return months[m-1];

}

public static boolean isLeapYear(int y)

{

if(y%400 == 0 ||(y%4 == 0 && y%100 != 0))

{

return true;

}

return false;

}

}

输出:

请输入您的姓名

MaYaHoo

请输入生日的年:

2012

请输入生日的月:

12

请输入生日的日:

12

您的姓名为:MaYaHoo长度:7

生日的年是:闰年

生日的月是:Decemeber

生日的天是:偶数

我加的import javautilDate;和你老师说的import javautil;一样,那我改成你那种把

我写的应该是最简单的了,里面还写了很多注释,你可以看看,其实你新学习,坑农是看这些东西有点眼晕,别晕,其实都是很简单的,JAVA的最大特点就是他有很多别人写好的东西,调用就可以了,你不认识的就当是调用了

import javautil;

import javaxswingJOptionPane;

public class Test93 {

public static void main(String[] args) {

Systemoutprintln("我行我素购物管理系统>生日问候");

//这是一个死循环,需要后面的break跳出

while (true) {

Date dt = new Date();

//dt就是获得的当前系统信息,下面用date的分别取今天的月份和日子

//注意月份要加1

//这里用Calendar会更好,但是貌似你要用date

int month = dtgetMonth() + 1;

int date = dtgetDate();

//用对话框提示用户,并得到用户的输入

String id = JOptionPaneshowInputDialog(null, "请输入您的会员编号:");

String str = JOptionPaneshowInputDialog(null, "请输入您的生日:");

String month2 = strsubstring(0, 2);

String date2 = strsubstring(3, 5);

//转换得到的字符串,和月份,日子分别比较

if (month == (IntegerparseInt(month2))

&& date == (IntegerparseInt(date2))) {

//一致就通知获奖,并结束程序

Systemoutprintln("第一个产生的寿星为:"+id+" 获赠一个三星手机");

break;

} else {

//不一致继续循环

Systemoutprintln("今天不是您的生日");

String str2 = JOptionPaneshowInputDialog(null, "继续Y/N?");

//如果用户输入N则系统结束,大写小写N都可以

if ("N"equals(str2) || "n"equals(str2)) {

break;

}

}

}

}

}

最后再不愁一句,你把这个格式给修修,比如缩进什么的会更清晰,可以用eclipse 的ctrl+shift+f的快捷键

呵呵加油

import javautilCalendar;

import javautilScanner;

import javautilconcurrentTimeUnit;

/

Title: Test03java<br>

Description:

@author 王凯芳

@date 2020年3月5日 下午6:03:04

@version 10

@request 编写一个方法能计算任何一个人今天离他最近下一次生日还有多少天,然后在主方法(main方法)中输入你的出生年月日,调用该方法的计算结果并输出信息“某某同学离自己最近下一次生日x天”。

/

public class Test03 {

public static void main(String[] args) {

Scanner sc = new Scanner(Systemin);

Systemoutprintln("请输入你的姓名:");

String name = scnextLine();

Systemoutprintln("请输入你的生日,格式为(2000/01/01):");

String line = scnextLine();

String[] strs = linesplit("/");

if (strslength == 3) {

int days = getDays(strs[0], strs[1], strs[2]);

if (days == 0) {

Systemoutprintln(Stringformat("%s 同学,今天是你的生日,祝你生日快乐(#^^#)", name, days));

} else {

Systemoutprintln(Stringformat("%s 同学离自己最近下一次生日%d天。", name, days));

}

} else {

Systemoutprintln("生日输入不正确!请按格式输入。");

}

scclose();

}

/

获取最近一次生日天数

@param year

@param month

@param day

@return

/

public static int getDays(String year, String month, String day) {

Calendar now = CalendargetInstance();

nowset(CalendarHOUR_OF_DAY, 0);

nowset(CalendarMINUTE, 0);

nowset(CalendarSECOND, 0);

nowset(CalendarMILLISECOND, 0);

int now_year = nowget(CalendarYEAR);

Calendar birthday = CalendargetInstance();

birthdayset(CalendarYEAR, now_year);

birthdayset(CalendarMONTH, IntegerparseInt(month) - 1);

birthdayset(CalendarDAY_OF_MONTH, IntegerparseInt(day));

birthdayset(CalendarHOUR_OF_DAY, 0);

birthdayset(CalendarMINUTE, 0);

birthdayset(CalendarSECOND, 0);

birthdayset(CalendarMILLISECOND, 0);

long diff = nowgetTimeInMillis() - birthdaygetTimeInMillis();

if (diff == 0) {

return 0;

} else if (diff < 0) {

long diffDays = TimeUnitDAYSconvert(diff, TimeUnitMILLISECONDS);

return Mathabs((int) diffDays);

} else {

birthdayadd(CalendarYEAR, 1);

long diffMi = birthdaygetTimeInMillis() - nowgetTimeInMillis();

long diffDays = TimeUnitDAYSconvert(diffMi, TimeUnitMILLISECONDS);

return (int) diffDays;

}

}

}

这个得用Calendar类

首先获取现在的日期 Calendar mycalendar=CalendargetInstance();//获取现在时间

String 年=StringvalueOf(mycalendarget(CalendarYEAR));//获取年份

// 用文本框输入年龄

int age=text1getText()parseInt();

int birth=年parseInt()-age;

Systemoutprintln("birth"年出生);

Scanner scanner = new Scanner(Systemin);

String birthday = scannernextLine();

SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");

//把字符串转换成Date格式

Date day1 = format1parse(day);

注意输入的格式为yyyy-MM-dd

获得生日是一年当中的第几天

今天是一年当中的第几天Stringformat("%tj", new Date())

以上就是关于如何写java代码:由用户输入自己的生日,距离今天已过多少天或者还有多少天全部的内容,包括:如何写java代码:由用户输入自己的生日,距离今天已过多少天或者还有多少天、设计一个JAVA程序myBirthday类的要求得到用户名字的长度,和关于生日的年月日的信息、用简单java循环实现生日问候等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10138765.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存