正在弄一个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循环。不知道怎么弄了,怎么弄才会实现我的要求。财富值不够了 ,抱歉
展开
3个回答
展开全部
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;
}
Scanner min = new Scanner(System.in);
if(mon>10 || mon<1 ){
System.out.println("请输入正确的月份");
continue;
}
break;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
新增一个boolean类型的开关,具体代码如下:boolean flag = false;
while(flag){
if(month>12||month<1){
System.out.println("请输入正确的月份:")
int month = in.nextInt();
}else{
flag = true;
}
}
while(flag){
if(month>12||month<1){
System.out.println("请输入正确的月份:")
int month = in.nextInt();
}else{
flag = true;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询