★★ Java の宿題ここ ..
[2ch|▼Menu]
446:デフォルトの名無しさん
08/07/13 21:36:44
>>439
>以下のように出力せよ。
って何

447:デフォルトの名無しさん
08/07/13 22:00:32
>>436
式知らないので参考URLとともにむりやりwhile。
// URLリンク(atsugi5761455.fc2web.com)
public class ピタゴラスの三角形 {
public static void main(String[] args) {
int n = 1;
int i = 1;
int n2 = n * n;
int k = 1;
while(i <= 20) {
int m = n + k;
int m2 = m * m;
int a = m2 + n2;
int b = m2 - n2;
int c = 2 * m * n;
System.out.println(i+": a="+a+",b="+b+",c="+c);
i ++;
k += 2;
}
}
}

448:447
08/07/13 22:04:27
ああ、
> c ≧ b ≧ a
を満たしてないし。数値入れ替えるだけじゃだめ?w

449:デフォルトの名無しさん
08/07/13 22:22:30
>>441
回答ありがとうございます。
しかし、それだと問題1しか解けていないと思うのですが・・・
問題は1〜5まであります。
どうか宜しくお願いします。

450:デフォルトの名無しさん
08/07/13 22:29:26
>>437
import java.util.*;
public class Uruu {
static final int[] daysOfMonth = new int[]{31,29,31,30,31,30,31,31,30,31,30,31};
public static void main(String[] args) {
while(true) {
System.out.println("yyyy mm dd");
Scanner in = new Scanner(System.in);
int y = Integer.parseInt(in.next());
int m = Integer.parseInt(in.next());
int d = Integer.parseInt(in.next());
if(y < 1583 || m < 1 || m > 12 || d < 1 || d > daysOfMonth[m-1]) {
System.out.println("err.");
continue;
} else if(m == 2 && !isUruu(y) && d > 28) {
System.out.println("URUU-day err.");
continue;
}
System.out.println("y="+y+",m="+m+",d="+d);
break;
}
}
static boolean isUruu(int y) {
if((y % 400) == 0) return true;
if((y % 100) == 0) return false;
return ((y % 4) == 0);
}
}
自分で書いといてヒドイ書き方だと思う…

451:446
08/07/13 22:44:54
>>439
とりあえず
import java.util.*;
public class RndNum {
public static void main(String[] args) {
Random random = new Random();
int num = random.nextInt(3);
System.out.println(num);
System.out.println("input 0-2");
Scanner scanner= new Scanner(System.in);
int input = scanner.nextInt();
if(input == num) {
System.out.println("当たり!");
} else {
System.out.println("はずれ!");
}
}
}

452:デフォルトの名無しさん
08/07/13 23:29:47
>>438
URLリンク(rg550.hp.infoseek.co.jp)

453:デフォルトの名無しさん
08/07/13 23:34:28
>>441
週末向けに宿題だされたけど結局やらずに駆け込みってことかねぇ。
暇つぶしには適当にばらけてくれたほうがいいんだが。

454:デフォルトの名無しさん
08/07/14 01:18:18
>>431
3 の Cell を使うと
>スタックは大きさを持ち、格納できる要素数はその大きさまでとする。
ちゅうのをどう表現するか決めかねるんだが。

3.
>>441 のを修正して
URLリンク(rg550.hp.infoseek.co.jp)
4.
大きさチェックなし
URLリンク(rg550.hp.infoseek.co.jp)

メールでレス貰おうなんざ面倒くさ杉

455:デフォルトの名無しさん
08/07/14 07:29:10
メールの場合ノーチェックになるからな
ここにレスするかうpろだだとこのスレの他の人のチェックはいるから
変なプログラムはめちゃ叩かれるw

456:デフォルトの名無しさん
08/07/14 12:53:50
【 課題 】じゃんけんゲームを作成せよ。完成版は、反復構造により続けてゲームができるようにし、0で終了させて最後に勝ち負けの集計(勝率も計算させる)が表示できるようにせよ。
なお、プログラムは
 あなたの手の入力の処理
 コンピュータの手の生成
 勝ち負けの判定
 勝率の計算
