import java.util.Scanner;
public class SystemLogin {
public static void main(String[] args) {
String username, name = "李四";
int userpwd, pwd = 111111;
Scanner rd = new Scanner(System.in);
for (int i = 1; i <= 3; i++) {
System.out.println("请输入你的用户名");
username = rd.next();
System.out.println("请输入你的密码");
userpwd = rd.nextInt();
if (!username.equals(name) || userpwd != pwd) {
System.out.println("登录失败,还有 " + (3 - i) + " 次机会");
} else {
System.out.println("登录成功");
break;
}
}
}
}
让我们逐行解释你提供的Java代码:
1.
import java.util.Scanner;
这行代码导入了Java的
Scanner
类,该类用于从控制台读取用户输入。
2.
String username, name = "李四";
int userpwd, pwd = 111111;
在这里声明了两个字符串变量
username
和name
,并给name
赋了初值"李四"。在这里声明了两个整数变量
userpwd
和pwd
,并给pwd
赋了初值111111。
3.
Scanner rd = new Scanner(System.in);
创建了一个
Scanner
对象rd
,用于从控制台读取用户输入。
4.
username = rd.next();
userpwd = rd.nextInt();
使用
Scanner
对象rd
的next()
方法从控制台读取用户输入的用户名,并将其赋值给变量username
。使用
Scanner
对象rd
的nextInt()
方法从控制台读取用户输入的密码,并将其赋值给变量userpwd
。
5.
for (int i = 1; i <= 3; i++) {
这是一个for循环,循环条件是
i
从1开始,每次递增1,循环直到i
等于3。
if (!username.equals(name) || userpwd != pwd) { System.out.println("登录失败"); }
在循环中使用条件判断,如果输入的用户名不等于预设的用户名或者输入的密码不等于预设的密码,就打印输出"登录失败",再次进行循环直到成功或达到次数限制。
注:
在 Java 中,字符串比较应该使用 equals()
方法而不是 ==
运算符。条件判断语句为 if (!username.equals(name) || userpwd != pwd),而不是username !=name || userpwd != pwd