Eclipse IDE Java环境下Else语句报语法错误无法运行问题求助
Java中else关键字编译报错排查
问题出现原因
- 直接原因:if分支未使用花括号包裹多行执行语句。Java语法规定,若if/else结构不写花括号,仅能关联紧随其后的1条语句。你的代码中if后写了2条打印语句,第一条归属于if分支,第二条是独立于条件判断的全局语句,导致后续else找不到配对的if,触发语法错误。
- 隐藏逻辑问题:字符串内容相等判断误用
==运算符。==用于引用类型时比较的是对象的内存地址,你通过Scanner输入的两个内容相同的字符串属于不同对象,用==判断会始终返回false,无法正确校验密码是否一致。
解决方法
按照语法规范给if/else分支加上花括号包裹执行语句,同时替换字符串相等判断逻辑为equals方法,修正后的代码如下:
import java.util.Scanner; public class Question4 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Welcome to the secret secret and secure notepad!"); System.out.println("What is your name?"); String name = input.next(); System.out.println("Please enter a password:"); String password = input.next(); System.out.println("Please confirm password: "); String confirmpassword = input.next(); if (password.equals(confirmpassword)) { System.out.println("Your password has been set. Now entering your Notepad!"); System.out.println("Here are your notes"); } else { System.out.println("Passwords do not match! Error Code 1"); } input.close(); } }
内容的提问来源于stack exchange,提问作者Boomer_Jesus
相关产品推荐
相关产品推荐