の4つの処理を行うメソッドを定義し、これを利用して作成すること。
【 形態 】1. Javaアプリケーション(main()で開始
【 期限 】7月31日まで
【 補足 】単位かかってます。

457:デフォルトの名無しさん
08/07/14 14:14:14
>>456
こういうの見ると、
"必ず勝つ(or負ける)ようにしとけば判定とか率とか表示1行で済んで楽だ"
と思うんだが、そするとやっぱり単位とやらが貰えないのだろうか。
閑話休題。
>完成版は、
とあるが、未完成版はあるのか? もしくは未完成版でもいいのか?
>0 で終了させて
というのは、手の入力には何か規則があるのか?

458:デフォルトの名無しさん
08/07/14 14:22:55
【 課題 】コマンドライン引数から西暦を受け取り、うるう年であるかを判定するプログラム
report3.javaを作成しなさい。うるう年の条件は次のとおりである。
 ・4で割り切れる年はうるう年である
 ・100で割り切れる年はうるう年ではない
 ・400で割り切れる年はうるう年である

【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7/15
【 補足 】どうしても結果が被ってしまいます。お願いします。
public class report3 {
public static void main(String[] args) {

int x = Integer.parseInt(args[0]);

if(0 == x%4 || 0 == x%400) {
if(0 != x%100) {
System.out.println(x + "年はうるう年です");
}
}
if(0 == x%100) {
System.out.println(x + "年はうるう年ではありません");
}
else {
System.out.println(x + "年はうるう年ではありません");
}

}
}

459:デフォルトの名無しさん
08/07/14 14:42:40
>>458
>>450 を参考にせんか?

460:デフォルトの名無しさん
08/07/14 14:52:51
>>458
public class report3 {
public static void main(String[] args) {
int x = Integer.parseInt(args[0]);
if((0 == x%4 && 0 != x%100) || 0 == x%400) {
System.out.println(x + "年はうるう年です");
} else {
System.out.println(x + "年はうるう年ではありません");
}
}
}
動かしてないからそのつもりで。
しかし = の前に 0 があるのって私には違和感あるなぁ。

461:デフォルトの名無しさん
08/07/14 15:14:32
【 課題 】キーボードから5回整数の入力を受け取り、
それらの合計値と平均値を計算して表示するプログラムを作成しなさい。

462:デフォルトの名無しさん
08/07/14 15:17:34
>>460
ありがとうございます
カッコで区切るんですね

爆発しそうな脳みそがやっと縮みました

463:デフォルトの名無しさん
08/07/14 16:04:16
>>458
x にどんな値をいれたらどの順にどの行が実行されるのかを一つ一つ追ってみるといい。
ちなみに、途中でプログラムを強制終了させるなら System.exit() というのがあってだな…。

464:デフォルトの名無しさん
08/07/14 16:07:29
【課題提示用テンプレ】
【 課題 】
整数nを入力して、1からnまでの整数を、それぞれ素因数分解した結果を返すプログラムを作る。
条件として、2つのスレッドを用いる。Thread の起動方法は、thread.start() を用いよ。
2つのスレッドは、共通のAtomicInteger のカウンタから、getAndIncrement()として得た整数に対して、素因数分解を行う。
得られた整数がnを超えたらスレッドを終了する。
素因数分解の結果は、ConcurrentHashMap<Integer>, List<Integer>>に格納する。
キーのInteger が素因数分解の対象の整数であり、値のList<Integer>が素因数分解した結果の整数群である。
全ての素因数分解が終了したのち、メインスレッドで、整数1からnまでの全ての結果を「12: 2 2 3」のように表示させよ。
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 18:00まで
【 Ver  】3.2.2




465:デフォルトの名無しさん
08/07/14 16:09:38
【課題提示用テンプレ】
【 課題 】
整数 n を入力し、1からnまでの素数を List<Integer> にまとめて返却するメソッドを作成せよ。
また、このメソッドを利用し、整数1000に対して、求めた素数を1行にひとつずつ画面に表示するプログラムを作成し、動作確認せよ。
表示した素数は桁合わせされていること。
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 18:00まで
【 Ver  】3.2.2


466:デフォルトの名無しさん
08/07/14 16:10:28
【 課題 】
1京(10000000000000000)、2京、3京、4京のそれぞれより大きい最初の素数を計算せよ。これを計算する上では、スレッドを利用すること。FixedThreadPool を用いて、スレッド数2にして、上記の4つのタスクを並行実行して、結果を求めよ
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 18:00まで
【 Ver  】3.2.2

467:464-466
08/07/14 16:11:04
課題丸投げですが、よろしくお願いします。

468:デフォルトの名無しさん
08/07/14 17:04:36
>>464
URLリンク(rg550.hp.infoseek.co.jp)

469:464
08/07/14 17:14:36
>>468
ありがとうございます!

470:デフォルトの名無しさん
08/07/14 17:20:16
>>465
URLリンク(rg550.hp.infoseek.co.jp)

471:デフォルトの名無しさん
08/07/14 17:21:55
>>464 - >>466
時間無さ杉w

472:464
08/07/14 17:26:01
スマソwww急に演習課題とか始まって\(^o^)/オワタ

473:デフォルトの名無しさん
08/07/14 17:30:53
>>472
リアルタイムかい。
で、オワタ?466はもういいのか?

474:464
08/07/14 17:33:40
すみません。人生的な意味で終わってるってことですw
466もお願いします!

475:デフォルトの名無しさん
08/07/14 18:02:51
>>466
まにあわなかったか?
URLリンク(rg550.hp.infoseek.co.jp)
でかすぎてテストしきれてないぞ


476:466
08/07/14 18:09:45
>>475
ありがとうございます!
みんなできていないようなので、レポートという形になりそうです。
さらに問題が追加されましたww
近々またお世話になるかもしれません。
お忙しい中、本当にありがとうございます。

477:デフォルトの名無しさん
08/07/14 18:16:51
>>475
でかすぎですねwwww
プログラムテストできませんw

478:464
08/07/14 18:40:06
追加された問題たちです。

【 課題 】
初期化時に文字列引数を持つ Enum 型 Fruit を作成し、
APPLE, ORANGE, GRAPE, CHERRY, PEACH のそれぞれの要素を、
日本語名を引数にして初期化せよ。
そして、この Enum 型から全ての要素を取出し、英語名でアルファベット順にソートして、
「英語名: 日本語名」の形で、アルファベット順に表示せよ。
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 24:00まで
【 Ver  】3.2.2


479:デフォルトの名無しさん
08/07/14 18:45:16
Javaにもenumってあったのか

480:475
08/07/14 18:46:10
まぁなにしろ間に合うかどうか優先で全然速さを考えてないからなw
素因数分解をBigDecimal対応にするだけで面倒くさかった。
時間できたらなんとかの篩でもなんでもやってくれぃ。

481:デフォルトの名無しさん
08/07/14 18:47:22
【 課題 】
キャプチャーしてzipでうpしました。
お手数おかけします。
URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 24:00まで
【 Ver  】3.2.2


482:デフォルトの名無しさん
08/07/14 18:49:25
>>480
ありがとうございます。
なんとかやってみます!
先生が理不尽で、困ります(><)

483:デフォルトの名無しさん
08/07/14 18:51:20
>>481
ワシそゆのダメ、素で読めんw

484:デフォルトの名無しさん
08/07/14 18:55:43
>>483
すみません。
そうですよね〜。さすがにこれはわけがわからないです。
なにをどうすればいいのかさっぱりです。

485:デフォルトの名無しさん
08/07/14 19:05:49
>>479
1.5から追加になった。

486:デフォルトの名無しさん
08/07/14 19:11:48
>>481
こんな感じだろうか
int k=0;
while(true) {
if(Math.PIの小数点第8位までの値 == (1/無限小数の式)の小数点第8位までの値) break;
}
k+1回がループ数

487:478&481
08/07/14 19:26:23
すみません!
友達がやってくれました!
みなさんありがとうございました!

488:デフォルトの名無しさん
08/07/14 19:31:51
>>487
じゃあ結局467は何もやってないのかw
>>478
とりあえずやってみたのでうp
import java.util.*;
public class K478 {
public static void main(String[] args) {
Fluit[] fluits = Fluit.values();
Arrays.sort(fluits, new Comparator<Fluit>() {
public int compare(Fluit o1, Fluit o2) {
return o1.toString().compareTo(o2.toString());
}
});
for(Fluit fluit : fluits) {
System.out.println(fluit.toString()+": "+fluit.getJapanese());
}
}
static enum Fluit {
APPLE("リンゴ"),
ORANGE("オレンジ"),
GRAPE("ブドウ"),
CHERRY("サクランボ"),
PEACH("モモ");
private String japanese;
Fluit(String japanese) {
this.japanese = japanese;
}
public String getJapanese() { return japanese; }
}
}

489:デフォルトの名無しさん
08/07/14 22:31:12
/*
手持ちのお金の枚数と買い物の合計金額から,お釣りの枚数が最も少なくなる支払い方を計算するプログラム.
*/
import java.io.*;
public class MinimalChanges {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println("手持ちのお金の枚数を入力してください.");
System.out.print("一万円札:");
String line = reader.readLine();
int man = Integer.parseInt(line);
System.out.print("五千円札:");
line = reader.readLine();
int gosen = Integer.parseInt(line);
System.out.print("千円札:");
line = reader.readLine();
int sen = Integer.parseInt(line);
System.out.print("五百円玉:");
line = reader.readLine();
int gohyaku = Integer.parseInt(line);
System.out.print("百円玉:");
line = reader.readLine();
int hyaku = Integer.parseInt(line);
System.out.print("五十円玉:");
line = reader.readLine();
int goju = Integer.parseInt(line);
System.out.print("十円玉:");
line = reader.readLine();
int ju = Integer.parseInt(line);


490:デフォルトの名無しさん
08/07/14 22:32:40
続き
System.out.print("五円玉:");
line = reader.readLine();
int go = Integer.parseInt(line);
System.out.print("一円玉:");
line = reader.readLine();
int ichi = Integer.parseInt(line);
System.out.print("");
System.out.println("買い物の合計金額を入力して下さい.");
line = reader.readLine();
int sum = Integer.parseInt(line);
int p = sum % 10;
System.out.println("");
int pay1 = one(p, ichi);
p = p - pay1;
int pay5 = five(p, go);
if (p <= (pay5 * 5)) {
sum = sum / 10;
} else {
sum = (sum / 10) + 1;
}
p = sum % 10;
int pay10 = one(p, ju);
p = p - pay10;
int pay50 = five(p, goju);
if (p <= (pay50 * 5)) {
sum = sum / 10;
} else {
sum = (sum / 10) + 1;
}
p = sum % 10;


491:デフォルトの名無しさん
08/07/14 22:34:07
int pay100 = one(p, hyaku);
p = p - pay100;
int pay500 = five(p, gohyaku);
if (p <= (pay500 * 5)) {
sum = sum / 10;
} else {
sum = (sum / 10) + 1;
}
p = sum % 10;
int pay1000 = one(p, sen);
p = p - pay1000;
int pay5000 = five(p, gosen);
if (p <= (pay5000 * 5)) {
sum = sum / 10;
} else {
sum = (sum / 10) + 1;
}
p = sum % 10;
int pay10000;
if (man >= p) {
pay10000 = p;
System.out.println("一万円札" + pay10000 + "枚");
System.out.println("五千円札:" + pay5000 + "枚");
System.out.println("千円札:" + pay1000 + "枚");
System.out.println("五百円玉:" + pay500 + "枚");
System.out.println("百円玉:" + pay100 + "枚");
System.out.println("五十円玉:" + pay50 + "枚");
System.out.println("十円玉:" + pay10 + "枚");
System.out.println("五円玉:" + pay5 + "枚");
System.out.println("一円玉:" + pay1 + "枚");


492:デフォルトの名無しさん
08/07/14 22:34:55
System.out.println("で支払ってください.");
System.out.println("");
} else {
System.out.println("お金が足りません.");
}
} catch (IOException e) {
System.out.println(e);
} catch (NumberFormatException e) {
System.out.println(e);
}
}
public static int one(int p, int ichi) {
if (p > 5) {
if ((p - 5) <= ichi) {
return p - 5;
} else {
return 0;
}
} else if (p <= ichi) {
return p;
} else {
return 0;
}
}


