• 締切済み

javaのプログラミング(英語)宿題

Java プログラミングの宿題です。 今週もかなり時間がかかってますが、まずこの問題がどんなプログラムを作らせたいのか いまいちわかりません。 すごく情けないのですがわかる方のお力を借りたいです。 宿題なので全部でなくていいのですが 道筋だけでも教えていただけると助かります。 どうぞよろしくお願いします。 以下、リンク http://www2.hawaii.edu/~esb/2011fall.ics211/hw2.html

  • Java
  • 回答数2
  • ありがとう数0
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「いまいちわかりません」ということは「だいたいわかるけどちょっとわからないところがある」ということですね. どこまでわかってどこが分からないのですか?

関連するQ&A

  • JavaでMIDIを使って音を出したい

    私は今大学でプログラミングの入門講座を履修していて、1月18日までに自分でプログラムを自作する課題に追われて困っています。 今のところ、ある二次方程式から導き出される数値を使って音程を決めていき、それを順次MIDIで吐き出すプログラムを想定しています。 ところが、既にあるMIDIファイルを再生するJavaアプレットのサンプルならいたるところにあるのに、JavaでMIDI音源を直接操作して音を出すサンプルはなかなか見当たりません。プログラミングは初心者で、基本をざっとやっただけなので、APIガイドを見つつプログラムが組めるほどの力はありません。javax.sound.midiパッケージを使うと出来そうなのですが、APIガイドには例文が載っているわけでもないので… せめて、PCのMIDI音源で「ドレミ」と鳴らしたいのですが、何かよい本やサイトがありましたらぜひ教えてください。調子のいい質問とは思いますが、よろしくお願いします。

    • ベストアンサー
    • Java
  • Javaの勉強順序

    なかなかプログラミングのコツがつかめません。 そもそもプログラミング的な考えができないんですかね。 現在はJavaの基礎文法を一通り終えて、今後の学習をどう進めようか、というところなんですが、デザインパターンを学習するべきか、逆引きライブラリのような本をみてよく使うクラスなどに習熟すべきか、アルゴリズムとデータ構造などをかじって一回り血肉をつけるか、というふうに悩んでいます。  趣味で何か作りたい、という動機はなく、一日でもはやく現場での業務用プログラムを読み書きできるようになりたいです。皆さんはどのように力をつけていきましたか?アドバイスがあればきかせてください。

    • ベストアンサー
    • Java
  • java プログラミング

    以下のプログラムを改良したいのですがどの用に書き換えればいいかわからないので皆さんの力を貸してください。 1.最後に表示されるメールアドレスの後には;を表示しない。 2.コンマやセミコロンなどで区切られているメールアドレスも認識する(現段階では二つのアドレスの間にスペースがないと認識できません)aaa@bbb.ccc,AAA@BBB.CCC;AaA@BbB.CcCを認識する。 3. メルアドレスだけが一列ごとに並んでいるものを認識する。 aaa@bbb ccc@ddd eee@fffなどです。 メールアドレスの検出の仕方として@から前後にスペースがあるまでループするようにしてあるので上記の場合うまく働きません。以上の三点をみたすように改良するのに必要なコードブロックを教えてください。 プログラミング初心者なのでなるべく簡単に説明していただけると幸いです。 import java.io.BufferedReader; import java.io.FileReader; import java.io.FileWriter; import java.io.InputStreamReader; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; public class Email { @SuppressWarnings("unchecked") 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: " + input + " ]"); 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)); PrintWriter fout; fout = new PrintWriter(new FileWriter(userOutput, true)); String lineFromFile = ""; List listOfMail = new ArrayList(); int indexOfAt = 0; int s = 0,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.print(lineFromFile.substring(s,e)); System.out.println(";"); } indexOfAt = lineFromFile.indexOf('@',indexOfAt + 1); } } fin.close(); fout.close(); System.out.println(); 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 were found, and copied to " + userOutput); System.out.println("Open " + userOutput + " and copy and paste those e-mail addresses into the to, cc, or bcc field."); System.out.println("Pasting into bcc field is the best way because everyone's email address does not appear in the message."); } }

  • Javaでの遺伝的アルゴリズムの実装について

    別のWebサイトでも質問させていただいているのですが、 double[][] a={ {1,1,1,1,1,1,1,1,1,1}, {1,2,1,4,1,1,1,8,1,1}, {2,2,2,2,2,2,2,2,2,2}, {2,2,2,3,2,2,2,3,2,2}, {2,2,2,2,2,4,2,2,3,2}, }; のように予め決められている2次元配列(a[0],a[1],a[2],a[3],a[4]それぞれが遺伝子)と、 double[] fitness={50,100,60,90,120}; のように遺伝子それぞれに対応している適応度があるとして、(適応度は別プログラムで計算済み) 遺伝的アルゴリズムで予め設定された遺伝子と適応度をエリート及びルーレット選択、交叉、突然変異を行う(一世代のみ)プログラムをJavaを用いて作りたいのですが、 Web上にある例となるClassは初期集団をランダムで生成した上で、ランダムに生成された遺伝子に対し適応度計算を行い、それを選択、交叉、突然変異を行うClassに投げるものがほとんんどです。 なので、適応度計算を行わずに既にある遺伝子と適応度をどのようにして結びつけるのか、もともとランダムに生成された遺伝子に適応度計算を行うこと、複数世代行うことを前提に設計されている選択・交叉・突然変異等のClassをどう変更すればよいのかわからず、手詰まりになってしまいました。 周りの知り合いに聞いても、Javaは少しならわかるが専門外、遺伝的アルゴリズムは勉強したことがない人ばかりなので、聞きたくても聞けない状況となっております・・・。 遺伝的アルゴリズム及びJavaに詳しい方、どなたか実装例を教えていただけないでしょうか? 参考にさせていただいたURL:http://www.ics.kagoshima-u.ac.jp/edu/ProgramingJava/samples/SimpleGA/step1/index.html#GA%20%E3%82%AF%E3%83%A9%E3%82%B9

  • java ネットワークの本について

    こんにちは。 趣味でプログラミングをしているものです。 さっそくですが質問させていただきます。 まずは以下のURLから3ばんめのリンク先を 見ていただきたいのですが... http://www.eonet.ne.jp/~mycabinet 「基礎からわかる TCP/IP Javaネットワークプログラミング」 の第2版の105ページに記載されている、内容をもとに コマンドプロンプトを2つ起動し、 Socket と ServerSocket で 時刻を送信、受信するプログラムを動かしてみたのですが、 要請を受けて時刻を教える側から 例外を発生させて 終了してしまいました。 スタックトレースは次のようなものです。 java.net.SocketException: Software caused connection abort: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) -(1) at java.net.SocketOutputStream.socketWrite(Unknown source) -(2) at java.net.SocketOutputStream.write(Unknown source) -(3) at Netclock.start(Netclock.java:58) at Netclock.main(Netclock.java:83) このうち(1),(2),(3)のSocketOutputStream というのは 「JavaTM Platform, Standard Edition 6 API 仕様」 に載っていなかったのですが、 このAPIには含まれていないクラス、ということでしょうか? (2),(3)のUnknown source についてインターネットでみてみたところ、 デバッグ情報としての行番号などを削除している、というような 記述を見かけたのですが、意味はよくわからないのですが、 APIにこれらのクラス、メソッドはあるということでしょうか? ご存知の方、教えていただけないでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • リンク先のJavaScriptの内容を取得する方法

    今Javaのネットワークプログラミングに挑戦していて、HTMLで書かれた内容を取得するようなプログラムを作成したいと思っています。 普通の内容なら取得できるようになったのですが、リンク先がJavaScriptの内容になっている場合、その内容は取得できるのでしょうか? よろしくお願いします。

  • xmlとjavaで自動的にWEBが更新されるソースを作ろうと思っています

    はじめまして。お忙しいところ申し訳ございませんがお力をお貸しいただきますようお願いいたします。 今度xmlで時間やwebサイトのURLなどを定義しておき、 時間がきたら自動的にページを開いていくプログラムを作ろうとしています。 具体的には <diary>20050613</diary> 日時が2005年6月13日 <time>231530</time> 時間が23時15分30秒に <web>http://www.goo.ne.jp</web> gooを開く というように記述していこうと考えています。 このようなxmlファイルをサーバで配布し、クライアント側で実行できるようなプログラムを作ってみたいと考えているのですが実際にどのような技術を使っていけば良いのか分かりません。自分でも調べてはいっているのですが、なかなかXMLの基礎知識も乏しいため前に進みません。 他のプログラミングはjavaが多少できるのでjavaとxmlを使って作れればと思っています。 何かヒントでも結構ですのでアドバイスお願いいたします。

    • ベストアンサー
    • XML
  • 中1でプログラミングに興味。どの言語が?

    こんにちは。 現在中学一年生の者です。 いろいろな経緯(後で書きます)でプログラミングに興味があります。 今までソースコードを打たないでゲームが作れるツール(無料)などを利用してきましたが、最近そちらに慣れて来て、物足りなくなってきました。 有料の物は中学生ですし、あまり購入したくありません。 いっその事、それに将来役に立つだろう、とソースコードを打つ決心(?)をいたしました。 が、 言語がたくさんありすぎて何から始めたらいいのかよくわかりません。 色々なサイトを巡回して、なんとなく世界で主に使われている言語の名前は頭に入っています。しかし逆にそれと、実行速度の違い程度しか知りません。 あとはandroidはjavaだとか、iOSアプリはobjective-cだとか。 今は自分で"何か"自己満足な簡単アプリを作りたいと思っているだけで、目的別の言語比較を見てもなかなか何を学ぶか決められません。 そこで、お聞きしたいのが、 "今後(将来)様々な言語を学ぶとして、この若いうちに吸収しておいたほうが後々楽" という言語です。 なんとなく説明文でCかなと思ったりしていますがどうなんでしょうか。 "この一つを若いうちに知っておけば、他の言語もなんとなく理解しやすいという言語"、教えてください。 できればスタートにぴったりな環境もお願いします。(フリーソフトやサイトなど) 自分はMacで(今更後悔ですが) Mac 10.7.2 lionです。 EclipseのインディゴとやらにAndroid SDK入れているのと、Net Beansはインストールしてあります。 書籍は海外に住んでおりまして、購入できません。(Amazonはありますが...) ここからは私がプログラミングに興味を持った経緯ですので、参考になるともならないとも言いづらいです。 飛ばしてくださってかまわないです。 === 小2で学校に宇宙で活躍するロボットの開発チーム(?)が来て、"壁に当たったら10°回転"とかそういう指示を出すプログラムをブロックみたいなもので作ったのが最初のきっかけ。 小学校高学年で俗に言うゲームオタクをやっておりまして、自分でゲーム作りたいと思っていました。その時はただのサイトでいろいろ読んでいただけです。 中学校に入り、Scratch(http://scratch.mit.edu/ ) というツールに出会い、言語選択英語(よりプログラミング言語に近いと言う理由で)ミニゲームをゲーム感覚で作っていました。 Scratchを使いこなせるようになったところでたまたまAndroid端末を手に入れ、そしてApp Inventor for Androidを利用しはじめました。 App Inventorはあまり利用しないまま忙しく時が過ぎ、まじめに取り組もうと思った頃にはサービス終了。 頑張ってAndroid SDKをEclipseに導入しましたが、javaの知識皆無。コピペでなんとか頑張ろうとしたが原因不明のエラーでつまづき... そして現在に至ります。 javaはhello worldをやっただけですwww === 長くなりましたが、本題は"今後(将来)様々な言語を学ぶとして、この若いうちに吸収しておいたほうが後々楽"というプログラミング言語教えてください。 というものです 長文、大変失礼いたしました。 先輩方、よろしくお願いします!!!! (カテゴリですが、プログラミングカテゴリの中で一番活発そうなところへ投稿させていただきました)

    • ベストアンサー
    • Java
  • javaのプログラミング(英語)

    現在javaのクラスを取っています(英語)。 宿題が出たのですが2時間くらいかけて作ったプログラムがいまだに完成しませんw わかる方いましたら部分的でもいいので解答をお願いしたいです。 特に2番目の26ストリングのところ。ここは数だけ宣言するのかa~zまでを先に宣言してしまうのかいまいちわかりません。4番目で入力した数に対応するアルファベット・・・と書いてあるのですが いったいどこでアルファベットを宣言するのやら。 どうかよろしくお願いします。 引き続きがんばります。 以下問題です。 Write a Java application that: ・declares a Scanner variable ・declares an array of 26 String values, and initializes each array element with the corresponding lowercase letter of the alphabet ・prompts the user to enter an integer, and uses the Scanner's nextInt method to obtain that integer from the user ・prints out the corresponding letter from the array, so if the input is zero, should print "a", and should print "z" for an input of 25. ・creates a new array of size 27, puts a string containing a space (" ") at index 0 in the new array, and copies all the other letters to positions 1..26 of the new array. The simplest way to do this is to use System.arraycopy() ・loops through the array, printing each entry as follows: if the entry is a vowel ("a", "e", "i", "o", "u"), it must be printed in uppercase otherwise, the entry must be printed as is ・computes and prints the number of non-vowel strings at the end of the loop. Requirements The program must catch the InputMismatchException from the call to nextInt, in which case the program must display an appropriate error message and end the program. The program should catch any other problems with the input, for example, a negative input number or a number larger that 26. The loop should work for any size initial array, and should not depend on the array size -- you may use array.length to find out the size of the array. You should memorize the sequence of parameters to System.arraycopy() and their meaning. This will be useful later in the semester (and may appear on quizzes or exams).

    • ベストアンサー
    • Java
  • このプログラミングの宿題を教えてください。

    「アルファベット4文字を半角で文字列として入力します。4文字のコードを足しあわせ,その結果を10進数で表示します。さらに,百の位,十の位,一の位に分けて表示するようにプログラムを作りましょう。」という宿題です。 main( ) { char s[6]; printf("4文字を入力してください:"); scanf("%s",s); } ここまでできたんですが、そのあとが分かりません。 回答よろしくお願いします。

専門家に質問してみよう