此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编程比较陌生。是的,它确实像我引用的那样工作,只有当我尝试使用扫描仪时,它才会停止工作。
发布于 2012-11-14 22:44:16
是我声明扫描仪错误的方式,或者我不能将映射与扫描仪结合使用?
Scanner
声明似乎是正确的。不,没有限制禁止同时使用Java标准库的任何两个部分。因此,同时使用Map
和Scanner
是完全可以的。
目前,SO社区最好的猜测是您使用的是具有内置控制台窗口/视图的IDE (如eclipse)。在这个假设下,假设您期望打开一个黑色的终端/cmd窗口,但在大多数IDE中并非如此。在eclipse中,您将在“控制台视图”中进行输入。在Netbeans中,这将是输出窗口。
https://stackoverflow.com/questions/13388580
复制相似问题