493:デフォルトの名無しさん
08/07/14 22:37:12
public static int five(int p, int go) {
if (p != 0) {
if ((p <= 5) && (go != 0)) {
return 1;
} else {
return 0;
}
} else {
return 0;
}
}
}
これで終わりなのですが、手持ちのお金と,買い物の金額を入力すると,
お釣りの枚数が最も少なくなる支払い方を教えてくれるプログラムです.
例えば1000円札1枚,100円玉2枚,10円玉4枚持っていて,買い物の合計が625円の時,
プログラムを実行させると1000円札1枚,100円玉1枚,10円玉3枚で支払うように指示します.
ただしこのプログラムでは,1000円札,100円玉,10円玉,1円玉に関しては4枚以内,
5000円札,500円玉,50円玉,5円玉に関しては1枚以内しか持っていないという前提になっているため,
例えば1円玉のみ100枚持っているときに,100円の買い物をしようとしても「お金が足りません」と出力されてしまいます.
この、問題をどんな形でも良いので解消してください。

494:デフォルトの名無しさん
08/07/14 22:47:55
>>493
>>1くらい読め

495:デフォルトの名無しさん
08/07/14 23:05:01
【 課題 】手持ちのお金と,買い物の金額を入力すると,お釣りの枚数が最も少なくなる支払い方を教えてくれるプログラムです.
例えば1000円札1枚,100円玉2枚,10円玉4枚持っていて,買い物の合計が625円の時,
プログラムを実行させると1000円札1枚,100円玉1枚,10円玉3枚で支払うように指示します.
ただしこのプログラムでは,1000円札,100円玉,10円玉,1円玉に関しては4枚以内,
5000円札,500円玉,50円玉,5円玉に関しては1枚以内しか持っていないという前提になっているため,
例えば1円玉のみ100枚持っているときに,100円の買い物をしようとしても「お金が足りません」と出力されてしまいます.
この問題を直しなさい。

