如何将 Scanner 类转换为字符串?

问题描述 投票:0回答:1
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 上找到了这个,但它不起作用,正如您在上面的结果中看到的那样。我是初学者,但我尝试了太多次,但似乎不起作用所以我犯了什么错误,我将非常感谢帮助。

java java.util.scanner
1个回答
0
投票

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"));
}
© www.soinside.com 2019 - 2024. All rights reserved.