★★ Java の宿題ここ ..
657:デフォルトの名無しさん
09/12/25 00:04:00
>>645
これは何者かが考えた15パズルを解くプログラムである。
以前の試行より手数が多くなるならそこでやめるという特色があるものの、基本は単なる総当りだ。
試行回数の最大は根拠があるのかわからないが、初期値として30が入っている。
バッファを99999取っているところから見ると適当なのだろう。
読むものを混乱に陥れるためとしか思えない箇所が随所に見られ、作者の正気を疑いたくなる。
例えば
> priInfo.Log = priInfo.Log.replaceAll("←","上");
> priInfo.Log = priInfo.Log.replaceAll("→","下");
> priInfo.Log = priInfo.Log.replaceAll("↑","左");
> priInfo.Log = priInfo.Log.replaceAll("↓","右");
という箇所があるが、それなら最初から"上"などの文字を使わないのはなぜだろう。
他にもつっこみどころ満載だが
一番突っ込みたいのはこんなアルゴリズムの解読をしろという>>645の課題だ。
658:デフォルトの名無しさん
09/12/25 00:17:14
なんとなく解った
左側の添え字にX、右側の添え字にYっていう変な方法を取った結果(普通は[y][x]だよね?)
上下と左右がごちゃごちゃになってしまい
悔し紛れに最後に文字を差し替えることにしたんだろう
ただ←から↑に差し替えると
↑を差し替えるときに既に←から差し替え済みの↑まで差し替えてしまう
それを回避するために矢印から漢字に差し替えたんだろう
659:デフォルトの名無しさん
09/12/25 07:58:15
>>658
> 普通は[y][x]だよね?
Java ではそうなんですか?
660:デフォルトの名無しさん
09/12/25 14:18:25
>>655
遅れましたが親切にありがとうございます、本当助かりました!
661:デフォルトの名無しさん
09/12/26 02:13:13
>>659
2次元配列を書くときの横方向にあたるのが右に来る添え字だから普通はそうじゃないだろうか
これはテキストエディタ上での問題だけじゃなくてメモリ上で隣接した方向って感覚があるのかも
メモリ上で隣接っていうのはビットマップ画像の横方向みたいなことで
説明下手で悪いけど
とはいえ関数の引数なら(x,y)が普通だし、数学とかの慣習でもそうだから
それに合わせて[x][y]という人も少なからずいるだろうとは思う
ただ[x][y]派の人と一緒に作業することになって、どっちかに統一することになるだろうけど、
これに関しては譲る気になれない
引数の(x,y)と合わせる利点は認めるが、上に書いたことを覆せるものじゃない
あるていど考える人なら[y][x]ってやり方に落ち着くだろうと思う
662:デフォルトの名無しさん
09/12/26 02:19:31
プログラムにおけるデータの扱い方で変えてる
y方向に何度も走査するようなプログラムなら[x][y]のほうがいいし
x方向に何度も走査するようなプログラムなら[y][x]のほうがいいし
どっちも頻度に大差なかったりするなら[x][y]にしてる
663:デフォルトの名無しさん
09/12/26 02:23:09
他人と一緒に作るなら事前に取り決めておけよ。
個人の趣味でやるなら自由でいいと思うよ。
メモリアクセスの多少の違いがどうとか気にするレベルじゃないだろ宿題なんて
664:デフォルトの名無しさん
09/12/26 02:53:09
何のための抽象データ型だよ・・・
665:デフォルトの名無しさん
09/12/26 11:24:37
>>661
よく意味がわからないので、仮に統一の話が出てもこちらも譲る機がないのですけど。
わざわざ y, x と逆にするのが不自然ですね。
666:デフォルトの名無しさん
09/12/26 13:35:16
>>665
わざわざy,xとする理由が661にあるんじゃないの?
理解もせず不自然と考えるのはちょっとばか
667:665
09/12/26 13:38:15
>>666
そんなものがあるのですか?理由とは名ばかりの思い込みではないですか?
668:デフォルトの名無しさん
09/12/26 14:09:22
>>667
思い込んでるのはあなたじゃないですか
669:デフォルトの名無しさん
09/12/26 15:50:29
>>665
自分で
>よく意味が分からないので
って言ってるじゃん。まず理解してから発言しようよ
670:665
09/12/26 16:13:26
>>662 はよく理解できるのですけれども、>>661 の「横方向にあたるのは右の添え字だから」というフレーズが理解できません。
さらに「あるていど考える人なら[y][x]ってやり方に落ち着くだろうと思う」という断言にはついていけません。
671:デフォルトの名無しさん
09/12/26 16:39:04
hoge[][] aのa[0]は行なんだよ
通念なんだよ
672:665
09/12/26 17:48:11
>>671
それと、実際の行へのマッピングとは別の話なんですが。
付け加えれば、>>662 はよくわかります。
673:デフォルトの名無しさん
09/12/26 18:04:49
>>661
変数の名付けが間違ってるだけじゃん。
674:661
09/12/26 20:07:12
>>670
まず前提としてxは横方向、yは縦方向というのは了解できますか?
さらに言うと左はx軸の負の方向、右は正の方向で
yは数学の慣習とは違ってややこしくなりますが、コンピュータの画面表示では
上がy軸の負方向、下がy軸の正方向とするのが一般的だと思います(3Dだとまた変わってきますが2Dなら)。
x++ 右に移動、x-- 左に移動、y++ 下に移動、 y-- 上に移動。了解できますか?
その上で
a b
c d
という盤を使ったゲームか何かがあるとします。
aの位置にいるならx=0, y=0、bならx=1,y=0、cならx=0, y=1、dならx=1,y=1。
盤を2次元配列であらわすときに
char[][] data = {
{ 'a', 'b' },
{' c', 'd' },
};
とそのまま書けるのが[y][x]法です。
aの位置である x=0,y=0 から x++ すれば右にあるbの位置 x=1,y=0 に行けます。
しかし[x][y]法だと x=0,y=0 から x++ するとcの位置に、つまり下に移動したことになってしまう。
[x][y]法では
char[][] data = {
{ 'a', 'c'},
{ 'b', 'd'},
};
と書かなければいけません。上下と左右を変えなければならず紛らわしいと私は思います
こういうことを言っていたつもりなんですけど解りましたか
675:665
09/12/26 20:26:30
>>674
なるほど、初期化の際に、static な初期化子をそのままのイメージで記述することができる、という利点があるのですね。
よくわかりました。丁寧なご説明、ありがとうございました。
676:デフォルトの名無しさん
09/12/26 21:08:32
なんか説明聞くだけで実際にはやっていなさそう
677:デフォルトの名無しさん
09/12/27 13:10:17
>>676
まとめて代入・初期化するときには [y][x] 方式では利点がありますが、実際初期化するときに
char[][] data = { ... };
とする機会があるかどうかですね。なければ >>662 を加味して、最終的に決定するだけです。
もちろん >>674 の考え方に一理あるとは考えています。
678:デフォルトの名無しさん
09/12/27 19:58:52
すげーどうでもいい話題だな
679:デフォルトの名無しさん
09/12/28 14:21:05
>>674 みたいな考え方をする人は
二次元のデータを一次元の配列で処理されたりするのは嫌だったりするのか?
680:デフォルトの名無しさん
09/12/28 17:53:54
一次元で表現するからこそ[y][x]になる
{"abcd"}→{"ab","cd"}→{{'a','b'},{'c','d'}}
テキストも画像もデータベースも普通[縦][横]
681:デフォルトの名無しさん
09/12/28 18:11:02
>>680
初期化にこだわらなければ、どっちでもいいのでは?
まとめて初期化するときだけ、[縦][横] としたほうがすわりがいい、という結論だと思うのですが。
682:デフォルトの名無しさん
09/12/29 01:15:12
a[x][y]はC言語で int **a; int *b[5]; int c[5]; b[0] = c; a=b; int d = a[4][0];
とか暗黙でyの方が次元が大きいからじゃないかな
683:デフォルトの名無しさん
09/12/29 01:40:11
初期化にこだわらずとも、
「ノードが縦にたくさんある。ノードの中身が横の配列」
ってイメージが強いからじゃない?
イメージどおりにした方がやりやすいっていう。
684:デフォルトの名無しさん
09/12/29 03:00:36
イメージとかいいだしたら
それこそ(x,y)だってただのイメージだろ
685:デフォルトの名無しさん
09/12/29 09:29:59
省メモリだとか高速だとかならともかく、>>674みたいな理由ならコメントでちゃんと書いてあればどっちでもいいよ。
こんなので絶対に譲れない(キリッ)とか言われたら面倒くさくて合わせてしまう。
結局個人によって何がわかり易いかなんて違うんだから宗教と変わらんわ。
686:デフォルトの名無しさん
09/12/29 13:51:31
テキストファイルのデータ(配列)を読み込む方法教えてください!!!
無知で申し訳ないです・・・
687:デフォルトの名無しさん
09/12/29 15:46:42
【 課題 】課題は2問です。
URLリンク(www.dotup.org)
【 形態 】Javaアプリケーション(main()で開始)
【 GUI 】指定なし
【 期限 】1/4
【 Ver 】1.6.0_16
【 補足 】課題文の通りでお願いします。
宜しくお願いします。
688:デフォルトの名無しさん
09/12/30 01:39:25
>>686
説明不足、不明瞭でよく解らないが
例えばファイルの最初の行に書かれたカンマで区切られた整数を読み込みint配列にするなら
int[] array;
FileReader fr = null;
try{
BufferedReader br = new BufferedReader(fr = new FileReader(file));
String line = br.readLine().trim(); // 前後の空白文字を除いた一行を取得
int begin=0,end; // 文字列内の値部分の開始位置,終端位置
ArrayList<Integer> vec = new ArrayList<Integer>();
while( (end=line.indexOf(',',begin)) != -1 || // 次のカンマ場所を調べる
begin < line.length() ){ // 最後の','より後ろに値が文字がある
if(end == -1)end = line.length(); // 最後のカンマの後ろの文字部分
try{
vec.add(new Integer(line.substring(begin,end).trim())); // 文字列の一部を取り出して、Integerのオブジェクトにする
}catch(Exception e){vec.add(new Integer(0));} // 整数じゃなかったら0とする
begin = end+1; // beginにカンマの次の位置を代入
}
array = new int[vec.size()]; // 配列
for(int i=array.length;i--!=0;)array[i] = vec. get(i).intValue(); // intにして配列に代入
}catch(IOException e){ array = null; } // ファイルが存在しないなど
finally{ try{ if(fr != null)fr.close(); }catch(Exception e){} }
みたいな感じでどうだろうか
689:デフォルトの名無しさん
09/12/30 02:18:03
>>687
// 課題2
public class Daigaku extends Human{
private String number;
public static void main(String[] args){
Daigaku[] student = { new Daigaku("00A00", "Taro", 165.0, 55.0), new Daigaku("00A01", "Hanako", 138.3, 45.2), new Daigaku("00A02", "Ken", 189.7, 105.8), };
for(int i=0;i < student.length;i++)student[i].showData();
}
public Daigaku(String number, String name, double height, double weight){
super(height,weight,name);
this.number = number;
}
public void showData(){
System.out.print("学籍番号:"+number+" , ");
showValue();
}
}
// 課題3
// Humaのheight,weight,nameをprivateからprotectedに変える
// DaigakuのshowDataを下記に変更
public void showData(){
System.out.print("学籍番号:"+number+" , ");
System.out.print("名前:"+name+", ");
System.out.print("身長:"+height+"cm, ");
System.out.println("体重:"+weight+"kg, ");
}
って感じでいいんだろうか。
課題1が出来てるんだし2、3も出来るんじゃないのと思った
ただ問題に誤植が多いし、言葉の選び方なんかも不用意で問題としてどうかだし
内容もつまらんから途中で嫌になったのかな
690:デフォルトの名無しさん
09/12/30 02:20:31
>>687
URLリンク(rg550.hp.infoseek.co.jp)
課題3にはheightとweightについてしか記述がなかったが、
nameについてもprotectedつけてみた
691:デフォルトの名無しさん
09/12/30 07:17:25
>>689-690
動作確認できました
助かりました。有難うございます
692:デフォルトの名無しさん
09/12/31 17:39:10
【 課題 】キーワードからクロスワードを完成させる
URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】Javaアプリケーション(main()で開始
【 期限 】できれば、1/3までにはお願いします。
(提出日は7日なのですがソースを理解する時間が欲しいので)
年末で忙しいとは思いますが、よろしくお願いいたします。
693:デフォルトの名無しさん
10/01/03 00:50:41
【 課題 】@ 配布した「MouseArt2009」を元にした オリジナルの作品であること
A 見る人が画面をクリックするたびに、不思議な模様を描き、そして音声が再生されるものであること。
B 「楽しさ」、「クールさ」、「荘厳さ」、など受け手が感心するような作品を考えてください
C if文、for文、配列、Mathクラスなどを有効に使って、プログラムならではの表現を試みてください
【 形態 】Applet
【 GUI 】制限なし
【 期限 】解答希望日:1/5もしくは1/6
【 Ver 】1.6.0 16
【 補足 】キーボードの画像のアルファベット部分(A〜Z)をクリックすると、クリックした1文字が画面に表示され、
新たにもう一文字クリックすると今度はその1文字が表示される。
F1〜F4のキーをクリックすると任意の自己紹介などを表示する。
クリックした際には音がなる。(A〜Zで同じ音、F1〜F4で同じ音。計2つの音がある。)
その他のキー(A〜Z、F1〜F4以外)は何もアクションはおこらない。
使用するキーボード画像、音楽がはいったファイルはこちらになります。
URLリンク(www51.tok2.com)
誠に勝手ではありますが、動作確認やソース理解などをするため1/5もしくは1/6までにお願いいたします。
丸投げですがどなたかよろしくお願いいたします。
694:デフォルトの名無しさん
10/01/03 10:27:45
質問本スレでも、質問したのですが、スレ違いということに気付きこっちに移動してきました。
965 デフォルトの名無しさん [sage] 2010/01/02(土) 19:05:37 ID: Be:
高校の宿題で、サーバー役とクライアント役に分けて、プログラム作って、簡易チャットを作っているのですが、分からない点があります。
client1 とclient2が接続されてるとして、server側でclient1が発言したのを、client2側の画面に反映する方法がわからない。(client2の出力ストリームに流し込む方法が・・・分かりません)
いくつかアドバイスレスは頂いたのですが、なにぶん難しくて理解出来ませんでした。マルチレスという形にはなってしまうのですが、ご助言のほど宜しくお願いします。
695:デフォルトの名無しさん
10/01/03 12:08:34
【課題提示用テンプレ】
【 課題 】
問題文は、わかりやすいように画像でアップしておきます
URLリンク(www1.axfc.net)
URLリンク(www1.axfc.net)
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】指定なし
【 期限 】1/20
【 Ver 】1.6.0_16
丸投げになってしまいますが、どうぞよろしくおねがいいたします。
696:デフォルトの名無しさん
10/01/03 15:27:13
>>692
URLリンク(www.dotup.org)
全てのワードが必ず1回だけ使われるという前提で解いたけど出題者の意図と違うかもしれない
あとsjisで作業してたからutf8がよければ変換してくれ、そのとき正しく動作するかはわからん
697:ウォシュレットのアームめがけて排便する俺 ◆06NY4sFIG.
10/01/03 23:28:10
>>694
向こうで書かれてた方法のうち、ポーリング法というのが
古典的な掲示板システムなんかで使われてるやつですね。
クライアント側から一定期間ごとにサーバに問い合わせて、更新メッセージがあればサーバから受け取る、みたいな。
サーバ側では問い合わせに対応できるように、チャットの内容を連番や書き込み時刻などで管理しておく必要があります。
あと、「クライアント側で一定期間ごとにサーバに問い合わせ」るのではなく、
ユーザがクライアントのボタンを押すことで問い合わせを行うのも一般的かと思います。
698:ウォシュレットのアームめがけて排便する俺 ◆06NY4sFIG.
10/01/03 23:31:42
おっと、チャットシステムで手動更新は
一般的では無いですね。
699:デフォルトの名無しさん
10/01/04 20:09:53
>>694
URLリンク(codezine.jp)
ここ参考にすれば?
700:デフォルトの名無しさん
10/01/05 23:35:36
>>696
アクセス制限で書き込み出来ませんでした。
動作確認できました。ありがとうございます。
コメントまで丁寧に書いて頂いて助かりました。
これで入社前研修を乗り切れそうです。
701:デフォルトの名無しさん
10/01/06 00:53:09
>>700
できない奴は入社後研修、できた奴は即実戦投入だったりして
702:デフォルトの名無しさん
10/01/08 13:27:07
底力を上げるのが勉強なんだが
素通りしたら気張り続けないと大変だぞい
703:デフォルトの名無しさん
10/01/11 15:58:15
【 課題 】任意のテキストファイルを選択し、テキストファイルを表示させなさい
(思い描いている内容)
以下の画像を参照ください。
URLリンク(imepita.jp)
@の参照ボタンを押すと、ファイルを開くダイアログボックスが表示し
任意のテキストファイルを選択
Aに選択したテキストファイルの絶対パスが表示
同時にBのエリアににテキストファイルの内容が表示し縦横スクロールが可能
保存はしない
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】4. 制限なし
【 期限 】1/12 午前中
【 Ver 】1.6.0_17
【 補足 】申し訳ありませんが、丸投げです
よろしくお願いいたします
704:デフォルトの名無しさん
10/01/11 16:51:05
>>703
URLリンク(rg550.hp.infoseek.co.jp)
705:デフォルトの名無しさん
10/01/11 17:55:21
初めて2chに書き込みます
Javaがわかりません
お願いします
【 課題 】自然言語処理、構文解析のCYK法のプログラム
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】2010/01/18
【 Ver 】java version "1.6.0_17"
【 用語 】CYK法 Wikipedia項目リンク
【 補足 】お願いします
706:デフォルトの名無しさん
10/01/11 18:18:12
>>705
卒研とかの丸投げ?
短期で解決すべき宿題ならもっと具体的な設問があるだろうからそれを示せ。
707:デフォルトの名無しさん
10/01/11 19:13:30
>>703
ダイアログを開くたびにカレントディレクトリが戻っていたので少し修正
終了すると元に戻るけどね
URLリンク(rg550.hp.infoseek.co.jp)
708:デフォルトの名無しさん
10/01/11 22:12:29
>>704
>>707
こんなに早くありがとうございました
こちらで動作の確認が行えました
いただいたファイルを確認してjavaの理解を深めたいと思います
先生の小言を聞かなくて済みそうです
本当にありがとうございました
709:デフォルトの名無しさん
10/01/14 00:39:19
【 課題 】 URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】1月22日
【 補足 】Eclipseを使用しています。
内容は前向き推論のプログラムです。
このプログラムを実行したら、「gyouzaは作ることができる。」と表示させたい。
「nikuudouは作ることができる。」は表示させない。
またRecipe.txtの中身を修正してもよい。
710:デフォルトの名無しさん
10/01/14 00:40:47
>>709
課題はURLリンク(rg550.hp.infoseek.co.jp) の872.javaです。
711:デフォルトの名無しさん
10/01/15 02:56:12
【 課題 】課題は3題です。
URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】Javaアプリケーション(main()で開始)
【 GUI 】指定なし
【 期限 】2010/01/18
【 Ver 】1.6.0_17
初心者で苦しんでおります。宜しくお願いします。
712:デフォルトの名無しさん
10/01/16 16:37:38
>>709
そのコードを修正するのが課題なのか変に手を加えた結果がそれなのか。
「与えられた課題文をそのまま」書いてそれなわけ?
あと、<<必須>>って書いてあるんだからバージョン情報くらい書いたら。
今時Vectorってjava幾つだよ。
713:デフォルトの名無しさん
10/01/16 18:21:04
>>711
課題3の
>アドレス表を利用した並び替えを行って
アドレス表が何か分からなかったので課題3はやってない
とりあえず課題1と課題2を適当に作ったので参考に
URLリンク(rg550.hp.infoseek.co.jp)
714:デフォルトの名無しさん
10/01/16 21:32:13
>>709
versionは1.6.0_17です。
また、プログラムを修正するのが課題です。
715:デフォルトの名無しさん
10/01/17 00:17:58
>>711
URLリンク(rg550.hp.infoseek.co.jp)
こんなのしかできないです申し訳ありません
716:デフォルトの名無しさん
10/01/17 00:26:36
>>713
アドレス=住所(県名) じゃないかな
717:デフォルトの名無しさん
10/01/17 00:53:50
>>711
課題3
URLリンク(codepad.org)
ソートするメソッドを自前で用意しました。
再帰って使ってオッケーなのかな?
718:デフォルトの名無しさん
10/01/17 11:00:54
>>716
なんか別の意味があるかと思ってしまった
単純にcsvをソートすりゃいいってことね
>>711
といわけで課題3
まぁ簡単に書いた
URLリンク(rg550.hp.infoseek.co.jp)
719:デフォルトの名無しさん
10/01/17 11:06:11
>>718
ちゃんと i を利用しててわろたw
720:デフォルトの名無しさん
10/01/17 11:22:30
課題で定義された変数は使った方がいいでしょw
721:デフォルトの名無しさん
10/01/17 13:42:37
【 課題 】速度が上がるspeed upボタンの追加
【 形態 】 Applet
【 期限 】1月18日
【 Ver 】1.6.0_11
【 補足 】
URLリンク(rg550.hp.infoseek.co.jp)
722:デフォルトの名無しさん
10/01/17 16:31:39
>>721
initにこれを追加(変数定義忘れないように)
speedUpB = new Button("Speed UP");
add(speedUpB);
speedUpB.addActionListener(this);
sleepTime = 500;
actionPerformedの分岐に追加
else if(e.getSource() == speedUpB){
if(sleepTime > SLEEP_CHG_TIME){
sleepTime -= SLEEP_CHG_TIME;
}
}
runで
th.sleep(500);
を
th.sleep(sleepTime);
に変更
SLEEP_CHG_TIMEはどれだけ早くしたいかを定義すればおk
723:デフォルトの名無しさん
10/01/17 21:37:52
【 課題 】最小選択法を使用して作ること
【 形態 】1. Java
【 期限 】19日まで
【 Ver 】1.6.0_17
【 補足 】exchangeかメソッド
よろしくお願いします
URLリンク(rg550.hp.infoseek.co.jp)
724:デフォルトの名無しさん
10/01/17 23:53:29
>>713
>>715
>>717
>>718
動作確認できました
わかりにくい部分があり申し訳ありません
本当に有難うございました
725:デフォルトの名無しさん
10/01/18 00:02:46
>>722
助かりました
726:デフォルトの名無しさん
10/01/18 00:15:50
【 課題 】チョイスにより三角関数のグラフ(sin, cos, tan)のカーブを
選択して描画領域に描画させるJavaアプリケーションを作成せよ。
y = sin ax において、aの値をテキスト
フィールドで入力して描画できるように拡張してみよ。(cos, tanも同様)
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】1. AWTのみ
【 期限 】1月25日まで
【 Ver 】1.6.0_17
【 補足 】
URLリンク(rg550.hp.infoseek.co.jp)
こんな感じでお願いします
727:デフォルトの名無しさん
10/01/18 03:40:21
>>709-710,714
そんだけでいいなら
1)材料を繰り返して入力している部分の重複を排除(4つの材料すべて)
×→wm.addAssertion("butaniku butaniku");
○→wm.addAssertion("butaniku");
2)Recipe.txt の中身で餃子に必要な材料の部分の ?x を削除(4つの材料すべて)
×→"x? butaniku"
○→"butaniku"
これで与えられた条件は満たせる。
新しいルールの作成っぽいことしようとして上手く行ってない感が残ってるけどしらね。
728:デフォルトの名無しさん
10/01/18 03:52:50
【 課題 】国旗を表示するプログラム(日の丸、星条旗、ユニオンジャック等)を作れ。 指定された国旗を画面に表示する。少なくても8種類以上。 国旗の指定にはメニューとかボタンとかを表示して、選択させること。
国旗は図形として描くこと。写真を貼り付けたりしては駄目。
【 形態 】 Javaアプリケーション(main()で開始)
【 GUI 】JFrameを使えといわれました
【 期限 】1月30日まで
【 Ver 】1.6.0_18
【 補足 】できたプログラムについての説明(変数の役割、実行の流れなど)もあるとありがたいです。
よろしくお願いします。
729:デフォルトの名無しさん
10/01/18 05:13:33
>>726
URLリンク(codepad.org)
改良の余地ありだけど、どぞ。
問題あったら教えて下さい。
730:デフォルトの名無しさん
10/01/18 07:14:37
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】4. 制限なし/
【 期限 】1月20日まで
【 Ver 】1.6.0_17
【 補足 】細かく4題となっています
よろしくお願いします
731:デフォルトの名無しさん
10/01/18 08:20:21
>>729
問題ありません
ありがとうございました
732:デフォルトの名無しさん
10/01/18 13:47:20
>>729
参考までに聞きたいのですが
完成までにどのくらいかかりましたか?
733:デフォルトの名無しさん
10/01/18 15:40:33
Javaの課題で、コマンドにいろいろなことを入力して、
そこから入力されたファイルを読み込みたいのですが・・・
Scanner filein = new Scanner (new BufferedReader(
new InputStreamReader(System.in)))
String line;
String p = "(\\w+)(\\W)([a-z]+)";
while((line = filein.findInLine(p))!=null){
System.out.println(line);
}
FileReader a = new FileReader(line);
BufferedReader din = new BufferedReader(a);
これだとエラーがおこります。
どうすればいいか教えていただけませんか?
734:デフォルトの名無しさん
10/01/18 16:04:37
>>730
よかったらドゾ。
URLリンク(rg550.hp.infoseek.co.jp)
>>732
4時間くらいだと思う。
もれのテクだとこんだけかかってしまうのが悲しい。。。
途中,自家発電して風呂入ったのは内緒。
735:デフォルトの名無しさん
10/01/18 16:08:13
自家発電は2分くらいで終わります
736:デフォルトの名無しさん
10/01/18 16:08:23
>>733
意図がさっぱりわからないけど、
FileReader a = new FileReader(line);
が実行されるとき、つまりwhile文の判定がfalseのとき、lineは常にnullになるよ?
737:デフォルトの名無しさん
10/01/18 17:30:56
dbを勉強したくてJRE1.6でjavaDBたるものが梱包されているって聞いたのですが、
そのクラスを教えていただけないでしょうか?
738:デフォルトの名無しさん
10/01/18 17:33:49
dbを勉強したいならpostgresqlをインスコしたほうがいい
739:デフォルトの名無しさん
10/01/18 18:34:09
>>737
こんなとこで聞くよりググった方が早いと思うけど。
URLリンク(developers.sun.com)
740:デフォルトの名無しさん
10/01/18 18:42:47
あークラスか。Windowsだったら
C:\Program Files\Sun\JavaDB\javadoc\jdbc4
にJavadocがある。
C:\Program Files\Sun\JavaDB\lib\derby.jar
が本体だと思うけど。
あと、JREじゃなくてJDKじゃないかな?JavaDBがついてるの。
741:デフォルトの名無しさん
10/01/18 20:22:22
>>740
そーいうことっすか?
じゃあ運用レベルでは使わないでねって感じっすか?
742:デフォルトの名無しさん
10/01/18 21:16:36
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】eclipse
【 GUI 】制限なし
【 期限 】1/26日 正午まで
【 Ver 】1.6.0_16
【 補足 】よろしくお願いします。。
743:デフォルトの名無しさん
10/01/18 21:17:09
データソースを自力で登録したいのですが、
どんな手順で登録できるでしょうか?
744:デフォルトの名無しさん
10/01/18 21:18:00
日本語でOK
745:デフォルトの名無しさん
10/01/18 21:35:02
ちなみに質問スレってのもあるんだよね。
★★Java質問・相談スレッド135★★
スレリンク(tech板)
専用スレで聞いた方が質問者にとっても有意義であることが多い。と思う。
746:デフォルトの名無しさん
10/01/18 22:14:46
>>734
わざわざお答えいただきありがとうございました
747:デフォルトの名無しさん
10/01/19 06:09:00
【 課題 】FrameもしくはJFrameに半径5ピクセルの円を描きなさい(y座標を30以上にすること)。
そしてキーボードのカーソルキー(矢印キー)を押すと、この円が矢印キーの刻印の示す
方向へ4ピクセル移動するようにしなさい。なお、移動前の円が残っていても構わない。
(KeyEventを利用。getKeyCode,VK_UP,VK_DOWN,VK_LEFT,VK_RIGHT)
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】4. 制限なし
【 期限 】2010年1月25日
【 Ver 】1.5.0_12
【 補足 】丸投げでお願いします。
748:デフォルトの名無しさん
10/01/19 07:32:41
import java.awt.*; // >>747
import java.awt.event.*;
import javax.swing.*;
public class R747 extends JComponent {
private int x = 100, y = 100;
@Override public void paintComponent(Graphics g) { g.drawOval(x, y, 5 * 2, 5 * 2); }
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final R747 c = new R747();
f.addKeyListener(new KeyAdapter() {
@Override public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case KeyEvent.VK_UP: c.y -= 4; break;
case KeyEvent.VK_DOWN: c.y += 4; break;
case KeyEvent.VK_LEFT: c.x -= 4; break;
case KeyEvent.VK_RIGHT: c.x += 4; break;
}
c.repaint();
}
});
f.add(c);
f.setSize(400, 400);
f.setVisible(true);
}
});
}
}
749:デフォルトの名無しさん
10/01/19 13:44:49
>>748
自力で解決しました。
750:デフォルトの名無しさん
10/01/19 13:58:02
【 課題 】 URLリンク(rg550.hp.infoseek.co.jp)の884です
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】4. 制限なし
【 期限 】1/25
【 Ver 】1.6.0_16
751:デフォルトの名無しさん
10/01/19 15:10:33
>>748
ありがとうございました。
752:デフォルトの名無しさん
10/01/19 18:57:40
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】4. 制限なし
【 期限 】1/25
【 Ver 】1.6.0_14
よろしくお願いします。
753:デフォルトの名無しさん
10/01/20 02:34:53
>>752
URLリンク(rg550.hp.infoseek.co.jp)
754:デフォルトの名無しさん
10/01/20 03:45:31
>>753
夜遅くにありがとうございます。
755:デフォルトの名無しさん
10/01/20 15:38:49
【 課題 】インターネット書店を作成せよ
<条件>
・画面サイズ→VGAとする
・書籍は5ジャンル150冊
・1回の注文で5種類まで書籍を注文可能
・書籍の値段は20円単位とし、書籍の値段は自由
・書籍価格の合計金額の2%のポイントが与えられる。(ただし、ポイントは第一ジャンルは2倍、第二ジャンルは3倍になる)
・注文終了後、注文確認画面で注文と支払い代金、獲得ポイントが確認できる。(支払い代金とは、注文図書の合計金額と消費税の和)
・貯まったポイントを併用して支払いが可能(ポイントの価値は、1ポイント1円)
・書籍の発送は電子メールの添付ファイルで行う(発送は出来なくてよい)
・ソフトキーボードのみ使用可能
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】2. Swing
【 期限 】1/27
【 Ver 】1.6.0
【 補足 】実用的な画面インタフェースでは取消機能が必要であるが、ここでは取消機能については
考えなくてよい。
また、ユーザーは正しい操作を行うものと仮定して良い。
講義内容がいきなり飛躍して、期限までに作成困難なので教えていただければ幸いです。
よろしくお願いします。
756:デフォルトの名無しさん
10/01/20 23:19:58
String[]型の配列の要素を全てprintlnで表示しようとすると
[Ljava.lang.String:@16進数みたいな文字 になってしまうのですが
これの解決方法ってないでしょうか?
String[] list = new String[100];
list[0] = "aaa"; list[1] = "bbb"; list[2] = "ccc";
System.out.println( list );
で[Ljava.lang.String:@16900e1 みたいなのが表示されます
ArrayListで配列を作ると
ArrayList list = new ArrayList();
list.add("aaa"); list.add("bbb"); list.add("ccc");
System.out.println( list ); で
[aaa, bbb, ccc]
といった感じで出てくるのでこれをString[]配列で出せるようにしたいです。
(仕様が戻り値をString[]型にせよ のため)
自分ではfor( int i = 0; i < 100; i++ ){ System.out.println(list[i])}
の方法しか思いつきませんでした。
これだと
aaa
bbb
ccc
のように改行して表示されてしまうので
Arraylistの例のように横一覧に出力することは可能なのでしょうか?
757:756
10/01/20 23:22:28
追記:環境は Java1.4です
758:デフォルトの名無しさん
10/01/20 23:30:43
>>756
質問は質問スレへ
スレリンク(tech板)l50
759:デフォルトの名無しさん
10/01/20 23:49:32
>>756
JDK5以上ならArrays#toString、1.4ならArrays#asListでListに変換してprintlnに渡す。
でもnullの要素を特別扱いするわけじゃないから100個の要素がある配列では100個分の要素が表示される。
結局自分で書かないと[aaa, bbb, ccc]のようにはならない。
AbstractCollection#toStringのソースが参考になると思う。
単にprintlnでなくprintメソッドを使って要素とコンマを交互に出力するでもいいかもしれない。
それとここは宿題スレだから単なる質問は質問スレ(>>745)が別にあるので今後はそこへどうぞ。
760:デフォルトの名無しさん
10/01/20 23:58:46
【 課題 】音量に変動性を持たせる
【 形態 】1. Javaアプリケーション
【 期限 】1月22日
【 Ver 】1.6.0
【 補足 】質問のほうに書かせていただいたのですが、回答得られなかったため、こちらに書かせていただきます。
再生中、時間経過とともに音量が変化するようにしなくてはいけません。
基本的には、以下のプレイヤーを基本として変更を加えていきたいです。
自分でも色々試しましたがわからないので、すみませんがよろしくお願いします。
URLリンク(yasshiemd.web.fc2.com)
761:デフォルトの名無しさん
10/01/21 05:29:35
【 課題 】URLリンク(www1.axfc.net) こちらをご参照くださいませ。
@を押すとファイルを開くダイアログが表示されるので、任意のファイルを選択
すると、隣のテキストフィールドに選択したファイルの絶対パスが表示。
Aを押すとフォルダを開くダイアログが表示されるので、任意の場所を選択
上に同じく隣に絶対パスが表示されます。
Bで任意の文字列を入力。
Cを押すと、Aで選択したフォルダにBで入力した文字列を持つ新しいフォルダが作成され
そのフォルダの中に@で選択したファイルを移動するというものです。
説明が下手ですみません。
【 形態 】Javaアプリケーション(main()で開始)
【 GUI 】Swing
【 期限 】1/22早朝
【 Ver 】1.6.0_17
【 補足 】ファイル移動のメソッドの使い方がまったく分からずここ何日も立ち往生してしまっています
丸投げですみませんがどうかよろしくお願いいたします。
762:デフォルトの名無しさん
10/01/21 14:33:11
>>761
暇だからやってみる。トラストミー(笑
763:デフォルトの名無しさん
10/01/22 00:17:44
>>761
期限も近づいてるようなので>>762を待たずに
URLリンク(rg550.hp.infoseek.co.jp)
764:デフォルトの名無しさん
10/01/22 00:30:40
>>763
aisiteru
765:761
10/01/22 00:54:44
>>763
相変わらずコンパイル時にエラーまみれでどうしたものかと思っていたところです
とても助かりました
本当にありがとうございます、感謝してもしきれません。
766:761
10/01/22 00:55:38
>>763
相変わらずコンパイル時にエラーまみれでどうしたものかと思っていたところです
とても助かりました
本当にありがとうございます、感謝してもしきれません。
767:デフォルトの名無しさん
10/01/22 00:57:30
だいじなことなので2かいいいました
768:デフォルトの名無しさん
10/01/22 02:33:31
【 課題 】時刻を表示するプログラム
【 形態 】2. Applet
【 GUI 】4. 制限なし
【 期限 】1月26日まで
【 Ver 】1.6.0_14
【 補足 】下の890を参考にしてください。
URLリンク(rg550.hp.infoseek.co.jp)
すみませんが、よろしくお願いします。
769:デフォルトの名無しさん
10/01/22 18:13:56
期限までまだありますが>>750をよろしくお願いします。
770:デフォルトの名無しさん
10/01/22 18:45:58
>>768
URLリンク(rg550.hp.infoseek.co.jp)
771:デフォルトの名無しさん
10/01/22 19:15:45
【 課題 】
サーバとクライアントでの間で文字列を送り合うプログラムをつくれ。
ただし、以下の条件を満たすようにすること。
アドレス、ポート、名前、文字列はキーボード入力し、お互いに自由に指定できるようにする。
クライアントで quit が入力された場合、クライアントは接続を切りプログラムを終了し、
サーバは接続が切られたら、次のクライアントの接続を待つ
サーバで quit が入力された場合、サーバは接続を切り、次のクライアントの接続を待ち、
クライアントは接続が切られたらプログラムを終了する
エンターキーのみが入力された場合は、文字列を送らずもう一度文字列を入力させて、
その文字列を送るようにする。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】4. 制限なし
【 期限 】1/25
【 Ver 】1.6.0_14
【 補足 】
途中まで四苦八苦してファイルを作りましたので、添付いたします。
添付ファイル
サーバー側
URLリンク(rg550.hp.infoseek.co.jp)
クライアント側
URLリンク(rg550.hp.infoseek.co.jp)
これ以上どうやってもわからないので、お願いいたします。
特にコメントに名前をつけるやり方と、quitを入れたときの処理がわからないです。
772:768
10/01/22 21:30:19
>>770
助かりました。本当にありがとうございます。
773:デフォルトの名無しさん
10/01/22 22:04:53
>>771
動作確認してみて下さい。
「コメントに名前をつけるやり方」というのがわからなかったので,
未実装です。
サーバ
URLリンク(codepad.org)
クライアント
URLリンク(codepad.org)
774:デフォルトの名無しさん
10/01/22 22:44:59
>>771
問題文から見て>>695と同じ問題だと思われるが
クライアントとサーバの画面例が示されていないので
ユーザインタフェイスは>>771のソースを尊重
URLリンク(rg550.hp.infoseek.co.jp)
775:774
10/01/22 23:19:22
>>771
> エンターキーのみが入力された場合は、文字列を送らずもう一度文字列を入力させて、
> その文字列を送るようにする。
を忘れてた
クライアントに
if (str.isEmpty()) continue; //+++
if (str.equals("quit")) {
break;
}
を加えてサーバを
//+++
do {
System.out.println("送信する文字列を入力してください");
str = data.readLine();
} while(str.isEmpty());
//+++
if (str.equals("quit")) {
break;
}
のように変更する
776:771
10/01/23 21:47:55
>>773-775さん
ありがとうございます!!
名前をつけるというのはチャットのように、発言者に名前をつけるという意味です。
加藤<こんにちわ
斉藤<こんにちわ
こんな感じで・・・
>>775
それやったらchatchがありません。みたいなエラー出たのですが、どこに張れば
良いんでしょうか?
自宅のPCのポート開放のやり方がわからなく、月曜日にならないとプログラム同士の
接続が試せないので、また月曜日に分からない点などがあったら報告したいと思います。
本当に助かりました!ありがとうございました。
777:デフォルトの名無しさん
10/01/23 23:05:17
if (str.equals("quit")) {
break;
}
がある位置はクライアントとサーバそれぞれで一ヶ所しかないんだから
付け加えたり変更したりする場所は見当付くだろ
エラーが出たらそのソースを晒さんと他人には分からんだろ
せめて出たエラーを貼れ
どんなセキュリティをかけてるか知らないがlocalhost同士で通信するのは特に難しくないんでは?
778:デフォルトの名無しさん
10/01/24 06:45:18
【 課題 】1.任意のWEBページからhttp://で始まるハイパーリンクを抽出するプログラムの作成
URLリンク(rg550.hp.infoseek.co.jp)
2.任意のWEBページ10ページに含まれる単語のうち,上位10位の単語リストとその出現頻度
URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】制限なし
【 期限 】1/25
【 Ver 】1.6.0_14
【 補足 】1.に関してはプログラムはあっていると思うのですがなぜか実行
できないので、実行できたら結果をコピペで教えてもらえたら嬉しいです
2.に関しては実行結果があるのですが、上から多い順に並んでいます
プログラムのどの部分でその並べ替えを行っているのか、またどんな
アルゴリズムを用いて並べ替えているのかを教えてもらえたら嬉しいです
2つあるのですがどうかご教授ください。
779:デフォルトの名無しさん
10/01/24 07:54:18
>>778
1はちゃんと実行できたよ。
URLリンク(images.google.co.jp)
URLリンク(video.google.co.jp)
URLリンク(maps.google.co.jp)
URLリンク(news.google.co.jp)
URLリンク(books.google.co.jp)
URLリンク(mail.google.com)
URLリンク(www.google.co.jp)
URLリンク(www.google.com)
2はコメントでBubbleSortとあるじゃないか。
780:デフォルトの名無しさん
10/01/24 10:00:51
【 課題 】FrameもしくはJFrameに半径5ピクセルの円を描きなさい(y座標を30以上にすること)。
そしてキーボードのカーソルキー(矢印キー)を押すと、この円が矢印キーの刻印の示す
方向へ4ピクセル移動するようにしなさい。なお、移動前の円が残っていても構わない。
(KeyEventを利用。getKeyCode,VK_UP,VK_DOWN,VK_LEFT,VK_RIGHT)
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】4. 制限なし
【 期限 】2010年1月25日
【 Ver 】1.5.0_12
【 補足 】>>747です。先生に駄目だしをくらいまして自分で組みなおしてるんですが
どうにも丸が動きません。下のプログラムを弄って動くようにしてもらえませんでしょうか?
URLリンク(rg550.hp.infoseek.co.jp)
781:デフォルトの名無しさん
10/01/24 10:53:04
>>780
URLリンク(rg550.hp.infoseek.co.jp)
元のコードを生かしたからきれいじゃないけど
782:デフォルトの名無しさん
10/01/24 11:08:21
>>781
ありがとうございます。
助かりました!
783:デフォルトの名無しさん
10/01/24 17:44:48
>>782
問題でVK_UPやVK_DOWNなどのキーコード定数を使えってあるのに
返されるStringが変更される可能性のあるgetKeyTextを使ってわざわざStringに変換してるし
そのStringの等値判定をequalsでなく==でやってるのもいいこととは思えない
e.getKeyCode()が返す値とKeyEvent.VK_UPなどとを直接比較する方が題意に沿ってると思うが
またダメ出しされないかい?
784:デフォルトの名無しさん
10/01/24 18:15:15
【 課題 】3つのボールがレースをするプログラムを作りなさい。乱数を発生させ、毎回違った結果を出すようにしなさい。さらに以下の改良を加えなさい。
1)ボタンを押すと、レースがスタートする。
2)ゴールのラインを引いて、1着がどれかを表示する。
【 形態 】2. Applet
【 GUI 】4. 制限なし
【 期限 】1/25 23:00まで
【 Ver 】1.6.0_17
【 補足 】乱数を使ったレース部分までは以下のプログラムにあります。それを改良して、1)&2)の付け足しをお願いします。
URLリンク(rg550.hp.infoseek.co.jp)
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5042日前に更新/316 KB
担当:undef