- 締切済み
java プログラム
javaで下記のプログラムをコンパイルすると複数のシンボルが存在しませんとういう文が出てきます。 どのようにどこを書きなおせばコンパイル出来るのしょうか? public class Email { public static void main(String[] argv) throws Exception { String input = "fileContainingEmails.txt"; String output = "copyPasteMyEmails.txt"; BufferedReader cin; cin = new BufferedReader(new InputStreamReader(System.in)); String userInput; System.out.println("Enter input file name [default name: fileContainingEmails.txt]"); userInput = cin.readLine(); if (userInput.equals("")) userInput = input; String name; if (userInput.equals(input)) name = output; else name = userInput; String userOutput; System.out.println("Enter output file name [default name: " + name + " ]"); userOutput = cin.readLine(); if (userOutput.equals("")) userOutput = name; System.out.println("Input : " + userInput); System.out.println("Output: " + userOutput); BufferedReader fin; fin = new BufferedReader(new FileReader(userInput)); PrintWriter fout; fout = new PrintWriter(new FileWriter(userOutput, true)); String lineFromFile = ""; List listOfMail = new ArrayList(); int indexOfAt = 0; int s,e = 0; while (fin.ready()) { lineFromFile = fin.readLine(); indexOfAt = lineFromFile.indexOf('@',indexOfAt); while(indexOfAt > 0) { for(int i = 0;lineFromFile.charAt(indexOfAt-i) != ' ';i++) s = indexOfAt - i; for(int i = 0;lineFromFile.charAt(indexOfAt+i) != ' ';i++) e = indexOfAt + i; if(listOfMail.indexOf(lineFromFile.substring(s,e).toLowerCase) < 0); { listOfMail.Add(lineFromFile.substring(s,e).toLowerCase); fout.println(lineFromFile.substring(s,e).toLowerCase); System.out.println(lineFromFile.substring(s,e).toLowerCase); } indexOfAt = lineFromFile.indexOf('@',indexOfAt + 1); } } fin.close(); fout.close(); int count = 0; count = listOfMail.size(); if (count == 0) System.out.println("Sorry, no email addresses were found in the file " + userInput); else System.out.println(count + "email addresses "); 補足 またこのままだと読み込んだアドレス全て小文字になってしまうのですがそうではなく読み込んだメールアドレスAAA@BBBとaaa@bbbは同じメールアドレスとして扱い片方だけをコンソールに載せるというかたちにするにはどうすればよいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- junkUser
- ベストアンサー率56% (218/384)
toLowerCase() に変更してください。マニュアルを読みなされ。 > このままだと読み込んだアドレス全て小文字になってしまうのですがそうではなく読み込んだメールアドレスAAA@BBBとaaa@bbbは同じメールアドレスとして扱い片方だけをコンソールに載せる 質問の意図が良くわかりませんが、 System.out.println(lineFromFile.substring(s,e).toLowerCase); の行を消せばよいのでは?
- tom11
- ベストアンサー率53% (134/251)