将if / else语句嵌套在另一个语句中会出现错误。

时间:2015-02-02 01:47:03

标签: java if-statement

我正在尝试在java中的第一个if / else语句中嵌入第二个if / else语句,但是继续得到一个错误语句,其中包含错误“else without if”。

if (m <= 5) {
        System.out.println("BF: 0 ");
        System.out.println("CF: 0");
        System.out.println("U: 0");
        System.out.println("T: 0"); 
    }
    else if (m > 5 <= 20) {
        int b = (m / 5 * 30);
        System.out.println("BF: " + b);
            if (CZ = yes); {
                int c = b * 2;
                System.out.println("CZF : " + c); 
                }
            else (CZ = no); {

                int c = 0;
                System.out.println("CZF: 0");
        } 
        int u = 0;
        System.out.println("UE: 0");
        System.out.println("T: " + b + c + u  ); 
    } 

2 个答案:

答案 0 :(得分:1)

if (CZ = yes); {有一个额外的“;”,结束if语句。

您的代码还有其他问题。例如,CZ = yes会将yes的值分配给CZ。如果它们是boolean类型,它仅作为if条件有效。

答案 1 :(得分:1)

您的代码存在许多问题:

  • else if (m > 5 <= 20) {应该是else if (m <= 20) {
  • if (CZ = yes); {有一个分号 - 它不应该
  • else (CZ = no); {有一个分号 - 它不应该
  • if (CZ = yes); {没有使用==进行布尔比较。将其更改为if (CZ == yes) {
  • else (CZ = no); {相同的比较问题

另外

  • System.out.println("T: " + b + c + u );将连接int s b, c, u的字符串版本(例如,如果它们都等于1,您将打印T: 111)。这是你想要的,还是你想要总结它们?如果是,请先将括号括在括号中:System.out.println("T: " + (b + c + u) );
  • if (CZ = yes); {是指一个名为yes的变量,您的意思是使用它还是字符串"yes"
  • else (CZ = no); {同样的问题 - 变量no