【 形態 】Javaアプリケーション(main()で開始)
【 GUI  】制限なし
【 期限 】明日のAM6時
【 Ver  】1.6.0_07
【 補足 】スレ汚してしまってすいません。
      URLリンク(rg550.hp.infoseek.co.jp)

496:デフォルトの名無しさん
08/07/15 00:57:36

【 課題 】キーボードから5回整数の入力を受け取り、
それらの合計値と平均値を計算して表示するプログラムを作成しなさい。
for文またはwhile文による繰り返しを使うこと。
平均値も整数とし、小数点以下が表示されなくてもよい。
キーボードから入力した文字列が制すうちに変換されないときの例外処理はしなくてよい。
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/16 18:00まで
【 Ver  】3.2.2


よろしくお願いします。

497:デフォルトの名無しさん
08/07/15 01:59:57
>>496
public static void main(String args[])
{
Scanner kbd=new Scanner(System.in);
int sum=0;
for(int i=0;i<5;i++){
sum+=kbd.nextInt();
}
System.out.println("合計値:"+sum);
System.out.println("平均値:"+sum/5);
}

498:デフォルトの名無しさん
08/07/15 11:28:23
本日の課題プログラムを参考にして、じゃんけんゲームを完成させよ。完成版は、反復構造により続けてゲームができるようにし、0で終了させて最後に勝ち負けの集計(勝率も計算させる)が表示できるようにせよ。
なお、プログラムは
 あなたの手の入力の処理
 コンピュータの手の生成
 勝ち負けの判定
 勝率の計算
の4つの処理を行うメソッドを定義し、これを利用して作成すること。
実行例:
あなたの手を入力して下さい。(1:グー, 2:チョキ, 3:パー, 0:終了)?
1
あなたの手はグーです。
コンピュータの手はチョキです。
あなたの勝ちです。
あなたの手を入力して下さい。(1:グー, 2:チョキ, 3:パー, 0:終了)?
2
あなたの手はチョキです。
コンピュータの手はグーです。
コンピュータの勝ちです。
あなたの手を入力して下さい。(1:グー, 2:チョキ, 3:パー, 0:終了)?
2
あなたの手はチョキです。
コンピュータの手はグーです。
コンピュータの勝ちです。
あなたの手を入力して下さい。(1:グー, 2:チョキ, 3:パー, 0:終了)?
0
終了
あなたは3試合中、1勝2敗0分け(勝率:3割3分3厘)です。


499:デフォルトの名無しさん
08/07/15 11:59:42
>>498
>>1くらいよめ

500:デフォルトの名無しさん
08/07/15 13:26:40
>>498
>>456

501:デフォルトの名無しさん
08/07/15 13:32:39
>>498
んで、「本日の課題プログラム」とやらはどこにある?

502:デフォルトの名無しさん
08/07/15 15:02:26
>>497さんありがとうございます。

【 課題 】キーボードから2個の小数点の入力を受け取り、
それらを底辺と高さとする三角形の面積を計算して表示する
プログラムを作成しなさい。
・三角形をオブジェクトとして考え、三角形オブジェクトを作成するTriangleクラスを宣言して使うこと。
・Triangleクラスのメンバには、底辺と高さの値をあらわすインスタンス変数、面積を計算するためのインスタンスメソッドを含むこと。
・キーボードから入力された文字列が数値に変換できないときの例外処理はしなくてよい。
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/17 18:00まで
【 Ver  】3.2.2

追加でよろしくお願いします。

503:デフォルトの名無しさん
08/07/15 15:19:58
テンプレを勘違いのまま使ってるな。
【Ver】は Eclipse のバージョンじゃなくて Java のバージョンだぞ。

504:デフォルトの名無しさん
08/07/15 15:31:10
>>502
import java.util.Scanner;
public class Triangle {
private double 底辺, 高さ;
public Triangle(double 底辺, double 高さ) { this.底辺 = 底辺; this.高さ = 高さ; }
public double 面積() { return 底辺 * 高さ / 2; }
public static void main(String[] args) {
System.out.println("三角形の底辺と高さを入力(スペース区切り):");
Scanner scanner = new Scanner(System.in);
double 底辺 = scanner.nextDouble();
double 高さ = scanner.nextDouble();
Triangle 三角形 = new Triangle(底辺, 高さ);
System.out.println("面積="+三角形.面積());
}
}

