★★ Java の宿題ここで答えます Part 69 ★★

このエントリーをはてなブックマークに追加
934デフォルトの名無しさん:2011/02/05(土) 11:48:26
【 課題 】プログラムはテキストファイル(WordData.dat)を読み込む。
ファイル中の文を解析して単語を取り出し、プログラム中で定義されている検索文字を含む単語を表示する。
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】2月8日まで
【 参照 】http://www1.axfc.net/uploader/Sc/so/201786 パスは0968
どうかよろしくお願いします
935デフォルトの名無しさん:2011/02/05(土) 17:56:56
>>934
同梱されている"結果&補足.txt"には
>検索文字 : IP    //←キーボードから入力
とあるが、同じく同梱のコード片や>>934の課題には
>static final String search = " IP"
>プログラム中で定義されている検索文字

入力なのか固定なのか、どっちだ。
936デフォルトの名無しさん:2011/02/06(日) 10:29:35
>>935
すいません
>static final String search = " IP"
は固定で//←キーボードから入力は間違いでした、すいません
937デフォルトの名無しさん:2011/02/06(日) 14:16:59
>>934
import java.io.*;
import java.util.*;
public class WordAna{
static final String search = "IP";
public static void main(String[] args){
String line, token;
StringTokenizer st;
BufferedReader inFile=null;
System.out.println("検索文字:"+search);
try{
inFile=new BufferedReader(new FileReader("WordData.dat"));
while((line=inFile.readLine())!=null){
st=new StringTokenizer(line,",");
while(st.hasMoreTokens()){
token=st.nextToken().trim();
if(token.contains(search)) System.out.println(token);
}}
}catch(IOException e){
e.printStackTrace();
}finally{
if(inFile!=null) try{ inFile.close(); }catch(IOException ignore){}
}}}
938デフォルトの名無しさん:2011/02/06(日) 19:38:04
>>937
ありがとうございます!動作しました!!
本当にありがとうございました!!!
939デフォルトの名無しさん:2011/02/07(月) 07:16:46
>>914の課題Aどなたかやっていただけないでしょうか
よろしくおねがいします
940デフォルトの名無しさん:2011/02/07(月) 12:33:46
>>939
課題@のファイルが文字化けする、課題Aと同じ文字コードでアップしなおしてください。
話はそれから
941デフォルトの名無しさん:2011/02/07(月) 17:05:22
>>940
文字コードを変更し直しました
>>914
http://www1.axfc.net/uploader/Sc/so/202622 パス:2011

よろしくお願いします
942デフォルトの名無しさん:2011/02/07(月) 22:28:13
【 課題 】以下のプログラムを高速化する(再帰呼び出しのままで)
public class HanoiX {
static int ndisk = 6; // 円盤の数
static int movecount = 0; // 円盤の移動回数
static void shift(char a, char b, char c, int n){
if(n==0) {
return;
}
else {
shift(a, c, b, n-1);
movecount++;
System.out.println(movecount + ". move from [" + a + "] to [" + b + "]");
shift(c, b, a, n-1);
}
}
public static void main(String arg[]){
if(arg.length>0) ndisk = Integer.parseInt(arg[0]);
shift('A', 'B', 'C', ndisk);
}
}
     
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】2月11日まで
【 Ver  】java version "1.6.0_22"
【 補足 】再帰を用いたハノイの塔のプログラムです。
       再帰がわからず困っています。
       どうか、よろしく願いします。
943デフォルトの名無しさん:2011/02/07(月) 23:09:41
>>942
ウチの古いのでも一瞬で終わるが、どんだけ早くしろと?
944デフォルトの名無しさん:2011/02/07(月) 23:16:32
>>942
>System.out.println(movecount + ". move from [" + a + "] to [" + b + "]");
を消せ
945942:2011/02/07(月) 23:34:05
すいません、円盤の枚数を6としてますが、円盤の枚数に決まりは無いのでもっと大きな数だとはっきりと違いが出ると思います。
System.out.println(movecount + ". move from [" + a + "] to [" + b + "]");
を消して、最後にmovecountを表示するようにしたところ速くなりました。
この方法以外でこのプログラムを早くするには非再帰で書き直すほかないということでいいのでしょうか?
946デフォルトの名無しさん:2011/02/08(火) 01:28:02
>>945
どこがどの程度高速になればいいのかによって方法があるさ

例えば経過を残しつつmainのshift呼び出しが早くなればいいのなら、
printlnの箇所でaとbをファイルに書き出すようにする。
一度で2バイト増えてるはずだから、movecountはファイルのサイズの1/2で求まるので
movecount++も要らなくなる。
947942:2011/02/08(火) 23:14:41
上のプログラムからplintlnを抜いたものを見せて、先生に聞いてきたところ
long start = System.currentTimeMillis(); と long stop = System.currentTimeMillis(); でmain内のshiftを囲んで時間を計ってみること
linuxならばjavaのtimeコマンドを用いてもよい
早くするのは表示の部分ではなく計算の部分
非再帰でもかまわないのでもう少し早くなるように
とのことでした。
お手数をおかけしますが、ご教示よろしくお願いします。
948デフォルトの名無しさん:2011/02/09(水) 02:59:13
public class AAA {
public static void main(String[] args) {
Figure s1 = new Circle();
s1.draw();
}
}

