• 締切済み

急募!! 基礎Javaプログラム

急募!! 学校の課題をどうやってやればいいかまったくわかりません。 大変失礼なのを承知の上、下記の条件を満たすjavaプログラムを書いてくださる方を探しています。 大変無礼な私をお許しください。 プログラムのコンセプトはファイル名を指定してそのファイルに書いてある複数のメールアドレスを読み取り画面に表示、また指定したアウトプットファイルに書き出すというものです。 このプログラムを書く上でいくつかの条件があります。 1.まずユーザーにインプットファイルを指定させる (この時にユーザーはデフォルトのファイルfileContainingEmails.txtをエンターを押すことで指定できます) 2.アウトプットファイル名を指定させる。 (ユーザーがインプットファイル名を指定した場合はそのファイル名をデフォルトとしてユーザーがインプットファイルでデフォルトを選んだ場合はcopyPasteMyEmails.txt をアウトプットファイルのデフォルトに設定する) 3.アウトプットファイルはプログラム起動ごとに上書きされる。 4.同じ名前のメールアドレスは一度だけ表示する。 (rburns@***.eduとRBurns@***.eduは同じメールアドレスとして認識し片方だけ表示する。 5.読み込んだファイルをセミコロンとスペースで区切り次のメールアドレスを表示する。 6.インプットファイルから読み込んだメールアドレス数と書き込み先フォルダ名を最後に表示する。 7.インプットファイルのメールアドレスの間に2行以上の空行があっても無視する。 8.もしもインプットファイル内にメールアドレスがなかった場合(no e-mail address appears)と表示する。 自分でも今このプログラムを書いてる最中なのですが難航しています まだ授業で基礎しかやっていないのでjavaプログラムの基礎知識で書けるプログラムなはずです。 都合のいい事を言っているのは十分承知の上で皆さんのご協力お願いいたします。

  • Java
  • 回答数3
  • ありがとう数2

みんなの回答

  • tom11
  • ベストアンサー率53% (134/251)
回答No.3

折角、お金を払って、学校に行っているのですから、 学校で、教わった方が、良いのでは? 何のために、学校へ行っているのですか???

  • koko_u_u
  • ベストアンサー率18% (216/1139)
回答No.2

書けた所まで補足にどうぞ。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

> 自分でも今このプログラムを書いてる最中なのですが難航しています 「難航」とは「どこで」「どのように」なのかを書いて前向きな質問にしなけば「課題丸投げ」と判断されて削除対象にされますよ。 せっかく1~8まで機能分け(WBS)できているのだから、機能ごとに作成していけば?

takokura14
質問者

お礼

自己解決できそうです

takokura14
質問者

補足

おっしゃるとおりです。 まずエンターを押すことでデフォルトのファイルを使うという部分が分かりません。 基礎的なその部分のコードブロックを教えていただけますか?

関連するQ&A

  • ジャヴァ基礎問題

    import java.io.*; public class Email11 { 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("")) name = output; else name = input; String userOutput; System.out.println("Enter output file name [default name: " + name + " ]"); userOutput = cin.readLine(); if (userOutput.equals("")) userOutput = name; System.out.println("Input FIle : " + userInput); System.out.println("Output FIle : " + userOutput); } } このプログラムでユーザーがインプットファイル名を入力した場合そのファイル名がアウトプットファイルのデフォルトになるという形にしたいのですがどこが間違っていますか? ユーザーがデフォルトのインプットファイル名を選んだ場合デフォルトのアウトプットファイル名が適応されます。

  • デフォルトの設定

    javaの基礎的なプログラミングでデフォルトの設定はどのように行えばよいのでしょうか? たとえばユーザーにインプットファイル名を指定させるプログラムでエンターを押したらデフォルト名を使用しユーザーが何かしらのファイル名をインプットしたらそちらを使用。 またアウトプットファイルの選択でもユーザーがインップとでエンターを押した時はデフォルトのファイル名を使用、ユーザーがインプットファイル名を選択した場合そのファイル名をデフォルトのファイル名として表示、エンターを押すことでそれらのデフォルトファイルを選択という形にしたいのですがコードブロックを教えていただけないでしょうか?

  • 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は同じメールアドレスとして扱い片方だけをコンソールに載せるというかたちにするにはどうすればよいのでしょうか?

  • java 緊急質問

    java プログラムの課題です このプログラムはファイルを読み込むと最初に十数行の空行が出来てしまいます またファイル内のメールアドレスのみを読み取りたいのですが@の入っていない文も読み取ってしまいます。 あと読み込んだメールアドレスの数だけカウントしたいのですがそこもうまくいっていません。 @を含む一文だけを読み取るようにしたいです。 import java.io.*; public class Email11 { 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 FIle : " + userInput); System.out.println("Output FIle : " + userOutput); BufferedReader fin; fin = new BufferedReader(new FileReader(userInput)); String lineFromFile = ""; while (true) { if (!fin.ready()) break; fin.readLine(); lineFromFile = fin.readLine(); System.out.println(lineFromFile.substring(0, lineFromFile.indexOf('@')+1)); PrintWriter fout; fout = new PrintWriter(new FileWriter(userOutput, true)); fout.println(lineFromFile.substring(0, lineFromFile.indexOf('@')+1)); fout.close(); } fin.close(); int count = 0; for (int p = 0; p < lineFromFile.length(); p++) { if (lineFromFile.equals('@')); count++; } if (count == 0) System.out.println("Sorry, no email addresses were found in the file " + userInput); else System.out.println(count + "email addresses were found, and copied to " + userOutput); どのように書き直したらよいのでしょうか?

    • ベストアンサー
    • Java
  • c++ 入力、出力まわりについて

    Mac OSX 10.7.3です。 c++で書いたプログラムをコンパイルして以下のような数字の集まりを上の行から順に入力したいです。 このプログラムはこの数字列の値により出力をするものとします。 3 3 6 100 2 64 main.cppというコードを使っていて上の数字を保存した input.txtというファイルがあり、output.txtという出力ようのファイルがDesktop下にあります。 ここでターミナルで cd Desktop/ g++ -Wall main.cpp ./a.out < input.txt > output.txt とリターンしてもうまくoutput.txtに出力されません。

  • プログラムの選択ができない

    あの、テキストドキュメントとか(txt)、JPEGイメージ(JPG)とかファイルを右クリック-プログラムから開く-プログラムの選択(C)..を押すと 一覧が通常は現れますよね? それが前までは一覧見れて選択できたんですが、なんかできなくなってしましました。 元に戻すにはどうすればいいでしょうか? ちなみにシステムの復元は、してみましたけど駄目でした。 ご回答お願いします。 エラーをテキストでご覧ください。 --------------------------- D:\ユーザ名\My Documents\ファイル名.txt --------------------------- 指定されたファイルに対してこの操作を行うプログラムが関連付けられていません。[フォルダ オプション] コントロール パネルでプログラムを関連付けてください。 --------------------------- OK ---------------------------

  • windowsのバッチプログラム

    windowsのコマンドプロンプトのバッチプログラム(*.bat)を作成しています。 コマンドプロンプトではユーザ変数はどのように記述するのかわかりません。 やりたい事はおおよそ以下のようなことです。 @echo off %IN= "c:\hoge\input.txt" %OUT= "c:\hoge\output.txt" copy %IN %OUT 直接フルパスを書きたくないのですができないでしょうか? おねがいします。

  • JAVAと構文解析器(cabocha)の連結について

    現在、eclipseでJAVAをやっています。(環境はwindows XPです。) JAVAから構文解析器(cabocha)を用いて、文章を解析させたいと考えています。 [やりたいこと] 1.INPUTファイルを自動生成(ファイルA.txt)をする。 2.ファイルAの内容をコマンドプロンプトからCabochaを実行し、   解析を行う。 3.その結果をOUTPUTファイル(ファイルB.txt)に保存し、出力させる。 そこで、2番について教えていただきたいのですが、JAVAからコマンドプロンプロトを実行し、 cd c:\program files\cabocha\bin cabocha.exe -f1 input.txt --output=output.txt の2行をペーストし、cabochaを実行させたいのですが、どのようにすればよいのでしょうか。 自分がわかっているプログラム以下のところまでです。 [プログラム] public static void main(String[] args) throws IOException{ File file1 = new File("C:\\Program Files\\CaboCha\\bin\\input.txt"); try{ String str=null; InputStreamReader reader=new InputStreamReader(System.in); BufferedReader buffreader =new BufferedReader(reader); System.out.println("文字を入力してください。"); str = buffreader.readLine(); PrintWriter pr =new PrintWriter(new BufferedWriter(new FileWriter("C:\\Program Files\\CaboCha\\bin\\input.txt"))); pr.write(str); System.out.println(str+"が書き込まれました。"); pr.close(); Runtime rt = Runtime.getRuntime(); Process pro = rt.exec("C:\\WINDOWS\\system32\\cmd.exe"); } 誰かわかる方、ご教授お願いいたします。

  • Javaプログラムからファイル操作

    教えてください。 Javaプログラムであるシェルのスクリプトファイルを呼び出します。 そのスクリプトファイルが他のサーバからファイルを取得してくるなどの操作をします。 SSHでLinuxにログインし、スクリプト自体を手動で実行したら問題無いのですが プログラムから実行する時に”許可がありません”などのエラーが表示され、失敗します。 chownやchmod、もしくは何か特定のユーザ(例:rootユーザ)をプログラムの中で指定して 実行する必要があるのでしょうか? もしくは何かLinux上で設定変更する必要があったりするのでしょうか? よろしくお願い致します。

    • ベストアンサー
    • Java
  • プログラム作成についてなのですが

    プログラム作成についてなのですが a.txtのファイルを読み込ませた上で 入力した単語がa.txt内にあるかどうかを表示させる方法を教えて頂きたいです。 できれば解説もあればありがたいです。