为什么这个java代码不返回任何输出?

为什么这个java代码不返回任何输出?,java,Java,这是一个测验题。该问题询问运行此代码时给出了什么输出。我不明白为什么什么都得不到输出。有人能解释一下吗?我对if/else的理解是,如果if语句失败,else语句将运行。为什么else语句不运行 守则: int age = 10; char registered = 'n'; if(age >= 18) { if(registered == 'y') { System.out.println("You can vote!"); } else { System.ou

这是一个测验题。该问题询问运行此代码时给出了什么输出。我不明白为什么什么都得不到输出。有人能解释一下吗?我对if/else的理解是,如果if语句失败,else语句将运行。为什么else语句不运行

守则:

int age = 10;
char registered = 'n';

if(age >= 18) {
    if(registered == 'y') {
    System.out.println("You can vote!");
}
else {
    System.out.println("You're not old enough");}
}
因为这是您的实际代码(正确缩进):

age
小于
18
,因此如果执行
-语句,则最外层的
中没有任何内容


(老实说,我认为这是一个糟糕的问答题。它只不过是带括号的把戏——它并不能真正测试你的Java知识。)

正确缩进代码,你就会意识到如果
age<18
变量age的值为10,然后,它不满足第一个if条件if(age>=18),代码的所有其余部分都在该条件的真分支内。

它位于倒数第二行的末尾,因为
age
不大于18?
if (age >= 18) {
    if (registered == 'y') {
        System.out.println("You can vote!");
    }
    else {
        System.out.println("You're not old enough");
    }
}