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

}

}

私が得ている問題は、実行時に「//」を文字列のパスワードと電子メールに変更し、プログラム「実行」を含めたスキャナーを使用しようとすると、コンソールウィンドウが表示されないため、プログラムの実行を停止するには、プログラムを強制的に停止します。私がここに示したようにそれを使用している間、それは完全に機能します。以前、静的変数と非静的変数に関連するスキャナーでエラーが発生しました。私はそれらを調べてインスタンス変数を使おうとしましたが、ほとんど成功しませんでした。スキャナーを宣言する方法が間違っていますか、それともスキャナーと組み合わせてマッピングを使用できませんか?

編集:私はJavaプログラミングにかなり慣れていないので、現在MacでBlueJを使用しています。そして、はい、私が引用したように動作します。スキャナーを使おうとすると動作を停止します。

4

1 に答える 1

1

スキャナーを宣言する方法が間違っていますか、それともスキャナーと組み合わせてマッピングを使用できませんか?

Scanner宣言は正しいようです。いいえ、Java標準ライブラリの任意の2つの部分を同時に使用することを禁止する制限はありません。Mapですから、Scanner一緒に使っても大丈夫です。

現在、SOコミュニティの最善の推測は、コンソールウィンドウ/ビューが組み込まれているIDE(eclipseなど)を使用していることです。この仮定の下では、黒いターミナル/ cmdウィンドウが開くと想定されていますが、ほとんどのIDEではそうではありません。Eclipseでは、「コンソールビュー」で入力を行います。Netbeansでは、これが出力ウィンドウになります。

于 2012-11-14T22:44:16.433 に答える