正在弄一个JAVA的程序 万年历的

调用了Scanner当用户输入的月份大于12的时候就会提示用户重新输入月份Scannerin=newScanner(System.in);intmon=in.nextIn... 调用了Scanner当用户输入的月份大于12的时候就会提示用户重新输入月份Scanner in=new Scanner(System.in);int mon=in.nextInt();while(mon>12){ System.out.println("请输入正确的月份");}然后就会陷入死循环,我想让用户重新输入一个月份,当mon<=12的时候,才会继续往下运行代码,当mon>12,还会进入while循环。不知道怎么弄了,怎么弄才会实现我的要求。财富值不够了 ,抱歉 展开
 我来答
不落的太阳Sean
2016-12-13 · TA获得超过281个赞
知道小有建树答主
回答量:220
采纳率:0%
帮助的人:179万
展开全部
import java.util.*;

public class Test {

public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(true) {
System.out.println("请输入查询的年份");
int year = scanner.nextInt();
System.out.println("请输入要查询的月份");
int month = scanner.nextInt();
if(month >12 || month <1) {
System.out.println("请输入正确的月份");
continue;
}

int sum=0;
for(int x = 1900; x<=year; x++) {
 if(year%4==0&&year%100!=0||year%400==0) {
sum+=366;
} else {
sum +=365;
}
}
System.out.println("从1900到" + year + "共有" + sum + "天");


}
}
追问
你的这个格式是怎么弄出来的,我看别人都是代码,你这个还有个外框存在,制表位也存在。怎么弄的
追答
回答的时候选择代码,然后选择Java,把代码拷贝到里面就好
匿名用户
2016-12-13
展开全部
while(true){
Scanner min = new Scanner(System.in);
if(mon>10 || mon<1 ){
System.out.println("请输入正确的月份");
continue;
}
break;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
潜藏的卑微
2016-12-13 · TA获得超过246个赞
知道小有建树答主
回答量:335
采纳率:53%
帮助的人:189万
展开全部
新增一个boolean类型的开关,具体代码如下:boolean flag = false;
while(flag){
if(month>12||month<1){
System.out.println("请输入正确的月份:")
int month = in.nextInt();
}else{
flag = true;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式