class Type {
public void draw(){
空欄
}else{
throw new RuntimeException("該当図形なし");
}
}
}

class Circle 空欄 {
}

実行結果


空欄に入れるものをお願いします このプログラムはTypeクラスから不要なフィールドメソッド
を削除したものです
949デフォルトの名無しさん:2011/02/09(水) 13:07:35
950デフォルトの名無しさん:2011/02/09(水) 21:49:37
>>941
ごめんな、風邪引いてやるきおきんわ
951デフォルトの名無しさん:2011/02/10(木) 09:11:50
【課題提示用テンプレ】
【 課題 】
クラスの継承について誤っているものをすべて選べ
(1)サブクラスでは、スーパークラスのメソッドの内、アクセス修飾子がpublicかprotectedのものを継承する。privateのものは修飾しない。
(2)サブクラスでスーパークラスのコンストラクタをオーバーライドするとき、super()はコンストラクタの先頭に書かれなければならない。
(3)サブクラスでスーパークラスのコンストラクタを明に呼ばない場合には、スーパークラスのフィールドを継承できない。
(4)サブクラス型で宣言した変数には、スーパークラスのオブジェクトをキャストせずに代入できる。
(5)アクセス修飾子protectedが付けられたメソッドは、同じパッケージ内のどのクラスからも呼び出すことができる。
(6)アクセス修飾子privateが付けられたフィールドを、それが定義されたクラスのサブクラスから参照できる
(7)Objectクラスは、extendsにより明に継承しなくても、すべてのクラスに自動的に継承される
(8)あるクラスの内部クラスのメソッドに、他のクラスからはアクセスできない
【 形態 】1
【 GUI  4
【 期限 】今日
952デフォルトの名無しさん:2011/02/10(木) 20:36:42
1 ○ privateのものは修飾しないってなんだ?継承じゃないのか?
2 ○
3 ×
4 ×
5 ○
6 ×
7 ○
8 ×

たぶん
953デフォルトの名無しさん:2011/02/11(金) 01:32:47
【 課題 】http://www1.axfc.net/uploader/Sc/so/203835 こちらからダウンロードお願いします
【 形態 】main開始
【 GUI  】AWT/Swing
【 期限 】12日まで
【 用語 】数学用語、専門用語の意味、説明を書きます。 《あれば必須》
【 補足 】できあがったら、[email protected]までzipファイルでお願いします
954デフォルトの名無しさん:2011/02/11(金) 10:48:31
>>952
25違う
955デフォルトの名無しさん:2011/02/11(金) 10:55:46
【 課題 】ネットワークを使用したプログラムを作成
【 形態 】Javaアプリケーション(main()で開始)
【 GUI  】 制限なし
【 期限 】2月12日
【 Ver  】java version "1.5.0_26"
【 補足 】サーバーを作り、そこにtelnetで接続してというプログラムです。例として、英単語に対応する日本語もったサーバを作り、クライアントから送られてきた単語に対応する日本語を送り出すものです。
ほかに、チャットサーバーをつくり、接続済みのクライアント全てにデータを流すというものなどです。
母さんが倒れて課題をやる暇がなくて卑怯だとおもう...でも間に合いそうにない;どうか、手を貸していただきたい。
もしできあがられましたら、deal_of_deal.yahoo.co.jpのほうへプログラムを書いて送ってくださいorz
956デフォルトの名無しさん:2011/02/11(金) 17:10:54
どうも最後の2行で意欲が失われる
957デフォルトの名無しさん:2011/02/11(金) 21:26:20
たくさんの血を吐き出しながら母さんは息絶えました
958デフォルトの名無しさん:2011/02/11(金) 22:54:32
>>954
25違うか?あってるだろ
959デフォルトの名無しさん:2011/02/12(土) 00:50:49
2. 書かなくても自動的に補完される、とかsuper(x,y)とか別の書式もありうるとかそういう意味かなぁ?
5. は同一パッケージからでも a() を呼び出せないよね。
class Test {
private class Test2 {
protected void a(){
System.out.println("a");
}
}
}
960デフォルトの名無しさん:2011/02/12(土) 00:51:29
>>958
2は、デフォルトのコンストラクタは明示的に実装しなくても必ず呼ばれる

5は、デフォルトのメソッドの記述だな

携帯から打つの面倒だから詳しくは省略するが試しに実装してみれ
961デフォルトの名無しさん:2011/02/12(土) 00:54:55
ごめん2はあってた
962デフォルトの名無しさん:2011/02/12(土) 01:02:38
ごめんすごい勘違いしてた(笑)
あってました
963デフォルトの名無しさん:2011/02/12(土) 02:19:29
間違っているのは
> コンストラクタをオーバーライド
なんてできないこと

