需求:验证用户名和密码是否正确,如果不正确分别给出提示。
假设用户名为 lily,密码为 gotit,代码如下:
import java.util.Scanner;
public class Login {
public static void main(String args[]){
System.out.println("Please input your username: ");
Scanner scan = new Scanner(System.in);
String user = scan.nextLine();
System.out.println("Please input your password: ");
String pwd = scan.nextLine();
if(!user.equals("lily")){
System.out.println("The username is invalid, please input again!");
}else if(!pwd.equals("gotit")){
System.out.println("The password is invalid, please input again!");
}else
System.out.println("Congratulation! You've login!");
}
}
关键知识点:
1. Scanner 类的 nextLine() 方法和 next() 方法
next():
- 以空格为结束符,一定要读取到有效字符后才可以结束输入
- 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
- 不能得到带有空格的字符串
nextLine():
- 以 Enter 为结束符,也就是说它返回的是输入回车之前的所有字符
- 可以得到带有空格的字符串
2. equals() 方法
- 字符串是引用类型的对象,必须用 equals() 方法比较两个字符串的内容是否相等
- == 是用于比较基本数据类型是否相等,及引用类型的地址是否相等