题目是:
错误在:无法理解Scanner我并没有关闭,这里有两个测试结果集,不知道是不是程序默认关闭了Scanner但是重新输入这里new了一个Scanner,于是困扰了我好久,上网寻求答案!
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
for(int i=0;i<3;i++){
System.out.println("请输入登录名称和登录密码用&连接:");
String nameAndPassWord =sc.next();
// 2、判断用户输入的登录名称和密码与正确的内容是否相等。
boolean islogin = login(nameAndPassWord);
if (islogin) {
System.out.println("登录成功!");
break;
} else {
System.out.println("用户名或者密码错误了!");
}
}
}
// 需要在此方法,对参数进行字符串操作
// 参数 nameAndPassWord 中间使用'&'符号进行连接,例如:zhangsan&123456
// 判断账号和密码是否正确后返回 true 或者 false
public static boolean login(String nameAndPassWord){
// 1、正确登录名和密码
String okName = "itheima";
String okPassword = "123456";
/***************作答区域***************/
int c=0;
for(int i=0;i<nameAndPassWord.length();i++){
if(nameAndPassWord.charAt(i)=='&'){
c=i;
break;
}
}
String name=nameAndPassWord.substring(0,c);
String password=nameAndPassWord.substring(c+1);
if(name.equals(okName)&&password.equals(okPassword)){
return true;
}else {
return false;
}
/***************作答区域***************/
}
}