Java扫描器无法工作

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");
    }

}

我遇到的问题是,当我将“//”更改为字符串密码和电子邮件,并尝试使用我包含在程序中的扫描器时,“运行”程序,但控制台窗口不会出现,我必须强制停止程序以停止运行。在此处使用它时,它完美地工作。 以前我有一个与静态和非静态变量相关的扫描器错误。我已经查找了它们并尝试使用实例变量,但收效甚微。我声明扫描仪的方式是否错误,或者我不能在Mapping中同时使用扫描仪?
编辑:我目前正在使用Mac上的BlueJ,因为我对java编程还比较新。是的,它按照我引用的方式工作,只有在我尝试使用扫描器时才停止工作。

2
那么,如果这个答案对你有用,为什么你至少没有在你的原始问题中接受它呢? - ShyJ
1
程序入口缺少main函数让我有所疑虑。 - Tim Bender
1
当前发布的代码中没有main方法,它能在有注释的情况下运行吗?你是如何运行程序的?我认为你需要将你的方法重命名为public static void main(String[] args) throws Exception { - Yogendra Singh
1
我现在已经完成了,对于任何问题我很抱歉,因为我还是stackoverflow的新手。另外,yogendra它可以与注释一起完美地工作,就像我发布的那样,将其更改为“main”也没有任何区别,它仍然有效。虽然如果我尝试在将其设置为主方法时使用扫描仪,它只会执行与“运行”相同的操作。 - Cooke1007
1
你是否在使用Eclipse时,控制台窗口没有显示出来?如果你有一个正确的main方法,在这种情况下只需从菜单中选择Window > Show View > Console ... 然后你就可以在其中输入你的字符串了。 - das_weezul
正如其他人所述:你如何运行它?因为我们找不到“main”方法。 - jlordo
1个回答

1

我声明扫描仪的方式有问题吗?还是说我不能在扫描仪中使用映射?

Scanner 的声明似乎是正确的。不,没有任何限制禁止同时使用 Java 标准库的任何两个部分。因此,在使用 MapScanner 时完全没有问题。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接