505:デフォルトの名無しさん
08/07/15 15:32:14
>>502
小数点とは、『.』のことだぞ?

506:431
08/07/16 01:21:23
>>454
回答ありがとうございます。
>3 の Cell を使うと
>>スタックは大きさを持ち、格納できる要素数はその大きさまでとする。
>ちゅうのをどう表現するか決めかねるんだが。
問題文は原文のままですのでなんとも言えないのですが・・・
TestStack.classファイルが今日配布されましたので、もし修正して頂けるなら参考にして下さい。
問題1〜2、3〜4でどういうソースを書けば良いのか参考になると思います。
以下にzipファイルのURLと説明を書きます。

URLリンク(rg550.hp.infoseek.co.jp)
TestProgram11_1フォルダ内のTestStack.classファイルは、Stack.classと共にsrc/Problem11/Answer3に格納して実行してみて下さい。
TestProgram11_2フォルダ内のTestStack.classファイルは、Stack.class、Cell.classと共にsrc/Problem11/Answer4に格納して実行してみて下さい。
パッケージの宣言(?)をそれぞれProblem11.Answer3、Problem11.Answer4にすれば良いようです。
そもそもProblem11.Answer1、Problem11.Answer2でTestStack.classファイルを作成して配布していれば良いと思うのですが、
こういう部分に問題文の作りの甘さが表れていると思います…

507:431
08/07/16 01:21:57

問題1に関しては>>441で回答して頂いたファイルの一部分を
void push (Object anObject) {
// スタックの最後の位置を増やす
top++;
// スタックに要素追加
stack[top] = anObject;
}
に直したら正常動作しました。ありがとうございます。

問題2はまだ回答して頂いておらず、上にアップロードしたTestProgram11_1フォルダ内のTestStack.classを実行した際に動作するようなソースを書いて頂けないでしょうか。

問題4の
>import java.io.ByteArrayOutputStream;
>import java.io.PrintStream;
の記述がよくわかりません。コンパイルでもエラーが出ました。
現在コンパイルしてエラーを表示できる環境にないので、今はエラーの詳細を貼ることは出来ませんが…
後ほど貼ります。
問題3、問題4に関しても上記のファイルのTestProgram11_2フォルダ内のTestStack.classの動作に添うようにソースを書いて頂けないでしょうか。

色々文句をつけてしまいすみません。
自力では解けませんのでなんとか宜しくお願いします。

508:468
08/07/16 01:27:36
>>464
すまぬ〜、さっき知ったんだが、
>AtomicInteger
って java.util.concurrent.atomic.AtomicInteger なんだな。手前勝手に作っちまった。
クラス宣言消して import 追加して生成してるとこでパラメータに 1 を指定する、のが
正解ってことで。

509:デフォルトの名無しさん
08/07/16 02:13:12
【 課題 】コンパイルせよ。エラーが出たら原因を考えて修正せよ。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】1. AWTのみ(だと思います)
【 期限 】今週金曜日
【 Ver  】
java version "1.6.0_05"
Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)

プログラムをコンパイルすると
Ex5c.java:28: 警告:[unchecked] raw 型 java.util.ArrayList のメンバとしての add(E
) への無検査呼び出しです。
list.add(new AnalogClock());
というエラーが出るのですが、直し方がよくわかりません

AnalogClock aClock;
aClock = new AnalogClock();
ArrayList list = new ArrayList();
ググったら↑を書き換える必要があるらしいのですが、どう書き変えたらいいのかわかりません。
お願いします。

510:デフォルトの名無しさん
08/07/16 02:22:19
>>509
警告だから、別に直さなくても良いけど、

ArrayList<AnalogClock> list = new ArrayList<AnalogClock>();

とか書けば消えるんじゃね?


511:454
08/07/16 03:27:27
>>506>>507
なんだか変な話になってきそうだが、問題2/問題4の
>Stack が要求を満たしていることをテストするプログラムTestStack を定義しなさい。
というのは、その配布された TestStack.class のソースを再現しろということなのか?
そもそも、1と3で作成した Stack は指示されたインターフェースを満たすようにつくって
いるのだから、UnitTest ならともかくそのレベルのテストは同じものになるはずだが。
ちなみに
URLリンク(rg550.hp.infoseek.co.jp)
は4つのテスト全てで
>テスト結果 = true
と表示されたが、これでいいのか?

512:デフォルトの名無しさん
08/07/16 04:11:37
>>506
jad という逆コンパイルツールを探してきて TestStack.class と同じ
フォルダに展開して、
 jad -8 TestStack.class
とやると TestStack.jad というファイルが出来るから、
TestStack.java に変名してそれぞれの Stack と一緒に出したらどうだい。
それ見てたら作者がタコに思えてきて弄る気力無くなった…。

513:デフォルトの名無しさん
08/07/16 14:51:55
>>510
ありがとうございます!やっとコンパイル通りました!

514:デフォルトの名無しさん
08/07/16 15:10:42
>>513
いや、別に、警告は出てても実行は出来るよ。

515:デフォルトの名無しさん
08/07/16 15:57:41
>>514
元に戻してやってみたら通りましたorz
ファイル名を入力し間違えてたみたいですorzorz

516:デフォルトの名無しさん
08/07/17 00:36:03
いま暇だ。
残ってる宿題リストくれ

517:デフォルトの名無しさん
08/07/17 00:56:43
「1〜1000までの足し算を行うプログラムを書け。」
簡単かもしれませんがお願いします。

518:デフォルトの名無しさん
08/07/17 01:27:37
>>516
期限が切れてるのばかり・・・

