2012-11-14 60 views
3

這個CSV讀者也通過使用地圖工具的檢查電子郵件地址和密碼的有效性。Java的掃描儀無法正常工作

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 = ("[email protected]"); 
    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

所以,如果你的作品你爲什麼不至少接受了您的[原創提問]答案(http://stackoverflow.com/questions/13369105/how-to-validate-inputted-data-from-該備份數上帶有一個-CSV - 沒有-A-目的-b/13369184)? – ShyJ

+1

缺少程序入口的'main'功能讓我懷疑。 –

+1

由於沒有'main'方法,它是否與(當前發佈的代碼)上的註釋一起運行?你如何運行你的程序?我認爲你需要重新命名你的方法爲'public static void main(String [] args)引發異常{'。 –

回答

1

我宣佈掃描儀是否有問題,或者我可以不使用Mapping與掃描儀結合嗎?

Scanner聲明看起來是正確的。不,沒有限制禁止同時使用Java標準庫的任何兩部分。因此,一起使用MapScanner是完全可以的。

在當前情況下,SO社區最好的猜測是,你正在使用的IDE(如Eclipse),有一個內置的控制檯窗口/視圖。在這個假設下,假設您希望打開一個黑色終端/ cmd窗口,但在大多數IDE中情況並非如此。在eclipse中,「控制檯視圖」就是你要輸入的地方。在Netbeans中,這將是輸出窗口。