Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我无法在此程序中使用all if语句_Java_Variables_Loops - Fatal编程技术网

Java 我无法在此程序中使用all 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;

我无法在整个程序中使用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;
        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)
for
data
,您能给我显示一个
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