Stack Overflow的Hello用户
(快速信息:我使用Eclipse 2018-09,我使用Java 8)
我对自己的编码有疑问。 (Java 8)有点过时了,但是我要问的是为什么我的编码用红色下划线。
import javax.swing.JOptionPane;
package log;
public class Login {
public static void main(String args[]) {
String username = JOptionPane.showInputDialog("Enter your username");
String password = JOptionPane.showInputDialog("Enter your password");
if (
username != null && password != null &&
(
(username.equals("gkic17") && password.equals("irena46")) ||
(username.equals("dm") && password.equals("me21mar")) ||
(username.equals("citizenzap") && password.equals("guestboy19"))
)
)
{
JOptionPane.showMessageDialog(null, "Logged in!" );
} else {
JOptionPane.showMessageDialog(null, "Incorrect username or password! Try again later." );
}
}
}
在package log;
的开头,带红色下划线。这是错误。
控制台错误
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
at log.Login.main(Login.java:7)
IDE上的错误
Syntax error on token "package", import expected
(不过,我不确定该导入什么内容)
谢谢, CitizenZap
答案 0 :(得分:1)
package语句(例如,包图形;)必须为 源文件的第一行。只能有一个包装声明 在每个源文件中,并且适用于文件中的所有类型。
因此您的代码应为:
package log;
import javax.swing.JOptionPane;
public class Login {
public static void main(String args[]) {
String username = JOptionPane.showInputDialog("Enter your username");
String password = JOptionPane.showInputDialog("Enter your password");
if (username != null && password != null
&& ((username.equals("gkic17") && password.equals("irena46"))
|| (username.equals("dm") && password.equals("me21mar"))
|| (username.equals("citizenzap") && password.equals("guestboy19")))) {
JOptionPane.showMessageDialog(null, "Logged in!");
} else {
JOptionPane.showMessageDialog(null, "Incorrect username or password! Try again later.");
}
}
}
注意:请注意code style guide,您的代码将更易于阅读和维护