>>495の金種計算と
>>466も現実的な時間で算出できる方法かな


519:デフォルトの名無しさん
08/07/17 01:36:47
>>517
n=1000; として、
for(i=1,sum=0; i<=n; i++) sum+=i; または n*(n+1)/2;


520:デフォルトの名無しさん
08/07/17 01:51:31
>>466
なにこのベンチマークw

521:デフォルトの名無しさん
08/07/17 02:47:45
>>431 は一応まだ期限内なんだが。
問題1,3はともかく、問題2,4の出題者の意図がイマイチ分からん。
そのもののクラスファイルを >>506 で出題者から提供されたが、
んじゃ問題2,4では何を作るのかと。
>>512 ではjadで終わりってことにしたな。

522:デフォルトの名無しさん
08/07/17 10:10:12
>>466 を実装するには、まずBigDecimalのsqrtを実装しないといけないよね。チェックの回数を減らさないと。

523:デフォルトの名無しさん
08/07/17 11:57:56
【 課題 】
class Data{
String name;
String start_time;
String end_time;
String place;
String id;
//以下ゲッタ、セッタ;
}
で定義されているデータ型とこのデータ型のオブジェクトdata1[n]がある.
このとき、以下の条件に従って、Data data2[n]に値を挿入する関数arrange()を作成せよ.
(1)n=0の時、data2[n] = data1[n]
(2-2)n=kの時、data1[0]~data1[k-1]までに「name,start_time,end_timeすべてが一致するもの」があれば、data2[k].id=data2[k].id+","+data1[k-α].id *αはそれまでの一致した数
(2-2)n=kの時、data1[0]~data1[k-1]までに「name,start_time,end_timeすべてが一致するもの」がなければdata2[k]=data1[k-α]

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】なし
【 期限 】7月18日24時
【 Ver  】
$ java -version
java version "1.6.0_05"
Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)
【 用語 】
【 補足 】data1のデータは定義されていません。自分で何か文字列入れて動作確認せよとのことです.

524:431
08/07/17 18:19:45
>>511
度々ありがとうございます。

自宅で実行環境を整えたのですが、
Exception in thread "main" java.lang.NoClassDefFoundError
とエラーが出てしまい、動作を確認出来ない状況です。
学校で実行した時は3が実行できて、4はエラーが出て実行できない状況だったのですが・・・
作って頂いた4のファイルも、きちんとした環境でコンパイルして実行すれば動作するのでしょうか?
Ver.1.4.2_12でコンパイルして実行したらエラーが表示されたのですが・・・
4でのエラー文は明日貼りますので、もう暫くお待ち下さい。

3を実行したとき、スタックにa、b、cを積んでいって取り出すような実行結果が表示されたと思うのですが、
教師からはTestStack.classを配布したので実行してみろという指示を出されただけで特に説明はありませんでした。
恐らくTestStack.classが実行できた場合は教師が指定したスタックの条件は満たせているぞ、という意味なのだと思います。

525:431
08/07/17 18:27:35
問題2と4に関しては、作成したスタックが教師の条件に沿っていることを確認するものが作れれば良いと思います。

スタックに要素を積んでいって、満杯になったらこれ以上積めないということを表示し、
スタックの要素だけを表示するメソッドを実行して、次に要素をスタックから取り出して表示するメソッドを実行することで、
スタックの要素を表示するメソッドと、要素をスタックから取り出して表示するメソッドが正しく動作することを確認することが出来るのでそのような動作をするようにし、
スタックが空の時に要素を取り出して表示するメソッドを実行したらスタックが空で取り出せないことを表示する、
といったことが出来れば良いと思います。

問題4は「>スタックは大きさを持ち、格納できる要素数はその大きさまでとする。」という部分が問題になっているのでしょうか。
実行できていないので「>テスト結果 = true」についてよくわからないのですが、
Cellを利用して作ると無限に要素を積めるスタックを作れるとしたら、問題文の「>スタックは大きさを持ち、格納できる要素数はその大きさまでとする。」は無視して良いと思います。
問題4では
スタックに要素を積んでいって、スタックの大きさに制限がないためにいくつか積んでも満杯にならないことを確認し、
スタックの要素だけを表示するメソッドを実行して、次に要素をスタックから取り出して表示するメソッドを実行することで、
スタックの要素を表示するメソッドと、要素をスタックから取り出して表示するメソッドが正しく動作することを確認することが出来るのでそのような動作をするようにし、
スタックが空の時に要素を取り出して表示するメソッドを実行したらスタックが空で取り出せないことを表示する、
といったことが出来れば良いと思います。

そして、どちらも問題文で指定されている
>ただし、show メソッドにより、
>スタックが空の場合には
>スタックは空です!
>と表示し、
>“a”,”b”,”c”の順序にスタックにつまれている場合にはスタックの内容を
>c <-- b <-- a
>と表示するようにする。
という部分は守る必要があると思います。

526:431
08/07/17 18:28:14
私は「import〜」など、少し複雑になったソースでさえ理解することが出来ませんので、
もし良かったら、上のようなプログラムで、より単純なソースで作って頂けると助かります…
問題2に関しては単純にpush(Object anObject),pop(),top()を実行するプログラムを書けば良いので自分でなんとかなりますが、
問題4に関しては問題3で作成して頂いたソースのコンパイルすら通っておらず、そのソースの構造がどうなっているのか理解することが出来ていないのでメソッドをどう実行したら良いのか分かりません。
問題4も単純に要素を何個か積んで、表示して、取りだしていって、要素が無くなったら要素がないことを表示するようなソースを、メソッドを繰り返し使うことで実現するようなプログラム(?)を書いて頂けると助かります。

