3

此 CSV 阅读器还通过使用地图工具检查电子邮件地址和密码的有效性。

import java.io.*;
import java.util.*;

public class CSVReaders{

public static void  run(String[] args) throws Exception {
    Map<String, String> emailPasswordMap = new HashMap<String, String> ();
    BufferedReader CSVFile =
        new BufferedReader(new FileReader("testa453.csv"));
    String dataRow = CSVFile.readLine();
    while (dataRow != null){
        String[] dataArray = dataRow.split(",");
        emailPasswordMap.put (dataArray[0], dataArray[1]);
        dataRow = CSVFile.readLine();
    }
    CSVFile.close();
    //Scanner in = new Scanner(System.in);
    //String email = in.nextLine();
    //String password = in.nextLine();
    String password = ("raj45");
    String email = ("rakhter@bluebell.org");
    if (password.equals (emailPasswordMap.get (email))) {
        System.out.println ("The entered email and password are valid");
    }
    else {
        System.out.println ("The entered email and password are invalid");
    }

}

}

我遇到的问题是,在运行时,当我将“//”更改为字符串密码和电子邮件并尝试使用包含程序“运行”但控制台窗口没有出现的扫描仪时,我必须强制停止程序以使其停止运行。虽然像我在这里展示的那样使用它,但它工作得很好。以前我在扫描仪上遇到与静态和非静态变量相关的错误。我查找了它们并尝试使用实例变量,但收效甚微。是我声明扫描仪错误的方式还是我不能将映射与扫描仪结合使用?

编辑:我目前在 Mac 上使用 BlueJ,因为我对 java 编程相当陌生。是的,正如我所引用的那样,它确实有效,只有当我尝试使用扫描仪时它才会停止工作。

4

1 回答 1

1

是我声明扫描仪错误的方式还是我不能将映射与扫描仪结合使用?

Scanner声明似乎是正确的。不,没有任何限制禁止同时使用 Java 标准库的任何两个部分。所以使用MapScanner一起使用是完全可以的。

目前,SO 社区的最佳猜测是您正在使用具有内置控制台窗口/视图的 IDE(如 eclipse)。在此假设下,假设您希望打开一个黑色终端/cmd 窗口,但在大多数 IDE 中并非如此。在 Eclipse 中,“控制台视图”是您进行输入的地方。在 Netbeans 中,这将是输出窗口。

于 2012-11-14T22:44:16.433 回答