08/05/04 20:21:06
>>789
釣りではないです(笑)
やはり問題の解釈を間違えていたということですか.だったらもう少し頑張ってみます.
ご迷惑をおかけして,すみませんでした.
791:デフォルトの名無しさん
08/05/05 01:30:00
>>790
> iを0~9まで1ずつ増加させ,表示する
を、iという文字を1行あたり0個から9個まで変化させて出力する問題ととるのなら、それでいい。
まあ、2重ループにしなくてもできるけれどね。
iというのが数値型の変数名でiの値を0から9まで変化させて、
そのiの値を表示する問題であるのなら1重ループでSystem.out.println(i);するだけで十分。
for文をwhile文に修正するのは>>783のヒントのように、
for(A;B;C)D の形になっているものを A;while(B){D;C;} にすればいい。
792:デフォルトの名無しさん
08/05/05 02:20:34
>>781=787
質問。
> 【 課題 】while文を使い,iを0~9まで1ずつ増加させ,表示するプログラムを書きなさい.
の答えは、
0123456789
となってほしいのか、
i
ii
iii
iiii
iiiii
iiiiii
iiiiiii
iiiiiiii
iiiiiiiii
となってほしいのか、どっちだ?
793:デフォルトの名無しさん
08/05/05 02:57:28
後者だったらなんかうけるなw
794:デフォルトの名無しさん
08/05/05 03:44:52
>>793
課題の「i」という文字のコンテキストが読めないからな。
「変数i」とか書いてたら前者なのにな。
後者でも間違いではないとも言えるなw
795:デフォルトの名無しさん
08/05/05 09:42:29
PENTOMINOをjavaで作成中なのですがなかなかうまくいきません。。。
まだ90度回転は書いてないのですがとりあえずある程度のグラフィック表示と2339×4通りの出力を
実現したいのです;
URLリンク(www.dotup.org)
パスワード:pentomino
まだまだ初心者なのでぐちゃぐちゃですがアドバイスよろしくです><
796:デフォルトの名無しさん
08/05/05 11:09:03
>>795
>>1
797:デフォルトの名無しさん
08/05/05 20:16:28
【 課題 】drawCircleを使わずにdrawLineだけで円を描くプログラムを作成せよ
【 形態 】2. Applet
【 期限 】5/8
【 Ver 】java version "1.6.0_10-beta"
お願いします
798:デフォルトの名無しさん
08/05/05 20:59:10
>>797
import java.applet.Applet;
import java.awt.Graphics;
public class CircleApplet extends Applet {
@Override
public void paint(Graphics g) {
int centerX = 200; // 中心X座標
int centerY = 200; // 中心Y座標
int r = 100; // 半径
int n = 32; // 角の数(大きくするほど円に近くなる)
int x0 = centerX; // 線を引く時の始点座標
int y0 = centerY - r; // 最初は中心から0時方向の点
for(int i = 0; i < n; i++){
double rad = 2 * Math.PI / n * (i+1); // 中心から時計回りに360/n度方向の点を求める
int x1 = (int)(centerX + r*Math.sin(rad));
int y1 = (int)(centerY - r*Math.cos(rad));
g.drawLine(x0, y0, x1, y1); // 始点から求めた点まで線を引く
x0 = x1; // 現在の終点を次の始点にする
y0 = y1;
}
}
}
799:デフォルトの名無しさん
08/05/05 22:20:18
>>798
ありがとうございます
800:デフォルトの名無しさん
08/05/06 02:44:09
ところでdrawOvalでなくdrawCircleは使おうにも標準APIにそういうメソッドはないな
もしかしてupdate10で追加された?
801:デフォルトの名無しさん
08/05/07 00:49:41
【 課題 】モンテカルロ法を使って y=sinx の (0,0)から(1,2/π)までの面積を求めよ
【 形態 】Javaアプリケーション(main()で開始)
【 GUI 】制限なし
【 期限 】5/7
【 Ver 】java version "1.5.0_11"
【 補足 】丸投げでごめんなさい
802:デフォルトの名無しさん
08/05/07 03:42:49
>>801
import java.util.Random;
public class Monte {
public static void main(String[] args) {
Random rand = new Random();
int maxCount = 10000;
int inCount = 0;
for (int i = 0; i < maxCount; i++) {
double x = rand.nextDouble();
double y = rand.nextDouble();
if (y <= Math.sin(x * Math.PI / 2)) {
inCount++;
}
}
System.out.println(Math.PI / 2 * inCount / maxCount);
}
}
803:デフォルトの名無しさん
08/05/07 03:58:39
>>801
> y=sinx の (0,0)から(1,2/π)までの面積を求めよ
ってのはy=sin(x)とy=0に挟まれた面積を求めよってことだよね?
sin(1)≠2/πだけれど積分範囲は0から1でいいの?
もしかして、(1,2/π)は(π/2,1)のつもりで積分範囲は0からπ/2かもと思って、
コメントアウトしている部分にその場合のコードも入れておいた。
import java.util.Random;
public class MonteCarlo {
public static void main(String[] args) {
Random r = new Random();
int N = 1000000;
int n = 0;
// 積分範囲が[0,1]の時 解析解=1-cos(1)
for (int i = N; i > 0; i--) if (Math.sin(r.nextDouble()) > r.nextDouble()) n++;
System.out.println((double)n / N); // モンテカルロ法
System.out.println(1 - Math.cos(1)); // 解析解
// 積分範囲が[0,π/2]の時 解析解=1
/*double p2 = Math.PI / 2;
n = 0;
for (int i = N; i > 0; i--) if (Math.sin(r.nextDouble() * p2) > r.nextDouble()) n++;
System.out.println((double)n / N * p2);*/
}
}
804:803
08/05/07 04:01:30
うお、リロードしていなかったorz
やっぱり[0,π/2]って考えるよね
805:デフォルトの名無しさん
08/05/07 04:19:26
>>802
助かりました
ありがとう
806:デフォルトの名無しさん
08/05/07 04:20:32
>>803
リロードしてなかった;
ありがとうございます
807:デフォルトの名無しさん
08/05/07 21:41:24
下着にか
808:デフォルトの名無しさん
08/05/07 22:56:09
コレクションフレームワークを使って、以下の要件を満たすクラスEmployeeDataAccessor.javaを作ってください。
標準入力から社員No、社員名のデータを5名分受け取って社員No、社員名のセットでデータを格納する
標準入力から社員Noを入力すると該当する社員名が表示される
「A」または「a」と入力すると全社員が昇順にソートされて表示される
「Q」または「q」と入力する終了する
方法1:ArrayListクラス、HashMapクラス、StringTokenizerクラス、Collectionsクラスのsortメソッドを使う
方法2:TreeMapクラスを使う
(制限時間: 30分)
809:デフォルトの名無しさん
08/05/07 23:01:53
>>808
>>1
810:デフォルトの名無しさん
08/05/07 23:12:59
【 課題 】コレクションフレームワークを使って、以下の要件を満たすクラスEmployeeDataAccessor.javaを作ってください。
標準入力から社員No、社員名のデータを5名分受け取って社員No、社員名のセットでデータを格納する
標準入力から社員Noを入力すると該当する社員名が表示される
「A」または「a」と入力すると全社員が昇順にソートされて表示される
「Q」または「q」と入力する終了する
方法1:ArrayListクラス、HashMapクラス、StringTokenizerクラス、Collectionsクラスのsortメソッドを使う
方法2:TreeMapクラスを使う
【 形態 】Javaアプリケーション(main()で開始)
【 GUI 】制限なし
【 期限 】5/8
【 Ver 】java version "1.5.0_11"
【 補足 】丸投げでごめんなさい
811:デフォルトの名無しさん
08/05/08 01:21:03
>>810
ソートのキーは何?
812:デフォルトの名無しさん
08/05/08 04:01:08
>>810
URLリンク(sourcepost.sytes.net)
813:デフォルトの名無しさん
08/05/08 08:45:24
【 課題 】
フレーム上にDrawLineメソッドだけを使ってSin関数のグラフを描画せよ。
併せてフレームの中心部に原点をとるx軸、y軸も描画すること。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】1. AWTのみ
【 期限 】5月9日
【 Ver 】java version"1.5.0_11"
【 補足 】丸投げですですがよろしくお願いします。
814:デフォルトの名無しさん
08/05/08 12:38:58
>>813
URLリンク(sourcepost.sytes.net)
815:デフォルトの名無しさん
08/05/08 19:26:44
【 課題 】配列を用い、可変個数のint型のデータの集合を扱えるようなメソッド群を作成しなさい。
具体的には、int型の配列に対して値の追加、削除、検索、要素の表示などさまざまな操作を行うメソッドを作成しなさい。具体的には次のとおり。
メソッド init: 配列 a と int 型の値 b を引数にとり、配列 a のすべての要素を b の値で初期化するメソッド
メソッド add: 配列 a と int 型の値 b を引数に取り、配列 a のデータが入っている要素の末尾に b を追加するメソッド
メソッド remove: 配列 a と int 型の値 b を引数に取り、配列 a の要素から b を探し削除するメソッド
メソッド printIndexOf: 配列 a と int 型の値 b を引数に取り、値 b が配列の何番目に入っているか表示するメソッド
メソッド print: 配列 a を引数に取り、配列 a に格納されているデータすべてを表示するメソッド
さらに、メソッド main に、これらのメソッドを使い集合にいろいろな操作を行うプログラムを書きなさい。
新たな集合を作り、1, 9, 6 を追加すると、1 9 6
次に 10 を追加すると、1 9 6 10
また、6 を検索すると 2 番目であることがわかるようにする。
そして、集合から 6 を削除すると1 9 10となる。
可変個のデータを扱うことから、配列の何番目まで意味のあるデータが入っているかを管理する必要がある。
それを行う一つの方法として、最初に配列全体を「空」を表わす特別な値 (たとえば -1) を決めて初期化し、先頭から順番に値を入れていくことが考えられる。
値を順に取り出すときには -1 が見つかったら、取り出しを終了すれば良い。
次に、値が削除されたとき、削除済のデータを配列内で管理する必要がある。一つの方法として次のような処理が考えられる。
削除済みを示す特別な値 (たとえば -2) を決めて、値が削除されたときに配列要素にその値を書き込むようにする。
データを取り出すときは -2 があったらその要素を読み飛ばすようにする。
プログラム名は CollectionByArray とする。
【 形態 】Javaアプリケーション(main()で開始)
【 GUI 】1. AWTのみ
【 期限 】5/9(金)の17時まで
【Ver 】1.5.0_11
【 補足 】丸投げとなりますが、どうぞよろしくお願いします。
816:デフォルトの名無しさん
08/05/08 19:58:11
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】制限なし
【 期限 】5/8(木)の23時まで
【Ver 】1.5.0_11
【 補足 】丸投げとなりますが、どうかよろしくお願いします。
817:デフォルトの名無しさん
08/05/08 20:19:17
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】制限なし
【 期限 】5/8(木)の23時まで
【Ver 】1.5.0_11
【 補足 】前の書き込みの>>816です。まだ問題があったのを書き込み忘れていました・・・どうかよろしくお願い致します。
818:デフォルトの名無しさん
08/05/08 20:47:17
>>816
URLリンク(rg550.hp.infoseek.co.jp)
819:818
08/05/08 20:52:14
>>816
URLリンク(rg550.hp.infoseek.co.jp)
はフライングです。
820:デフォルトの名無しさん
08/05/08 21:42:49
>>814
ありがとうございます!
821:デフォルトの名無しさん
08/05/08 22:20:32
>>817
URLリンク(rg550.hp.infoseek.co.jp)
問題1のみです。
822:デフォルトの名無しさん
08/05/08 23:32:14
>>817
URLリンク(sourcepost.sytes.net)
問題2のみです。
823:816,817
08/05/09 00:40:00
>>818,>>819,>>821
ありがとうございます!助かりました。
824:デフォルトの名無しさん
08/05/09 15:13:44
【 課題 】鳥の画像を表示させるようにプログラムを改造しなさい。
改造前のプログラム→URLリンク(sourcepost.sytes.net)
【 形態 】Javaアプリケーション(main()で開始
【 GUI 】AWT
【 期限 】5月12日、16:30分
【 Ver 】1.5.0_11(多分)
【 補足 】鳥の画像がうまくアップできないので、プログラムのどの部分に
鳥の画像を表示させるプログラムを入れればいいのかを教えていただければ有難いです。
よろしくお願いします。
何かあれば、ご指摘下さい。
825:デフォルトの名無しさん
08/05/09 16:25:23
>>824
GUIはAWTって書いているけど、ソースを見る限りswingだよね?
どこに画像を入れるかはっきりしないけど、
画像用に別途JLabelをCheckBoxTest8に配置してやればいいと思う。
JLabelはコンストラクタやsetIconメソッドでIconを指定して画像を表示できるので、
IconのサブクラスのImageIconで画像ファイルから直にインスタンスを作っておいて、
JLabel用のIconとして使用できる。
画像の変更のタイミングはメッセージの変更と同じところにsetIconを記述すればいいと思う。
826:825
08/05/09 16:52:29
正確にはIconはインタフェースなのでImageIconはIconを実装したクラス
827:デフォルトの名無しさん
08/05/10 00:41:42
【課題提示用テンプレ】
【 課題 】1、2、3,4をそれぞれ1つずつ使い28になる式を全て抽出せよ。
条件・()は使えない。1と3で31という使い方も可能。四則記号はおなじものを何度使ってもよい。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】1. AWTのみ/2. Swing/3. SWT/4. 制限なし/ 5. その他(明記すること)
《GUIの課題の場合必ず選択》 制限なし
【 期限 】5月11日23時59分
【 Ver 】java version "1.5.0_11"
【 補足 】丸投げになりますが、何卒よろしくお願いいたします。
828:デフォルトの名無しさん
08/05/10 01:33:30
>>827
【GUI】制限なしです。
記入ミスすいません。
829:デフォルトの名無しさん
08/05/10 03:07:50
めんどくさそーな問題だな
830:デフォルトの名無しさん
08/05/10 07:40:30
必ず1つだけ使用しなければいけないから結構範囲せまいかも
831:デフォルトの名無しさん
08/05/10 17:14:00
数と演算子の組み合わせパターンを全部生成して試していく方法を採ったとしても、
4桁の整数みたいな絶対正解になりえない場合も枝刈りせずに含めて、
1234から作られる全ての並びが 4! = 24通りで、
それぞれの並びに対して、
全部が一つの整数になる場合が1通り、
二つの整数になる組み合わせが3通りで、それぞれ整数間に演算子が4通り入り、
三つの整数になる組み合わせが3通りで、それぞれ整数間に演算子が4^2通り入り、
四つの整数になる組み合わせが1通りで、整数間に演算子が4^3通り入るから、
全部で 4! * (1 + 4 * 3 + 4^2 * 3 + 4^3) = 3000通りかな。
832:デフォルトの名無しさん
08/05/11 00:08:14
>>827
URLリンク(rg550.hp.infoseek.co.jp)
合ってるかな?ドキドキ
833:デフォルトの名無しさん
08/05/11 02:59:06
>>832
作られた式を全部出力(答は抜き)させて、
sort | uniq をかけてもかけなくても3000行だったから、
>>831によれば少なくとも全部の式を作っていると思う。
計算が正しく行われているかについては見ていないが。
834:デフォルトの名無しさん
08/05/11 05:24:18
>>831
整数間の演算子の数が5個(四則演算+両端の整数を連結する演算)、
その演算子のいずれかが4個の整数の間(3箇所)に入るので、
4! * 5 * 5 * 5 = 3000通り、と自分は導出してみた。
835:デフォルトの名無しさん
08/05/11 05:47:17
>>832
例えば、1+23+4=28 とかのいくつかの抜けがあるような。
確かめると、1+23+4=24.0とかになってる感じ。
URLリンク(sourcepost.sytes.net)
これは検算用に別実装で式の生成と値の算出をしたものだけど、
答が28個出てきた(>>832は22個)。
ただし、このソースはJDK6用なので、回答にはならない。
要求バージョンが6だったらネタ回答用に出そうと思ったけど残念w
836:デフォルトの名無しさん
08/05/11 06:59:09
>>827
俺も挑戦。
URLリンク(sourcepost.sytes.net)
答は28個でてきた。
837:832
08/05/11 10:45:59
URLリンク(rg550.hp.infoseek.co.jp)
直した。今度は28個だから良さげ
838:832
08/05/11 11:20:43
URLリンク(rg550.hp.infoseek.co.jp)
う~ん
839:デフォルトの名無しさん
08/05/11 16:41:40
【 課題 】実数値(double)を格納するスタックを実装せよ。
URLリンク(x072.s10.x-beat.com)
【 形態 】1. Javaアプリケーション(main()で開始
【 期限 】5/11 22:00
【 Ver 】1.6.0_10
【 用語 】数学用語、専門用語の意味、説明を書きます。
【 補足 】丸投げです。空白を埋めればいいんだと思います。
840:デフォルトの名無しさん
08/05/11 16:49:00
>>839
すいません、コメントの部分が日本語だと文字化けしてしまうみたい。
URLリンク(aaabbbccc.s6.x-beat.com)
SSで許してください。
841:デフォルトの名無しさん
08/05/11 17:14:54
>>1を読めばアップローダのURLまで書かれているというのに
842:デフォルトの名無しさん
08/05/11 17:21:42
>>841
容量小さすぎてupできなかったorz
843:デフォルトの名無しさん
08/05/11 18:14:05
>>839
自己解決しました。
844:デフォルトの名無しさん
08/05/11 18:44:58
自己解決して当然だろ。
845:デフォルトの名無しさん
08/05/11 18:52:05
自己解決が正しいあり方なのは当然だけど、ひとたび依頼があった以上、
自己解決したのならその報告がないと無駄手間取らされる人間が出る。
依頼する前にもうひとがんばりして解決するのが一番いいのだが。
846:デフォルトの名無しさん
08/05/11 19:29:45
>>831-838
どうもありがとうございました。
本当に助かりました。教えていただいた
コードを見てどういう動きをしているか位は
理解します。本当にどうもありがとうございました。
847:デフォルトの名無しさん
08/05/11 20:26:23
String型で 例えば "なむあみだぶつ、なむあみだぶつ、なむあみだぶつ"ってあったとして
"あみ" が合計何文字入ってるか計算したいんだけどこの場合どうすれば?
何の関数使うのか、はたまた関数すら使わないのか意味不明です
お知恵を貸して下さい。
この場合答えは3ってしたいです
848:デフォルトの名無しさん
08/05/11 21:11:39
>>847
indexOf(String str, int fromIndex)メソッドでインデックスの位置をずらしながら、出現回数をカウントしながら、ループさせてゴニョゴニョ
849:デフォルトの名無しさん
08/05/11 23:23:03
>>847
今度から質問は質問スレへ
新しいのがたっていないからって違うスレに投げるのはよくない
単発質問スレを立てるわけじゃないんだから
無ければテンプレを引き継いで堂々と質問スレを立てればいい
850:デフォルトの名無しさん
08/05/12 10:51:06
【 課題 】ペントミノの作成。5つのピースを用いて全通りを自動検出・表示する。また全部で何通りあるか。
【 形態 】 Applet
【 GUI 】AWTのみ
【 期限 】5/13
【 Ver 】1.6.0_02
【 用語 】数学用語、専門用語の意味、説明を書きます。
【 補足 】自分なりにプログラムを作ってみました
URLリンク(rg550.hp.infoseek.co.jp)
2339通りあることは分かっているのですがカウントされず
ピースのグラフィックも表示できません。
851:850
08/05/12 10:55:06
【 課題 】
class SelectionSort{
//比較回数を覚えておくための変数
static int compare = 0;//コピー回数を覚えておくための変数
static int copy = 0;
static void swap(int a[], int i, int j){//1-1:配列の要素を入れ替えるメソッド
//動作:配列aの要素a[i]とa[j]の値を入れ替える
//例: a[0]=10, a[1]=30, a[2]=20の場合
// swap(a,1,0)を実行するとa[0]=30, a[1]=10, a[2]=20となる。
// swap(a,1,2)を実行するとa[0]=10, a[1]=20, a[2]=30となる。
//★以降を適切に埋めよ(課題1-1)
}static int findMin(int a[], int N, int from){
//1-2:最小値のある場所を見つけるメソッド
//動作:N個の要素を持つ配列aに対し、a[from]からa[N-1]の間にある
//最小値を見つけ、最小値のある場所の添え字を返す
//最小値を見つけるまでに行った比較回数を変数compareに加算
//例: a[0]=10, a[1]=30, a[2]=20の場合
// findMin(a,3,0)は0を返す(a[0]からa[2]の範囲ではa[0]が最小値だから)
// compareの値は2増える。
// findMin(a,3,1)は2を返す(a[1]からa[2]の範囲ではa[2]が最小値だから)
// compareの値は1増える。
//★以降を適切に埋めよ(課題1-2)
int min = 0;
return min;}
852:850
08/05/12 10:57:42
static void showArray(int a[], int N){
//1-3:配列の内容を表示するメソッド
//動作:N個の要素を持つ配列aの要素を全て画面に表示する
//例: a[0]=10, a[1]=30, a[2]=20の場合
// showArray(a,3)を実行すると画面に
// 10 30 20
// と表示される。
//★以降を適切に埋めよ(課題1-3)}
static void initArray(int a[], int N){
//1-4:配列にランダムな値を代入するメソッド
//動作:N個の要素を持つ配列aに対し、1~Nまでの範囲の数をランダムに入れる
//ただし、a[0]には常に0を入れること。
//ヒント:次のようにして乱数を使えば1~Nまでの範囲の数をランダムに1つ作れる
//int n;
//n = (int)(java.lang.Math.random()*(N-1)) + 1;
//
//配列に入れる値に重複が無ければ望ましい
//★以降を適切に埋めよ(課題1-4)}
static void selection(int a[], int N){
int i;
//1-5:選択ソートを実行するメソッド
//動作:選択ソートの過程を表示しながら、N個の要素を持つ配列aをソートする
もう少し詳しく書くとこうなる。
/*選択ソートの手順:
iの値を1からN-1まで増やしながら次のことを行う。
1.findMinメソッドを使って、a[i]からa[N-1]の間にある最小値の場所minを探す
2.swapメソッドを使って、a[i]とa[min]の値を入れ替える
3.showArrayメソッドを使ってソート途中の配列aの内容を表示する
*/
//★以降を適切に埋めよ(課題1-5)}
853:850
08/05/12 11:00:47
public static void main(String args[]){
//1-6:上で作ったメソッドを用いて、ソート過程を表示しながら
//選択ソートを実行
//手順は次のようになる。
/*
1.要素を(20個もつ)整数型配列aを宣言
2.整数型変数Nに配列aの要素数を保存
3.initArrayメソッドを用いて配列aを初期化
4.showArrayメソッドを用いてソート前の配列aの内容を表示
5.変数compareの値を0に初期化
6.selectionメソッドを用いて配列aを選択ソート
7.showArrayメソッドを用いてソート後の配列aの内容を表示
8.ソートにかかった比較の回数を表示
*/
//★以降を適切に埋めよ(課題1-6)}}
1-1:配列の要素を入れ替えるメソッドを完成させよ。
1-2:最小値のある場所を見つけるメソッドを完成させよ。
1-3:配列の内容を表示するメソッドを完成させよ。
1-4:配列にランダムな値を代入して初期化するメソッドを完成させよ。
1-5:選択ソートを実行するメソッドを完成させよ。
1-6:mainメソッドを完成させ、ソート過程を表示しながら選択ソートを実行するようにせよ。
854:850
08/05/12 11:02:05
【 形態 】1. Javaアプリケーション(main()で開始
【 期限 】5月15日
【 Ver 】1.4.1
【 用語 】1-1~1-5はメソッドを作成します。
【 補足 】丸投げです。是非教えて下さい。
855:デフォルトの名無しさん
08/05/12 11:45:30
ひどい設計だな
856:デフォルトの名無しさん
08/05/12 13:54:25
>>854
問題に沿って作ってないけど、多分これで動くはず。
これをヒントにがんがってみれ
URLリンク(rg550.hp.infoseek.co.jp)
857:850
08/05/12 14:33:05
>>856
分かりました。頑張って作成してみます。
858:デフォルトの名無しさん
08/05/13 11:02:10
>>824
です。
>>825
ご指摘ありがとうございます。仰る通り、swingでした。
一応、作ってみたんですがどうもイマイチ・・・↓
URLリンク(sourcepost.sytes.net)
最初から画像が表示されるのでは無く、チェックを入れると画像が表示されるようにしたいのですが・・・
締め切りも間違っていて、明日の16時半まででした・・・
どなたかフォローよろしくお願いします・・・
859:デフォルトの名無しさん
08/05/13 12:19:23
最初に張り付ける画像をダミーにしといてイベントリスナでチェックボックス変更時に
描画する画像ファイル記憶しといてリスナ内でrepaint()呼んで
paintConponent()内でJLabel#setIcon()呼び出すとかじゃだめだっけ?
あと
label2.setText(new String(sb));
は
label2.setText(sb.toString());の方が良い。
860:デフォルトの名無しさん
08/05/13 13:48:34
【 課題 】20角錐を表示させる
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】1. AWTのみ
【 期限 】明日の16時まで
【 Ver 】"1.6.0_05"
【 用語 】なし
【 補足 】なし。
よろしくお願いします。
861:デフォルトの名無しさん
08/05/13 15:58:22
>>858
別領域に表示でなくチェックボックスの画像として表示するのね。その場合でもあまり難しく考えず、
> 画像の変更のタイミングはメッセージの変更と同じところにsetIconを記述すればいいと思う。
って書いたように、itemStateChanged内でメッセージを変えるようにIconも変えればいいんじゃないかと思う。
URLリンク(sourcepost.sytes.net)
かなり適当だけどこれは最初は画像なしで、itemStateChangedが呼ばれるタイミングでIconを設定したり消したりして、
それに合わせてpackでウインドウサイズも変えるようにしている。
ウインドウサイズがころころ変わるのが嫌だったら、
鳥の画像サイズに合わせて空白(緑色?)のダミー画像をIconに設定しておき、
itemStateChanged内でIconを消す(setIcon(null))ところは、ダミーを再設定するようにすればいいと思う。
それと、>>858のコードで、
> check1 = new JCheckBox("モリバト", false);
> check1. setBackground(Color.green);
> check1.addItemListener(this);
> JCheckBox check1 = new JCheckBox("モリバト", new ImageIcon("./images/bird1.jpg"), true);
...
> p.add(check1);
ってしているところがあるけれど、上3行のcheck1はインスタンス変数のcheck1で、
そのあとの新しくnewしているcheck1はローカル変数なので別物になっている。
JPanelにaddして表示いるものはリスナを設定したり背景色を変えたものと異なるので挙動が思ったようにならない。
フィールドとローカルとで同じ名前の別の変数を定義できるので注意。
862:デフォルトの名無しさん
08/05/13 16:54:33
【 課題 】
1)プログラムhighArray.javaのHighArrayクラスに配列の中で
一番大きなキーを持った値、あるいは配列が空の場合は-1を返すgetMax()を追加せよ。
キーはすべて正であると仮定する。
2)上のプロジェクト1)を、一番大きなキーを持ったアイテムがこのメソッドで返されると同時に
配列から削除されるように変更せよ。そのメソッドはremoveMax()とする。
3)上の2)のメソッドremoveMax()を使えば、キーの値で配列の中身を整列(sorting)することできる。HighArrayクラスは変更せずに、mainだけを変更して整列プログラムを作れ。逆の順位整列された第2の配列が必要とする。
【 形態 】java
【 GUI 】AWTのみ
【 期限 】今日中
【 Ver 】1.6.0.01
【 補足 】以下がhighArray.javaのソースです
URLリンク(sourcepost.sytes.net)
上の(1)(2)の問題は過去ログにあったのですが、(3)が解決しないので(3)をお願いします
ついでに過去ログの(1)(2)のレスが次です
863:デフォルトの名無しさん
08/05/13 16:54:47
だからといって、
check1 = new JCheckBox("モリバト", new ImageIcon("./images/bird1.jpg"), true);
とかしても、それ以前のcheck1が参照するインスタンスとは違うものになるのでだめだけど。
Iconはチェックするボックス画像の代わりなので、
空白のダミー画像を設定するとボックスが無くて変かもしれない。
その場合は、新しくJLabelをJCheckBoxの横に配置して、
そのJLabelの方に鳥やダミーの画像を設定した方がいいかも。
864:デフォルトの名無しさん
08/05/13 16:55:04
1)
public long getMax(){
long max = -1;
if (nElems == 0)
return max;
for (int i = 0; i < nElems; i++)
if (max < a[i])
max = a[i];
return max;
}
2)
public long removeMax(){
int index;
long max = -1;
if (nElems == 0)
return max;
for (int i = 0; i < nElems; i++){
if (max < a[i]){
max = a[i];
index = i;
}
}
for (int i = index; i < nElems -1; i++){
a[i] = a[i+1];
}
nElems--;
return max;
}
865:デフォルトの名無しさん
08/05/13 17:15:12
>>862
>プログラムhighArray.javaのHighArrayクラス
すまんがどこにも発見できないので答えられんw
866:デフォルトの名無しさん
08/05/13 17:50:22
>>862
適当に入れても取り出すときには必ず中身の最大のものを取り出せる魔法のバッグを手にしてるんだから
整列させたいアイテムを全部入れて順番に取り出して並べれば大きい順に整列したものになっている
もし小さい順に整列させたいなら大きい順に並べたものの順序を逆にするか
取り出したものを配列に入れて並べていくのなら逆順の場合は配列の最大インデックスから入れていけばいい
867:デフォルトの名無しさん
08/05/13 21:36:45
【 課題 】【配列のコピー(clone)】
配列のコピーを行う際、clone()メソッドを使用することがある。
メソッド Object.clone() は、戻り値としてあるオブジェクトのコピーを作成する。
大きさ3のString[ ]型配列 をローカル変数として異なる名前で3つ作成し、
直接代入した場合と、clone() メソッドでコピーした場合で、比較演算子 == による
比較結果が異なることを確認しなさい。
初期化:
配列1: "あ", "い", "う"
配列2: "か", "き", "く"
配列3: "さ", "し", "す"
実行例:
$java Exam05
> 配列1: あ い う
> 配列2: か き く
> 配列3: さ し す
> 1を2に直接代入...
> 1を3にクローンコピー...
> 配列1: あ い う
> 配列2: あ い う
> 配列3: あ い う
> 1 == 2 ? --> MATCH
> 1 == 3 ? --> UNMATCH
【 形態 】1. Javaアプリケーション
【 期限 】今日の0時まで
【 Ver 】"1.6.0_05"
【 用語 】なし
【 補足 】なし。
どうぞ、よろしくお願いします。
868:デフォルトの名無しさん
08/05/13 22:57:50
>>867ってclone()メソッドの実装によって等値性の意味変わってくると思うんだが、
そもそも==で比較するのも間違ってないか?
869:デフォルトの名無しさん
08/05/13 23:18:41
>>860
URLリンク(rg550.hp.infoseek.co.jp)
ソース汚いけど一応完成。
おまけでマウスドラッグによる回転も付けてみた。
870:デフォルトの名無しさん
08/05/13 23:24:23
>>867
public class Exam05 {
public static void main(String[] args) {
String[] 配列1 = {"あ", "い", "う"};
String[] 配列2 = {"か", "き", "く"};
String[] 配列3 = {"さ", "し", "す"};
System.out.println("> 配列1: " + java.util.Arrays.toString(配列1).replaceAll("[],\\[]", ""));
System.out.println("> 配列2: " + java.util.Arrays.toString(配列2).replaceAll("[],\\[]", ""));
System.out.println("> 配列3: " + java.util.Arrays.toString(配列3).replaceAll("[],\\[]", ""));
配列2 = 配列1;System.out.println("> 1を2に直接代入");
配列3 = 配列1.clone();System.out.println("> 1を3にクローンコピー");
System.out.println("> 配列1: " + java.util.Arrays.toString(配列1).replaceAll("[],\\[]", ""));
System.out.println("> 配列2: " + java.util.Arrays.toString(配列2).replaceAll("[],\\[]", ""));
System.out.println("> 配列3: " + java.util.Arrays.toString(配列3).replaceAll("[],\\[]", ""));
System.out.println("> 1 == 2 ? --> " + (配列1 == 配列2 ? "MATCH" : "UNMATCH"));
System.out.println("> 1 == 3 ? --> " + (配列1 == 配列3 ? "MATCH" : "UNMATCH"));
}
}
871:デフォルトの名無しさん
08/05/13 23:36:35
【 課題 】URLリンク(sourcepost.sytes.net)
【 形態 】1. Javaアプリケーション
【 GUI 】??
【 期限 】本日中
【 Ver 】わかりません。。。
【 用語 】なし
【 補足 】 丸投げです
872:871
08/05/13 23:44:08
すいません>>871の問題文が抜けていました・・・
問題の一部の画像です
URLリンク(rg550.hp.infoseek.co.jp)
873:デフォルトの名無しさん
08/05/13 23:59:57
>>870
どうも、ありがとうございました。
【 課題 】【領域再確保(オブジェクト再作成)】
空のクラスHumanを作成し、ランダムにHumanインスタンスの数を変化させる
プログラムを作成したい。Math.random() を利用し、得られた0 ~ 9 の数を
引数として、SampleクラスのフィールドHuman humans[ ] の数を変化させよ。
※人数の表示には、humans.lengthを使用すること。
・Sampleクラスのメソッド
/* 領域を確保し直し、再確保後の配列要素数を表示するメソッド */
public void addMember(int nNum)
実行例:
$java Sample
> 人口は8人になりました。
> 人口は4人になりました。
> 人口は5人になりました。
> 人口は0人になりました。
> 絶滅です。処理を終了します。
【 形態 】1. Javaアプリケーション
【 期限 】今日の1時まで
【 Ver 】"1.6.0_05"
【 用語 】なし
【 補足 】なし。
よろしければ、おねがいします。
874:デフォルトの名無しさん
08/05/14 00:19:01
>>850
むり
875:デフォルトの名無しさん
08/05/14 00:34:22
乱数を利用して0~53の値をランダムで配列に格納するプログラムなんですけど、
永久ループになってしまいます。値は一意です。
どなたか助けてください!
public class XXX {
public static void main(String[] args) {
/* 変数宣言 */
int[] card = new int[53];
int nn, num;
boolean frg = false; // 配列との比較用フラグ
/* 乱数の発生と格納 */
nn = 0;
while (nn != 52) {
num = (int)(Math.random() * 54);
for (int i = 0; i < nn; i++){
if (num == card[i]) {
frg = true;
break;
}
}
if (frg == false) {
card[nn] = num;
nn++;
}
}
876:デフォルトの名無しさん
08/05/14 00:35:03
/* 結果の表示 */
String buf;
for (int i = 0; i < card.length; i++){
buf = " " + card[i];
buf = buf.substring(buf.length() - 4);
System.out.println(buf);
if (i % 10 == 0){
System.out.println();
}
}
}
}
877:デフォルトの名無しさん
08/05/14 00:57:18
質問スレいこうね
878:デフォルトの名無しさん
08/05/14 01:33:30
public class XXX {
public static void main(String[] args) {
int[] card = new int[53];
// 格納
for(int i = 0; i < card.length; i++){
int num;
boolean chk;
do{
num = (int)(Math.random() * card.length);
chk = false;
for(int j = 0; j < i; j++){
if(num == card[j]){
chk = true;
break;
}
}
} while(chk);
card[i] = num;
}
// 表示
for(int i = 0; i < card.length; i++){
System.out.println("card[" + i + "]=" + card[i]);
}
}
}
879:デフォルトの名無しさん
08/05/14 04:53:43
すみません、別のプロジェクト内のクラスのインスタンスを作ることって可能なんでしょうか?
教科書にスタックの考え方を再現したJAVAプロジェクトと、前置記法のアルゴリズムを再現したJAVAプログラムがあり、
そのうち前置記法のプロジェクトが当然のようにスタックのプロジェクト内のクラスのインスタンスを作っているのですが。
エクリプス上でその部分に赤線が引かれており、実行してもエラーが出ます。
また、別のクラスを呼び出すために「Javaのビルド・パス>プロジェクト」と「プロジェクト参照」の設定」とやらも試してみたのですが、
そうすると赤線部分はなくなったのですが、実行しても何も起こりません。
前置記法のプログラムの最初にはimport java.io.*; とあるのですがそれが関係しているのでしょうか?
880:デフォルトの名無しさん
08/05/14 05:28:41
>>879
スレ違い
質問スレへいけ
881:デフォルトの名無しさん
08/05/14 13:05:41
>>858 です。
>>859
>>861
>>863
無事動きました。今日の期限内に出せそうです。
ありがとうございました。
882:デフォルトの名無しさん
08/05/14 15:57:26
【 課題 】
簡易ドローエディタにさまざまな改良を加えてください.最低限,次の二つの改良は加えることとします.
色の指定.赤以外の色を指定できるようにする.あらかじめ基本色を決めておいてよい.
図形の追加.四角形以外の図形が描画できるようにする.
【 形態 】Java
【 GUI 】Swing
【 期限 】5/17(土)
【 Ver 】1.5.0_15
【 補足 】URLリンク(www2.uploda.org)
ここまで作成しましたがこれをJButtonでなくJComeboBoxに変え図形に直線と塗った四角を追加したいです
さらに色変更に関しても同様にして赤青緑+αで変更にしなければなりません
どうかよろしくお願いします
883:デフォルトの名無しさん
08/05/14 16:00:57
>>882に追記です
その前の問題で作成した簡易ドローエディタはこちらです
URLリンク(www2.uploda.org)
884:デフォルトの名無しさん
08/05/14 21:08:59
遅くなりましたが、
>>869さん
ありがとうございます。助かりました
885:デフォルトの名無しさん
08/05/14 21:55:03
>>882-883
404
886:デフォルトの名無しさん
08/05/14 22:48:01
>>852
すいません、死んでました
>>882のソースが
URLリンク(www.uploda.net)
>>883のソースが
URLリンク(www.uploda.net)
です
887:デフォルトの名無しさん
08/05/14 23:53:13
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション
【 期限 】今日の2時まで
【 Ver 】"1.6.0_05"
【 用語 】なし
【 補足 】どうか宜しくお願いいたします。
888:デフォルトでない名無しさん
08/05/15 01:17:23
【 課題 】カーソル入力で画像を移動させるアプレット
【 形態 】2. Applet
【 GUI 】1. AWTのみ
【 期限 】5月15日 13時まで
【 Ver 】1.6.0_05
【 補足 】タイトルのままです。ほぼ完成しましたがカーソルで移動させる
となぜか残像が残ってしまいます。残像を解決すれば終了です
途中までのソース↓
URLリンク(sleep-soul0131.hp.infoseek.co.jp)
889:デフォルトでない名無しさん
08/05/15 01:19:45
>>888期限間違えで16日です
890:デフォルトの名無しさん
08/05/15 02:27:13
>>887
URLリンク(rg550.hp.infoseek.co.jp)
文字コードはUTF8
よく分からんとこは勝手に書いた
891:デフォルトの名無しさん
08/05/15 05:56:06
>>888
【解答】
paint() メソッド内の、
> OffScreen_Object.drawImage(OffScreenBuf, 0, 0, this);
を、
OffScreen_Object.setColor(getBackground());
OffScreen_Object.fillRect(0, 0, width, height);
に変更。
【理由】
paint()メソッドの終了後も、OffScreenBuf内のイメージは保持されるため。
…でいけると思うんだけど、動作確認してませんごめんなさい。
892:デフォルトの名無しさん
08/05/15 11:30:58
>>891
893:デフォルトでない名無しさん
08/05/16 08:03:43
>>891
うまくでき提出完了しました。ありがとうございます。
894:デフォルトの名無しさん
08/05/17 00:16:32
【 課題 】
つぎのプログラムのactionPerformedを2通りの方法で,1つのクラスにまとめて,プログラムを書き直してください
1つ目は, actionPerformedの引数のActionEvent型のオブジェクトのgetSource()メソッドを使ってイベントが起こった部品のオブジェクトを調べる方法
2番目は,予め部品に setActionCommand()でアクションコマンドと呼ばれる文字列を付けておき,
getActionCommand()でイベント発生時にどの部品で起こったイベントであるか調べるという方法
さらに2番目の方法で書き直したプログラムを,さらに,無名クラスを使って書きなおしてください.
(ヒント:1つの無名オブジェクトを3つのボタンにaddActionListenerしましょう)
【 形態 】1. Javaアプリケーション
【 GUI 】Swing
【 期限 】5/17
【 Ver 】1.5.0
【 補足 】プログラムソースはURLリンク(rg550.hp.infoseek.co.jp)です
丸投げです、よろしくお願いします
895:デフォルトの名無しさん
08/05/17 00:36:05
【 課題 】
問題1
Lesson classが起動するようにLesson class の すべてのフィールドの内容を表示するメソッドvoid print を完成させてください.例えば,表示は以下のようになります.
Lesson :Jikken
Teacher :Yokoshima
#students:4
123,Goro,100
124,Tatsuya,74
125,Sinji,30
126,hiro,60
----------
直接代入する方法(l.st[l.num++]= new Student(..);) を用いて,必ず Student を3名分以上登録して,print が正しく動作するか確認してください
問題2
Lesson class の すべてのフィールドをprivate にできるように,
l.st[l.num++]= new Student("012200","Ichiro",100);
と同じ動作を行うメソッド boolean add(Student s) を追加しましょう.その際,numがmaxを越えないかどうかチェックして,num>=max ならば,
false を返すようにしましょう.なお,オブジェクトは生成したものを直接引数で渡すことができて,
add(new Student("012200","Ichiro",100));
とすることが可能です.
必ず Student を3名分以上登録して,Lesson class の print を利用して,結果が正しいか確認してください.
なお,オブジェクトを引数とする関数呼出しでは,参照渡しになるので,生成されたオブジェクトがaddに渡されることになります.
レッスンクラス
URLリンク(rg550.hp.infoseek.co.jp)
スチューデントクラス
URLリンク(kansai2channeler.hp.infoseek.co.jp)
です
【 形態 】1. Javaアプリケーション
【 期限 】5/17 18時
【 Ver 】 1.5.0
【 補足 】Studentclassは自作ですが後は丸投げです
課題1,2のソースは別々で作っていただきたいです、お願いします
896:デフォルトの名無しさん
08/05/17 00:43:27
>>895
追記です
ソースは二つを利用して全体を書いていただけると嬉しいです
897:デフォルトの名無しさん
08/05/17 18:25:31
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション
【 期限 】5/18 15時
【 Ver 】1.5.0
【 補足 】/*flagを初期化*/&/*ここを記述*/の所わかりません><。よろしくお願いしますorz。
898:デフォルトの名無しさん
08/05/17 20:46:45
>>897 クラスSecretだけ↓にして
class Secret{
private String ans = "ふとんがふっとんだ。";
private static final int KEY = 2005;
private boolean flag;
public Secret(){
flag=true;
}
public String getAns(int key){
if(key == KEY){
flag=false;
return "--------\nよくぞここまできましたな。\n" + "秘密の言葉は,「" + this.ans + "」でした。";
}else{
return "暗号が違います。残念ながら秘密を教えることはできません!";
}
}
public boolean getFlag(){
return flag;
}
}
899:デフォルトの名無しさん
08/05/17 21:40:30
>>898
ありがとうございます!
900:デフォルトの名無しさん
08/05/18 14:47:46
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】5/19 23:00
【 Ver 】jdk1.6.0_10
【 補足 】丸投げです。お願いします。
901:デフォルトの名無しさん
08/05/19 08:58:59
【 課題 】
以下の機能を持つ StringConverter クラスを定義しなさい。
SampleString(String str): str を data に入れるコンストラクタ。
String toLowerCase(): data の大文字を小文字に変換した文字列を返す。
String toUpperCase(): data の小文字を大文字に変換した文字列を返す。
String toString(): data を返す。
なお、String クラスは Java の標準クラスライブラリに用意されている。 SampleString.java を使用して動作を確認すること。
public class SampleString
{
public static void main(String[] args) {
StringConverter sc = new StringConverter(new String("Tokyo Disney Land"));
System.out.println(sc);
System.out.println(sc.toLowerCase());
System.out.println(sc.toUpperCase());
}
}
【 形態 】Java
【 GUI 】Swing
【 期限 】5/21(水)
【 Ver 】1.5.0_15
【 補足 】どこから手をつけていいか分からない状態です。宜しくお願いします
902:デフォルトの名無しさん
08/05/19 12:51:10
>>901
dataてのはStringConverterが内部で持つフィールドでいいの?
ならString#toLowerCase()とString#toUpperCase()をラップしてtoString()を実装すれば良いだけ。
仕様が内部実装に関与すんな屑講師って言っとけ。
903:デフォルトの名無しさん
08/05/19 18:14:28
>>900
(2)だけでもやってくれませんか?
904:デフォルトの名無しさん
08/05/19 20:12:49
あのソースのLinkedListの部分を他のコレクションに書き換えてジェネリックス型をStringに特化させれば良いだけだろ。
(1)の方がめんどくさいぞ。
905:デフォルトの名無しさん
08/05/19 20:52:55
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション
【 期限 】明日の2時まで
【 Ver 】"1.6.0_05"
【 用語 】なし
【 補足 】どうかよろしくおねがいいたします。
906:デフォルトの名無しさん
08/05/20 17:35:48
【 課題 】鶴と亀の頭の数が10本、足の数が合計30本、鶴と亀は何匹いるか?
プログラミングで答えよ。
【 形態 】1. Javaアプリケーション(main()で開始
【 期限 】明日
【 Ver 】1.5.0_15
【 用語 】ない
【 補足 】Javaエクリプスを使用しての学校からの課題です。
プログラミングで鶴と亀が何匹いるか答える課題です。
明日、提出なのでどうかおねがいします。
907:デフォルトの名無しさん
08/05/20 18:21:20
>>906
せっかく計算機にやらせるなら方程式を解くなんて野暮なことはしない
public class TsuruKame {
private static final int ATAMA = 10;
private static final int ASHI = 30;
public static void main(String[] args) {
boolean solved = false;
loop: for (int tsuru = 0; tsuru <= ATAMA; tsuru++) {
for (int kame = 0; tsuru + kame <= ATAMA; kame++) {
if (kame + tsuru == ATAMA && kame * 4 + tsuru * 2 == ASHI) {
System.out.println("鶴は" + tsuru + "羽、亀は" + kame + "匹");
solved = true;
break loop;
}
}
}
if (! solved) System.out.println("鶴亀算は不成立");
}
}
908:デフォルトの名無しさん
08/05/20 18:27:29
> 方程式を解く
人間が前もって、ね
909:デフォルトの名無しさん
08/05/20 18:58:05
>>907
助かりました。
これで、何とか点数はもらえるかとおもいます!!
本当に感謝します。
ありがとうございました!
910:デフォルトの名無しさん
08/05/20 20:46:03
【 課題 】任意の2数を入力して,最大公約数と最小公倍数を求めるプログラムを作れ.
【 形態 】1. Javaアプリケーション
【 期限 】5月21日
【 Ver 】java version "1.6.0-oem"
【 補足 】自分なりに考えたプログラムがあるんですが,実行できなくて困っています.
URLリンク(kansai2channeler.hp.infoseek.co.jp)
よろしくお願いします.
911:デフォルトの名無しさん
08/05/20 22:15:07
>>910
面倒なので最小限の修正で
import java.io.*;
public class Test3 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(br.readLine());
int b = Integer.parseInt(br.readLine());
int koyaku = gcd(a, b);
int kobai = (int)((long)a * b / koyaku);
System.out.println("最大公約数は" + koyaku);
System.out.println("最小公倍数は" + kobai);
}
private static int gcd(int a, int b) {
while (true) {
int c = a % b;
if (c == 0) return b;
a = b;
b = c;
}
}
}
912:デフォルトの名無しさん
08/05/20 22:27:21
long kobai = (long)a * b / koyaku;
の方がよかったか
913:デフォルトの名無しさん
08/05/20 22:35:48
>>911
結構おかしい場所があったんですね・・・修正ありがとうございました!
914:デフォルトの名無しさん
08/05/24 17:12:30
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション
【 期限 】5/24 24時
【 Ver 】1.5.0
【 補足 】よろしくお願い致します。
915:デフォルトの名無しさん
08/05/24 19:44:37
>課題4:次のメインプログラムをもとに,必要に応じて,クラス,抽象クラス,イン
ターフェースなどを記述し,完成させよ。
こんな糞設計分かるかボケ。
916:デフォルトの名無しさん
08/05/24 23:40:55
>>914
URLリンク(sourcepost.sytes.net)
917:デフォルトの名無しさん
08/05/24 23:59:22
>>916
ありがとうございました。
918:デフォルトの名無しさん
08/05/25 01:23:10
【 課題 】SQL文を実行してデータベースの情報を表示する
【 形態 】3. Servlet
【 期限 】5/25 22時
【 Ver 】1.60_02
【 補足 】SQL文を実行して情報を表示させることは出来たのですが、全ての情報を
表示させることができません。zipの中に作成中のプログラムと仕様書を入れますので
お力添えお願いします。
URLリンク(rg550.hp.infoseek.co.jp)
919:918
08/05/25 19:05:45
無理そうですかね…
920:918
08/05/25 22:15:33
>>918ですが、26日の午前8;00までに、どなたかといて貰えないでしょうか。
お願いします。
921:デフォルトの名無しさん
08/05/26 01:23:58
> 918
URLリンク(rg550.hp.infoseek.co.jp)
部分的にしかやってないけど、無いよりマシかな?
こちらには動作環境が無くて動作確認できてないから、確認はしっかりと。
922:924
08/05/26 10:49:05
【 課題 】
class ShellSort{
static int compare = 0;
static int copy = 0;
static void showArray(int a[], int N)
{
//2-0:逆順数と共に配列の内容を表示するメソッド
//動作:N個の要素を持つ配列aの要素を全て画面に表示する
//例: a[0]=10, a[1]=30, a[2]=20の場合
// showArray(a,3)を実行すると画面に
// 逆順数=1: 10 30 20
// と表示される。
//★以降を適切に埋めよ}
static void initArray(int a[], int N){
//2-0:配列にランダムな値を代入するメソッド
//動作:N個の要素を持つ配列aに対し、1~Nまでの範囲の数をランダムに入れる
//ただし、a[0]には常に0を入れること。
//ヒント:次のようにして乱数を使えば1~Nまでの範囲の数をランダムに1つ作れる
//int n;
//n = (int)(java.lang.Math.random()*(N-1)) + 1;
//配列に入れる値に重複が無ければ望ましい
//★以降を適切に埋めよ}
static int shiftLargerElements(int a[], int v, int i){
//2-0:ソート済み部分に新しい値を挿入するための空き場所を
// 作るメソッド
//動作:配列aに対し、a[i]より手前にあるvより大きい要素を後ろ
//に1つずつずらしてvを挿入するための空き場所を作る。最後に、
//できた空き場所の添え字を戻り値として返す。
//空き場所を作るまでに行った比較回数を変数compareに加算
//空き場所を作るまでに行ったコピー回数を変数copyに加算
923:924
08/05/26 10:50:08
/*例: a[0]=0, a[1]=30, a[2]=20,a[3]=10の場合
shiftLargerElements(a,a[3],3)を実行すると
a[0]=0, a[1]=30, a[2]=30,a[3]=20
となり、戻り値として1を返す。*/
int space = 0;
int j;
j = i;
while((compare++ >= 0) && (a[j-1] > v)){
a[j] = a[j-1]; copy++;
j--;}
space = j;
return space;}
static int shiftLargerElements(int a[], int v, int i, int h){
//2-1:ソート済み部分に新しい値を挿入するための空き場所を
// 作るメソッド
//動作:配列aに対し、a[i]より手前にある要素
//a[i-h],a[i-2h],a[i-3h],...のうち、vより大きい各要素を後ろに
//hだけ移動させてvを挿入するための空き場所を作る。
//最後に、できた空き場所の添え字を戻り値として返す。
//空き場所を作るまでに行った比較回数を変数compareに加算
//空き場所を作るまでに行ったコピー回数を変数copyに加算
/*
例: a[0]=0, a[1]=30, a[2]=20,a[3]=10の場合
shiftLargerElements(a,a[3],3,1)を実行すると
a[2]とa[1]が後ろに1つずつ移動して
a[0]=0, a[1]=30, a[2]=30,a[3]=20
となり、戻り値として1を返す。
924:924
08/05/26 10:53:36
shiftLargerElements(a,a[3],3,2)を実行すると
a[1]が後ろに2つ移動して
a[0]=0, a[1]=30, a[2]=20,a[3]=30
となり、戻り値として1を返す。
shiftLargerElements(a,a[3],3,3)を実行すると
a[3]はa[0]より大きいので要素の移動は起こらず
a[0]=0, a[1]=30, a[2]=20,a[3]=10
となり、戻り値として3を返す。*/
/*ヒント:処理手順は次のようになる。
1.a[j-h]がvより大きい間、次のことを行う。
1-1.a[j-h]の値をa[j]にコピー
1-2.jの値をhだけ減らす
1-3.copy,compareの値を適切に増やす
2.上記処理終了後のjの値を元に空き場所の添え字を計算し、変数spaceに保存
*/
//★以降を適切に埋めよ(課題2-1)
int space = 0;
return space;}
static int reverseNumber(int a[], int N){
//2-2:配列の逆順数を計算するメソッド
//動作:要素をN個持つ配列aに対して逆順数(テキストp.119参照)
// を計算する/*
例: a[0]=0, a[1]=30, a[2]=20,a[3]=10の場合
reverseNumber(a,3)を実行すると3を返す
a[1]より大きくかつ左側にある要素は0個
a[2]より大きくかつ左側にある要素は1個
a[3]より大きくかつ左側にある要素は2個
以上を合計すると3になる。*/
//★以降を適切に埋めよ(課題2-2)
int val = 0;
return val;}
925:924
08/05/26 10:55:34
static int smallerInterval(int h){
//2-3:今の歩幅より一段小さい歩幅を計算するメソッド
//動作:歩幅hの次に小さい歩幅を
// インターバル数列 h = 3h +1
// に従って計算する
// 次に小さい歩幅が1より小さいときは歩幅として0を返す
//★以降を適切に埋めよ(課題2-3)
int interval = 0;
return interval;}
static int largerInterval(int h){
//2-0:今の歩幅より一段大きい歩幅を計算するメソッド
//動作:歩幅hの次に大きい歩幅を
// インターバル数列 h = 3h +1
// に従って計算する
int interval = 0;
return interval;}
static int largestInterval(int N){
//2-4:配列の大きさに一番合った歩幅を計算するメソッド
//動作:要素数Nの配列をシェルソートする時に使う最も大きい歩幅を
// インターバル数列 h = 3h +1
// に従って計算する
/*ヒント:処理手順は次のようになる。
歩幅1から始め、歩幅が配列の大きさを超える寸前までlargerIntervalメソッドを使って歩幅を一段階ずつ大きくしていく*/
//★以降を適切に埋めよ(課題2-4)
int interval = 1;
return interval;}
926:924
08/05/26 10:57:34
static void insertion(int a[], int N){
//2-0:挿入ソートを行うメソッド
int i;
int v,space;
for(i=1;i<N;i++){
v = a[i]; copy++;
space = shiftLargerElements(a,v,i);
a[space] = v; copy++;}}
static void insertion(int a[], int N, int h){
//2-5:歩幅hの挿入ソートを行うメソッド
/*shiftLargerElementsメソッドを用い、
a[0],a[h],a[2h],a[3h],...
a[1],a[1+h],a[1+2h],a[1+3h],...
a[2],a[2+h],a[2+2h],a[2+3h],...
.
.
.
a[h-1],a[(h-1)+h],a[(h-1)+h],a[(h-1)+h],...
の各グループをそれぞれ挿入ソートする。*/
/*a[j],a[j+h],a[j+2h],a[j+3h],...のグループを挿入ソートするための手順は次の通りである。
iの値を(i+jの値がNを超えない範囲で)hずつ増やしながら次のことを行う。
1.変数vにa[i+j]の値を覚えておく
2.shiftLargerElements(配列,値,添え字,歩幅)メソッドを用い、a[i+j]を挿入するための空き場所を作る
3.上記2.で作った空き場所にvの内容をコピー
あとは0,1,2,...,h-1の各jの値に対して上の要領で各グループを挿入ソートすればよい*/
//★以降を適切に埋めよ(課題2-5)
927:924
08/05/26 11:08:33
int i,j,v,space;
for(j=0;j<h;j++){
//a[j],a[j+h],a[j+2h],a[j+3h],...のグループを挿入ソート
//1グループ分のソートが終わる毎に配列の内容を表示
}}
static void shellSort(int a[], int N){
//2-6:シェルソートを行うメソッド
int h;
/*処理手順は次のようになる
1.largestIntervalメソッドを使って最初の歩幅を計算
2.歩幅が0より大きい間次の処理を繰り返す
2-1.歩幅の値を画面に表示
2-2.insertion(配列,要素数,歩幅)メソッドを使って歩幅hの挿入ソートを実行
2-3.smallerIntervalメソッドを使い、歩幅hを一段階小さい歩幅に更新
*/
//★以降を適切に埋めよ(課題2-6)}
public static void main(String args[]){
//2-7:上で作ったメソッドを用いて、ソート過程を表示しながら
//シェルソートを実行
//手順は次のようになる。
928:924
08/05/26 11:11:59
//手順は次のようになる。
/*
1.要素を(27個もつ)整数型配列aを宣言
2.整数型変数Nに配列aの要素数を保存
3.initArrayメソッドを用いて配列aを初期化
4.showArrayメソッドを用いてソート前の配列aの内容を表示
5.変数compare,copyの値を0に初期化
6.shellSortメソッドを用いて配列aをシェルソート
7.showArrayメソッドを用いてソート後の配列aの内容を表示
8.ソートにかかった比較・コピーの回数を表示*/
//★以降を適切に埋めよ(課題2-7)}}
問題は、
2-1:ソート済み部分に新しい値を挿入するための空き場所を作るメソッドを完成させよ。
2-2:配列の逆順数を計算するメソッドを完成させよ。
2-3:今の歩幅より一段階小さい歩幅を計算するメソッドを完成させよ。
2-4:配列の大きさに一番合った歩幅を計算するメソッドを完成させよ。
2-5:歩幅hの挿入ソートを行うメソッドを完成させよ。
2-6:シェルソートを行うメソッドを完成させよ。
2-7:mainメソッドを完成させ、ソート過程を表示しながらシェルソートを実行するようにせよ。
2-8:作成したプログラムが正しく選択ソートを実行していることが分かる実行結果を示し、正しく動作していることを説明せよ。
929:924
08/05/26 11:13:32
【 形態 】1. Javaアプリケーション(main()で開始
【 期限 】5月29日
【 Ver 】1.4.1
【 補足 】922~928がプログラムリストです。
丸投げですので、是非教えて下さい。
930:デフォルトの名無しさん
08/05/26 16:06:06
あげまくりつつ長々とスレを消費しているのを見ているだけで胸焼けがする
931:デフォルトの名無しさん
08/05/26 16:50:34
プログラムをわかりにくく文書化するコンテストかなんか?
932:デフォルトの名無しさん
08/05/26 16:52:47
sage進行でもないのでage、sageの是非は好みだろうけど、
何のためのろだなんだとは思うな。
933:デフォルトの名無しさん
08/05/26 18:54:49
>>924
ろだにまとめてあげてください
読める気がしません
934:924
08/05/26 19:29:19
>>933
こちらです。
URLリンク(rg550.hp.infoseek.co.jp)
935:デフォルトの名無しさん
08/05/26 20:12:11
卒倒したw
936:デフォルトの名無しさん
08/05/26 20:55:00
うpしたらまず自分の目で確かめて欲しい。
937:デフォルトの名無しさん
08/05/26 21:55:27
穴埋め問題とはレベルが高い
・・・がレベル低いな・・・length使わせろよ・・
938:デフォルトの名無しさん
08/05/26 22:08:08
画面イメージ
+---+---+---+---+---+
| 20 | * | * | * | $ |
| * | 2 | * | $ | * |
| 3 | * | $ | * | * |
| * | $ | * | * | * |
| $ | * | * | 7 | * |
+---+---+---+---+---+
939:デフォルトの名無しさん
08/05/26 22:16:42
>>935-936の意味が分からなかったがIEで開いてみて分かった。
Content-Type: text/plainをhtmlとして解釈するブラウザを使っている?
javaのプログラミング演習でなく実装例を通したシェルソートのアルゴリズム理解が主眼だとしても、
設計といい実装ヒントといい、これはあまりよくない問題だな。
940:デフォルトの名無しさん
08/05/26 22:41:28
int a[]の書き方とか全部がstaticとか元々Cで教えていたコードをJavaに手っ取り早くそのまま変換したんじゃないかい
941:デフォルトの名無しさん
08/05/26 22:50:10
なんで挿入ソート・シェルソートときてバブルソート・コムソートがないんだ!
というかへんな設計だな。
942:デフォルトの名無しさん
08/05/26 22:59:15
バブルソート→コムソートの問題は、この課題の次に出てくるか先にやったんだろ。
まあ、期限はまだ先だから、変だと文句を言いつつ暇な人がそのうちやりそうだ。
なにせツンデレさんが集まるスレだからな。
943:デフォルトの名無しさん
08/05/26 23:04:57
【 課題 】URLリンク(sourcepost.sytes.net)
【 形態 】1. Javaアプリケーション
【 期限 】5/27 7時
【 Ver 】1.5.0
【 補足 】よろしくお願い致します。
944:デフォルトの名無しさん
08/05/26 23:11:50
>>943
表示の$は何?
対戦の場合のルールは?
945:デフォルトの名無しさん
08/05/26 23:28:34
ビンゴって普通最大値75だと思うんだ。25だと確立的にすぐ上がる。
946:デフォルトの名無しさん
08/05/26 23:39:57
>>944
$は揃ったラインの意味かな
>>945
プログラミングの練習が主眼だからそこは気にしないでいいんじゃないか
ここに投げた時点でその目的さえも潰えたわけだが
947:デフォルトの名無しさん
08/05/27 00:00:08
問題はどうやってCUI画面を更新するかだな。javaでry
948:デフォルトの名無しさん
08/05/27 00:07:51
単にどんどん標準出力に垂れ流して最新表示が一番下にあればいいんじゃないの?
jcursesみたいな画面制御をするライブラリを使う手もあるけどさすがにそこまでは求められてないだろう
949:デフォルトの名無しさん
08/05/27 00:14:09
しかし,対戦となると・・・・うーむ
どこまで要求されてるのかがわからんな
950:デフォルトの名無しさん
08/05/27 00:23:27
とりあえずランダムか小さい数からかで選択していない数を選択するんでいいんじゃない?
それよりも対戦のルールが分からないんだが
成立したラインは最後の数を出してラインを成立させたやつのもので
終了時点で成立させたライン数が多いやつが勝ちでいいの?
951:デフォルトの名無しさん
08/05/27 00:42:22
そもそも自分で好きな数字入力できるなら対戦しても絶対に先攻が勝たないか?
1列揃う数字を順に入力すれば良いだけだろ。
952:デフォルトの名無しさん
08/05/27 01:05:44
どこにどの数字があるのか分かるのならね。
953:デフォルトの名無しさん
08/05/27 02:03:53
>複数人による対戦可能。
これって、例えばAが23で当てたら確定して他の人との違いを表示しないと
わけ分からなくなるな。GUIなら色分けとかできるけど、、、あ、コンピュータ対戦もそうじゃんw
954:918
08/05/27 02:46:24
>>921
とても助かりました。
query.jspのほうで、ひっかかりましたが少しの修正で直りました。
<% AccessBean bean = (AccessBean)session.getAttribute("access");
List columnNames = bean.getNameList();
List rows = bean.getResultList(); %>
<% session.getAttribute("access");
ArrayList columnNames = new ArrayList();
columnNames = (ArrayList)access.getNameList();
ArrayList rows = new ArrayList();
rows = (ArrayList)access.getResultList(); %>
このように変更しました。
指摘された点、教えていただいた点を忘れずに勉強していこうと思います。
ありがとうございました。
955:デフォルトの名無しさん
08/05/27 03:53:32
>>943
URLリンク(sourcepost.sytes.net)
956:デフォルトの名無しさん
08/05/27 04:06:12
リーチの表示もあったのかorz
もうすぐ夜明けだしあばんだん
957:デフォルトの名無しさん
08/05/27 04:23:13
連投すまん間違い発見
>>955の28行目は
int[] point = new int[panel.size()];
でなくて
int[] point = new int[players.size()];
26人対戦とかチェックしてなかったから見つけられなかったw
958:デフォルトの名無しさん
08/05/27 05:02:36
>>943
リーチの場所は@
URLリンク(sourcepost.sytes.net)
いろいろ冗長だけどもう面倒に
959:デフォルトの名無しさん
08/05/27 15:16:17
終わってない課題はどれだ
960:デフォルトの名無しさん
08/05/27 15:34:49
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】3. servlet
【 期限 】5/27 18時
【 Ver 】1.4.2
【 補足 】javaの宿題でPL/SQLを使う問題がわかりません。お願いします。
961:デフォルトの名無しさん
08/05/27 16:03:46
【課題提示用テンプレ】
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション
【 期限 】5/28 17時
【 Ver 】1.5.0
【 補足 】DispListクラスの未完成部分(コメントになっている)を完成させよという問題です。お願いします。
962:デフォルトの名無しさん
08/05/27 16:09:49
>>961です
問題ファイルの入れ忘れがありました。すみません。
URLリンク(rg550.hp.infoseek.co.jp)
963:960
08/05/27 18:05:26
960です。
期限は5/28 12時までになりましたので
どなたかお願いします。
964:デフォルトの名無しさん
08/05/27 18:41:47
>>959
期限の近い順
>>960 期限 5/28 12時
>>961-962 期限 5/28 17時
>>922-929,>>934 期限 5/29
965:デフォルトの名無しさん
08/05/27 19:20:40
答えが返ってきてるやつにshit!
俺2,3回課題書き込んだことあるけど、一度も帰ってこなかったぜorz
966:デフォルトの名無しさん
08/05/27 21:54:17
>>965
それはご愁傷様。
ちょっとやってみようかなと思わせるくらいの魅力が課題のどこかにあるか、
片手間で即答できるくらい簡単な課題か、
そういう何かが無ければ所詮他人事なので回答されない可能性は多いにある。
回答者は課題を投げた人のためにやるんじゃなくて多分自分の暇つぶしや勉強やネタ披露のためにやっているだろうから。
あと、本来なら回答するであろう人間がちょうど見ていない時期だったとか、
アクセス規制に巻き込まれていたとか、忙しかったとかのタイミングに起因するものもあるかもね。
元々確実に回答されることは期待できないし、回答が無くて当たり前、あったら幸運くらいに考えて、
今後のことを考えて自力で課題が解けるように勉強に励んだほうが建設的だ。
まあ向き不向きはあるだろうから最後の不確実な手段としてここに投げるのは選択肢にあってもいいと思うが。
967:デフォルトの名無しさん
08/05/27 22:04:39
>>966
実に的を得てる回答。
次回から天麩羅にしてもいいくらい。
968:デフォルトの名無しさん
08/05/27 22:11:28
【 課題 】ボタンを10個使って神経衰弱を作る
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】1. AWTのみ
【 期限 】明日の12時くらい
【 Ver 】1.6.0_03
【 補足 】ボタン10個の記述を出来たら配列にしたいのだけど
出来なくて困ってます
969:デフォルトの名無しさん
08/05/27 22:18:39
>>968
カード10枚の神経衰弱ということは1(A),2,3,4,5が2枚ずつとかでいいの?
970:デフォルトの名無しさん
08/05/27 22:45:46
>>969
そうです
971:943
08/05/27 23:32:34
>>958
返事遅れて申し訳ありませんでした。
解いて頂いてとても感謝しておりますが、
「?」があったりbooleanの所のインデントがおかしい?
ため、よくわからずできませんでした。申し訳ないです。
【 課題 】URLリンク(sourcepost.sytes.net)
【 形態 】1. Javaアプリケーション
【 期限 】5/28 6時30分
【 Ver 】1.5.0
【 補足 】内容が下がり、再度やらないといけないのでどなたかお願いします。
972:デフォルトの名無しさん
08/05/28 00:42:37
>>968
URLリンク(sourcepost.sytes.net)
973:デフォルトの名無しさん
08/05/28 00:47:45
>>972
ありがとうございました
974:デフォルトの名無しさん
08/05/28 01:07:07
【課題】URLリンク(cgex.cis.k.hosei.ac.jp)
【形態】Applet
【期限】6月6日 23:59
【Ver】1.5.0
【補足】これは第6回課題なのですが、第5回課題からの続きになっています。
ページ左上の方にリンクがあるので、そちらから第5回課題の方も参照していただければと思います。
ちなみに、第5回の課題はできており、色のグラデーションの出し方が分かりませんorz
よろしくお願いしますm(_ _)m
975:デフォルトの名無しさん
08/05/28 02:26:04
>>934
歩幅って?
976:デフォルトの名無しさん
08/05/28 02:50:00
>>971
URLリンク(sourcepost.sytes.net)
977:デフォルトの名無しさん
08/05/28 02:58:37
>>975
シェルソートでソートするデータを元の配列からピックアップするインデックス間隔のこと
978:デフォルトの名無しさん
08/05/28 06:12:51
>>971
URLリンク(sourcepost.sytes.net)
本当はPointは単なるObjectでもOK
979:デフォルトの名無しさん
08/05/28 07:52:56
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】3. servlet
【 期限 】5/27 18時
【 Ver 】1.4.2
【 補足 】javaの宿題でPL/SQLを使う問題がわかりません。お願いします。
980:デフォルトの名無しさん
08/05/28 16:37:19
【 課題 】整数をキーボードより2つ入力して、その最小公倍数(LCM)と最大公約数(GCD)を求め、表示させよ。
例:java LCM_GCD
整数を2つ入力してください
6
8
最小公倍数は 24
最大公約数は 2
【 形態 】Javaアプリケーション(main()で開始)
【 期限 】6/1
【 Ver 】1.60_05
【 補足 】丸投げですいません、お願いします
981:デフォルトの名無しさん
08/05/28 16:52:23
>>968
URLリンク(rg550.hp.infoseek.co.jp)
ボタンが微妙に配列