此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编程很陌生。是的,它确实有效,因为我引用它,它只在我尝试使用扫描仪时停止工作。答案 0 :(得分:1)
我声明扫描仪的方式是错误的,还是我不能将扫描仪与扫描仪结合使用?
Scanner
声明似乎是正确的。不,没有限制禁止同时使用Java标准库的任何两个部分。因此,完全可以同时使用Map
和Scanner
。
目前,SO社区的最佳猜测是您正在使用具有内置控制台窗口/视图的IDE(如eclipse)。在此假设下,假设您希望打开黑色终端/ cmd窗口,但在大多数IDE中,情况并非如此。在eclipse中,“控制台视图”是您进行输入的地方。在Netbeans中,这将是输出窗口。