★★ Java の宿題ここで答えます Part 61 ★★at TECH
★★ Java の宿題ここで答えます Part 61 ★★ - 暇つぶし2ch449:デフォルトの名無しさん
07/06/21 12:09:17
【 課題 】
4つのチームが総当たり方式でサッカーの試合を行なう。その全ての試合の組み合わせを「●● vs. ◎◎」の形式で表示させよう。
4つのチーム名をStringの配列で列挙
2重のfor文を使う
試合数は全部でいくつ?

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】4. 制限なし
【 期限 】明日までにお願いします
【 Ver  】java version "1.5.0_11"
【 補足 】よろしくお願いします。


450:デフォルトの名無しさん
07/06/21 12:10:45
【 課題 】
String配列と乱数を使って、「おみくじ」を作ろう。
おみくじの言葉をString配列(omikuji)
の初期値として入れておく。
0〜N-1の整数の乱数(r):
int r=(int)(Math.random()*N);
なお、おみくじの中身は 大吉・中吉・吉・末吉・平・凶・大凶 という感じにしてください

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】4. 制限なし
【 期限 】明日までにお願いします
【 Ver  】java version "1.5.0_11"
【 補足 】連投ですが、よろしくお願いします。


451:abc
07/06/21 14:14:54
【 課題 】
このプログラムをできるだけ高速化してください↓n<=20000;の数字を大きくしても早く計算できるようにしてほしいです。
public class a{ static int prime(int number){ int count=0;
for(int i=1; i<=number; i++){ if(number%i==0) count++; } return count; }
public static void main(String[] args){ int n=100, p; long start = System.currentTimeMillis();for(n=2; n<=20000; n++){
for(p=n+1; p<2*n; p++){ if(prime(p)==2){
//System.out.println("自然数n=" + n + "の時,素数は存在する."); break; }} if(p==2*n){
//System.out.println("この定理は間違いと判明!"); break;} if(n%500==0){
long stop = System.currentTimeMillis();
System.out.println(n + " " + (stop-start));}}}}
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】4. 制限なし
【 期限 】明日までにお願いします。
【 Ver  】java version "1.5.0"
【 補足 】よろしくお願いします。

452:デフォルトの名無しさん
07/06/21 14:26:39
>>451
理解できない

453:abc
07/06/21 14:41:29
すみません。詳しく書きました。
チェビシェフの定理を調べるプログラムを改良し高速化を目指しなさい.
[テェビシェフの定理]
1より大きい自然数nに対して,nと2nの間には必ず素数が存在する.
実験手順
1. はじめに計算経過時間をグラフ化する実験を行う.チェックするnは2から2万以上であれば上限は各自自由に決めて良い.時間を測る間隔(見本プログラムではn=1000毎)も自由に決めて構わないが,Excelでは65535点までしか扱えないので各自工夫すること.
この実験では,自分の納得のいく計算速度が実現できるまで,プログラムの改良を重ねること.
なお,計算経過時間のグラフは,改良前および改良後のプログラムに関して作成し,それぞれレポ
ートに添付すること.なお,計算経過時間を短縮できた理由も考察すること.
できるだけ多くの自然数nに対してチェビシェフの定理を満たしているのか確認せよ.その際,nは2から順に増やしてチェックしていくこと
■ レポートには,
・ 方針・手順
・ 工夫した点
・ 考察
・ 改良したJAVAプログラムのソースコード
を分かりやすく記述すること.ある程度の試行錯誤が必要となるので,試行錯誤した場合,その途中経過とどのように改善したかなど,取り組み内容が分かるように記述すること.
改良前のプログラムは後からのせます。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】4. 制限なし
【 期限 】明日までにお願いします。
【 Ver  】java version "1.5.0"
【 補足 】よろしくお願いします。


454:abc
07/06/21 14:42:18
これが改良前のプログラムです。
public class a{
static int prime(int number){
int count=0;
for(int i=1; i<=number; i++){
if(number%i==0) count++;
}
return count;
}
public static void main(String[] args){
int n=100, p;
long start = System.currentTimeMillis();
for(n=2; n<=20000; n++){
for(p=n+1; p<2*n; p++){
if(prime(p)==2){
//System.out.println("自然数n=" + n + "の時,素数は存在する.");
break;
}
}
if(p==2*n){
//System.out.println("この定理は間違いと判明!");
break;
}
if(n%500==0){
long stop = System.currentTimeMillis();
System.out.println(n + " " + (stop-start));
}
}
}
}


455:デフォルトの名無しさん
07/06/21 14:55:39
分散コンピューティングしるw

456:デフォルトの名無しさん
07/06/21 15:22:58
>>453
URLリンク(www2.moug.net)

457:デフォルトの名無しさん
07/06/21 15:26:03
>>453
分割統治と、計算結果のキャッシュ、既知の素数の利用。
この辺りかな?

458:デフォルトの名無しさん
07/06/21 15:56:37
URLリンク(sourcepost.sytes.net)


459:デフォルトの名無しさん
07/06/21 16:10:12
>>456
そこの香具師らみんな System.out.println の性能測ってるぞ

URLリンク(sourcepost.sytes.net)


460:デフォルトの名無しさん
07/06/21 16:14:40
>>449
>試合数は全部でいくつ?
6試合。

461:デフォルトの名無しさん
07/06/21 16:18:08
【 課題 】
コマンドラインより頭数と抽出数を入力し、競馬の3連単予想を出力する。
頭数は8以上18以下とし、馬には1から順に番号が振られている。
抽出数が未入力の場合デフォルト値5とする。
頭数分の1,2,3着の組み合わせ集団よりランダムに抽出数分出力。
出力結果はsortされていなくても可。
配列を使う場合1次元配列を使用すること。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】4. 制限なし
【 期限 】ネタなので他の出題を優先で
【 Ver  】java version "1.5.0_11"
【 補足 】
三連単とは1着2着3着をその順番込みで当てる投票方法
[出力例]
java keiba 18
11-5-16
1-9-8
5-8-18
18-14-6
6-5-9
注)同じ馬が1着2着とか抽出結果がダブってるとかは当然NG

462:デフォルトの名無しさん
07/06/21 16:29:25
>>450
import ec.util.MersenneTwisterFast;

public class test {
public static void main(String[] args) {
String[] outstr = new String[]{"大吉","中吉","吉","末吉","平","凶","大凶"};
MersenneTwisterFast rnd = new MersenneTwisterFast();
System.out.println(outstr[rnd.nextInt(outstr.length)]);
}
}


463:だめぞう
07/06/21 16:40:36
すいません。
while文とif文を使ったプログラムを明日までに仕上げなければなりません。どうしたらいいか分からないのでプログラムを作ってくれたらうれしいです。

464:デフォルトの名無しさん
07/06/21 16:51:15
System.out.println("while");
System.out.println("if");


465:デフォルトの名無しさん
07/06/21 16:52:22
>>461
import java.util.*;
public class Betty {
Set<String> l = new TreeSet<String>();
public void add(int x, int y, int z) {
if (x == y || y == z || z == x) return;
l.add(x + "-" + y + "-" + z);
}
public int size() {return l.size();}
public Set<String> get() {return l;}
public static void main(String[] args) {
int h = Integer.parseInt(args[0]);
int c = args.length < 2 ? 5 : Integer.parseInt(args[1]);
if (h < 8 || 18 < h) throw new IllegalArgumentException("8-18");
Betty b = new Betty();
while (b.size() < c) b.add(r(h), r(h), r(h));
for (String s : b.get()) System.out.println(s);
}
static int r(int c) {return (int)(Math.random() * c) + 1;}
}

466:デフォルトの名無しさん
07/06/21 17:02:37
>>449
public class A {
public static void main(String[] args) {
String[] teams = new String[]{"A","B","C","D"};
int games = 0;
for (int i=0; i<teams.length; i++) {
for (int j=i+1; j<teams.length; j++) {
System.out.println(teams[i] + " vs " + teams[j]);
games++;
}
}
System.out.println( (teams.length * (teams.length-1) / 2) +"games");
System.out.println( games +"games");
}
}


467:デフォルトの名無しさん
07/06/21 17:39:18
>>465
おお、素早い解答ありがとうございます。
sortもされているようでマークシートを塗るときに便利です。
第2引数が抽出母体数より大きいと死んでしまうようです。
大きいときには抽出母体最大値で良いので修正場所だけお願いします。

468:デフォルトの名無しさん
07/06/21 17:51:09
>>453
URLリンク(sourcepost.sytes.net)

469:デフォルトの名無しさん
07/06/21 18:01:17
ん、母体数って馬券の組み合わせ総数って事?

これは「すでに取得した馬券なら再計算」という力技、
つまり組み合わせが十分に大きいことを前提に書いています。
もし前提が崩れるなら先にすべての馬券の組み合わせを作ってから、
引いていく方式のほうがいいかもね。
18*17*16か。
まあ、許容範囲内だから書き直すかな。

470:デフォルトの名無しさん
07/06/21 18:17:10
>>469
引数が 8 336 の場合だと時間がかかっても出力されたのですが、
8 337の場合ずーっとでないのでし

471:デフォルトの名無しさん
07/06/21 18:31:58
import java.util.*;
public class Betty2 {
List<String> l;
Set<String> s = new TreeSet<String>();
Betty2(int h) {
l = new ArrayList<String>(h * (h-1) * (h-2));
for (int i = 1; i <= h; ++i) {
for (int j = 1; j <= h; ++j) {
if (i == j) continue;
for (int k = 1; k <= h; ++k) {
if (i == k || j == k) continue;
l.add(i + "-" + j + "-" + k);
}
}
}
}
void add(int r) {s.add(l.remove(r%l.size()));}
public static void main(String[] args) {
int h = Integer.parseInt(args[0]);
int c = args.length < 2 ? 5 : Integer.parseInt(args[1]);
if (h < 8 || 18 < h) throw new IllegalArgumentException("8-18");
if (c > h * (h-1) * (h-2)) throw new IllegalArgumentException("-_-");
Betty2 b = new Betty2(h);
while (b.s.size() < c) b.add(r());
for (String s : b.s) System.out.println(s);
}
static int r() {return (int)(Math.random() * (Integer.MAX_VALUE-1)) + 1;}
}

472:デフォルトの名無しさん
07/06/21 18:33:48
最後の行はミス
static int r() {return (int)(Math.random() * Integer.MAX_VALUE);}

473:468
07/06/21 18:39:06
>>453
色々間違ってた。修正。
URLリンク(sourcepost.sytes.net)

474:デフォルトの名無しさん
07/06/21 18:42:30
>>471
なんか劇的に早くなりました。ありがとうございました。

475:473
07/06/21 18:48:36
for(int j = i; j <= i * 2; j++) ×
for(int j = i + 1; j < i * 2; j++) ○

