急求一道JAVA题~!从键盘输入一个日期,计算150天后的年Y、月M、日D和星期E。

直接从键盘输入一个日期(字符串格式:yyyy年mm年dd),然后计算150天天后的年、月、日和星期。急需答案~~只是JAVA入门的一道题,不要写得太深奥看不懂哈~答案满意... 直接从键盘输入一个日期(字符串格式:yyyy年mm年dd),然后计算150天天后的年、月、日和星期。

急需答案~~只是JAVA入门的一道题,不要写得太深奥看不懂哈~ 答案满意另加悬赏!
展开
 我来答
syb426
2011-05-01 · 超过14用户采纳过TA的回答
知道答主
回答量:18
采纳率:0%
帮助的人:39.9万
展开全部

import java.util.*;

import java.text.*;

public class Dateceshi{

 public static void main(String[] args){

  Scanner sc = new Scanner(System.in);

  boolean flag = true ;

  SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");

  while(flag){

   System.out.println("输入日期格式为yyyy年MM月dd日,输入@退出");

   String str = sc.nextLine();

   if(!"@".equals(str)){

   try{

    Date d = sdf.parse(str);

    Calendar cd = Calendar.getInstance();

    cd.setTime(d);

    cd.add(Calendar.DAY_OF_YEAR ,150);

    int year = cd.get(cd.YEAR);

    int month = cd.get(cd.MONTH)+1;

    int day_of_month = cd.get(cd.DAY_OF_MONTH);

    int day_of_week = cd.get(cd.DAY_OF_WEEK) - 1 ;

    if(day_of_week==0){

     day_of_week += 7 ;

    }

    System.out.println("150天后: "+year+"年"+month+"月"+day_of_month+"日 星期"+day_of_week);

   }catch(Exception e){

    System.out.println("输入格式不正确!");

   }

  }else{

       flag = false;

  }

  }

 }

}

意法半导体(中国)投资有限公司
2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
老冯文库
推荐于2021-01-09 · 知道合伙人软件行家
老冯文库
知道合伙人软件行家
采纳数:1139 获赞数:8737

向TA提问 私信TA
展开全部
import java.util.*;

public class Test {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Date now;
int year, month, day;

System.out.print("请输入一个日期(yyyy-mm-dd):");
try{
String temp = scan.next();
year = Integer.parseInt(temp.substring(0,4)); //临到4位年
month = Integer.parseInt(temp.substring(5,7)); //得到2位月
day = Integer.parseInt(temp.substring(8,10)); //得到2位天
now = new Date(year-1900, month-1, day); //构造日期对象

day = now.getDate() + 150; //增加150天
now = new Date(now.getYear(), now.getMonth(), day); //重新构造新的日期对象

System.out.println("150天以后:" + now.toLocaleString());
}
catch(Exception e){
e.printStackTrace();
}
}
}

需要注意的是,输入日期必须采用类似“2011-05-01”的格式,月份和天数必须为两位,如果只有一位,则左边补零;年份必须是4位。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式