Java 我无法在此程序中使用all if语句
我无法在整个程序中使用if语句,即在公共程序中使用一个if语句,在case语句帮助中使用另一个if语句 我想让程序打印整个日期,如果没有错误或者只是错误,我怎么做Java 我无法在此程序中使用all if语句,java,variables,loops,Java,Variables,Loops,我无法在整个程序中使用if语句,即在公共程序中使用一个if语句,在case语句帮助中使用另一个if语句 我想让程序打印整个日期,如果没有错误或者只是错误,我怎么做 public class date { public static void main(String[] args) { Scanner kbd = new Scanner(System.in); boolean yn = true; boolean bn = true;
public class date {
public static void main(String[] args) {
Scanner kbd = new Scanner(System.in);
boolean yn = true;
boolean bn = true;
int date,
month,
year;
System.out.println("Date:");
date = kbd.nextInt();
System.out.println("month:");
month = kbd.nextInt();
System.out.println("year:");
year = kbd.nextInt();
if (date < 0 && date > 32) {
System.out.println("**Error** invalid day value ");
}
while (yn) {
System.out.println("**error** invalid month value");
month = kbd.nextInt();
switch (month) {
case 1:
System.out.println("January");
yn = false;
break;
case 2:
if (date < 0 && date > 30) {
System.out.println("**Error** February has only 29 days ");
}
yn = false;
break;
case 3:
System.out.println("March");
yn = false;
break;
case 4:
System.out.println("April");
yn = false;
break;
case 5:
System.out.println("May");
yn = false;
break;
case 6:
System.out.println("June");
yn = false;
break;
case 7:
System.out.println("July");
yn = false;
break;
case 8:
System.out.println("August");
yn = false;
break;
case 9:
System.out.println("September");
yn = false;
break;
case 10:
System.out.println("October");
yn = false;
break;
case 11:
System.out.println("November");
yn = false;
break;
case 12:
System.out.println("December");
yn = false;
break;
default:
System.out.println("Invalid month");
yn = true;
break;
}
}
}
}
公开课日期{
公共静态void main(字符串[]args){
扫描仪kbd=新扫描仪(System.in);
布尔值yn=真;
布尔bn=真;
国际日期,
月
年
System.out.println(“日期:”);
日期=kbd.nextInt();
System.out.println(“月:”);
月份=kbd.nextInt();
系统输出打印项次(“年:”;
年份=kbd.nextInt();
如果(日期<0&&date>32){
System.out.println(“**错误**无效日值”);
}
while(yn){
System.out.println(“**错误**无效月值”);
月份=kbd.nextInt();
开关(月){
案例1:
System.out.println(“一月”);
yn=假;
打破
案例2:
如果(日期<0&&日期>30){
System.out.println(“**错误**二月只有29天”);
}
yn=假;
打破
案例3:
系统输出打印号(“三月”);
yn=假;
打破
案例4:
System.out.println(“四月”);
yn=假;
打破
案例5:
系统输出打印号(“五月”);
yn=假;
打破
案例6:
System.out.println(“六月”);
yn=假;
打破
案例7:
System.out.println(“七月”);
yn=假;
打破
案例8:
系统输出打印号(“八月”);
yn=假;
打破
案例9:
系统输出打印号(“9月”);
yn=假;
打破
案例10:
System.out.println(“十月”);
yn=假;
打破
案例11:
系统输出打印号(“11月”);
yn=假;
打破
案例12:
系统输出打印号(“12月”);
yn=假;
打破
违约:
系统输出打印项次(“无效月份”);
yn=真;
打破
}
}
}
}
案例2:
如果(日期30){
System.out.println(“**错误**二月只有29天”);
}
根据您的代码,它应该满足两个条件(即30
)才能进入switch语句块
因此,应该是
(| |)或条件来显示案例2中的语句:
在您的条件下将和运算符(&&&
)更改为或运算符(|
)。另一方面,检查应包括0和32
if (date <= 0 || date >= 32){
System.out.println("**Error** invalid day value ");
}
if(日期=32){
System.out.println(“**错误**无效日值”);
}
&&
表示逻辑和。所以只有大小写表达式
condition1 && condition2
如果两个条件的计算结果均为true
,则可计算为true
。在其他情况下,如只有一个条件为true
,但另一个条件为false
,则整个表达式的计算结果为false
也许这张表有助于将其可视化(T
表示真,F
表示假)
因此,如果您的情况是if(data32)
fordata
即,您能给我显示一个32
的数字吗?也许你想消除32
(甚至可能是31)的数字?正如@locoyoui所指出的,你有一个语义错误,它使用了32以上0以下的任何数字,但没有显示出来error@user3443401认真地在32
上面同时在0
下面的数字是多少?还有一个,我如何通过用户正确的值或错误输出输出程序?我如何输入签名月份hve 30或31天?真值表仍然显示&&。
condition1 && condition2
p | q | p && q
---+---+-------
T | T | T
F | T | F
T | F | F
F | F | F
p | q | p || q
---+---+-------
T | T | T
F | T | T
T | F | T
F | F | F