476:デフォルトの名無しさん
07/06/21 20:48:59
if (!(primeCache.indexOf(value) != -1)) {


477:473
07/06/21 22:31:16
>>476
二重否定wしかも致命的に間違ってるね。修正。
URLリンク(sourcepost.sytes.net)

478:デフォルトの名無しさん
07/06/22 13:33:02
>>466 はうまく実行できたのですが
>>462 はエラーが起こってしまいます。
問題文通りにプログラムが組まれいえるとは思えません。
はっきり言って糞杉wwwwwwwwww
めんどくさくて丸投げしたが、自分で作らないといけねーじゃねーかwww

479:デフォルトの名無しさん
07/06/22 14:05:31
昔なら

ばかばっか・・・

ってAA貼ったんだろうねぇ(=ω=.)ニヤニヤ

480:デフォルトの名無しさん
07/06/22 15:51:53
おい、今日は宿題はないのか
やる気まんまんだぞ
暇だからmap書いとく、誰か修正きぼん
static <P,R> List<R> map(List<p> l, Anon<P,R> func) {
  List<R> ret = new LinkedList<R>();
  for (P t : l) {
    ret.add(func.func(t));
  }
  return ret;
}
static void main(String[] args) {
  List<Integer> l = new LinkedList<Integer>();
  l.add(3);l.add(9);l.add(17);l.add(12);
  List <String> s = map(l, new Anon<Integer, String>() {
    public String func(Integer i) {
      return String.valueOf(i + 5) + "円";
    }
  });
  System.out.println(s);
}
つまらーん、JDK7早く来ないかな



481:362
07/06/22 17:45:16
>>382
遅くなってすみません…
URLリンク(sourcepost.sytes.net)
こんな感じになります。さっぱり原因が分かりませんorz

482:デフォルトの名無しさん
07/06/22 17:56:35
>>479
つまり、今風で言うと

希         バ
少       ス カ
価 (=ω=.) テ は
値        |
だ       タ
         ス
         だ

と言う事ですね(´∀`;)

483:abc
07/06/22 18:00:14
453のプログラムをもう少し単純に高速化はできないでしょうか??
教えていただいたのは難しくて分からないので、すみません。

484:デフォルトの名無しさん
07/06/22 19:31:03
【 課題 】2台のPC上にバーを表示し双方のマウス操作を連動できるようにしなさい。
URLリンク(sourcepost.sytes.net)
【 形態 】Javaアプリケーション
【 GUI  】制限なし      
【 期限 】6月24日23:59
【 Ver  】java version "1.5.0_11"
【 補足 】丸投げですみません。よろしくお願いします!

485:デフォルトの名無しさん
07/06/22 19:49:10
今度大学の試験でjavaのコード書く筆記試験あんだけど
Cしかやってなくて授業にあんま出てないんだけどCのやつ書いたら
何割ぐらい正解するかな?結構同じだよね

486:デフォルトの名無しさん
07/06/22 19:57:25
>>485
スレ違いぽっぽ(*‘ω‘ *)
Cできるなら、Javaできるだろう。。。常識的に(組み込みは別として)


487:デフォルトの名無しさん
07/06/22 20:13:24
残っている問題を(=ω=.)で華麗に絨毯爆撃

期限           レス番号
---------------------------------------
6/24 23:59       >>484 (通信系ザマス)

。。。コレしかなかった ふんがー

488:デフォルトの名無しさん
07/06/22 21:22:37
【 課題 】球面を対象とした光線追跡プログラムを作成
【 形態 】2. Applet
【 GUI  】4. 制限なし
【 期限 】2007/06/28
【 Ver  】java version "1.5"
【 補足 】丸投げですがよろしくお願いします。
      URLリンク(sourcepost.sytes.net)


489:デフォルトの名無しさん
07/06/22 22:22:50
【 課題 】
URLリンク(kansai2channeler.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】4. 制限なし
【 期限 】2007/06/24 15:00
【 Ver  】java version "1.5.0_11"
【 補足 】丸投げです。よろしくお願いします。

490:デフォルトの名無しさん
07/06/22 23:00:00
>>483
これ以上ない丁寧なコメントを添えた。
URLリンク(sourcepost.sytes.net)

高速化の手法は素数のキャッシュの利用くらいじゃないか。うちの環境では大体 2500ms で終わる。

491:デフォルトの名無しさん
07/06/22 23:00:22
>>489
課題が403

492:abc
07/06/22 23:02:18
【 課題 】このプログラムをlong型で高速化してください。プログラムは次に載せます。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】4. 制限なし
【 期限 】2007/06/23 15:00
【 Ver  】java version "1.5.0_11"
【 補足 】よろしくお願いします

493:デフォルトの名無しさん
07/06/22 23:06:55
挿入

494:abc
07/06/22 23:07:27
とても親切な答えありがとうございます。 もうしわけないのですがlong型でないといけないようでした。
public class a {
static boolean isprime(int number){
int count=0;
if ( ( number == 1 ) ) return false;
if ( ( number == 2 ) ) return true;
if ( ( number % 2 ) == 0 ) return false;
for(int i=3; i<number; i+=2 ){
if( number % i == 0 ) return false; }
return true; }
public static void main(String[] args){
int n,p;
long start = System.currentTimeMillis();
for(n=2; n<=50000; n++){
for(p=n+1; p<2*n; p++){
if( isprime(p) == true ){
//System.out.println("自然数n=" + n + "の時、素数は存在する。");
break;
} }
if(n%500==0){
long stop = System.currentTimeMillis();
System.out.println(n+" "+(stop-start));
}
} } }
よろしくお願いします。




495:デフォルトの名無しさん
07/06/22 23:54:55
>>489
URLリンク(kansai2channeler.hp.infoseek.co.jp)

出力結果を見て適当に作った。
Circleクラスはゲッターないから継承してもnameとrを参照できない。
(Circleクラス書き換えるしかない)

496:デフォルトの名無しさん
07/06/23 08:37:45
【 課題 】2から100までの素数(1と自分自身だけで割り切れる整数値)だけを表示してください
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】4. 制限なし
【 期限 】2007/06/24
【 Ver  】java version 1.4
【 補足 】よろしくお願いします。

497:デフォルトの名無しさん
07/06/23 09:01:07
public class Prime{
public static void main(String[] args){
try{
int n = Integer.parseInt(args[0]);
if(n <= 2){
System.err.println("N must be greater than 2");
return;
}
boolean[] b = new boolean[n + 1];
for(int i = 1; i < b.length; i++){
b[i] = true;
}
for(int i = 2; i * 2 < b.length; i++){
b[i * 2] = false;
}
for(int p = 3; b[p] && p * p < b.length; p += 2){
for(int i = 2; i * p < b.length; i++){
b[i * p] = false;
}
}
for(int i = 2; i < b.length; i++){
if(b[i])
System.out.println(i);
}
}catch(Exception e){
System.err.println("Usage: Prime N");
}
}
}


498:デフォルトの名無しさん
07/06/23 09:27:56
>>495
どうもありがとうございます!

499:デフォルトの名無しさん
07/06/23 09:47:44
【 課題 】
ビリヤードの玉(1から15まである)から5つを選び、ネックレスを作る。
この5つの玉のうち、幾つ取っても良いが、隣どうし連続したものしか取れないとする。
取り出した玉の数字を足し算して1から21までの数字を全て作りたい。
ただし、ネックレスなので取りだす玉同士は連続していなければならない
(とびとびの足し算はNG)。
どの数字の玉を5つ組み合わせれば出来るかを調べるプログラムを作成し、
1から21までの組み合わせもあわせて表示せよ。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】4. 制限なし
【 期限 】ネタなので他の出題を優先で
【 Ver  】java version "1.5.0_11"
【 補足 】
この問題は有名なので知ってる人は多いかも

500:デフォルトの名無しさん
07/06/23 10:44:03
えーと、つまりこういう事?
1から15の玉がそれぞれ1(全部で15)個ある。このうち5つの玉を取り出しネックレスを作るべし。
ただしネックレスから隣り合せの1~5個を抜き出すと抜き出した合計が1~21になるような構成でネックレスを作れ。

例えば1から15の玉のうち、1、2、3、4、5を取り出し、この順番でネックレスを作ったとする。
このネックレスから
1つを取るとすると1、2、3、4、5の5種類がある。
2つを取るとすると1+2、2+3、3+4、4+5、5+1の5種類がある。
3つを取るとすると1+2+3、2+3+4、3+4+5、4+5+1、5+1+2の5種類がある。
4つを取るとすると1+2+3+4、2+3+4+5、3+4+5+1、4+5+1+2、5+1+2+3の5種類がある。
5つを取るとすると1+2+3+4+5の1種類がある。
この21種類の組み合わせで1~21になればいい訳だな。

また、順番を変えて1、3、5、4、2でネックレスを作ったとすると、
1つ取るとすると1、3、5、4、2の5種類がある。
2つを取るとすると1+3、3+5、5+4、4+2、2+1の5種類がある。
3つを取るとすると1+3+5、3+5+4、5+4+2、4+2+1、2+1+3の5種類がある。
4つを取るとすると1+3+5+4、3+5+4+2、5+4+2+1、4+2+1+3、2+1+3+5の5種類がある。
5つを取るとすると1+3+5+4+2の1種類がある。


501:462
07/06/23 13:34:51
>>478
期待通りのお返事ありがとう^^
ググってJava実装を探したかいがありました^^

502:デフォルトの名無しさん
07/06/23 13:57:02
丸投げですがよろしくお願いします。

【 課題 】サンプルプログラムにテキストボックスを追加し
      コンボボックスで選んだ色で
      テキストを表示させるようにしなさい。
【 形態 】2. Applet
【 GUI  】Swing
【 期限 】6/25 21:00 まで
【 Ver  】java version "1.6.0_01"
【 補足 】サンプルプログラムはこちらになります。
      URLリンク(www.uploda.net)

503:デフォルトの名無しさん
07/06/23 15:00:26
>>502
できた。
URLリンク(kansai2channeler.hp.infoseek.co.jp)

504:デフォルトの名無しさん
07/06/23 15:26:10
>>503
迅速な解答ありがとうございます。
また何かありましたらよろしくお願いします。

505:デフォルトの名無しさん
07/06/23 15:39:09
だが出来れば答える側に回れるようになって欲しいと願う親心


506:デフォルトの名無しさん
07/06/23 18:58:18
ある旅行代理店では,宿泊施設と交通機関のチケットをセットにした商品販売を開始することにした.
この商品販売のための,計算機システムの導入も検討している.この商品は顧客が店舗に行き,代理店の店員と価格や時間等を考慮し相談しながら販売することを想定している.
しかし,将来は顧客自身がウエブサイトや携帯電話等を通して,この商品を購入することが可能となるようにしたいと思っている.
この代理店は以下の三つの既存システムを利用可能である.

* 宿泊施設の空室照会および予約システム: 交通機関の駅等の名前と,宿泊人数,宿泊希望日を入力すると,宿泊可能な宿泊施設の候補を5つ程度教えてくれる.
候補は価格の安い順,高い順でソートできる.
候補として提示される宿泊施設の情報は,施設が提供した自由記述の説明である.
そして,空室を予約することができる.
* 交通機関(列車,バス,飛行機)の空席照会および予約システム: 人数,出発希望日時,到着希望日時と到着先を入力すると,空席がある交通機関の組合せ候補を5つ程度提示してくれる.
移動時間の短い順,価格の安い順で候補はソートされる.
そして,空席を予約することができる.
* 最寄駅等の照会システム: 住所を入力すると最寄の交通機関駅等の候補(5つ程度)と,そこまでの距離を教えてくれる.

尚,支払い業務については当面考えなくても良い.

上記に示した商品販売のための計算機システムの設計をせよ.
設計に際しては,クラス図,シーケンス図(1個以上)を記述せよ.

507:デフォルトの名無しさん
07/06/23 18:59:22
【 形態 】jude
【 GUI  】
【 期限 】明日までにおねがいします。


508:デフォルトの名無しさん
07/06/23 19:00:19
>>506
で、どの部分がJavaの宿題なの?

509:デフォルトの名無しさん
07/06/23 19:09:33
>>508
javaの授業でだされたんで…

510:デフォルトの名無しさん
07/06/23 19:13:27
>>508
judeって実装がjavaじゃなかったか?

>>507
UMLスレ行こうな

511:デフォルトの名無しさん
07/06/23 19:45:50
>>508
実装しちゃって、その実装からUMLを生成させればいいよ

512:デフォルトの名無しさん
07/06/23 19:55:54
>>511
なんだか本末転倒だなw

513:496
07/06/23 23:18:08
お願いします!

514:デフォルトの名無しさん
07/06/23 23:25:10
>>487
2007/6/24 23:59 です 

515:デフォルトの名無しさん
07/06/23 23:47:31
>>513
public class SoNum {
  public static void main(String[] args) {
     System.out.println(2);
     System.out.println(3);
     System.out.println(5);
     System.out.println(7);
     // 中略
     System.out.println(97);
  }
}

516:デフォルトの名無しさん
07/06/24 02:40:29
>>488のあまりの難しさに泣いた

517:デフォルトの名無しさん
07/06/24 04:03:23
>>515
ありがとうございます。
ただ、それではなくて計算して求めると思うのですが計算方法は自分で考えるべきですよね。
後は自力で何とかしようと思います。

518:デフォルトの名無しさん
07/06/24 04:27:02
>>516
まあ、レイ・トレーシングってたらそういうミドルウェアが中で使ってる手法だからな。
計算量が半端なさそう。

519:デフォルトの名無しさん
07/06/24 08:38:30
>>517
もう少しだけヒント
public class PrimeNum {
  public static void main(String[] args) {
     for(int num = 2; num <= 100; num++) {
         if(num が素数) {
                System.out.println(num);
         }
     }
  }
}

520:デフォルトの名無しさん
07/06/24 10:51:19
>>517
エラトステネス

521:デフォルトの名無しさん
07/06/24 11:01:48
>>517>>520
100までならば試し割りで十分だろ。

522:デフォルトの名無しさん
07/06/24 11:16:36
【 課題 】2つの画像の類似度を求めるプログラム
【 形態 】1. Javaアプリケーション
【 GUI  】4. 制限なし
【 期限 】出来れば26日火曜日まで
【 Ver  】1.6.0_01
【 用語 】
【 補足 】画像の読み込みはメニューバーから任意に読み込めるようにしてください
おそらくですが、読み込んだ画像をまず二値化して画素値をそれぞれ配列に入れて、
それらを順々に比べて画像の違いを見るのではないかなと思ってます。
良く分かりませんが相関係数という物を比較に使うと思います↓
URLリンク(ja.wikipedia.org)
多分説明不足で良く分からないと思いますが、どうか宜しくお願いします

523:デフォルトの名無しさん
07/06/24 12:31:40
>>522
おそらくって、仕様くらいは示せよ。
類似度=一致するか、と判断するZE

524:デフォルトの名無しさん
07/06/24 13:03:21
>>523
すみません、課題自体良く理解していないもので・・・
二値画像ですので対応するピクセル同士が一致するかしないかでいいと思います。
一致したら1、一致しなければ0を取って最後に平均値を求めるようにしてください。
例えばA画像の左上端のピクセルが黒で、B画像の同じ場所が黒でしたら変数に1を加え次のピクセルに移って再び比較するという風にお願いします。
画像のサイズは同一の物を用意して比較するようにしますのでサイズの違う画像同士でという事は無視されていいです。
説明不足で本当に申し訳ありません。

525:デフォルトの名無しさん
07/06/24 13:12:57
>>524
課題の内容を理解してこい。

526:デフォルトの名無しさん
07/06/24 14:32:54
>>484
補足です。ネットワーク通信が出来れば良いので
一台のPCでコマンドプロントを2つ開いて
起動でもかまわないそうです。
URLリンク(sourcepost.sytes.net)

527:デフォルトの名無しさん
07/06/24 15:02:15
>>513
>>497にすでに回答があがっているから答えなかったんだけど。
↓のように変更すればOK
//int n = Integer.parseInt(args[0]);
int n = 100;

528:517
07/06/24 19:45:47
>>519->>521
ありがとうございます。
早速トライしてみます

529:デフォルトの名無しさん
07/06/25 03:05:23
>>484 == >>526
NetGameBar.java URLリンク(sourcepost.sytes.net)
NetServerTest.java URLリンク(sourcepost.sytes.net)
NetClientTest.java URLリンク(sourcepost.sytes.net)
課題+改善済み


530:デフォルトの名無しさん
07/06/25 03:09:57
ひとつ貼り間違えたw
NetClientTest.java URLリンク(sourcepost.sytes.net)


531:デフォルトの名無しさん
07/06/25 03:36:55
折角なのでサーバー側が先に終了したときの処理追加
NetClientTest.java URLリンク(sourcepost.sytes.net)


532:デフォルトの名無しさん
07/06/25 07:23:25
【 課題 】
Googleで任意の日本語文字列(※1)を検索し、
結果のページをローカルに保存するアプリケーションを制作せよ。
保存に成功した時には「成功」、失敗した時には「失敗」とウインドウに表示すること。
(※1)文字列の取得は、ウインドウの中のテキスト入力フィールドから。
ウインドウ、テキスト入力フィールドはSwingにて実装すること。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】2.Swing
【 期限 】2007/07/07 23:59
【 Ver  】1.5.0_11
【 補足 】思いっきり丸投げです。よろしくお願いします。

533:484
07/06/25 07:56:22
>>529->>531

とても分かりやすくありがとうございました。

534:デフォルトの名無しさん
07/06/25 23:53:35
【課題】public class kadai1{
public static void main(String[] args){
int x=5;
int y=5;
int[] [] a=new int[x][y];
for(int i=1;i<x;i++){
for(int j=1;j<y;j++){
a[i][j]=i+j;}}
for(int i=1;i<x;i++){
for(int j=1;j<y;j++){
switch (a[i][j] %3){
case 0:
System.out.print("0");break;
dase 1:
System.out.print("1");break;
case 2:
System.out.print("2");}}
System.out.println();}}}

このソースのファイル名を答えなさい。
このプログラムのフローチャートを書きなさい

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】1. AWTのみ/2. Swing/3. SWT/4. 制限なし/ 5. その他(明記すること)
       《GUIの課題の場合必ず選択》
【 期限 】提出期限は 2007年6月26日
【 Ver  】わかりません
【 用語 】なし
【 補足 】丸投げ

535:デフォルトの名無しさん
07/06/26 02:10:13
kadai1.java


536:デフォルトの名無しさん
07/06/26 04:28:51

【 課題 】URLリンク(kansai2channeler.hp.infoseek.co.jp)

完成イメージ
URLリンク(www.img5.net)
【 形態 】1. Javaアプリケーション(main()で開始
【 GUI  】4. 制限なし
【 期限 】6月26日
【 Ver  】java version "1.6.0_01"
Java(TM) SE Runtime Environment (build 1.6.0_01-b06)
Java HotSpot(TM) Client VM (build 1.6.0_01-b06, mixed mode, sharing)《必須》

よろしくお願いします!


537:デフォルトの名無しさん
07/06/26 05:59:16
なんか会社の研修の課題っぽいのが多いな。
答えるとあとでその会社から損害賠償要求されないか怖い

538:デフォルトの名無しさん
07/06/26 06:55:52
損害賠償の変わりに、29歳まで奴隷のごとくただPG書かせてやるよ
とか言われたら死ねる(=ω=.)

539:デフォルトの名無しさん
07/06/26 08:25:09
給料次第だな

540:デフォルトの名無しさん
07/06/26 11:05:29
>>539
「奴隷のごとく ただ PG」
よく嫁

541:デフォルトの名無しさん
07/06/26 14:49:31
変な課題ばっかだな

542:デフォルトの名無しさん
07/06/26 14:55:10
今秋期 期待の新番組 「コードソース 反逆のPG」
テレビアンドロメダ星雲放送系列で毎週木曜日25:30~

stage1 新卒入社1年目PG が 生まれた日
stage2 覚醒 の PG
stage3 偽り の スケジュール表
stage4 その名 は ポンコツPG
stage5 派遣 と 社員
stage6 奪われた ソースコード
stage7 バグ を 打て
stage8 黒 の プロジェクトリーダー
stage8.5 進捗表 の 軌跡
stage9 思い出 の 日曜日
stage10 vista 舞う
stage11 ボルトネック 攻防戦
stage12 本社から の 使者
stage13 新人PG と 退職願届け
stage14 古株SE 対 やり手SE
stage15 喝采 の 古株SE
stage16 囚われ の 美少女PG
stage17 P G
stage17.5 予算 の 真実
stage18 新人PG に 命じる
stage19 シアトル の 聖地
stage20 徹夜 戦役
stage21 デスマーチ宣言!
stage22 血染め の 美少女PG
stage23 美少女PG 哀しみと ともに
stage24 崩落 の プロジェクトチーム
stage25 無


543:デフォルトの名無しさん
07/06/26 18:24:56
メソッド化お願いします。
import java.sql.*;
public class DbAccess{
public static void main(String[] args){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
onnection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=axiz","sa","sa");
Statement stmt = con.createStatement();
String sql1 ="select * from usertable";
ResultSet rs =stmt.executeQuery(sql1);
while(rs.next()){
String name = rs.getString("userid");
String no = rs.getString("username");
String en = rs.getString("tel");
System.out.println(name);
System.out.println(no);
System.out.println(en);
}
stmt.close();
con.close();
}catch (Exception ex){
System.out.println(ex);
}
}
}

544:デフォルトの名無しさん
07/06/26 18:42:28
>>543
import java.sql.*;
public class DbAccess{

public static void main(String[] args){
DbAccess dba = new DbAccess();
dba.run();
}

private void run() {
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
onnection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=axiz","sa","sa");
Statement stmt = con.createStatement();
String sql1 ="select * from usertable";
ResultSet rs =stmt.executeQuery(sql1);
while(rs.next()){
String name = rs.getString("userid");
String no = rs.getString("username");
String en = rs.getString("tel");
System.out.println(name);
System.out.println(no);
System.out.println(en);
}
stmt.close();
con.close();
}catch (Exception ex){
System.out.println(ex);
}
}
}

545:デフォルトの名無しさん
07/06/26 18:43:58
>>543 onnection→Connection
import java.sql.*;
public class DbAccess{
public static void main(String[] args){
main();
}
public static void main(){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=axiz","sa","sa");
Statement stmt = con.createStatement();
String sql1 ="select * from usertable";
ResultSet rs =stmt.executeQuery(sql1);
while(rs.next()){
String name = rs.getString("userid");
String no = rs.getString("username");
String en = rs.getString("tel");
System.out.println(name);
System.out.println(no);
System.out.println(en);
}
stmt.close();
con.close();
}catch (Exception ex){
System.out.println(ex);
}
}
}

546:デフォルトの名無しさん
07/06/26 18:47:20
>>544
ネタ解答でもせめてコンパイルできるものを答えてやれよ

547:デフォルトの名無しさん
07/06/26 18:53:55
メソッド化という目的が達成できてるんだからネタでもあるまい。

548:デフォルトの名無しさん
07/06/26 22:31:06
【課題】public class kadai1{
public static void main(String[] args){
int x=5;
int y=5;
int[] [] a=new int[x][y];
for(int i=1;i<x;i++){
for(int j=1;j<y;j++){
a[i][j]=i+j;}}
for(int i=1;i<x;i++){
for(int j=1;j<y;j++){
switch (a[i][j] %3){
case 0:
System.out.print("0");break;
dase 1:
System.out.print("1");break;
case 2:
System.out.print("2");}}
System.out.println();}}}


このプログラムのフローチャートを書きなさい

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】わかりません
【 期限 】提出期限は 2007年6月27日
【 Ver  】わかりません
【 用語 】なし
【 補足 】丸投げ



549:デフォルトの名無しさん
07/06/26 22:34:55
>>548
できたよ

550:デフォルトの名無しさん
07/06/26 22:44:07
>>546
コピペ時に1文字抜けた。スマンカッタ。

551:デフォルトの名無しさん
07/06/26 22:47:16
>>549
ありがとうございました

552:デフォルトの名無しさん
07/06/26 23:07:41
>>549
どこに書いてありますか?

553:デフォルトの名無しさん
07/06/27 00:18:04
naiakanvonn v/nfr

554:デフォルトの名無しさん
07/06/27 01:28:43
【 課題 】配列の要素を小さい順から表示 15,5,6,3,8,11,12
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】4. 制限なし
【 期限 】今日中
【 Ver  】1.5.0_11
【 補足 】途中結果のソースはこんな感じです。
public class pra2 {
public static void main(String[] args) {

int [] a = {15,5,6,3,8,11,12};

int i = 0;
int j = 0;

int len = a.length;

for (i = 0; i < len; i++){

for (j = 0; j < len; j++){

if (a[i] < a[j]){
}
}
}
}


すみません、よろしくお願い致します。

555:デフォルトの名無しさん
07/06/27 01:40:08
なんでわざわざこんな効率最悪の方法を宿題に出すのだろうか

556:554
07/06/27 01:44:29
練習の為だそうです ^^;

557:デフォルトの名無しさん
07/06/27 01:47:39
ソートしちゃだめなのか

558:554
07/06/27 01:55:25
説明が不足していて申し訳ございません。
Arrays.sort(); は使わず、繰り返しや条件分岐を駆使して並び替える問題です。
とりあえずは最小値を出して比較していけばいいかなと思ったのですが、煮詰まってしまいまして……。

559:デフォルトの名無しさん
07/06/27 01:59:14
ソートしちゃ駄目って言ってるけど
>>554の方法はソート部分が欠けたバブルソートだな

560:デフォルトの名無しさん
07/06/27 02:05:56
バブルソートはもっとマシだろ

561:デフォルトの名無しさん
07/06/27 02:09:13
んだな
バブルソート以下だw
敢えて名付けるなら
シャフルソートかなw


562:デフォルトの名無しさん
07/06/27 02:18:05
ここはコムソート11を実装して講師の反応見てニヤニヤするところだろw

static void sort (int[] data){
int gap = data.length;
boolean flag = true;
while (flag || gap > 1) {
gap /= 1.3;
if (gap < 1) gap = 1;
if (gap == 9 || gap == 10) gap = 11;
flag = false;
for (int i=0; i < data.length-gap; i++) {
if (data[i] > data[i+gap]) {
swap(i, i+gap, data);
flag = true;
}
}
}
}

static void swap (int i, int j, int[] data){
int tmp = data[i];
data[i] = data[j];
data[j] = tmp;
}

563:554
07/06/27 02:20:14
バブルソートという言葉は知りませんでした。
調べたらとても参考になるサイトがたくさん出てきました。
阿呆丸出しでお恥ずかしい限りです (/ω\)

564:デフォルトの名無しさん
07/06/27 02:36:32
548のフローチャートは?

565:デフォルトの名無しさん
07/06/27 02:36:39
ソートアルゴリズムは言語によらず
がんがれ
とりあえず余裕ができたらバブルとマージとクイックソートあたりは押さえておきなさい
今後のためにも

566:デフォルトの名無しさん
07/06/27 10:25:22
>>554
Array.sort 使うなってだけなら、こんなおバカなコードはどうだろうw
import java.util.*;

public class pra2 {
public static void main(String[] args) {
int [] a = {15,5,6,3,8,11,12};
TreeSet<Integer> set = new TreeSet<Integer>();
for (int ele : a) {
set.add(ele);
}
for (int ele : set) {
System.out.println(ele);
}
}
}


567:デフォルトの名無しさん
07/06/27 11:54:30
>>537
このスレで育て上げた何も考えないプログラマが
めでたく就職したんじゃね

568:デフォルトの名無しさん
07/06/27 12:12:33
>542 の台本と静止画と音声とBGMと効果音を要請する。
要請を受け入れなければ、こうなるぞ っ URLリンク(www.nicovideo.jp)

569:デフォルトの名無しさん
07/06/27 13:37:28
>>548 悪い見本をどうぞ
URLリンク(www.borujoa.org)

日本のフローチャートとアメリカのフローチャートって違うのかな?
Open Office Drawにも他の海外のドローツール(Diaとか)には
繰り返し記号が見当たらない。

570:デフォルトの名無しさん
07/06/27 19:32:56
>548
【STRAT】 ⇒ (色々出力する) ⇒ 【END】

571:デフォルトの名無しさん
07/06/27 19:33:48
>569
プログラムより難解だなwww

572:デフォルトの名無しさん
07/06/27 20:10:14
【 課題 】簡単な電卓作成。
【 形態 】Javaアプリケーション(main()で開始。
【 GUI  】わかりません。
【 期限 】明日12時まで。
【 Ver  】1.5.0_12
【 補足 】丸投げです。2つ以上のクラスを使い、別ファイルからクラスを呼ぶようにということです。

573:572
07/06/27 20:18:25
ボタンは、0~9の数字と+-*/=とCがあれば大丈夫です。
よろしくお願いします。

574:デフォルトの名無しさん
07/06/27 20:26:36
>>572
抽象的すぎる。
数式の入力を受け取って処理するのか、ボタンを押して結果が出力されるのか。

何の授業の最中だ?
アルゴリズムか、GUIか。

575:デフォルトの名無しさん
07/06/27 20:27:57
GUIかSwingは分かる?

576:572
07/06/27 20:47:06
>>574
特に指定はなく、ただ「Javaで電卓を作成する」というテーマです。
数式やキーボードからの入力の必要はなく、ボタンを押して結果出力です。
>>575
指定はなかったのでどちらでもいいかと思われます。

「自由に作れ」と言われたのでどこから手をつけていいかわからなくて・・・

577:デフォルトの名無しさん
07/06/27 20:58:58
>指定はなかったのでどちらでもいいかと思われます。
いや、宿題やってるはずの人間が分からないコード書いても意味ないだろ・・・(=ω=.)
Swing Application Framework使っちゃうよ?ニヤニヤ(*ω*.)

578:572
07/06/27 21:02:20
すみません、Swingはまだ理解できないのでGUIでお願いします。

579:デフォルトの名無しさん
07/06/27 21:05:08
import java.io.*;

public class Calc {
public static void main(String[] args) {
try {
Process process = Runtime.getRuntime().exec("calc");
} catch (Exception e) {
e.printStackTrace();
}
}
}


580:572
07/06/27 21:10:08
いろいろ言ってすみません、JButtonとJFrameを使ってお願いします。
問題文見落としてました。

581:デフォルトの名無しさん
07/06/27 21:11:01
【 課題 】摩擦をつけて球の動きを止める→回転数を強めて逆走させる
【 形態 】2. Applet
【 GUI  】4. 制限なし
【 期限 】7月2日9時00分
【 Ver  】1.4.2_10
【 補足 】URLリンク(kansai2channeler.hp.infoseek.co.jp)
球が回転ありの状態で等速運動で転がるところまではできています
よろしくお願いします

582:デフォルトの名無しさん
07/06/27 21:11:56
JButtonとJFrameは、Swingだろう・・・(=ω=.)<577氏ではありません

583:デフォルトの名無しさん
07/06/27 21:12:13
>>579
ソレダ!

584:572
07/06/27 21:15:25
582氏の言うとおりGUIではなくSwingでした。
電卓のフレームを作るクラス、計算するクラス、出力するクラスというようなかんじでお願いします。

585:デフォルトの名無しさん
07/06/27 21:16:42
>問題文見落としてました。
それは丸投げじゃないだろう。
怪しいからその問題文をここに狂いなく書き写すか、プレーンテキストにしてどこかにUP汁!


586:デフォルトの名無しさん
07/06/27 21:19:40
>>579
これって、Macでも動きますか?とバカな質問してみる

587:572
07/06/27 21:28:31
簡易電卓プログラムを作成せよ。
1つのファイルにまとめず、クラス毎に複数ファイルに分けて実行しなさい。
デザイン、ボタンの位置は自由。
*但し、JButtonとJFrameクラスは必ず使うこと。

以上です。

588:デフォルトの名無しさん
07/06/27 21:32:42
あはっ、GUIでないSwingは僕には作れないよ(=ω=.)

589:デフォルトの名無しさん
07/06/27 22:35:58
548です。プログラムのフローチャートを教えてください。
ダメなら、どのように実行しているのか教えてください

590:デフォルトの名無しさん
07/06/27 23:12:45
>>589
今までのお前に対するレスは無視か?
「そんなんで俺の解答のつもりかYO!」とか「何も答えられないらきすた厨は氏ね」とか
最低限の礼儀は払えよ

591:デフォルトの名無しさん
07/06/27 23:36:34
548です。
レスはちゃんと見ていますよ?でも、わからないので何度も書いています。
わかったのならとっくに御礼言っていますよ

592:デフォルトの名無しさん
07/06/28 00:25:48
分からないのなら分からないなりにどう分からないのか反応しないと優先順位は落ちていく一方だと思うが。
お願いしますの一辺倒では返る反応は一緒だ。
まあ、既に見捨てられてる傾向にはあるな。

こう書いておけば誰か親切なやつがフローチャートは出さないまでもプログラムの説明くらいはしてくれるか。

593:デフォルトの名無しさん
07/06/28 00:46:25
>>589
俺には548がなぜ>>569を解答として受け入れられないか分からない。
細かく見ていないけど>>548のソースを単純にフローチャートにしているように見える。
悪い見本といや悪い見本なのかもしれないけれど、>>548の解答には違いないだろう。
これを548が見ているにも関わらず徹底的に無視しているのはどんな理由があるんだろう?

594:デフォルトの名無しさん
07/06/28 00:59:38
569は答えなんですか?受け入れるも何も、答えなんて書いてないですよ。
徹底的に無視なんてしていません。「これが答えです」と書かれていなけ
ればわかりません。
548なんてフローチャートになっていないじゃないですか。
あと、わからないのはわかりません。何がわからないですか?フローチャ
ートがわからないって書いてありますよ。

595:デフォルトの名無しさん
07/06/28 01:06:48
>>594
Javaのプログラムの宿題(ソースの作成)スレなので、
フローチャート作成はスレ違い。他の適当なスレで聞いてください。
Javaの授業で...の言い訳はダメ。

596:デフォルトの名無しさん
07/06/28 01:11:01
ゆとり教育、ここに極まれり。

597:デフォルトの名無しさん
07/06/28 01:12:44
>>595
だったらそれを先に言えよ。カス

598:デフォルトの名無しさん
07/06/28 01:14:08
>>569
いまさらですがありがとうございました

599:デフォルトの名無しさん
07/06/28 01:15:29
>>594
503エラーでPDFが開かなかったとか(=ω=.)?
きちんと開けて見て、フローチャートじゃないとか言うのでしたら、
99%荒し 1%フローチャートを知らない

600:デフォルトの名無しさん
07/06/28 01:16:32
598のスレから察するに、594などは荒しだったようですね

601:593
07/06/28 01:18:52
俺が悪かった。
日本語を書いているが日本語が理解できない人間を相手に日本語で理を説いていたらしい。
でも569の、初心者ならこう書く的なチャートも悪くないと思うんだがな。
ネタ解答のつもりだったんだとしても俺はここまで真面目に他人の宿題のチャートを描きたくないよ。

602:デフォルトの名無しさん
07/06/28 01:24:43
598こそが単に場を和ませるための騙りかもしれんがね
やはり依頼者はトリップ必須の方がいいのかね

603:デフォルトの名無しさん
07/06/28 01:29:31
>>602
トリップあった方がいいですね^^

604:デフォルトの名無しさん
07/06/28 02:58:00
>>572
入力できるのは一桁の数字
三つのファイルに分割してね
URLリンク(sourcepost.sytes.net)

605:デフォルトの名無しさん
07/06/28 12:28:55
【 課題 】多面体(立方体、直方体、3角錐、4角錐、球など)を設定し、
それぞれの面を隠面消去して描画する。スクロールバーで少なくとも2軸の回転が可能なこと。
【 形態 】2. Applet 

【 期限 】今週土曜日まで
【 Ver  】1.6.0_01
【 補足 】丸投げです
 ぜひお願いします!

606:デフォルトの名無しさん
07/06/28 13:11:18
import java.applet.Applet;
import javax.media.j3d.*;
import javax.vecmath.*;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.behaviors.vp.OrbitBehavior;
public class Java3DProgram extends Applet {
public static void main(String[] args) {
new MainFrame(new Java3DProgram(), 200, 200);
}
public SimpleUniverse universe = null;
public Canvas3D canvas = null;
public void setOrbitBehavior() {
OrbitBehavior orbit = new OrbitBehavior(canvas, OrbitBehavior.REVERSE_ALL);
orbit.setSchedulingBounds(new BoundingSphere(new Point3d(0, 0, 0), 100.0));
universe.getViewingPlatform().setViewPlatformBehavior(orbit);
}
public void init() {
setLayout(new BorderLayout());
GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas = new Canvas3D(config);
add("Center", canvas);
universe = new SimpleUniverse(canvas);
universe.getViewingPlatform().setNominalViewingTransform();
setOrbitBehavior();
BranchGroup root = new BranchGroup();
root.addChild(new ColorCube(0.4));
root.compile();
universe.addBranchGraph(root);
}
}

607:572
07/06/28 15:23:22
604氏、ありがとうございました。
=を押す前から計算結果が出力されていますが、=を押すと出力されるように変更は可能でしょうか?
もしできるならばお願いします。

608:デフォルトの名無しさん
07/06/28 19:29:09
>>607
注文どおり自由に作ったのに注文が多いなw
他の二つのクラスは変更しなくていい
フィーリングでコード書いてテストしていないので変なキー操作には耐性ないかも
URLリンク(sourcepost.sytes.net)

609:デフォルトの名無しさん
07/06/28 21:54:26
大学で今までCをやっていたのですが、教授が入院したためにjavaのクラスに急に移動させられました。
javaを始めて一週間なのですが、明後日までに課題の提出を迫られました。
必死にやってみたのですが、さっぱり意味がわかりません。
わかる方、どうか助けて下さい。
下にわかるだけの課題の内容は書き込んでおきます。

【 課題 】

①右詰で数字を入力し、Enter キーを押した時、数字の値を10倍して表示する。
②何度も数字を入れたらそれらを10倍した数をそれぞれ足し合わせた数同じウィンドウの中に表示する。

【 形態 】Javaアプリケーション
【 期限 】土曜日の授業まで(朝の9時開始)
【 Ver  】1.5


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

610:デフォルトの名無しさん
07/06/28 22:04:49
Cをやっていたんでしょ?
ヒントを出せば出来ないはずはない。
まずSwingで画面を作れ、JFrameを継承するだけだ
入力エリアはJTextField, 表示エリアはJLabel で作る
Enterキーの判定はちょっと難しいが、addActionLisnerがヒント


611:デフォルトの名無しさん
07/06/28 22:19:11
Cをやっていたということは、基本(計算・条件式・関数)は大丈夫だろうけど
SwingはJava特有の物だか学習が必要(基本はよく使う関数覚えるだけだが)

結論

誰かやってください(=ω=.)<レバ剣拾ってくるからよろしくね

612:デフォルトの名無しさん
07/06/28 22:24:21
>>609
マルチは有効回答率を下げる。
もしあっちが誤爆だったのなら間違いだった旨をあっちにレスしておいた方がいいかもしれない。
それと課題があやふやなので与えられた問題文をフィルタにかけず全文出した方がいい。
もし問題の意味が分からないのなら問題の意図、意味を講師に質問した上で自分でやるか再度依頼するか決めたほうがいい。

613:デフォルトの名無しさん
07/06/28 22:38:10
c言語で書かれたネトゲをやっていたんだよ(=ω=.)

614:デフォルトの名無しさん
07/06/28 22:49:57
>>609
「ウィンドウの中に表示する」とかだからGUIプログラムだとは思うけど、
最低限GUIライブラリとしてAWTのみを使うのかswingも使っていいのかははっきりさせないと。

レイアウトとしては数字を入力する箱と、
それを10倍した数を表示する部分と、
それまでに入力された数の合計の10倍を表示する部分が、
ひとつのウィンドウにおさまっていれば、どういう配置でもokてことかな?

615:デフォルトの名無しさん
07/06/28 22:50:14
>>609
教授が退院するまで待つ。

616:デフォルトの名無しさん
07/06/28 22:56:33
>>609
教授と一緒に入院する。

617:デフォルトの名無しさん
07/06/28 23:07:57
>>616
鬼才現る!!

618:デフォルトの名無しさん
07/06/28 23:42:39
>>614
たぶんSwing
AWTのTextFieldやTextAreaで右詰めをやるのは面倒すぎる
課題から見てそんなことまでは求められていそうにない

619:デフォルトの名無しさん
07/06/29 00:12:30
>>609
URLリンク(sourcepost.sytes.net)
とりあえず①まで作ったから後は適当に弄くってみればできるはず。

620:デフォルトの名無しさん
07/06/29 00:19:38
一日見なかった間になんでこんなに荒れてんだよ!

らきすた厨とはいうがネタっぽくするためにこなたAA使ってるんだろ?
この流れみてると、どうもマジレスしても通じるようには見えん。

621:デフォルトの名無しさん
07/06/29 00:35:26
>>620
テンプレ使え

622:デフォルトの名無しさん
07/06/29 00:48:22

【 課題 】このスレの流れについて
【 形態 】スレッドフロー型
【 GUI  】 web borowser
【 期限 】次スレまで
【 Ver  】61
【 補足 】ふられたネタはおいしく頂きました(=ω=.)


623:デフォルトの名無しさん
07/06/29 00:48:32
すいません、教えてください。

「java.util.Dateとjava.util.Calendarの使用による危険性の違いを述べよ。
また、java.util.Dateに潜む既知のバグコードを示せ。」

っていう宿題がでたんですが、なんのことだかわかりません><
一応、事前研修ってことなのですが、ググっても意味が分からないです。

おしえてください

624:デフォルトの名無しさん
07/06/29 00:53:23
>>623
研修ってことは社会人だよな
どう調べてどうわからなかったのかちゃんと述べてくれ

625:デフォルトの名無しさん
07/06/29 00:54:02
>>623
テンプレを使ってな

626:デフォルトの名無しさん
07/06/29 00:55:55
スレ違いを強制的に削除してくれる機能実装キボヌ
ニコニコ動画RCのお金で実装してくれってどこに頼めばいいの?←これもスレ違い

627:デフォルトの名無しさん
07/06/29 01:04:06
>>624 返事どうも。
一応自分で調べてみた結果なんだけど

・Dateは古くから互換のために残されているコードが大いが、使用すべきでは無いメソッドが多いらしい
・Dateは国際化対応されていないため、正しい日付を返すとは限らないらしい
・Dateは閏年対応が未完全らしい(?)
・new DateよりもCalendar.getInstance() date = cal.setTimeInMillis(long);の方が正しい値を返すらしい。
・Dateはシステムに依存するらしい

これくらいしか調べてみてもわからなかった。。。
しかもこれらがバグかどうかって、わからない。。。
他のスレッドを見てみてもDateがバグの温床とか書かれてるけど、わからない。なぜsql.Dateの方がいいのか。とか

628:609
07/06/29 01:06:26
皆さんありがとうございます
とくに619さんは本当にありがとうございます

あと一日あるので教授に質問して何とか完成させたいとおもいます
ありがとうございました

629:デフォルトの名無しさん
07/06/29 01:07:05
ごめん、>>627 に追記
なんで、Calenderを使うことを推奨してるのかもわからなかった。
どっちもSystem.currentTimeMillis()を使ってlongを使ったらいっしょなんじゃないの?みたいな。
Calendar.getDateで取得したら結果は一緒なんじゃないかと。

630:デフォルトの名無しさん
07/06/29 01:32:53
>>629
うるう年対応はもう修正が出てた気がするけど、とりあえず>>627の問題が
あるから、そのへんちゃんと対応してるCalendarを使ってねってことなんじゃね?
そんでSystem.currentTimeMillis()もDateと関係してる(APIドキュメントより)ため
システム依存みたいです

あとはこのへんかな
URLリンク(java-house.jp)
URLリンク(www.nep.chubu.ac.jp)
後者のは古いから有効かわからんけど

631:627
07/06/29 01:58:22
>>629 ありがとう
詳しく見てなかった。
URLリンク(java-house.jp)

でバグの疑いがあるコードが載ってた。
でも、今やってみたら結局>>629に書いたとおりDateで取ってしまったらいみないのかも。
システム依存だからCalendarかぁ。
うーん、バグの疑いのあるコードがシステム依存って説明が難しいな。。。

632:627
07/06/29 02:00:03
>> 630 だし...orz

DateとCalendarって
もう少し調べてみないとわからないことだらけだなー
出社までに調べれるかな。。。

633:デフォルトの名無しさん
07/06/29 02:31:38
【 課題 】複数の学生について一人最大3回のテストを行った(未受験のテストもある)。
各学生の成績評価を行うプログラムを作成しなさい。入力は学生番号(下3桁)、受験回数、各テストの得点(100点満点)とし、全ての学生の入力終了は、学生番号に-1を入力することによって行う。
各学生についての評価は受験したテストの得点の合計によって以下のように評価する。
・240点以上→評価A
・210点以上→評価B
・180点以上→評価C
・180点未満→評価Dに表示するプログラムを作成せよ。
プログラム作成ヒント:外側がwhile文による入力の繰り返し。その内側に受験回数入力、
           for文の繰り返しによる入力と集計、if-else if文による評価が入る。
           for文の繰り返し回数は受験回数の入力値で決まる。
実行例 
学生番号入力:101
受験回数入力:2
点数入力:90
点数入力:92
評価はCです。
学生番号入力:102
受験回数入力:3
点数入力:70
点数入力:85
点数入力:65
評価はBです。
学生番号入力:-1
評価終了
【 形態 】1. Javaアプリケーション
【 期限 】今日の16:00まで
【 Ver  】java version "1.6.0
【 補足 】丸投げです。お願いします。

634:デフォルトの名無しさん
07/06/29 05:03:58
くだらんな

635:デフォルトの名無しさん
07/06/29 05:31:29
 _,,..,∩,,
/ ,' 3∩`ヽーっ
l     ⌒_つ
`'ー---‐'''''"

636:デフォルトの名無しさん
07/06/29 13:03:16
>>633
指定がなかったから不正規入力には例外を投げて終了するだけ

public class Eval {
public static void main(String[] args) throws java.io.IOException {
java.io.BufferedReader br = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
while (true) {
System.out.print("学生番号入力:");
if (Integer.parseInt(br.readLine()) == -1) break;
System.out.print("受験回数入力:");
int n = Integer.parseInt(br.readLine());
int m = 0;
for (int i = 0; i < n; i++) {
System.out.print("点数入力:");
m += Integer.parseInt(br.readLine());
}
if (m >= 240) System.out.println("評価はAです。");
else if (m >= 210) System.out.println("評価はBです。");
else if (m >= 180) System.out.println("評価はCです。");
else System.out.println("評価はDです。");
}
System.out.println("評価終了");
}
}

637:デフォルトの名無しさん
07/06/29 15:59:43
>>636
無事出来ました。
ありがとうございました!

638:へぼPG
07/06/29 23:30:20
【課題提示用テンプレ】
丸一日費やしましたが、わかりません。
どうぞよろしくお願い致します。
同じ体験をした方、いっらしゃいませんか?
【 課題 】SQLServer2005を使用し、JAVAで排他処理とエラー処理を実装せよ。
【 形態 】/5. その他(明記のこと) 《必ず選択》
いわゆるビジネスロジック部分です。
【 GUI  】?
【 期限 】7月1日 21:00 《必須》
【 Ver  】5.0 レビジョンは今はわかりません。 《必須》
【 用語 】数学用語、専門用語の意味、説明を書きます。 《あれば必須》
一部日本語にしました。
【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。
・コネクション周りは独自に実装
・オートコミット無効
・/*コメントの二箇所がわかりません
・疑問1 なぜPreparedStatementでおちるのか?
・疑問2 排他ロックエラーをどうやって受ければよいか

639:へぼPG
07/06/29 23:32:11
続き(ソース)
Connection con = DBアクセス.getConnection();
ResultSet rs;
PreparedStatement ps;
//クエリー
//前処理略
String queSql = "SELCCT カラム1 FROM ユーザ1.テーブル1 ";
queSql = queSql + " WITH (UPDLOCK) WHERE カラム1 = 1";
try{
ps = con.prepareStatement(sql,
ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
/*ここで例外発生*/
rs = ps.executeQuery();

if(rs.next()){
//取得
}else{
//重複エラー
]
}catch(Exception e){
throw e;
}finally{
//いろいろ切断
}



640:へぼPG
07/06/29 23:34:41
続き(ソース2)
//更新
String upSql = " UPDATE ユーザ1.TABLE1 テーブル1 カラム2 = 1";
upSql = upSql + " WHERE カラム1 = 1";
try{
ps.executeUpdate (upSql):
}catch(Exception e){
if (e instanceof SQLException) {
if(){
/*排他エラーの場合 判定が判らない*/

}else{
//その他のDBエラー
}
}
throw e;
}finally{
//いろいろ切断
}

641:デフォルトの名無しさん
07/06/30 03:35:05
【課題】xの多項式の掛算をするプログラム
プログラムの中で(x^2+1)*(x^3+2x+1)のように値を指定して結果を出力する。
この例だとx^5+3x^3+x^2+2x+1を出力
【形態】Javaアプリケーション(main()で開始)
【期間】7/2
【ver】1.5.0_11
【補足】よろしくお願いします。



642:デフォルトの名無しさん
07/06/30 06:41:47
>>638-640
同じ体験したよ


643:デフォルトの名無しさん
07/06/30 06:54:16
>>641
1)多項式を構文解析する

2)次数毎に係数を調べて値をベクトル化する
例題の場合: (0, 1, 0, 1), (1, 0, 2, 1)

3)ベクトルの積をとって行列化
6 5 4 3 - 0 1 0 1
5 4 3 2 - 0 0 0 0
4 3 2 1 - 0 2 0 2
3 2 1 0 - 0 1 0 1

4)左の次数に相当する部分の
右側の値の各和を計算
6 0
5 1
4 0
3 3
2 1
1 2
0 1

5)係数0の次数を省略して出力
x^5+3x^3+x^2+2x+1

644:デフォルトの名無しさん
07/06/30 07:47:53
>>639
オートコミットの無効は、getConnectionのドキュメントを参照すべし
オーバーロードされたメソッドで引数にboolean を与えるものがある

排他関連というかSQLの例外に関して処理を行う場合は、SQLエラーコードを参照する。
エラーコード表はSQLServerのドキュメントを参照、エラーコードの取得方法はSQLExceptionのドキュメントを参照すべし

疑問1に関して、ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLYでね?

645:デフォルトの名無しさん
07/06/30 09:10:11
$ java PolynomialMultiplier2
(x^2+1)*(x^3+2x+1) = x^5+3x^3+x^2+2x+1
x^3 + x - 1 = x^3+x-1
(2 + 3x^2) * (1 + x) = 3x^3+3x^2+2x+2
(x+1)*(x+1)*(x+1) = x^3+3x^2+3x+1
2*(x^4+x-1) = 2x^4+2x-2
(1 + x^4 - 3 x ^ 2) * (x - 1) = x^5-x^4-3x^3+3x^2+x-1
(1+2+x)*(x+x+1) = 2x^2+7x+3
-x*x = -x^2
(2x^2-1)*(2x^2+1)*(4x^4+1)*(16x^8+1) = 256x^16-1
(2x^2+1)*(4x^4+1)*(16x^8+1)*(2x^2-1) = 256x^16-1
(2x^2+1)*(4x^4+1)*(16x^8+1) = 128x^14+64x^12+32x^10+16x^8+8x^6+4x^4+2x^2+1
(2x-1)*(x^3+1) = 2x^4-x^3+2x-1
0 = 0
0*(x^5+2x^3+x-3) = 0
x^2+0x+0 = x^2
-0x = 0
2x^0-3x = -3x+2

646:デフォルトの名無しさん
07/06/30 10:16:16
すみません>>581誰かお願いします

647:へぼPG
07/06/30 12:06:54
>>644
レスありがとう

>>オートコミットの無効は、getConnectionのドキュメントを参照すべし
>>オーバーロードされたメソッドで引数にboolean を与えるものがある
これは、わかります。

>排他関連というかSQLの例外に関して処理を行う場合は、SQLエラーコードを参照する。
>エラーコード表はSQLServerのドキュメントを参照、エラーコードの取得方法はSQLExceptionのドキュメントを参照すべし
SQLException.getErrorCode()ですね。

>疑問1に関して、ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLYでね?
これがわかりません。自分のソースと何が違うんですか?
排他のために無理やりPreparedStatementつかっったけど。
「実行と同時に。。。」って、エラー出てたけど、
sqlを引数で渡すなってことですか?

648:デフォルトの名無しさん
07/06/30 13:23:21
>>646
課題文本当にそれだけか?
そんなのでソースだけ提示されたって答えられないだろ。

>>1
『・問題文は、出題されたまま全文を書いてください。』

649:デフォルトの名無しさん
07/06/30 16:49:26
>>648
課題は口頭でしか言われませんでした
特に細かい指定はありません
自分で好きなだけ摩擦をつけて球を止めて逆走させるそうです

650:デフォルトの名無しさん
07/06/30 17:02:48
>>605

お願いします。

651:デフォルトの名無しさん
07/06/30 17:30:39
>>650
ライブラリは使って良いのかい?って話じゃない?
しかも何でスクロールバー、前にもあったなわざわざスクロールバーでプリミティブ回転させる課題。

652:デフォルトの名無しさん
07/06/30 17:38:13
>>650
>>606

653:デフォルトの名無しさん
07/06/30 18:07:15
見る度に思うけどjavax.vecmath.*パッケージだけほしくならない?

654:デフォルトの名無しさん
07/06/30 18:16:58
行列計算はcommonsにあるね、確か

655:デフォルトの名無しさん
07/06/30 18:23:46
欲しいも何もあるんだから使えばいいんじゃないかと書こうとしたけど、標準APIに入れてほしいってことかね?
使いたい機能は標準にあってほしいとは思うけど、どんどん標準ライブラリが膨らむのはちょっといやだな。

656:デフォルトの名無しさん
07/06/30 18:40:56
>>605
URLリンク(sourcepost.sytes.net)


657:デフォルトの名無しさん
07/06/30 18:52:51
>>646 ちょっと手抜きだが
URLリンク(sourcepost.sytes.net)

658:デフォルトの名無しさん
07/06/30 18:58:53
【 課題 】
URLリンク(kansai2channeler.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】4. 制限なし
【 期限 】7/2 13:00
【 Ver  】java version "1.5.0_11"
【 補足 】丸投げです。よろしくお願いします。

659:デフォルトの名無しさん
07/06/30 18:59:53
URLリンク(sourcepost.sytes.net)

660:デフォルトの名無しさん
07/06/30 19:02:40
3Dグラフィクスの問題とか微分方程式解いて力学シミュレーションとか
以前の問題からの流れを見てると一旦ここに依頼してしまうと
次のステップも自力解決はできなくなるんだな

661:デフォルトの名無しさん
07/06/30 19:04:56
このCircleの問題もw

662:デフォルトの名無しさん
07/06/30 19:21:55
自分の仕事を他人にやらせてるだけだろ


663:デフォルトの名無しさん
07/06/30 19:23:19
講師が自分の作った問題の難易度をテストするために利用しているという噂


664:デフォルトの名無しさん
07/06/30 19:31:11
>>658

>>495と違うの?
show()をtoString()に名前変えて、
ちょっと中身書き換えるだけじゃね?

665:デフォルトの名無しさん
07/06/30 19:58:08
>>664
そのちょっといじる所が分からなくて質問しましたorz
何処を書き換えたらいいんでしょうか?

666:デフォルトの名無しさん
07/06/30 20:55:35
666

667:デフォルトの名無しさん
07/06/30 21:00:54
頭使う気ないな

668:デフォルトの名無しさん
07/06/30 21:06:18
>>665
CircleクラスのtoString()が出力例と違うから
出力例に合わせて書き換えた。
URLリンク(kansai2channeler.hp.infoseek.co.jp)

669:デフォルトの名無しさん
07/06/30 22:06:30
>>668
どうもありがとうございます!

670:デフォルトの名無しさん
07/07/01 01:01:06
【 課題 】
1.開始時刻(X1時Y1分)と終了時刻(X2時Y2分)を読み、差の時間を求めるプログラムを作れ。
2.時刻のX時Y分のクラスに開始と終了時刻の2つのインスタンスを作成して1と同様の問題のプログラムを作れ。
3.開始年月日(W1年X1月X1日)と終了年月日(W2年X2月X2日)を読み、差の日数を求めるプログラムを作れ。
【 形態 】2. Applet
【 期限 】7/4 17:00
【 Ver  】Version 2.316 
【 補足 】○投げです。どうかよろしくお願いします。

671:デフォルトの名無しさん
07/07/01 03:14:41
【 課題 】1から20までの二乗した数を足して、その結果を表示せよ。
      ただし、二乗をする時、n^2 としてはいけない
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7月2日
【 Ver  】java version "1.5.0_11"

よろしくお願いします。

672:671
07/07/01 03:18:40
補足です。

(1)^2+(2)^2+(3)^2、、、、+(20)^2 の答え・結果を表示するプログラムです。
ただn^2を使ってはいけないのでちんぷんかんぷんです…。

673:デフォルトの名無しさん
07/07/01 04:12:44
>>671
1*1+2*2+3*3+...+20*20でいいじゃん
言っておくが^はjavaではべき乗の演算子ではないよ
だからn^2と書いてもそれはnの2乗を表さない
「二乗をする時、n^2 としてはいけない」っていうのはそういう意味じゃないの?

674:デフォルトの名無しさん
07/07/01 04:22:03
public static void main(String[] args) {
int n = 20, s;
s = 0; for (int i = 1; i <= n; i++) s += i ^ 2; System.out.println(s); // 間違い
s = 0; for (int i = 1; i <= n; i++) s += i * i; System.out.println(s); // 2乗和
}

675:デフォルトの名無しさん
07/07/01 05:03:34
iのn乗の時はどう書けばよいですか?


676:デフォルトの名無しさん
07/07/01 05:18:23
javaではっていうより最近の言語はXORじゃない?

>675
ビットシフト使うとかMath.powとか普通に計算するとか。

677:デフォルトの名無しさん
07/07/01 05:57:55
そもそも何で n^2 なんて書くのがまかり通ってるの?

678:デフォルトの名無しさん
07/07/01 05:59:03
>>675
i**n

679:デフォルトの名無しさん
07/07/01 06:45:28
URLリンク(www.atmarkit.co.jp)

680:デフォルトの名無しさん
07/07/01 14:33:16
>>670
1.開始時刻(X1時Y1分)と終了時刻(X2時Y2分)を読み、差の時間を求めるプログラムを作れ。

どこから読むの?

2.時刻のX時Y分のクラスに開始と終了時刻の2つのインスタンスを作成して1と同様の問題のプログラムを作れ。

>時刻のX時Y分のクラスに開始と終了時刻の2つのインスタンスを作成

意味が分からん。
クラスにフィールドとして持たせるって意味?


681:デフォルトの名無しさん
07/07/01 14:43:10
丸投げです、よろしくお願いいたします。

【 課題 】サンプルに手を加えてテーブルで選択した箇所を
      他の箇所を選択した時も選択された(反転した状態)
      ままになるようにしなさい。      
【 形態 】2. Applet
【 GUI  】Swing
【 期限 】7/3 23:00 まで
【 Ver  】java version "1.6.0_01"
【 補足 】サンプルプログラムはこちらになります。
      URLリンク(www.uploda.net)

682:デフォルトの名無しさん
07/07/01 15:21:32
Javaで参照剥がしをする方法を教えてください。


683:デフォルトの名無しさん
07/07/01 16:25:24
Javaでの参照剥がしってなにさ?
単純にnullを代入することかい?

684:デフォルトの名無しさん
07/07/01 16:35:41
>>657
ありがとうございます!

685:デフォルトの名無しさん
07/07/01 18:01:48
>>675
2乗で2回掛けてんだからn乗ならn回掛けりゃいいって思いもよらないのか
お前のような応用力のかけらもないやつがプログラミングするのは電気代の無駄

686:大学の宿題です。お願いします/(_ _)\
07/07/01 19:41:43
[課題2]
チェビシェフの定理を調べるプログラムを改良し高速化を目指しなさい.改良前の見本プログラムは第9回の講義終了後にe-classに掲載する.なお,講義中に見本プログラムの解説を行う.
さらに,以下の数学未解決問題についてもコンピュータを用いて,可能な限り大きいnまで調べること.

[テェビシェフの定理]
1より大きい自然数nに対して,nと2nの間には必ず素数が存在する.
(ベルトランの仮説とも言うが,1850年にテェビシェフによって証明されたので定理となった.)

[数学未解決問題]
1より大きい自然数nに対して,nの2乗と(n+1)の2乗の間には必ず素数が存在する.
(こちらはまだ証明されていないので,仮説である.)


687:大学の宿題です。お願いします/(_ _)\
07/07/01 19:45:11
チェビシェフはここまでは分かっていますが、より速くするにはどうすればいいでしょう?

public class KIMOTI {

static int prime(int number){
int count=0;
for(int i=1; i<=number; i++){
if(number%i==0) count++;
}
return count;
}
public static void main(String[] args){
int n,p;
long start = System.currentTimeMillis();

for(n=2; n<=50000; n++){
for(p=n+1; p<2*n; p++){

if(prime(p)==2){
//System.out.println("自然数n=" + n + "の時、素数は存在する。");
break;
}
}

if(n%500==0){
long stop = System.currentTimeMillis();
System.out.println(n+" "+(stop-start));
}
}
}
}


688:デフォルトの名無しさん
07/07/01 19:55:24
テンプレ

689:デフォルトの名無しさん
07/07/01 19:55:58
ちょっと上に答えがある

690:デフォルトの名無しさん
07/07/01 20:17:09
ていうか高速化する意味はなんだろう・・・

691:デフォルトの名無しさん
07/07/01 20:30:15
PC9821で計算したあと、現在の最新モデルPCで計算すれば高速化(=ω=.)b

692:大学の宿題です。お願いします/(_ _)\
07/07/01 20:52:09
上に出てたやつでやったら、↓の文章がコンソールのところに出てきたんですが・・・
どこが間違ってるってことなんでしょう?


Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Shukudai453.main(Shukudai453.java:26)

二行目の()の中をクリックすると、ソースコードのこの部分↓が青くなるんですが・・・
int n = Integer.parseInt(args[0]);

693:デフォルトの名無しさん
07/07/01 20:58:10
死んだ方がよい

694:大学の宿題です。お願いします/(_ _)\
07/07/01 21:02:44
明日の15時が期限っす・・・

695:デフォルトの名無しさん
07/07/01 21:04:38
大学の選択か講義の選択から間違っているんだと思う

696:デフォルトの名無しさん
07/07/01 21:06:14
パターン青!使徒です!!

697:デフォルトの名無しさん
07/07/01 21:07:20
>>675
Math.pow(i,n);

698:デフォルトの名無しさん
07/07/01 21:13:48
>>692
引数指定しる

699:デフォルトの名無しさん
07/07/01 21:21:52
すいません・・・引数指定ってなんですか?

700:デフォルトの名無しさん
07/07/01 21:24:24
>>699
退学届け提出すること

701:デフォルトの名無しさん
07/07/01 21:33:42
java appliclass args

702:デフォルトの名無しさん
07/07/01 21:36:08
これ以上はスレ違いだからこちらへどうぞ
スレリンク(tech板)


703:デフォルトの名無しさん
07/07/01 21:40:03
ありがとうございました

704:デフォルトの名無しさん
07/07/01 22:22:49
丸投げです。お願いします。具体的なアルゴリズムを次レスの補足に載せてあります。

【 課題 】文字列 x の中に文字列 z がいくつ含まれるか求める。
(例)
xがaaba
zがab
なら、
a_b_ と _ab_ の二つとなる。
__ba は順序がzと違うので含まない。

さらに、最初に整数nを読み込み,n回これを繰り返すようにする。
(実行例)
入力:
2 //繰り返し回数n
babgbag //1回目のx
bag   //1回目のz
rabbbit //2回目のx
rabbit  //2回目のz

出力:
5 //1回目の答え
3 //2回目の答え

入力はファイルからで、出力は標準出力でお願いします。

【 形態 】1. Javaアプリケーション
【 GUI  】4. 制限なし
【 期限 】明日7月2日午前10時
【 Ver  】1.6.0_01
【 用語 】なし


705:続き
07/07/01 22:23:35
【 補足 】アルゴリズムは以下の通りです。
xとzの表を作り、
同じ文字のところを1、違う文字のところを0とします。
さらに、全部0の列と、全部1の行を付け足します。
一番右下は1とします。
(表の例)
 b a b g b a g
b 1 0 1 0 1 0 0 0
a 0 1 0 0 0 1 0 0
g 0 0 0 1 0 0 1 0
 1 1 1 1 1 1 1 1

次に以下のルールで、付け足した行と列以外を書き換えていきます。
・下の行から順に書き換える。
・行の中では右のマスから順に書き換える。
・1のマスは右のマスと右下のマスを足した数に書き換える。
・0のマスは右のマスと同じ数に書き換える。

このルールで全部書き換えると以下のようになります。

 b a b g b a g
b 5 1 1 0 1 0 0 0
a 4 4 1 1 1 1 0 0
g 3 3 3 3 2 2 1 0
 1 1 1 1 1 1 1 1

答えは一番左上の数字(この場合5)です。

ややこしいかもしれませんがお願いします。


706:デフォルトの名無しさん
07/07/01 22:25:09
誘導するな。実行時引数も分からん奴はjavaの開発ツールドキュメントだ。

707:705
07/07/01 22:46:04
すみません、書き換え後の表が間違っていました。
正しくは以下の通りです。

 b a b g b a g
b 5 2 2 1 1 0 0 0
a 3 3 1 1 1 1 0 0
g 2 2 2 2 1 1 1 0
 1 1 1 1 1 1 1 1

あと、xは10000文字まで、zは100文字までです。
java.mathのbiginteger使うと言われました。


708:705
07/07/02 02:12:22
すみません、自己解決しました。
失礼しました。


709:デフォルトの名無しさん
07/07/02 05:02:24
public class Shukudai{
boolean[] bb;
Shukudai(int index){
bb=new boolean[999999999];
}

public static void main(String[] args){
System.out.println("\nstart");
int n = 999999999;
Shukudai453 jp=new Shukudai(n+1);
jp.setPrime();
jp.keisan();
}




nをlong型に変更したらエラーになるんですがどうすればいいでしょう?


710:デフォルトの名無しさん
07/07/02 05:04:08
>>709
テンプレ >>1

711:全文
07/07/02 05:10:20
public class Shukudai453{
boolean[] bb;
Shukudai453(int index){
bb=new boolean[999999999];
}

public static void main(String[] args){
System.out.println("\nstart");
int n = 999999999;
Shukudai453 jp=new Shukudai453(n+1);
jp.setPrime();
jp.checkChebychev();
}


712:全文
07/07/02 05:17:51

public void setPrime(){
int index=0;
for(int i=2;i<bb.length;i++){
if(!bb[i]){
index=i;
while((index+i)<bb.length)bb[index+=i]=true;
}
}
}

public void checkChebychev(){
//素数pの次の素数は2pより小さい
int n1=1;

for(int i=2;i<bb.length;i++){
if((!bb[i]) && (i<=(n1*2))){
System.out.println(i+"においてチェビシェフの定理は成り立つ");
n1=i;
}
}
}
}

713:デフォルトの名無しさん
07/07/02 06:29:56
Shukudai453(int index){
bb=new boolean[index];
}

714:デフォルトの名無しさん
07/07/02 07:08:09
ここ嫁屑。
URLリンク(www.y-adagio.com)

マルチにつき以下スルー汁!

715:デフォルトの名無しさん
07/07/02 07:14:44
【 課題 】
n回サイコロを振りその出た目によって1→x+1、2→x-1、3→y+1…と移動させる。
1.最終的な、x、y、zの値とその移動距離をテキストファイルで出力する
2.一度通った座標には移動できないものとして問題1を考える。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】 制限なし
【 期限 】07/07 10:00までに
【 Ver  】1.6.0_01
【 補足 】課題1は何とかできましたが、2のほうがさっぱりです。宜しくお願いします。

716:デフォルトの名無しさん
07/07/02 07:54:23
>>715
通った座標をMapにでも記憶させておいて、試行した結果合致しなければよし、
合致したら再抽出でいんじゃないかな。袋小路に注意だけど。

717:デフォルトの名無しさん
07/07/02 07:55:26
い、意味が分からん・・・なんで3次元なの?
原点は?

>1→x+1、2→x-1、3→y+1…
条件省略すんなよ・・・。

ダイスはそもそも何面なのさ?

ほかにも資料があるだろ・・・。

718:デフォルトの名無しさん
07/07/02 07:57:42
サイコロは普通6面だから
1-->x+1
2-->x-1
3-->y+1
4-->y-1
5-->z+1
6-->z-1
なんじゃね

719:デフォルトの名無しさん
07/07/02 08:08:34
>サイコロは普通6面だから
俺はwizとかrogue likeのやりすぎですか?

にしてもどう出力して良いのか謎が・・・
数パターン予測できるぞ。

720:デフォルトの名無しさん
07/07/02 08:10:22
>>717
すいません。
原点は(x,y,z) = (0,0,0)で、ダイスは6面体です。

移動の条件は>>718さんが指摘下さったとおりです。


721:715
07/07/02 08:19:06
内容不足で申し訳ありません.

最終的には複数(m)回その試行を繰り返し、グラフに(x、y)=(試行回数(n)、平均移動距離)としゅつりょくするものするというものです。

JAVA初心者で、出来るところは自分でやっていこうと考えてしまったために、問題の説明も中途半端になってしまいました。
すいません

722:デフォルトの名無しさん
07/07/02 11:58:41
>>605ですが、解決できませんと出てきます。
java versionが違っていたのでしょうか・・・?

723:デフォルトの名無しさん
07/07/02 13:01:08
1-->x+1
2-->x-1
3-->y+1
4-->z-1
5-->z+1
6-->y-1
かもしれない

724:デフォルトの名無しさん
07/07/02 13:09:03
等確率なんだから、場合漏れがなければ順番なんかどうでも良い

725:デフォルトの名無しさん
07/07/02 17:02:53
【 課題 】
ヒープソートを実現するプログラムを書け。
ただし、データは全て整数で重複は無いものとする。また、データの最大数は10,000個までとして良い。

B木を実現するプログラムを書け。
ただし、プログラムの最初で各節点が持つ最大の子の数(m)を入力して、プログラムを開始せよ。

【 形態 】1. Javaアプリケーション
【 期限 】7/17
【 Ver  】1.5.0_08
【 用語 】よく分かりません…知ってる方お願いします…
【 補足 】こんな完全丸投げ状態ですがどうかよろしくお願いします。

726:デフォルトの名無しさん
07/07/02 17:05:18
qwewe

727:デフォルトの名無しさん
07/07/02 17:10:39
【 課題 】 専門学校の課題で商品管理です
URLリンク(www2.shixi2.net) pass:java

【 形態 】1. Javaアプリケーション
【 期限 】7/3 5:00
【 GUI  】4. 制限なし
【 Ver  】1.5.0_08
【 補足 】課題のプログラムは下記を修正と書いてある2箇所の辺りにそれぞれ
      1箇所目では商品のID、名前、価格をファイルに出力
      2箇所目では逆にそれぞれをファイルから読み込む様に(読み込み前に既存のデータをクリア)
      修正・追加をお願いします

728:デフォルトの名無しさん
07/07/02 18:28:11
>>727
ヒント : www2.shixi2.net のうpローダーは正常に機能していない(=ω=.)

729:デフォルトの名無しさん
07/07/02 18:48:34
>>722
これでどう?
URLリンク(sourcepost.sytes.net)


730:デフォルトの名無しさん
07/07/02 20:56:23
ダイスは等確率ではない
1の彫りの深さと6の彫りの深さは計算されているが
2・3・6の彫りの合流部分は5・4・1の彫りの合流部分より
どうしても重くなってしまっているのが普通


731:デフォルトの名無しさん
07/07/02 21:41:33
理論と現実を取り違えてどうすんだ?

732:デフォルトの名無しさん
07/07/02 22:13:14
>>730は壮大な物理シミュレートによりH/W乱数生成器(サイコロ)を再現しようと提言しているのだよ。

国民よ立て!ハードウェアをソフトウェアに変えて、立てよ!国民よ!

我ら宿題スレ住民こそ選ばれた民であることを忘れないでほしいのだ。
乱数種であるサイの目こそ>>715を救い得るのである。ジーク・ダイス!


733:デフォルトの名無しさん
07/07/02 22:41:31
ここで一息

どっこいしょういち

734:デフォルトの名無しさん
07/07/03 00:58:11
>>715
1の方はできているということで2のヒントだけ。
一度通った座標を記録して、
さいころを振って次の座標を決めたときに、記録にその座標があったら振りなおす。
座標の記録の仕方としては、
1.単純なのはn回さいころを振るのなら(2n+1)*(2n+1)*(2n+1)の3次元配列を用意して、
-n~nの座標を0~2n+1のインデックスにマッピングして、通るたびにチェックを入れていく。
記録を検索するには、座標に対応する配列要素にチェックが入っているかどうか見るだけ。
でもこの方法はnが大きいとメモリを馬鹿食いする。
2.もしくは、座標を要素とするListコレクションを用意して、
動くたびにこのListにその座標を追加(add)していく。
記録の検索は、containsで座標がListに含まれているかどうかで判断する。

あと、注意点としては、周囲を既に通った座標に囲まれるような動きをしてしまっているのに、
n回には達していないときに、別の座標を探そうと無限に振り直す可能性があるので、
周囲全てが既に通っているかをチェックして、そこで打ち切りにするようにした方がいい。

735:デフォルトの名無しさん
07/07/03 01:02:03
>>716がちゃんと言ってたね。見落としてたorz
MapじゃなくてListでいいと思うけど、言いたいことは同じだ。

736:727
07/07/03 03:09:50
【 課題 】 専門学校の課題で商品管理です
URLリンク(www.uploda.net)  pass:java
【 形態 】1. Javaアプリケーション
【 期限 】7/3 5:00
【 GUI  】swing
【 Ver  】1.5.0_08
【 補足 】課題のプログラムは下記を修正と書いてある2箇所の辺りにそれぞれ
      1箇所目では商品のID、名前、価格をファイルに出力
      (ID改行名前改行価格改行 2番目のID以下略というように
      2箇所目では逆にそれぞれをファイルから読み込む様に(読み込み前に既存のデータをクリア)
      コードの追加・修正をお願いします

すみません
upローダの調子が悪かった様なのでupロードしなおしました;

737:デフォルトの名無しさん
07/07/03 08:48:00
******************
******************
******************
まじめに始めなさいよ

738:デフォルトの名無しさん
07/07/03 16:35:21
【 課題 】別途与える文書に関するThorndike Tableを作成せよ。文書はtxtモードで書かれたファイルである。(約300,000語)
【 形態 】Javaアプリケーション
【 GUI  】制限なし
【 期限 】7/3 17:30
【 Ver  】1.5.0_08
【 用語 】特になし
【 補足 】丸投げです。三人称単数、過去形、過去分詞形、所有形、複数・単数等の形は無視して数える。所有格の'sも無視してその前の語を処理する。出現頻度を求め、出現頻度順にテーブルで表示。


できればお願いします。

739:デフォルトの名無しさん
07/07/03 16:40:29
>>738
Thorndike Table
についてkwsk

何するプログラム書けばいいかわからん

740:デフォルトの名無しさん
07/07/03 16:40:42
【 課題 】
別途提示する文書に関するソーンダイクテーブル(Thorndike Table)を作成する。条件は以下のとおり:
1.入力データ:
       (a)txtモードで書かれたファイルを入力データとして使う。コンピュータ科学に関する論文であるとする。
       (b)英語で書かれたドキュメントがある。ファイルの最後は<TextEnd>で終わっている。
       (c)ファイル全体の文字数は、高々300,000語である。
2.出力データ:
       (a)入力ファイルからソーンダイクテーブルを作成する。
              1.3人称単数現在形、過去形、過去分詞形、所有形、複数・単数形等々、
                出現場所によって異なる単語の形式を無視して、そのままの形で、語の出現頻度を数える。
              2.ただし、's(所有格)の形の語については所有格を無視して、つまり、'の前の語を処理する。
              3.数字を含む各単語ごとの出現頻度を求め、それらを出現頻度順にテーブルで表示する。
              4.ソーンダイクテーブルは最低、Table-1は実現すること。
       (b)その他の仕様:
              1.処理時間も求める。
              2.本番用のデータは終了者の要求に応じて開示する。
              3.でたらめな作り方はしないこと。リンクつきリスト、ハッシュテーブル等を使えば、造作ない。
              4.いままでに自分でデバッグ完了したソースは活用して可。
3.アルゴリズム:
       (a)そのままの形で配列に読み込む。
       (b)その後の処理は、この配列から取り出して使う。

以上



入りきらないので形態以下のテンプレは分けて書きます

741:デフォルトの名無しさん
07/07/03 16:41:14
>>736
ちょっと待ってて、書いてみる

742:デフォルトの名無しさん
07/07/03 16:42:02
明らかに上と同じ問題ですが問題省略しすぎなのでそのまま書きます


【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】4. 制限なし
【 期限 】7/10(火)
【 Ver  】1.5.0_06
【 補足 】
与えられた結果のサンプルが
No.     Word          Occurrence
1        1             10,999
:
100    Tokyo             5,000
100    Osaka             5,000
:
981    quality              800
:
となっています。

問題は丸投げです。
よろしくお願いします。

743:デフォルトの名無しさん
07/07/03 16:43:00
>>742
同じ学校なのww?
馬鹿しかいねーなww

744:デフォルトの名無しさん
07/07/03 16:46:25
>>736
間に合わないけどいいか?

745:デフォルトの名無しさん
07/07/03 16:47:02
>>738
出た! Thorndike Table!
ほぼ1年ぶりだね。前回の1年後輩ってことか。
前回も結局少しヒントが示されただけで終っちゃったから今回もそうなるだろう。
っていうか、しめきり1時間前かw
この問題は手間がかかる面倒な問題なんで、さすがにその期限は無茶じゃないかな。

746:デフォルトの名無しさん
07/07/03 16:51:21
ああ、変化は無視していいから、stemmingとかしなくていいのか。
なら随分楽になるね。がんばれ>>744


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