恐ろしく素人なので、回答して頂いている方達が疑問に思っている点について私が理解出来ておらず、
回答になっていない気もします…

>>521
恐らく私が今書いたようなことだと思います。
配布されたTestStack.class自体を再現する必要はないと思いますが、
それを再現出来れば動作の確認自体が出来ると思うので、それを再現してもいいのかもしれません。

527:431
08/07/17 18:44:42
そして、前回の課題に合わせて追課題が出てしまいました・・・

【 課題 】 URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】 Javaアプリケーション(main()で開始)
【 期限 】 2008/07/22 06:00
【 Ver  】 1.4.2_12
【 補足 】 課題の丸投げです。>>431で作成すべきソースを利用して作る課題です。

       私は動作確認できていませんが、
       もしかしたら
       URLリンク(rg550.hp.infoseek.co.jp)の一部分を
        void push (Object anObject) {
         // スタックの最後の位置を増やす
         top++;
         // スタックに要素追加
         stack[top] = anObject;
        }
       に書き換えたものと、
       URLリンク(rg550.hp.infoseek.co.jp)
       を利用して解けるかもしれません。
       
       >>431の課題も作成して頂いている途中なので作成をお願いするのが申し訳ないのですが、
       そんなことに構っていられないほど色々な課題や勉強が増えてきておりまして、
       図々しいことは承知の上で回答お願いします。
       できるだけ初心者にも理解し易く、単純な形で記述して頂けると助かります。
       コンストラクタ、メソッド、インスタンス、オーバーロード、合成、継承、オーバーライド、ポリモルフィズム、
       アップキャスト・ダウンキャスト、equalsのオーバーライド、インターフェース、
       程度しか教わっていないようなレベルです。
       宜しくお願いします。

528:デフォルトの名無しさん
08/07/17 18:55:31
>>527
>        URLリンク(rg550.hp.infoseek.co.jp)の一部分を
>         void push (Object anObject) {
>          // スタックの最後の位置を増やす
>          top++;
>          // スタックに要素追加
>          stack[top] = anObject;
>         }
>        に書き換えたものと、
それは何処が書き換わってるの?

529:431
08/07/17 19:11:16
>>528
失礼しました。
public Stack() {
// スタックの大きさ
size = 5;
// スタックサイズで配列作成
stack = new Object[size];
// 空っぽの時はマイナス1とする
top = -1;
}
       を
public Stack(int size) {
// スタックサイズで配列作成
stack = new Object[size];
// 空っぽの時はマイナス1とする
top = -1;
}
に書き換えたものと、
です。

530:デフォルトの名無しさん
08/07/17 19:45:27
>>527
この問題コンストラクタ、メソッド、インスタンス以外使ってないんだが・・

531:デフォルトの名無しさん
08/07/17 23:35:59
作成する側がって意味だろ

532:デフォルトの名無しさん
08/07/18 01:17:02
だれか 1.4.2_12 の環境ある超暇な人、
>import java.io.ByteArrayOutputStream;
>import java.io.PrintStream;
でコンパイルエラーになるか確認してくれないか。

533:デフォルトの名無しさん
08/07/18 01:26:12
ごちゃごちゃ想像してないで、課題2と課題4とTestStack.classを
どうしろというのか直に教師に確認してきなさいよ・・・

534:デフォルトの名無しさん
08/07/18 02:31:14
>>533
実行してみろとしか言われてないって書いてあるだろ
課題自体は431なんだろ

535:デフォルトの名無しさん
08/07/18 12:05:40


課題がわからなくてこまってます。にもかかわらず先延ばしにしてしまい今日の午後四時が締め切りです。
図々しいけどよろしくお願いします。
[課題]10.0、18.5、4.2、19.0、5.0、22.7、2.4、4.8、9.9、7.0
    という十個の実数について大きい順に並び替え、
    最大値、最小値、平均値を求めるプログラムを作成せよ。
[形態]1Javaアプリケーション
[GUI]1AWTのみ
[期限]今日(金曜日)の午後四時

536:デフォルトの名無しさん
08/07/18 12:39:03
>>535
足す順で若干精度が変わるけど、そのへんポイントなの?

double[]a={10.0,18.5,4.2,19.0,5.0,22.7,2.4,4.8,9.9,7.0};
double sum = 0;
java.util.Arrays.sort(a);
System.out.println("大きい順");
for(int i=a.length-1;i>=0;i--){
System.out.println(a[i]);
sum+=a[i];
}
System.out.println("最大値:"+a[a.length-1]);
System.out.println("最小値:"+a[0]);
System.out.println("平均:"+sum/a.length);

537:デフォルトの名無しさん
08/07/18 13:03:44
【 課題 】適当なフレーム(正方形が望ましい)をつくり、その中心にdrawRectで正方形を描画する。
       その後、その正方形に内接する円を描き、正方形の中だけにランダムに
       点を描画することにより円周率πの近似値を求めるプログラムを作成せよ。

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】1. AWTのみ
【 期限 】7/22(火) 13:00
【 Ver  】java version "1.5.0_11"
【 補足 】モンテカルロ法を再現するのだと思いますが、その部分の計算方法がよく分かりません。
       丸投げにしてすいませんがお願いします。

538:デフォルトの名無しさん
08/07/18 15:04:04
>>537
> モンテカルロ法を再現するのだと思いますが、その部分の計算方法がよく分かりません。
正方形の一辺の長さを a とすると、その面積は a × a になる。
この正方形に内接する円の面積は π × a × a ÷ 4 。
正方形内に一様にばらまいた点が内接円の内部に存在する割合は、
正方形の面積に対する内接円の面積の比、すなわち π ÷ 4 。
つまり、ばらまいた点の総数で内接円内の点の数を割ったものの4倍がπの近似値になる。
点が内接円の内部か外部かの判定は、
正方形の重心=円の中心から点までの距離と円の半径 a ÷ 2 との比較で行える。
カルテシアン座標で点の座標を発生させているのなら、
平方根計算が必要な距離そのものでなく、その2乗値と a × a ÷ 4 とを比較してもいい。