public class Sub extends Super {
@Override public Super() {...

とかやるつもりなのか?
964デフォルトの名無しさん:2011/02/12(土) 13:04:20
出題者のレベルが疑われるな
965デフォルトの名無しさん:2011/02/14(月) 15:56:04
【課題】ttp://www.ailab.tj.chiba-u.jp/~hory/java2010/101221/101221.html
【形態】javaアプリケーション(main()で開始)だと思います。
【期限】明日提出なので、今日中でお願いします。
【ver】1.6.0_21
【補足】キーボードの上下左右によって、その方向に動かせる
プログラムにしようと思っています。それだけでは
なんなので、画面外に出ると真ん中の最初の位置に
戻るというのはできるでしょうか?
サンプルでは落ちたら落ちっぱなしだったようなので。
欲を言えば、イライラ棒のようなものが作れたら
いいと思います。障害物があって、触れると戻される
という感じです。
採点対象なので、プログラム中のコメントを詳しく
書いていただけるとありがたいです。
よろしくお願いします。
966デフォルトの名無しさん:2011/02/14(月) 16:44:48
>>965
サンプルプログラムの動きのシュールさにワロタ
967デフォルトの名無しさん:2011/02/14(月) 18:00:25
>>965
http://www1.axfc.net/uploader/Sc/so/205067

時間がないんでイライラ棒はやってません
後の方がやってくれるかもしれまんが、とりあえずって事で
968デフォルトの名無しさん:2011/02/14(月) 18:43:35
ほげほげ棒つくったぞ
習ってないメソッドとか使ってたらすまん
JPanelのpaintComponentあたり
https://gist.github.com/825669
969デフォルトの名無しさん:2011/02/14(月) 19:26:45
なんでこう、同じ課題をぽこぽこと…
970デフォルトの名無しさん:2011/02/15(火) 22:43:07
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1155687446
すいません、これに答えていただけるかたいませんか?
971デフォルトの名無しさん:2011/02/15(火) 23:43:39
>>970
ソースも全部ないし問題文もないし
何をしたいのか分かりません
972デフォルトの名無しさん:2011/02/15(火) 23:53:06
>>970
main メソッドが長すぎるのが問題かもね。
973デフォルトの名無しさん:2011/02/16(水) 01:38:43
mainはvoidだから値が返せない件
974デフォルトの名無しさん:2011/02/16(水) 05:15:28
質問者の他の質問傾向から見てもAOJ絡みっぽい。AOJでなくともプログラムのオンラインジャッジ系。
Javaっぽくないエラー原因は判定がRuntime Errorの時のサイトの説明文をそのままコピペしてるだけだから。
ソースとしてC/C++とJavaの両方で受け付けてるのでC/C++で起こり得る原因についても記述されている。
サイトの性質上あまりパブリックな場で質問するのは問題がある気もするけど。
それともそういう方法による情報取得のリテラシーも含めてのジャッジなのか?
975デフォルトの名無しさん:2011/02/16(水) 12:15:04
まぁ、答は出ないというだけだ
976965:2011/02/16(水) 13:23:37
>>967,>>968
ありがとうございました!
無事課題提出することができました。
977デフォルトの名無しさん:2011/02/16(水) 21:09:18
>>953 メールしろとは身勝手にもほどがある。 >>955 やむを得ない事情だというのなら、そっくり採点者に言えよ。
978デフォルトの名無しさん:2011/02/25(金) 09:54:36.28
【 課題 】Miller-Rabin法により,10進数で47桁のランダムな素数を
     確率1−(1/10)^9で作成するプログラムとプログラムの簡単な
      アルゴリズムの説明をよろしくお願いします。
【 期限 】26日中です。
【 補足 】「BigInteger classを使う。
ランダムな素数とは、プログラムを実行するたびに10^46〜10^47-1
 の範囲にある素数がランダムに出力されるということ。
BigInteger(int bitLength, int certainry, Random rnd)
probablePrime(int bitLength, Random rnd)
nextProbablePrime()
isProbablePrime(int certainty)
これらのconstructor,methodを使ってはいけない。
他のconstructor,methodは何でも使って良い。」

留年がかかってますので、何卒よろしくお願いします。
979デフォルトの名無しさん:2011/02/25(金) 19:59:37.36
>>978
就職も厳しいので、ここは留年すると言う手で
980デフォルトの名無しさん:2011/02/25(金) 20:56:57.99
今日は忙しいから
明日暇ならやるわ
981デフォルトの名無しさん:2011/02/25(金) 22:00:30.08
>>979
ごめんなさい。これ以上留年したくないんで勘弁してください。

>>980
ありがとうございます!ぜひよろしくおねがいします!
982デフォルトの名無しさん:2011/02/25(金) 22:17:30.59
>>979
再留年して時間を確保して、自分の納得のいく就職活動がんばったほうがいいよね
新卒カードを無駄にしないためにもw
983デフォルトの名無しさん
みんな読解力ないなぁ。
かかっているのは卒業とか進級じゃなく留年。
何を目指して質問しているか理解してから答えないと。