这个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");
}
}
我遇到的问题是,当我将“//”更改为字符串密码和电子邮件,并尝试使用我包含在程序中的扫描器时,“运行”程序,但控制台窗口不会出现,我必须强制停止程序以停止运行。在此处使用它时,它完美地工作。 以前我有一个与静态和非静态变量相关的扫描器错误。我已经查找了它们并尝试使用实例变量,但收效甚微。我声明扫描仪的方式是否错误,或者我不能在Mapping中同时使用扫描仪?
编辑:我目前正在使用Mac上的BlueJ,因为我对java编程还比较新。是的,它按照我引用的方式工作,只有在我尝试使用扫描器时才停止工作。
main
函数让我有所疑虑。 - Tim Bendermain
方法,它能在有注释的情况下运行吗?你是如何运行程序的?我认为你需要将你的方法重命名为public static void main(String[] args) throws Exception {
。 - Yogendra Singh