编写一个Java应用程序,用户从输入对话框输入两个日期,程序将判断两个日期的大小关系以及间隔天数

一道JAVA编程题~

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
* 编写一个Java应用程序,当用户在输入对话框中输入两个日期后(日期格式为YYYYMMDD,
* 如1999年1月12日应输入为19990112),程序将判断两个日期的先后顺序,
* 以及两个日期之间的间隔天数(例如1999年1月1日和1999年1月2日之间的间隔是1天)。
*
* @author Administrator
*/
public class DateManipulation {
public static void main(String[] args ) {
BufferedReader in = null;

try {
// user input Date
SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd");
in = new BufferedReader(new InputStreamReader(System.in));
String dateStr = in.readLine();
Date udate = sf.parse(dateStr);

// Current Date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy:MM:dd HH:mm:ss");
Calendar cal = Calendar.getInstance();
Date curr = cal.getTime();

StringBuilder msg = new StringBuilder();

if (udate.before(curr))
msg.append("在本日之前: ");
else if (udate.after(curr))
msg.append("在本日之后");

System.out.println(msg.append(compareDate(udate, curr)));
}
catch (Exception e) {
e.printStackTrace();
}
finally {
try {
if (in != null)
in.close();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}

private static int compareDate(Date one , Date two ) {
return (one.getYear() - two.getYear()) * 365 + (one.getMonth() - two.getMonth()) * 30 + one.getDay() - two.getDay();
}
}

最简陋的版本...

public class Test
{

public static void main(String[] args) {
int n1 = Integer.parseInt(JOptionPane.showInputDialog("Input number 1: "));
int n2 = Integer.parseInt(JOptionPane.showInputDialog("Input number 1: "));

JOptionPane.showMessageDialog(null, "sum: " + (n1 + n2)
+ "
" + "difference: " + (n1 - n2));
}
}

public static int getDaysBetween (String beginDate, String endDate) throws ParseException
{
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date bDate = format.parse(beginDate);
Date eDate = format.parse(endDate);
Calendar d1 = new GregorianCalendar();
d1.setTime(bDate);
Calendar d2 = new GregorianCalendar();
d2.setTime(eDate);
int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR);
int y2 = d2.get(Calendar.YEAR);
if (d1.get(Calendar.YEAR) != y2)
{
d1 = (Calendar) d1.clone();
do {
days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);//得到当年的实际天数
d1.add(Calendar.YEAR, 1);
} while (d1.get(Calendar.YEAR) != y2);
}
return days;
}

我写给你吧

Calendar calendar= Calendar.getInstance(); //初始化日历对象
calendar.set(Calendar.YEAR, yearOne);//将Calendar的时间设置为yearOne年
calendar.set(Calendar.DATE, monthOne);
calendar.set(Calendar.DATE, dayOne);//monthOne月dayOne日
long timeOne= calendar.getTimeInMillis();//将Calendar表示的时间转换成毫秒

calendar.set(Calendar.YEAR, yearTwo);//将calendar的时间设置为yearTwo年
calendar.set(Calendar.DATE, monthTwo);
calendar.set(Calendar.DATE, dayTwo);//monthTwo月dayTwo日
long timeTwo= calendar.getTimeInMillis();//将Calendar表示的时间转换成毫秒
Date date1= new Date(timeOne);//用timeOne作参数构造date1
Date date2= new Date(timeTwo);//用timeTwo作参数构造date2
if(date2.equals(date1))
{System.out.println("两个日期的年、月、日完全相同");}
else if (date2.after(date1))
{System.out.println("你输入的第二个日期大于第一个日期");}
else if (date2.before(date1))
{System.out.println("你输入的第二个日期小于第一个日期");}
long days= (timeTwo - timeOne) / (long)(24*60*60); //计算两日期相隔天数

最后这里(long)(24*60*60); 记得要cast为long,不然出来的数字很搞笑得

。使用JAVA编写一个程序求出一个整数的所有因子的和
答:以下是一个使用Java编写的程序,用于求出一个整数的所有因子的和:在这个程序中,首先从用户那里获取一个整数输入。然后,使用一个循环来遍历从1到该整数的所有整数。对于每个整数,如果它是该整数的因子(即该整数除以该整数的余数为0),则将该整数加到总和中。最后,输出所有因子的和。例如,如果用户...

编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类 E...
答:public class Program { static void Main(string[] args) { Monkey monkey = new Monkey(); monkey.Speak(); People people = new People(); people.Speak(); people.Think(); } public class Monkey { public Monkey(string s) { } public M...

在java中编写程序,定义一个学生类
答:import java.util.ArrayList;import java.util.List;/ 编写一个Java应用程序,该程序包括3个类:定义一个学生类,Student有姓名,学号,选学的课程列表 定义一个课程类:课程名称,课程分数 (1)初始化一个学生,选择了三门课程,并添加到学生的属性中 (2)实现统计学生的总分功能 1.正确编写2个类(5...

编写java程序
答:import java.util.*;public class Test{ public static void main(String[] args){ Scanner scan=new Scanner(System.in); System.out.println("请输入一个整数"); int x=scan.nextInt(); int y=0; if(x<0) y=-1+2*x; else if(x==0) y=-1; else...

java编写一个窗体应用程序,在窗体中安排两个文本框,一个标签,两个标记...
答:按照你的要求编写的Java程序如下:import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JTextField;public class Calculate...

编写一个java应用程序
答:public class Composit { / 插入排序法,把无序数组里的一个数插入有序数组中 即插入前半截有序序列。/ public void insertSort(int a[]){ for(int i=1;i=0 && insertVal<a[index]){ //将插入位的数后移 a[index+1]=a[index];//坐标迁移 index--;} //插入到合适位置 a[index+1]...

如何编译运行一个简单的java程序
答:通常开发一个java应用程序可分为三个步骤:1.创建一个带有文件扩展名 *.java 的源文件 1).使用编辑器(如记事本,小编使用的是notepad++),输入以下6行文本:1 //一个简单的application例子:打印一行文本 2 class Hello { 3 public static void main (String args[]){ 4 System.out.println(...

编写一个Java应用程序,从键盘输入若干个正整数,如果输入为负数,抛掷自...
答:创建一个类Example,有一个String 型参数的方法---check() ,该方法用来检查参数中是否包含英文字母以外的字符。如果包含,则抛出一个MyException异常。/ public class TestThrowsException2 { public void check(String str) { char temp = ' ';for (int i = 0; i < str.length(); i++) { ...

如何用Java编写一个绘制图形的小程序?
答:import java.awt.*;import java.awt.event.*;import java.awt.geom.*;import javax.swing.*;//不规则图形的绘制public class IrregularShapeDemo extends JFrame {GeneralPath gPath= new GeneralPath(); //GeneralPath对象实例Point aPoint;//构造函数public IrregularShapeDemo() {super("不规则图形的绘制"); /...

用JAVA编写一个程序,要求如下:
答:import java.util.Scanner;public class StudentTest {public static void main(String[] args) {Student student = new Student();Scanner sc = new Scanner(System.in);System.out.println("请输入姓名:");student.setName(sc.next());System.out.println("请输入性别:");student.setSex(sc....

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网