import java.util.Scanner;
public class Cond {
static ScannerClass usrID, pwdd;
static String pass = "123456";
static String usr = "ABCD";
public static void main(String[] args) {
System.out.println("Enter UserID: ");
usrID = new ScannerClass();
usrID.main();
String o = usrID.toString();
System.out.println("Enter password: ");
pwdd = new ScannerClass();
pwdd.main1();
String t = pwdd.toString();
if ((usr.equals(o)) && (pass.equals(t))) {
System.out.println("You are logged in!");
}
else {
System.out.println(("Please enter correct credentials"));
}
}
}
我做了一个单独的课程:
import java.util.Scanner;
public class ScannerClass {
static Scanner sc = new Scanner(System.in);
public void main(){
String UserID = sc.nextLine();
}
public void main1(){
String pwd = sc.nextLine();
}
}
代码没有像我预期的那样重新运行。这就是问题所在:
输入用户ID: A B C D 输入密码: 123456 请输入正确的凭据
我尝试使用 toString() 转换 Scanner 类,我在 innt 上找到了这个,但它不起作用,正如您在上面的结果中看到的那样。我是初学者,但我尝试了太多次,但似乎不起作用所以我犯了什么错误,我将非常感谢帮助。
main
内部的方法ScannerClass
从用户读取数据,用其内容创建一个局部变量并丢弃该变量。方法中的第一个更改是返回局部变量,以便您可以在其他地方访问它:
public class ScannerClass {
static Scanner sc = new Scanner(System.in);
public String getUserId(){
String UserID = sc.nextLine();
return UserID;
}
public void getPassword(){
String pwd = sc.nextLine();
return pwd;
}
}
然后,在您的
Cond
main 方法中,您可以执行以下操作
System.out.println("Enter UserID: ");
ScannerClass scanner = new ScannerClass();
String usrID = scanner.getUserId();
System.out.println("Enter password: ");
String pwd = scanner.getPassword();
if ((usr.equals(usrID)) && (pass.equals(pwd))) {
System.out.println("You are logged in!");
} else {
System.out.println(("Please enter correct credentials"));
}