539:デフォルトの名無しさん
08/07/18 18:59:26
【課題】Music クラスのオブジェクトを要素とするリストの中から、指定された曲名を持つオブジェクトを線形探索で探すプログラムを作成する。
今回は番兵法を使って作成しなさい。main メソッドのあるクラスのクラス名は SequentialSearchSentinel とする。

URLリンク(rg550.hp.infoseek.co.jp)
【形態】1. Javaアプリケーション(main()で開始)
【期限】7月21日 23:59
【Ver】1.5.0.11
【補足】丸投げです。宜しくお願いします

540:デフォルトの名無しさん
08/07/18 22:14:05
>>537
>正方形が望ましい
uN以外で正方形以外のフレームの作り方教えてくれw

>>539
ちょっとまて、それとあるruby本で同じ問題あったぞw

541:デフォルトの名無しさん
08/07/18 22:18:55
>>540
フレームの形は一般に長方形で、正方形とは限らないのでは?

542:デフォルトの名無しさん
08/07/18 22:19:43
【 課題 】
□実行時に2つの数値を受け取るプログラムを作成しなさい。
□受け取った2つの数値の前1つを「月」、残りの1つを「日」として表示のみさせなさい。
□前出の月・日に対して、その曜日を表示するプログラムを作成しなさい。
【 形態 】1. Javaアプリケーション
【 期限 】7月23日
【 Ver 】1.6.0.06
【 補足 】丸投げです。基本的なことかもしれませんがよろしくお願いします。


543:デフォルトの名無しさん
08/07/18 22:25:39
>>542
どうやって「受け取る」のか、
曜日といっても、何年の曜日なのか・・・

544:デフォルトの名無しさん
08/07/18 22:37:03
>>542
if(args.length != 2)
return;
Calendar c =Calendar.getInstance();
c.set(Calendar.MONTH, Integer.parseInt(args[0])-1);
c.set(Calendar.DAY_OF_MONTH, Integer.parseInt(args[1]));
// c.set(Calendar.YEAR, 2008);
System.out.println("月火水木金土日".charAt(c.get(Calendar.DAY_OF_WEEK)-2));

年は2008(今年でいいのであれば設定の必要なし)、受け取り方はプログラム引数として、と仮定してます。

545:デフォルトの名無しさん
08/07/18 22:44:32
>>544さん、ありがとうございます。
いろいろ説明不足ですみません。


546:デフォルトの名無しさん
08/07/18 22:49:16
【 課題 】
□1から100までの乱数を発生させるプログラムを作成しなさい。
□上で発生させた乱数が50より大きい場合には「BIG」、50以下である場合には「SMALL」と表示させるプログラムを作成しなさい。
【 形態 】1. Javaアプリケーション
【 期限 】7月23日
【 Ver 】1.6.0.06
【 補足 】Math.random()メソッドを利用します。

さっき質問した者です。またお願いします。



547:デフォルトの名無しさん
08/07/18 22:55:49
>>546
double d = Math.random()*100+1;
System.out.println(d>50? "BIG":"SMALL");
これぐらいで躓いてたら・・・まぁいいけど。

548:デフォルトの名無しさん
08/07/18 23:15:01
>>547さん、ありがとうございます。

549:デフォルトの名無しさん
08/07/19 03:43:52
>>509で質問したものです。続きの課題でこけました。よろしくお願いします。

【 課題 】エラーが出るので、原因を考えて修正せよ
URLリンク(rg550.hp.infoseek.co.jp)
(参照?しているAbstractWorldClock.java は完成品)
【list.add(new DigitalWorldClock());】←を消すととりあえずは動くのですが、
表示されるのが全てTokyoになってしまいます。。。

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】1. AWTのみ(だと思います)
【 期限 】日曜日

550:デフォルトの名無しさん
08/07/19 09:51:02
>>549
引数無しのコンストラクタも作ったらいいんじゃね?

551:デフォルトの名無しさん
08/07/19 09:56:31
>>549
AbstractWorldClock.java も up してくれないと、list.add 〜 を消しても
コンパイルできんじゃないかw

552:デフォルトの名無しさん
08/07/19 10:42:21
>>539
for(int i=0; result!=null; ++i) if(music[i].getTitle().equals(songName)) result = music;
if(result == sentinel) return null;
コンパイルしようとしたら手元のは 1.4.2_09 で断念w

553:デフォルトの名無しさん
08/07/19 11:05:51
>>552
シンボルを見つけられません
場所;SequentialSearchSentinelのクラス

if(music[i].getTitle().equals(songName))
  ^
とコンパイルエラーがでてしまうのですがどうすれば良いのでしょうか?

554:デフォルトの名無しさん
08/07/19 11:13:01
>>553
ああ、すまん。
if(music[i] 〜
じゃなくて
if(list[i]〜
か。

555:デフォルトの名無しさん
08/07/19 11:21:44
>>539
for(Music m:list){
if(m.getTitle().equals(songName)){
if(m!=sentinel){
result=m;
}
break;
}
}

556:デフォルトの名無しさん
08/07/19 11:31:24
>>554 >>555

コンパイルできました。ありがとうございます

557:デフォルトの名無しさん
08/07/19 14:12:38
>>554
うひゃあ、まだバグってるじゃん。
result = music;
じゃなくて
result = list[i];
だし・・・ダメだ俺


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5383日前に更新/381 KB
担当:undef