1 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 11:54:09 ] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 Java使いが優しくコメントを返しますが、 お礼はJavaの布教と初心者の救済をお願いします。 Java SunのHome Page www.java.com/ja/ 前スレ くだすれJava(超初心者用) pc10.2ch.net/test/read.cgi/tech/1126470659/l50
604 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 15:22:49 ] ガワだけですか… x軸を中心に回転させたいなら回転行列を使って各点座標を変換すれば良いだけでは?
605 名前:デフォルトの名無しさん [2008/02/07(木) 18:10:14 ] 私も少し分からなくて検索してみて自分なりの解答を作ってみた。 プログラムはエクリプスなので一番上のpackage Chap2;は 要らないと思うけどね。 >436 質問時期より結構遅れてしまったけど こんな感じで良いかと。 package Chap2; import java.util.Random; class En29{ public static void main(String[]args){ Random rand=new Random(); double x=rand.nextDouble(); double y=rand.nextDouble()*9.9; double z=rand.nextDouble()*1.9-0.9; System.out.println("xのランダム実数値:"+x); System.out.println("yのランダム実数値:"+y); System.out.println("zのランダム実数値:"+z); } }
606 名前:デフォルトの名無しさん [2008/02/07(木) 18:15:10 ] >477 これで良いかと。 package Chap2; import java.util.Scanner; class En28{ public static void main(String[]args){ Scanner stdIn=new Scanner(System.in); System.out.print("整数値:"); int x=stdIn.nextInt(); int y=(int)(Math.random()*-11)+5; int z; z=x+y; System.out.println("その値の+-5の乱数を生成した。"); System.out.println("それは"+z+"です。"); } } 明解java入門編 柴田望洋(著)の 演習の解答の1つの例となれば幸いです。
607 名前:デフォルトの名無しさん [2008/02/07(木) 18:45:34 ] 訂正です。 1.9-0.9だと低確率で1が出てしまい1未満ではなくなるので 1.9-0.9を1.9-0.91に修正。 >436 package Chap2; import java.util.Random; class En29{ public static void main(String[]args){ Random rand=new Random(); double x=rand.nextDouble(); double y=rand.nextDouble()*9.9; double z=rand.nextDouble()*1.9-0.91; System.out.println("xのランダム実数値:"+x); System.out.println("yのランダム実数値:"+y); System.out.println("zのランダム実数値:"+z); } }
608 名前:デフォルトの名無しさん [2008/02/07(木) 19:12:15 ] zが0を表示した際に-0.91になり それ以下の数値を表示できない点 yが9.9より上の9.999999999等を表示できない問題点を 忘れていました。^^; >>436 以下、訂正後のプログラムです。 何度もすみません。 package Chap2; import java.util.Random; class En29{ public static void main(String[]args){ Random rand=new Random(); double x=rand.nextDouble(); double y=rand.nextDouble()*9; double z=rand.nextDouble(); double a=rand.nextDouble(); double b=rand.nextDouble(); System.out.println("xのランダム実数値:"+x); System.out.println("yのランダム実数値:"+(y+b)); System.out.println("zのランダム実数値:"+(z-a)); } }
609 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 19:22:18 ] 二ヶ月以上前のになぜいまさらそんなにがんばるwwwwww
610 名前:デフォルトの名無しさん [2008/02/07(木) 21:06:03 ] >>609 私もつい最近この本を買ったばかりで 今日ちょうどココをやってたんですよ。 で、問題は一応無かったと思って見直したら 問題点が出てきて直して見直してを繰り返して これならほぼ問題ないだろwという所まで 凝ってしまったんですよww
611 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 14:16:05 ] >>604 古い本を使ってるのでボタンを押して動作するという事が載ってないです マウスでドラッグしたら動くようにはしてるんですが… btn1 = new Button("x軸を中心に回転"); **************←普通はここに記述すれば良いですかね? this.add(btn1); x = x * cosθ + z * sinθ
612 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 15:40:01 ] >>611 いや、イベント処理になるから 回転・表示させるactionPerformedメソッドを書いたActionListnerを用意して (JFrameにimplementsすることが多い) そのボタンにそのActionListnerを登録すればいい
613 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 19:25:15 ] > (JFrameにimplementsすることが多い) MVC派の俺様はコントローラクラス作ってそこにactionPerformedを書くぜぃ とか言ってみる
614 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 20:15:57 ] 無名クラス派ですが何か?
615 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 21:27:44 ] >>603 >ボタンをクリックするとx軸を中心に回転させるプログラムを作りたいのですが 作ってみた。 rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/209.java
616 名前:デフォルトの名無しさん [2008/02/08(金) 23:28:19 ] インスタンスって何?ラーメン?
617 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 10:43:18 ] それはインスタント
618 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 12:29:28 ] 素朴な疑問なんですが、Javaのキャッチコピーって 「一度コードを書けばどんな環境でも動作する」ですよね 欠点って何でしょう?
619 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 12:36:29 ] >>618 そのせいで起動に時間がかかる 起動時にメモリを食う がよく言われます 起動したあとの実行速度とかメモリ消費はよく誤解されます
620 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 12:37:03 ] 特定の環境にしかない機能が使えない DirectXとかCoreAnimationとか
621 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 15:34:14 ] int a = args.length; 上のプログラムでよくわからないことがあるんですが 配列変数名.メソッド; の形ですよね? 今まで、 インスタンス化したメソッド.メソッド名(); の形でしかだめだと思っていたんですが、どういうことなんでしょうか?
622 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 15:36:30 ] >の形ですよね? 違う 配列変数名.フィールド名 の形 >インスタンス化したメソッド そんなものはない
623 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 15:45:15 ] >>622 なるほど、ありがとうございます。 インスタンス化したメソッドは私の参考書に書いてありました。 〜main(){ keisan keisan1 = new keisan(); keisan1.tate=1.3; p=keisan1.tasizan(); } class keisan{ double tate; double tasizan(){ 見たいな感じで keisan1.tateと言う変数がそうなってるみたいです
624 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:18:14 ] keisan1はkeisanのインスタンスが入ってるローカル変数 tateはkeisanのインスタンス変数 tasizanはkeisanのインスタンスメソッド 君の読み違いでなければその参考書は今すぐ焼き捨てるべき
625 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:52:22 ] >>619 >>620 ありがとうございます。 やはりどんなモノにも欠点はあるんですね
626 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:11:08 ] >>621 Javaでは、配列は実質クラス
627 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:57:15 ] けど length は配列のインスタンスフィールドではない
628 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 19:28:52 ] >>624 >>626 >>627 皆様ありがとうございます。インスタンスかした”クラス”でした、。申し訳ありません。 keisan1がインスタンスかしたクラスなんですね。 >keisan1はkeisanのインスタンスが入ってるローカル変数 なるほど、やっと分かりました。これも変数なんですね そう考えると確かにkeisan1.tateは変数名.フィールド名になってますね。 配列が特殊なんだと考えて起きます ありがとうございました
629 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 22:16:15 ] >>627 しかし言語仕様にはフィールドだと書いてある java.sun.com/docs/books/jls/third_edition/html/arrays.html#10.7 >The public final field length
630 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 22:47:33 ] 変数の型についての質問です。 byte型は1バイト、short型は2バイト、int型は4バイト、long型は8バイトまでの整数を扱えるとのことですが、それ以外の違いはないのでしょうか? だとしたら、あらゆる整数を格納できるlong型を常に使えば他の整数型を意識する必要がなくなって便利だと思うのですが・・・。 int型の範囲を超える整数を扱うことは滅多にないので通常はint型を使うにしても、byte型やshort型はなんのためにあるのでしょうか? 素朴な疑問って感じですが、お答えお願いします。
631 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 23:04:02 ] それだけメモリをたくさん使う たとえば10000000個のデータを扱う場合、 byteが10000000個だったら10MBで済むが、 longが10000000個だったら80MBになってしまう
632 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 23:20:53 ] >>631 なるほど、メモリの問題があるのですね・・・。 回答ありがとうございました。
633 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 13:35:45 ] 実際、short なんて滅多に使わないね。
634 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 14:37:03 ] >>612 >>615 参考にさせてもらいます。 文系の出で、プログラムに触れた事がないので助かります。
635 名前:sage [2008/02/11(月) 17:30:28 ] javaに近いと思うのですがoctaveというのを使っていて、以下のプログラムを少し変えて出さなければなりません。 (なぜなら以下のプログラムは友達が作ったもののため) プログラムの本質自体はかわらないようにちょっとでもいいので変え方わかる方いましたらぜひ教えてください。 ・ダイクストラ法 ☆Dijkstra.m function [distance, pointer] = Dijkstra(A) n = size(A)(1); %Aはn×n行列 S = zeros(1, n); d = zeros(1, n); for i=2:1:n d(i) = Inf; % d = [inf, inf, inf, ... ] endfor pointer = zeros(1, n); %Pointer for previous check point check = 0 while(check < 1 && check > -10) if(sum(S) == 4) check = 1 else check -= 1 d S [minimum, v] = minD(d, S) S(v) = 1; for j=1:1:n if(d(j) > d(v)+A(v, j)) d(j) = d(v) + A(v, j) %過程を見せたい場合;をのぞく pointer(j) = v endif endfor endif endwhile distance = d; pointer; endfunction
636 名前:つづき mailto:sage [2008/02/11(月) 17:31:23 ] ☆minD.m function [min, min_index] = minD(d, S) % min : min(d) not included to S % min_index : d(min_index) = min % d[] : distance array % S[] : searched = 1 : not yet = 0 min = inf; min_index = 0; n = size(d)(2); for i=1:1:n if( S(i)==0 && d(i) < min ) min_index = i min = d(i) endif endfor endfunction
637 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 17:34:09 ] なるほど つまりまったく一緒だと怒られるから適当にいじりたいけど まったく分からないからなんとかしてくれということですね
638 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 17:39:59 ] そういうことなんです、1mmもわからないので変えようがないのです。。。 どなたかお願いします。
639 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 18:01:56 ] Javaに近いとは思いません >Gnu Octave とは、MATLABと互換性を持ったフリーな数値解析ソフトウェアであり、 >GNUによって開発されている。
640 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 18:17:07 ] javaに近いという理由でoctaveの宿題の解答の偽装依頼をこのスレで見る日が来ようとは
641 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 14:22:30 ] うん、とりあえず逝ってくれ。 あと、名前欄にsageは入れないほうがいいと思うよw
642 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:24:45 ] int i,j; for(i=0;i<2;i++){ for(j=0;j<2:j++){}} System.out.println(i,j); ってやるとj「だけ」未定義エラーになるのですが何故なんですかね 両方エラーならまだわかるんだが・・・
643 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:26:18 ] あ、最後(i,j)じゃなくて System.out.println(i+":"+j); ってことで
644 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:31:41 ] 外側のループが条件によっては実行されないから 内側のループでjが必ず初期化されるかは不明としている この場合は外側のループは必ず実行されるけど その条件が成立するかどうかまでは検査していない
645 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:57:38 ] やっぱそれだけのことなのか どうせソース見るなら最後まで見てくれよな、って思う 型キャストとかのあたりとか特に、 自動でキャストしたりコンパイルエラーだったり実行時エラーだったりはっきりしてくれぃ! >>644 さんくす
646 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 00:08:17 ] ttp://java.sun.com/docs/books/jls/third_edition/html/defAssign.html 言語仕様では、(原文ではi,jはn,kだけど>>642 に合わせれば) > a Java compiler must produce a compile-time error > ... > even though the value of (i) is known at compile time, > and in principle it can be known at compile time that > the assignment to (j) will always be executed だから、そのエラーについてはコンパイラは言語仕様に従ってるだけ。 フロー解析をどこまで詳細にやるかの規定次第で人にとっては妙に思える結果も出てくるけど、 解析の精度を高めることとコンパイラの負荷とのバランスの問題でここに落ち着いたんじゃないかな。 とりあえず、はっきりしてくれと思ったときにはまず言語仕様を見てみる癖を。
647 名前:デフォルトの名無しさん [2008/02/14(木) 00:28:06 ] JPanelを継承したMainPanelとJLabelのhazimeとLoadがあるんですが Startというクラスのコンストラクタで Start(MainPanel panel){ hazime.setSize(new Dimension(LabelSizeWIDTH,LabelSizeHEIGHT)); Load.setSize(new Dimension(LabelSizeWIDTH,LabelSizeHEIGHT)); hazime.setLocation(100,33); Load.setLocation(100,266); panel.add(hazime); panel.add(Load); } と書いてMainPanelのコンストラクタでStartを初期化してJFrameを継承したクラスにMainPanelを貼り付けたんですが hazimeとLoadに書いてある文字は表示されたんですがサイズと位置が変わりません なんででしょうか?
648 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 00:32:42 ] >>647 MainPanelのレイアウトマネージャがサイズと位置を自分のポリシーに合わせて自動で変更してるとか レイアウトマネージャはnullまたはコンポーネントの勝手に任せるようなものになってる?
649 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 01:04:21 ] >>648 MainPanelの引数にも何もとっていないのでレイアウトマネージャーは何も設定していません 自分でnullに設定しないといけないのでしょうか?
650 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 01:15:45 ] JPanelはデフォルトでレイアウトマネージャが設定されてるので レイアウトマネージャを無くしたいならsetLayout(null)しないと 継承先のMainPanelでも同じものがつかわれる
651 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 01:19:19 ] デフォルトで設定されていたんですか うまく解決できました、どうもありがとうございます
652 名前:デフォルトの名無しさん [2008/02/14(木) 14:35:25 ] Java3Dじゃなくても3次元モデルが出来るようですが Javaで作るのとJava3Dで作るのって何が違うんでしょうか?
653 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 17:28:18 ] >>652 Java3Dは3Dグラフィックス関連のプログラムを簡単に書くためのためのJava API群。 コアJava APIではないけれど準標準的なライブラリ。 Java3Dを使わなくても座標計算や表示を自分で実装したり、 Java3D以外のJavaとのインタフェースを持った3Dグラフィックスライブラリを使えば、 Java3Dと似たようなことができる。 ただ、他のライブラリを使うのは別として、自分で実装していくのはかなりの労力がいる。 まあ、Java3Dの全機能は不要で、立方体のワイヤーフレーム表示をしたいだけです、 とかの単純なことなら、頂点の座標変換計算を自前のコードでしてJava2D APIで線を描画しても、 それほど難しくないと思う。 それと、Java3Dや他の3DCGライブラリを使う場合はJREやJDKに最初から入ってるわけではないので、 別にインストールしないといけないのが少し手間といえば手間かも。特に他人に使ってもらう場合。 あと、Java3DはOS依存の機能を使って表示を高速化するとかも行ってるので、 そこまで自分で実装するとかになると大変だと思う。 自分の用途に合わせて選択を考えてみては?
654 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 23:18:17 ] スレッドのrunメソッドに引数をとりたいのですが、Startメソッドで呼び出して実行するため引数をいれることができません どのように引数をいれればいいのでしょうか?
655 名前:デフォルトの名無しさん mailto:start [2008/02/15(金) 02:48:20 ] start()の呼び出しタイミングでなく、 ThreadやRunnableのインスタンス生成の段階で引数を与えてもいいのなら、 class AThread extends Thread { private int arg1; private Object arg2; public AThread(int arg1, Object arg2) { this.arg1 = arg1; this.arg2 = arg2; } public void run() { System.out.println(arg1 + ", " + arg2); } } new AThread(1, "hoge").start(); みたいな感じでどう? new時点でなくstart時点でないとってことなら、 コンストラクタで設定する代わりに引数を与えるメソッドを定義したサブクラスにして、 startの直前でそれを呼び出して設定するとか。
656 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 02:09:18 ] >>655 そういうやりかたがありましたか、ありがとうございます
657 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 12:52:49 ] >>653 ありがとうございます まだJavaを触り始めたばかりなのでJava3Dは止めておきます
658 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 16:01:20 ] Javaの全身であるOakの呼び方って「おーえーけー」で良かった?
659 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 16:02:03 ] 全身=前身でお願いしますorz
660 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 16:07:26 ] オーク
661 名前:デフォルトの名無しさん [2008/02/16(土) 18:54:12 ] >>660 ありがとう!!!!!
662 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 00:49:48 ] ローカル変数の存在意義って何ですか? 全てメンバ変数にしたほうが扱いやすい気がするのですが・・・
663 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 01:59:23 ] >>662 そう思うならそうすればいいじゃん 君のコードとの接点を俺が持たない限り止めはしないよ
664 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 03:57:19 ] 接点t! 接点t!
665 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 04:38:59 ] >>662 メンバ変数って用語はあまりJavaでは使われないかもしれない。 存在する理由はいろいろあると思うけど、例えば、 同じクラス内でも別スコープなら同じ変数名が使えるローカル変数と違い、 フィールドはクラス全体が同じスコープになるから名前がダブらないように気をつけないといけない。 名前付けが面倒だからと同じ変数を違う場所で違う役割に使用するのはバグの元になりやすい。 また、ローカル変数の方がフィールドに定義されたものよりアクセスがたいていのJVM実装では速いはず。 それに、スレッドごとにメソッドの呼出しごとに違う場所が用意されるローカル変数と違って、 フィールドはインスタンスまたはクラスごとに一つしかないという違いもある。 マルチスレッドプログラミングやメソッドの再帰呼び出しをやり始めればその違いが分かる。 ごくごく小さなプログラムだけなら、そうは感じないのかもしれないけれど、 自分でプログラムを書き始めればローカル変数を全て排除しようとすると扱いにくくなると感じると思うよ。
666 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:35:32 ] 面の法線の計算について 右手座標系で頂点P0(x0,y0,z0) ,P1(x1,y1,z1), P2(x2,y2,z2)とした場合 z軸から見た場合の計算式はどうなるのでしょうか?
667 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 18:14:36 ] >>666 それは、Javaの質問か?
668 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 18:21:31 ] >>666 java関係ないやん。 Java3Dを使うならjavax.vecmath.Vector3d#crossで 3頂点の位置ベクトルの差から作られる2つのベクトルの外積を求めればいい。 正規化が必要なら外積を求めた後、Vector3d#normalizeをする。 float精度ならjavax.vecmath.Vector3fを使う。
669 名前:デフォルトの名無しさん [2008/02/21(木) 15:59:33 ] 質問です。 初心者丸出しの質問ですみません。 同じパッケージ内のクラスを使うにはどうしたらいいのでしょうか? よろしければご教授お願いします。
670 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 17:28:15 ] 独習やっているんですが、ひとつ解せないところがあったので質問します。 ある例で、実行時の引数をdouble型に変換するために double d = Double.valueOf(args[0]).doubleValue(); と記述されているんですが、その他の例では、実行時の引数をint型に変換するのに int i = Integer.parseInt(args[0]); と記述されています。 2つ目の例でもdouble型と同じ方法が取れると思うのですが、 変換の仕方を統一していないのは何か意図があるのでしょうか?
671 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 17:32:06 ] >>670 何を意図しているのか、それとも何も考えていないのか、 その例を作った作者に聞くしかないのでは?
672 名前:670 mailto:sage [2008/02/21(木) 17:52:43 ] その後の例ではint型でもvalueOf().intValue()やってた・・・ やはり著者のきまぐれなのか・・・とりあえず進めてみます。 ありがとうございました。
673 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 00:06:52 ] Double#parseDoubleやFloat#parseFloatは後のバージョンで追加された それ以前に覚えた/主流だった書き方をする人が 今でもそれなりにいるというだけの話
674 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 01:57:26 ] それは一つの著書の中で統一されてないことの理由にはならないと思う。 何らかの意図があると勘繰られないために、または読者を混乱させないために、 こういった方法もあるのでここではこちらを使用するの旨を書くか、 本文では統一しておいて、これ以外にもこういう方法もとれると注釈を入れるか、 少なくとも学習用の参考書であればあってもしかるべきだという気がする。 実は版を変える時に古い例がそのまま残ってしまっているとかかもしれないが。
675 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 02:05:09 ] 新版t! 新版t!
676 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 09:15:23 ] 独習Javaは第3版でJDK5.0対応をうたってはいるが 注釈やコラムが少し追加されているだけで サンプルコードは初版時の1.1のままという本なので そんなに期待してはいけない
677 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 18:01:41 ] Java2のコードでさえないとは…… それはさすがに今使う学習書としてはちょっとまずい気がする。
678 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 21:00:44 ] class Aがあったとして・・ A a;と宣言して a = new A();とし a = null;としたときaは空になりますか? これをやったのですがうまくいかないので、よろしければaを空にする方法を教えてください
679 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 21:04:23 ] 空ってなんのことだ? うまくいかないというのは、何を期待してて実際にはどうなったんだ?
680 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 21:08:18 ] インベーダーゲームを作ろうとしていて弾(同時に出ていられる弾の数には限りがある)の処理で SPACEを押したときif文でaがnullならaを初期化して(弾をつくる) 弾が画面外にでたらa = null;として再度弾を出せるようにしたかったんです
681 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 21:09:30 ] 実際には弾を1発撃ったら再度撃てなくなったのでa = nullとするあたりがおかしいのかなと・・
682 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 21:23:11 ] すみません良く見たらifで使う変数を間違えていまして、そこを修正したら直りましたorz
683 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 11:40:27 ] Aに生きてるか死んでるかのフラグを付けた方がいいんじゃないかと
684 名前:デフォルトの名無しさん [2008/03/05(水) 21:46:19 ] 外部プログラムの起動で cd /hogehoge/ が出来ないのは仕様ですか?
685 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 23:00:59 ] cd という名前の外部プログラムはそもそも存在しない
686 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 23:03:54 ] >>684 cdがカレントディレクトリを移動するコマンドのことなら大抵の環境でできるよ。 1. 直接cdを外部プログラムとして起動しようとしていないか確認。 多くの環境ではcdは外部プログラムでなくシェルが解釈するコマンド。 したがってcdを使うにはシェルを起動して、それに対してcdコマンドを渡さなければならない。 たとえば、9x系でないwindowsなら、 new ProcessBuilder("cmd", "/C", "cd \\tmp & dir") で起動されたプロセスは\tmpディレクトリのファイルリストを標準出力に出す。 2. 外部プログラムでカレントディレクトリを移動した後、 外部プログラムから復帰した後の親プロセス、つまりJavaプログラムの方で見ていないか確認。 多くの環境でカレントディレクトリの情報は各プロセスで独立している。 唯一、プロセスを起動する時に親プロセスから引き継がれるくらい。 子プロセスから親プロセスに伝播することはない。
687 名前:684 [2008/03/06(木) 11:14:03 ] OSはlinux or FreeBSDなんですが new ProcessBuilder("bash", "cd", "/hugahuga/"); で動きませんでした。 どうしたらいいのか教えて頂けませんか?
688 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 11:51:31 ] >>687 何をしたいのか知らんが、 子プロセスでカレントディレクトリを移動しても、 自プロセスのカレントディレクトリは変わらないよ?
689 名前:684 [2008/03/06(木) 12:03:37 ] やりたいことは、mecabの辞書の更新を動的にやりたいんで、 # cd /usr/local/src/mecab に移動して、そこで一度 # /usr/local/libexec/mecab/mecab-dict-index -c utf8 で辞書を更新して # make install し直したいんです。 私の考えだと、子プロセスでカレントディレクトリに移動して、 その子プロセスでその次のコマンドを実行すれば出来ると考えているのですが。
690 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:03:24 ] >>689 シェルスクリプトでやりたいことを一括して書いて、それを起動すればいいんじゃないかい?
691 名前:684 [2008/03/06(木) 13:05:40 ] >>690 ウホッ! そこには気づきませんでした! 確かに、シェルしか使ってないならそれがベストですね! やってみます。ありがとうございました。
692 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 13:30:58 ] >>691 ちなみに>>687 の > new ProcessBuilder("bash", "cd", "/hugahuga/"); は思った結果は得られない。これはbashにcdと/hugahuga/という二つの引数を与えるもので、 cdや/hugahuga/という実行可能なファイルが存在しないというエラーになると思う。 やるなら、例えば、 new ProcessBuilder("bash", "-c", "cd /hugahuga/ && ls"); とする。bashのオプション-cはその次の引数をコマンドとして読み込む。
693 名前:684 mailto:sage [2008/03/06(木) 13:53:05 ] >>692 何から何までありがとうございました。 勉強になりました。
694 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 14:10:30 ] >>692 スレ違いだけど bash cd /hugahuga/ の二つ目以降の引数は一つ目のシェルスクリプトに与えられる引数だから そんなファイルはないと言われるのはcdだけだね あと-cを使わなければbashに渡せるのは実行可能ファイルというよりシェルスクリプト bash cd はファイルcdが存在しないと言われるが bash ls はバイナリファイルは実行できないと言われる
695 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 23:35:54 ] public class Sample5_1 { public static void main(String[] args) { System.out.println(1+1); System.out.println(1+1+2); System.out.println("1+1+2の結果は"+1+1+2+"です"); System.out.println("1+1+2の結果は"+(1+1+2)+"です"); } } を実行すると下のようになるんですが、一番下はわかるのですが、下から二行目の112はなぜ計算されずに112になるのかわかりません。 理由を教えて下さい。 2 4 1+1+2の結果は112です 1+1+2の結果は4です あともうひとつ public class Sample5_4 { public static void main(String[] args) { int fatherAge = 52; int motherAge = 50; int myAge = 20; int sisterAge = 20; int sumAge = fatherAge + motherAge + myAge +sisterAge; int averageAge = sumAge / 4; System.out.println("家族の平均年齢は、"+ averageAge +"歳です"); } } を実行すると成功するのですが、一番下の「aveerageAge」の横の+を取ると下のエラーがでます。 上の質問も同じなのですが、前後に+を付ける理由などを教えていただきたいです。お願いします。 型 PrintStream のメソッド println(String) は引数 (String, String) に適用できません。トークン "averageAge" に構文エラーがあります。正しくは , です。
696 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 00:04:57 ] >>695 "1+1+2の結果は"+1 → "1+1+2の結果は1" "1+1+2の結果は1"+1 → "1+1+2の結果は11" "1+1+2の結果は11"+2 → "1+1+2の結果は112" "1+1+2の結果は112"+"です" → "1+1+2の結果は112です" +を文字列に使うと、文字列を連結してひとつの文字列にする 括弧がなければ、左から順番に printlnには文字列はひとつしか渡せないので、+なしで System.out.println("foo" "bar" "hoge"); などとは書けない
697 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 00:05:37 ] >>695 一つ目の質問について "1+1+2の結果は"+1+1+2+"です" は (((("1+1+2の結果は"+1)+1)+2)+"です") と解釈されるから。
698 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 01:54:16 ] >>696 >>697 すごくわかりやすく説明していただきありがとうございます。参考書にも詳しく書いてなかったので悩んでいました。 こうやって一つ一つ覚えて行くのが楽しさの一つですね。 まだはじめて少しですので、また聞くことがあるかもしれませんが、よろしくお願いします。
699 名前:デフォルトの名無しさん [2008/03/11(火) 00:13:05 ] お尋ねします。 Java のコマンドライン引数には自分自身のパスは含まれないようですが、どうすれば自分自身のパスや名前を得ることができますか? 次の C 言語の例のようなことがしたいのですが。 /* hoge.c */ #include <stdio.h> int main(const int argc, char * argv[]) { printf("EXE NAME: %s\n", argv[0]); return(0); } C:\test>hoge.exe EXE NAME: hoge.exe コマンドプロンプトで hoge.exe を実行すると argv[0] に hoge.exe という名前が入りそれを表示します。
700 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 00:43:00 ] コマンドラインでプログラムを実行しようとすると Registry key 'Software\JavaSoft\Java Runtime Enbiroment\CurrentVersion' has value '1.3',but'1.6' is required. Error:could not find java.dll Error:could not find Java 2 Runtime Enviroment. とでて実行してくれません。 どうすればいいですか?
701 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 00:50:53 ] but'1.6' is required だから、 JREの1.6をインストールして下さい
702 名前:デフォルトの名無しさん [2008/03/11(火) 00:56:03 ] >>700 ランタイムの新しいバージョンをインストールすれば良いと思う。 java.sun.com/javase/ja/6/download.html
703 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 01:14:40 ] できました! ありがとうです
704 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 05:14:23 ] >>699 ttp://ja.doukaku.org/151/nested/
705 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 07:48:49 ] やはりそれしかありませんか。 私もぐぐってそのページは見付けたのですが、もっと簡単な方法はないものかと。 ともあれお答えありがとうございます。
706 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 11:53:32 ] >>705 javaをキックするラッパを書いて、それのargv[0]を引数として渡せばいい。
707 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 17:22:50 ] 自分自身の名前は次の方法で得られました。 コマンドライン引数ではありませんがこれで代替可能だと思います。 public class test { public static void main(String[] args) { test t1 = new test(); System.out.println(t1.getClass().getName()); } }
708 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 17:32:13 ] それでいいなら、 test.class.getName() でもいいんじゃ?
709 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 17:47:36 ] おー! Windows の exe は勝手に名前を変えても実行できるでしょ。 だから自分の名前を表示したい場合はコマンドライン引数から持ってこなきゃいけないわけで。 Java なら *.class の名前を勝ってに変えてしまうと実行できませんよね。 だから getName() で充分だと思います。 色々とありがとうございました。
710 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 23:06:33 ] >>653 > それと、Java3Dや他の3DCGライブラリを使う場合はJREやJDKに最初から入ってるわけではないので、 > 別にインストールしないといけないのが少し手間といえば手間かも。特に他人に使ってもらう場合。 j3d.jarを自分のプログラムの中にFatJarで入れれば そんなインストールの手間も省けると思うよ
711 名前:デフォルトの名無しさん [2008/03/14(金) 00:31:34 ] コンパイルしたら 「*******.java:27: \12288は不正な文字です。」 と出るのですが「\12288」とは、何のことでしょうか 宜しくお願いします。
712 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 00:33:13 ] まあ検索ですぐに出てくるが 全角スペースのこと
713 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 21:59:38 ] javaのswingで遊んでいますが設計上よくわからないことがあるので質問させていただきます JFrameをextendsしたクラス、TimerTaskを実装したクラス、KeyListenerを実装したクラスを作りました JFrameに色々と画像を表示してゲームを作りたいのですが、KeyListenerの取得したイベントはどのようにJFrameやTimerTaskに伝えるのが常識なのでしょうか? 友人の書いたプログラムをのぞくと、JFrameを実装したクラスにKeyAdapterやTimerTaskクラスを記述しJFrameを実装したクラスのフィールドを使いやりとりしているようでした
714 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:35:54 ] >>713 つ ttp://www.pwv.co.jp/take_public_html/MVCwithEclipse/doc/MVCwithEclipse_c3.html とはいえ正解があるわけじゃなし、プログラムいじる人が直感的にわかればいいっちゃ いいんだろうけど
715 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 23:18:49 ] >>714 ありがとうございます 勉強してみます
716 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 11:30:34 ] MySQLを使ったアプリケーションについての質問です。 データの登録や検索をしたいのですが、 例えば、String qry1 = "insert into 〜 values(〜,〜,〜)";という文で 〜の部分をアプリケーションから入力するにはどうすればいいでしょうか?
717 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 11:58:42 ] ?にして、PreparedStatement使うといいよ。
718 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 12:00:59 ] あー、テーブル名もか。 テーブル名には?は使えないから、文字列組み立てるしかないね。 そのときに、テーブルが本当に存在するかどうかのチェックをしないと、 とても大変なことになるので注意が必要。
719 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 12:10:12 ] あ、valuesの中だけで大丈夫です。ややこしくて済みません。 ご丁寧にありがとうございました。やってみます。
720 名前:デフォルトの名無しさん [2008/03/26(水) 22:18:21 ] java.java:4: "]" がありません。 int check(number[0],number[1],number[2]) { ^ こんなエラーが出るんですけど原因は何でしょうか? int[] number = new int[3]; って宣言して、 int kekka = check(args[0],args[1],args[2]); って呼び出しています。
721 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 22:44:32 ] argsになってんじゃん
722 名前:デフォルトの名無しさん [2008/03/26(水) 22:49:32 ] argsを渡してnumberで引き取っているのですが、この書き方ではダメなのでしょうか?
723 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 22:56:08 ] じゃあ、その引き取ってるところのソースを貼って頂戴
724 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 23:14:47 ] int check(int n1, int n2, int n3) { ... } もしくは、 int check(int[] numbers) { ... }
725 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 23:16:07 ] あ、呼び出しが int kekka = check(args[0], args[1], args[2]); なら、後者はエラーだ。 int check(int...numbers) { ... } なら使ってるバージョンによっては動く。
726 名前:デフォルトの名無しさん [2008/03/27(木) 00:38:50 ] >>724-725 ありがとうございます。 前者を試してみたのですが、何かエラーが大量に出てきてしまいました・・・ >>720 のエラーが出てくるソースはこれです。 public class Java { int[] number = new int[3]; void check(number[0],number[1],number[2]) { } public static void main(String args[]) { check(args[0],args[1],args[2]); } }
727 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 01:06:44 ] なんか予想通りのソースだった メソッド宣言での引数の型宣言はそういう風に書けない 解決法は上のレス参照 あとmainメソッドの引数argsには起動時に与えたパラメータが格納されるけど 数値を与えようがString型=文字列として受け取る だから単純にcheckメソッドの引数にargsの要素を指定したら 型が違うのでエラーがでる int型に変換したいならInteger#parseIntでも使って
728 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 01:46:04 ] >>726 Java では、コンパイル時における型の一致が重要です。 // 蛇足。Java 作法では、(String args[]) ではなく、(String[] args) にしましょう。 メソッド宣言の定義は以下の通り。public, static等 戻り値型 メソッド名(型 仮引数) { ... } 型、仮引数部分に、変数を直接詰め込んでも、コンパイル出来ません。 // 720 のエラーは、型部分で、"number[" と来たので、"]" を期待していました。 例えば、static void check(int n0, int n1, int n2) {} という宣言なら出来ます。 このとき、void が戻り値型、int が型、n0 が仮引数です。 check(args[0], args[1], args[2]); とは型が合わないのでコンパイル出来ません。 args[0] は String型なので、型int(autoboxing では Integer型)とは それぞれ継承を辿っても、もう一方の型が存在しないため、型が一致しません。
729 名前:デフォルトの名無しさん [2008/03/27(木) 20:13:47 ] ほんとに初心者な質問で悪いんですけど質問です。 1 2 〇 4 △ 〇 7 ・ ・ ・ みたいに「if」と「for」を使って 3の倍数は〇 5の倍数は△ 3と5の倍数は× って表示させていんですけど、 この場合どのようなソースになるのでしょうか? ご指導お願いします。
730 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 20:18:37 ] 値 % 3 == 0 なら3の倍数
731 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 20:33:36 ] >>729 d.hatena.ne.jp/keyword/FizzBuzz
732 名前:デフォルトの名無しさん [2008/03/27(木) 20:40:02 ] >>727-728 そういうことなのですね・・・。 理解しました。ありがとうございます。 そしてすみませんが、argsについて質問です。 ・void main(int[] args) のような書き方はいけないのでしょうか? ・また、argsを使わないコードでもString[] argsを記述するようですが、なぜですか? ・args以外の、例えばstrなどと言った他の配列名はダメなのでしょうか? 重ねての質問すみませんが、答えていただけると嬉しいです。
733 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 20:44:10 ] >>732 >・void main(int[] args) のような書き方はいけないのでしょうか? >・また、argsを使わないコードでもString[] argsを記述するようですが、なぜですか? 引数の数や型が異なると、それは別のメソッドなので、いわゆるmainとしては扱われない。 そのためint[]や引数無しは不可。String[]でなければならない。 >・args以外の、例えばstrなどと言った他の配列名はダメなのでしょうか? 名前は違ってもいい。
734 名前:デフォルトの名無しさん [2008/03/27(木) 20:45:44 ] ・void main(int[] args) のような書き方はいけないのでしょうか? ・・・・・ いけない ・また、argsを使わないコードでもString[] argsを記述するようですが、なぜですか? ・・・・ 決まりだから ・args以外の、例えばstrなどと言った他の配列名はダメなのでしょうか? ・・・・・ よい
735 名前:デフォルトの名無しさん [2008/03/27(木) 20:54:21 ] >>730 >>731 わかりました♪ ありがとうございます(__)
736 名前:デフォルトの名無しさん [2008/03/29(土) 23:55:35 ] 質問です。 public class java { public static void main(String[] args) { try{ int suuji = method(); } catch(Exception e){} System.out.println(suuji); } int method() { int suuji2 = 777; return suuji2; } } こういうコードを書くと java.java:4: static でない メソッド method() を static コンテキストから参照することはできません。 int suuji = method(); ^ java.java:7: シンボルを見つけられません。 シンボル: 変数 suuji 場所 : java の クラス System.out.println(suuji); ^ と2つエラーが出ます。 前者はmainメソッドをstaticでなくし、 後者は出力をtryの中に入れれば解決しましたが、なぜエラーが出るのでしょうか?
737 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 00:06:30 ] staticを付けない場合はインスタンスを作る必要がある java obj = new java(); obj.method(); こうするか,もしくはmethodにstaticを付ける 後者はsuujiがtryブロックの中で宣言されてるからその中でしか使用できないため 例外とか後でいいから基礎的なとこを先にちゃんとやった方がいいよ
738 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 00:23:22 ] >>736 main から使うのに static を付け忘れるのはたまにやるかな。 機能を使うのにインスタンスの生成はしなくても良いと思う。 後者はスコープの問題だけど、コレも割りと気が付かずにやるので注意。 どちらもそのうち慣れると思うから、精進あるのみ。
739 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 14:39:25 ] 質問です。 現在、mainクラスのガベージコレクションを、 多重継承されたインスタンスからコントロールしています。 ただ、Heap領域にアクセスする場合について、 そのコレクションフレームワークからマルチスレッド化させると、 ローカルにremoveしようとしても同期的な排他制御が取れません。 やはりラッパークラスのプリミティブ型は、エレメントのイテレータもhasNext()メソッドもどきで volatile修飾子のシリアライゼーションをさせるのが絶対条件なのでしょうか。 ちなみに、もしコマンドライン引数によってJava.langのStringBufferまでimportしたとしても、 SetインターフェースのisEmptyメソッドにするとなぜかStackOverflowErrorの例外が発生します。 staticなyield()メソッドを汎用させるため、 throwsで例外ハンドラをコンストラクタなアサーションをしているのですが・・・。 C言語が腐るほど考えたのですが、 バイナリでのファイル操作がなかなかまとまらないため質問した次第ですので、 どうかお答えお願いします。
740 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 14:47:05 ] >やはりラッパークラスのプリミティブ型は、エレメントのイテレータもhasNext()メソッドもどきで >volatile修飾子のシリアライゼーションをさせるのが絶対条件なのでしょうか。 それは絶対条件です。 C言語が腐るより前にあなたの脳みそが腐ってないかが心配です。
741 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 15:09:01 ] 回答ありがとうございます。 しかし、私の脳みそは至って健全であるため、ご心配には及ばないかと思います。 万一の事態を考えわざわざ心配をして頂けたというのは、とても光栄です。 では、SetインターフェースのisEmptyメソッド使用時に コマンドライン引数によってJava.langのStringBufferまでimportすると、 なぜStackOverflowErrorの例外が発生するのでしょうか? staticなyield()メソッドを汎用させるためにthrowsで例外ハンドラを コンストラクタなアサーションをしてはいけないのは仕様でしょうか? 回答よろしくお願いします。
742 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 20:06:19 ] 人工無能が適当な単語組み合わせて発言しているようにしか見えんな……。
743 名前:デフォルトの名無しさん [2008/03/30(日) 20:22:48 ] えと、質問します。 入力してもらったデータを他の文字に変換するにはどうしたらいいですか? つまり、あいうえおと入力されるとaiueoと表示されるようにしたいのです。 よくわからん質問でスマソ
744 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 20:51:21 ] Map<Character, Character> table = new HashMap<Character, Character>() {{ put('あ', 'a'); put('い', 'i'); put('う', 'u'); put('え', 'e'); put('お', 'o'); }}; とでもしといて、 public String convert(String str) { StringBuilder buf = new StringBuilder(str.length()); for (char ch : str.toCharArray()) { buf.append(table.get(ch)); } return buf.toString(); } かな
745 名前:デフォルトの名無しさん [2008/03/30(日) 20:53:05 ] 質問です。 私がどのような問題を抱えているかを理解して、その解決方法を示してください。 私の状況としては、いろいろ調べて色々試行錯誤しましたが、うまくいきません。 ソースコードは守秘義務のため教えることは出来ません。 それでは、よろしくお願いします。
746 名前:743 [2008/03/30(日) 20:59:52 ] Map<Character, Character> table = new HashMap<Character, Character>() {{ put('あいうえお', 'aiueo'); }}; public String convert(String str) { StringBuilder buf = new StringBuilder(str.length()); for (char ch : str.toCharArray()) { buf.append(table.get(ch)); } return buf.toString(); } で表示させるのは無理なのでしょうか。 馬鹿臭い質問ですいません。
747 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 21:15:21 ] 'あいうえお'とか'aiueo'はcharじゃないだろ。 というか、コンパイルしてみればいいじゃないか。
748 名前:743 [2008/03/30(日) 22:05:27 ] Exception in thread "main" java.lang.NoClassDefFoundError:com/sun/tools/javac/main だそうです ・・・CLASSPATH?
749 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 22:15:12 ] メインつくってないだけじゃね?
750 名前:743 [2008/03/30(日) 22:25:46 ] ごめんなさい俺にわかるように教えて下さいorz
751 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 00:25:37 ] >>750 こういう掲示板で手取り足取りなんて無駄もいいところだから、 Javaの入門サイトや教科書を読んで基礎を作った方がいい。
752 名前:デフォルトの名無しさん [2008/03/31(月) 11:14:34 ] >>751 わかりました。出直してきます。 皆さんありがとうございます。
753 名前:デフォルトの名無しさん [2008/03/31(月) 13:34:19 ] 初めてぬるぽがでたーー!!!!\(T▽T)/ 感動したーー!!!!\(T▽T)/ ClassArray[] a = new ClassArray[3]; とやっただけではすぐにa[0〜2]が使えるようになるわけじゃないんだね。 ひとつひとつまたnewしないといけないんだね。
754 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:45:07 ] どんなクラスにでも引数なしのコンストラクタがあるとは限らないからね。 それに、必要でもないときに勝手に作られてもいやだし。
755 名前:デフォルトの名無しさん [2008/04/01(火) 23:21:28 ] 質問です あるサイトを開いたら画面下の方に、エラーが発生しました、と出ました またそのサイト内にある動画を見れるメディアへのリンクをクリックしても、 javascript:void(playMedhia2〜うんちゃらかんちゃら〜)という表示が出てしまい、 見ることができません。詳細を見たらオブジェクトを指定してくださいと出たのですが、 見れるようにするためには一体どのような方法を取ればよいのでしょうか ご教授よろしくお願いします。
756 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 23:23:24 ] スレ違い、いや板違い
757 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 23:57:16 ] 調べてみたら全然違うんですね・・・ 失礼しました
758 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 00:12:10 ] 質問があります サーブレットではなくクライアントサイドの話しなんですが HTTPヘッダのログをプロキシ等の外部ツールではなく JAVAのプログラム単体でログを取りたいのですが どうにも方法がわからず行き詰っています 解説サイトやサンプルコードなどがあると助かるのですが ご存知のかたいらっしゃいませんでしょうか?
759 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 09:40:45 ] >>758 JAVADOCはダウンロードしましたか?
760 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 10:17:50 ] netstatアプリを作りたいのですが、 Runtimeクラスでnetstatコマンドを叩くのではなく、JavaのAPIでnetstatを実行することって可能ですか?
761 名前:759 mailto:sage [2008/04/02(水) 11:19:12 ] >>758 JavaDocのjava.net→URLConnectionが詳しい。"一般要求プロパティを修正するには"ってところ。
762 名前:デフォルトの名無しさん [2008/04/02(水) 13:00:06 ] eclipseでサーブレット作るには、他に何が必要でしょうか。
763 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 13:16:50 ] eclipseでサーブレットを作る環境と、eclipseでサーブレットを作る知識
764 名前:758 mailto:sage [2008/04/02(水) 13:37:08 ] >>761 早速紹介していただいた項目読みました おかげさまでなんとかなりそうです ログをとると言う事でjava.util.loggingなどの 項目ばかり読んでいて深みにはまっていました 759さんありがとうございました
765 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 17:15:37 ] SDKとJDKって何が違うんでしょうか
766 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 17:20:00 ] JDKはJavaのSDKです 略称ではないんだけど
767 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 17:28:38 ] あと、1.4 以前は Sun は JDK と呼ばず、SDK と呼んでいたはず。 それで若干混乱あるかも。
768 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 00:54:05 ] 質問です。 コンストラクタの javadoc に /** コンストラクタ */ って書くの、 すっごいまぬけだと思うのですが、皆さんはどう書いてますか? あと、setter/getter も教えて欲しいです。
769 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 03:06:55 ] もともとJDKと呼ばれていてJ2SDKに呼称変更されて5でJDKに戻ったんじゃなかったっけ?
770 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 03:21:57 ] >>768 javadoc自身が認識して出力してくれるような内容を、 ドキュメンテーションコメントに書くのは無駄なので、 もっとコンストラクタやメソッドの内容について書いた方がいいと思う。 どういうことを書けばいいかの参考になるものとしては、 JavaプラットフォームAPI仕様を眺めてみればいいのでは。
771 名前:デフォルトの名無しさん [2008/04/03(木) 07:58:31 ] Tomcatプロジェクトでmyweb/hoge.jspを作成したところ、 Tomcatのトップ画面(localhost:8081/ )は表示されますが、 localhost:8081/myweb/hoge.jsp が表示されません。 一体どうしたらいいでしょうか。
772 名前:デフォルトの名無しさん [2008/04/03(木) 09:24:04 ] すみません単なるミスでした
773 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 11:27:27 ] >>768 引数や例外の説明、他コンストラクタとの違い、各プロパティのデフォルト値などを書く 引数なし、例外もなし、他のコンストラクタもなし、とかなら、まぁ書くことがないかも・・・ setterやgetterは、そのset/getする値の意味や、取り得る値の範囲を説明する必要があると思う
774 名前:デフォルトの名無しさん [2008/04/03(木) 19:45:23 ] 3年くらい前に自分で書いたJavaプログラムなのですが、 今となってはソースがなかなか読めません。 そして動いてくれません。 記憶によると四角形が二つ表示されて画面を適当に動き回り、 その二つが重なった時だけその旨が画面に表示されるという プログラムだったはずです。 誰かデバッグしてもらえませんでしょうか? ソースコードは以下にアップしました。 ダウンロードのパスワードはありません。 www.uploda.net/cgi/uploader2/index.php?file_id=0000053786.zip
775 名前:774 mailto:sage [2008/04/03(木) 19:51:36 ] すみません。デバッグしてくれなんて虫がよ過ぎでした。 デバッグのための方針を教えて頂けたら幸いです。 どうかよろしくお願いします。
776 名前:774 mailto:sage [2008/04/03(木) 20:00:38 ] ほんとすみません。方針をわざわざ教えてもらうなんてそれでも虫がよ過ぎですよね。 上の発言はなかったことにしてください。 スレ汚しすみません(´;ω;`)
777 名前:774 ◆RnrYWCN3sM mailto:sage [2008/04/03(木) 20:37:05 ] と思ったけどやっぱり方針だけでも良いんで教えてください。 それと念のため鶏もつけときます。
778 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:24:21 ] Point pts[] = new Point[4]; this.pts[0].x = x;
779 名前:774 ♦RnrYWCN3sM mailto:sage [2008/04/04(金) 00:26:34 ] なかなか返答がないので締め切らせて頂きます。 わざわざすみませんでした。
780 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 07:02:38 ] 横からすみませんが、 new Point[4]←これがPointの実体では無いで良いのかな?
781 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 08:35:52 ] 私も横ですが。 オブジェクト配列の初期化忘れは、よくある間違いの1つ。 箱を用意するだけでは、中身は null のまま。
782 名前:デフォルトの名無しさん [2008/04/04(金) 13:04:54 ] 最近プログラミングをはじめたものです。 C言語の関数とその定義の関係、 javaのクラスとオブジェクト.メソッドの関係が似てるような気がしてならないのですが、 間違っていますか?
783 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 13:10:51 ] 間違ってます
784 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 13:12:38 ] 気のせい
785 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 13:55:14 ] 似てるか似てないかなんて主観だからねえ
786 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 18:58:32 ] System.out.println(args.length); で配列数を示す際、*が含まれてるとなぜか本来の数の前に*の数がくっついてしまうようです。 例えば、argsがaと*と1と*の場合は4になるはずが24になります。 これはなぜでしょうか? また、これを回避するためにはif文で振り分けなければならないのでしょうか?
787 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 19:01:55 ] >>786 * を含めたとき、args の中に何が入っているか確認してごらんなさいな。 for(String arg: args) System.out.println(arg);
788 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 19:14:57 ] コマンドラインのワイルドカードを解釈せずに引き渡してくれるシェルを使えばいいんじゃね
789 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 19:18:23 ] カレントディレクトリにあるフォルダが全て出てきました・・・ この*をワイルドカードの役割ではなく文字としての*と 認識させるためにはどうすればいいのでしょうか?
790 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 19:21:45 ] "*" でどうかな
791 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 19:23:22 ] >>789 windowsのコマンドプロンプトなら*でなく"*"とすると*そのものが渡せる linuxのシェルとかでも同様のエスケープの仕方がシェルごとにある
792 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 21:41:52 ] 解決しました。 皆さん丁寧にありがとうございました。
793 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 22:13:49 ] 質問です。 double型を使うと値が整数の時も.0が付きますが、それをなくすにはどうすればいいでしょうか? 4なら4と表示され、4.56なら4.56と普通に表示する感じです。 int型に変換したりするのが良いのかと思いますが、 値に小数点があるか否かは分からないとすると、どう振り分ければ良いのでしょうか?
794 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 22:27:06 ] つString#format
795 名前:デフォルトの名無しさん [2008/04/04(金) 23:13:05 ] ナンでサーブレットはthrowsが必要ですか
796 名前:デフォルトの名無しさん [2008/04/05(土) 08:48:23 ] ttp://itpro.nikkeibp.co.jp/members/NSW/ITBASIC/20050617/162923/ 関数と、メソッドは似ている。 関数(メソッド)の呼び出し先が、public function ・・・・って定義されてますし。 このfunctionは紛れもない関数の定義だと思います。 しかし、JAVAでは関数を呼び出す場合、メソッド(関数)の前に、クラスを格納したオブジェクトを付けて、 クラスを指定しないといけない・・・と。 思うわけです。
797 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 11:04:15 ] class MyClass { public void func() { ... } } このfunc (※インスタンスメソッド)は static void func(MyClass this) { ... } こういうstaticメソッドと同じようなもので,thisには常に現在のインスタンスが渡される staticメソッドは本当にただの関数で,呼び出すときに前に付けるクラス名はただの飾り
798 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 15:45:16 ] >>795 別に要らないよ 例外を自分でcatchするなら
799 名前:デフォルトの名無しさん [2008/04/06(日) 13:58:41 ] ウインド開いた時にアラートで 「好き?」 「嫌い?」 を10回繰り返したいんですけどどのようなソースにすればいいんでしょうか? お願いしゃーす!!
800 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 14:47:08 ] アラートってことはもしかしてJavaScript?そうならスレ違い
801 名前:デフォルトの名無しさん [2008/04/06(日) 17:19:43 ] 教えてください。 RMIでウェブアプリのようにセッション管理は出来ますでしょうか? よろしくお願いします。
802 名前:デフォルトの名無しさん [2008/04/07(月) 20:22:06 ] >>800 すまない。 ちょっとJavaScriptに行ってきます。
803 名前:デフォルトの名無しさん [2008/04/07(月) 21:05:01 ] Tomcat6.0にMYSQLのJDBCドライバ入れたんですが、この後どうしたらいいでしょうか。
804 名前:デフォルトの名無しさん [2008/04/07(月) 21:15:13 ] 質問・相談スレッドから来ました。 オブジェクトをコンストラクタを使って初期化しつつ配列にする方法が わかりません。 もしかしてそんなこと出来ないんでしょうか? 新しいクラスを作ったりする必要があるんでしょうか? どうかよろしくお願いします。
805 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 22:07:41 ] >>804 public class Hoge { public Hoge(String name) { /* コンストラクタで何らかの初期化 */ } private static final String[] names = {"aaa", "bbb", "ccc", "ddd", "eee"}; public static void main(String[] args) { Hoge[] hoges = new Hoge[names.length]; // 配列の宣言と生成 for (int i = 0; i < hoges.length; ++i) { hoges[i] = new Hoge(names[i]); // 要素ごとにインスタンスを生成し代入 }}}/* end of for, main, class */ こんな感じの宣言から代入までのコードを一行にまとめたい、ということでしょうか?
806 名前:デフォルトの名無しさん [2008/04/07(月) 23:58:03 ] 質問です。 以下のカスタマイズを行いたいのです。 フィールド変数の追加:private User u; コンストラクタの修正 引数の追加:User型 処理の追加:フィールド変数に引数で受け取ったオブジェクトを代入する 以下カスタマイズ前のソースです。 class Reference extends JFrame{ JLabel lblId; //フィールド中略 public Reference(String title){ super(title); cnt=this.getContentPane(); cnt.setLayout(null); フィールドにprivate User u; コンストラクタの引数にUser user;を追加するのは分かるのですが 「フィールド変数に引数で受け取ったオブジェクトを代入する」 が上手くいきません。 Userは同パッケージ内の別クラスです。 古いコードですし、お手数をおかけ致しますがよろしくお願い致します
807 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 00:42:47 ] >>804 Hoge[] hoges = {new Hoge("aaa") , new Hoge("bbb"), new Hoge("ccc")}; みたいな事をやりたいの?新しいクラスってどういう事?
808 名前:デフォルトの名無しさん [2008/04/08(火) 00:58:24 ] >>807 みたいな事とはどんなことですか?
809 名前:807 mailto:sage [2008/04/08(火) 01:22:55 ] どんなこともコードのままなんだけど。 >>808 はどう思うの?ちょっとコード書いてみて。
810 名前:デフォルトの名無しさん [2008/04/08(火) 01:49:02 ] >>809 どう思うって何についてですか? 何のコードを書けばいいですか?
811 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 02:09:48 ] >何のコードを書けばいいですか? 「>>804 の質問に対する>>810 なりの答え」をJavaで書けばいい。
812 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 03:25:47 ] 「私はあなたに質問する方法がわかりません。何語で話せば 私の質問を理解してもらえますか」と聞かれたら普通「あなた 言葉わかる?」と聞かれてるので、馬鹿にされてんだと思うんだ ろうがここではそう思わない能天気なおバカちゃまが多いんだろうな
813 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 08:13:25 ] 横から失礼。 かなり錯綜したから、質問者は自分のレス番号を明確にしないと答えを貰えないと思う。
814 名前:デフォルトの名無しさん [2008/04/08(火) 08:28:29 ] >>806 こういうこと? class Reference extends JFrame{ JLabel lblId; private User user; //フィールド中略 public Reference(String title){ super(title); cnt=this.getContentPane(); cnt.setLayout(null); } public Referecne(String title, User user) { this(title); this.user = user;
815 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 11:19:39 ] 自分のホムペのお気に入り用アイコンを、ランダムでチェンジさせたいんですが よそからコピってきた画像ランダム表示のスクリプトを書き換えてもうまくいきません。 ↓こんな感じなんですが、おかしな箇所をご指摘いただけるとありがたいです。 <SCRIPT language="JavaScript"> <ico = new Array(); ico[0] = "icon01.ico"; ico[1] = "icon02.ico"; ico[2] = "icon03.ico"; n = Math.floor(Math.random()*img.length); document.write("<link rel="Shortcut Icon" href='"+ico[n]+">"); > </SCRIPT>
816 名前:デフォルトの名無しさん [2008/04/08(火) 12:05:03 ] >>815 スレ違い × img.length ○ ico.length
817 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 12:53:23 ] いや板違い >Javascript は Web 制作板、CGI は Web プログラミング板へ。
818 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 13:07:59 ] 板違いでしたか・・・失礼しました。 >>816 ありがとうございました!
819 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 22:41:16 ] アノテーションでdefaultにnullを設定したい場合ってあると思うんだけど、 そういう時ってどうしてる?とりあえずNullObjectみたいなのを定義するのが普通?
820 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 20:57:23 ] 質問です。 ある命令を実行した時から別のある命令が実行される時までの所要時間を計測することはできますか? 日付を出して差から求めるっていうのが正確かと思いますが、時間を計る専用メソッドはありますか?
821 名前:デフォルトの名無しさん [2008/04/09(水) 21:06:17 ] >>820 import org.apache.commons.lang.time.StopWatch; StopWatch clock = new StopWatch(); clock.start(); ... clock.stop(); System.out.println(clock.getTime() + "ms"); clock.reset(); clock.start(); ...
822 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 21:08:08 ] >>821 素早い回答ありがとうございます。 今から試してみようと思います。
823 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 21:17:56 ] >>822 ライブラリが分からなくて出来ないに1000ガバス。 普通に↓でいいだろ。 import java.util.Date; public class Main { public static void main(String[] args) { long start = new Date().getTime(); //ここに処理を書く System.out.println("time:" + (new Date().getTime()-start) + "ms"); } }
824 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 22:17:26 ] >>823 回答ありがとうございます。 getTimeで時間を取得すると1207746884155などといった数字になったのですが、 これはどう見ればいいのでしょうか? 何度もすみませんがよろしくお願いします。
825 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 22:23:04 ] >>824 javadocぐらい見れるようになろうぜ java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Date.html#getTime ()
826 名前:デフォルトの名無しさん [2008/04/10(木) 03:52:53 ] package packagename;と書いたらそのファイルはpackagenameフォルダに入れないといけないの?
827 名前:826 [2008/04/10(木) 04:21:19 ] 自己解決しましたv(^-^)
828 名前:デフォルトの名無しさん [2008/04/10(木) 11:14:17 ] プログラムの実務の為の練習するのに良い本やサイトないですか?
829 名前:デフォルトの名無しさん [2008/04/10(木) 11:23:10 ] >>828 Javaの入門サイト www.nextindex.net/java/index.html Javaで学ぶデザインパターン www.amazon.co.jp/Java%E8%A8%80%E8%AA%9E%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E5%85%A5%E9%96%80-%E7%B5%90%E5%9F%8E-%E6%B5%A9/dp/4797316462
830 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 12:12:44 ] >>828 「実務」って何?というかどういう方向?それによって違うし、 どの程度経験があったり使ったことあるかでも話が全然違う。
831 名前:デフォルトの名無しさん [2008/04/10(木) 12:36:40 ] ほんと基礎って感じです!練習問題的な。 SJC-Pの資格は取ったんですけど、プログラムの仕方みたいなのは全然わからなくて!
832 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 12:50:30 ] 役に立たない資格だな・・・
833 名前:デフォルトの名無しさん [2008/04/10(木) 17:33:29 ] 助けてくだしあ>< jdk-6u5-windows-i586-p.exeをインストールして システム環境変数の末尾に;C:\Program Files\Java\jdk1.6.0_05\binと書いたんですが set pathの結果が C:\>set path Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Ju stsystem\JSLIB32;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program Files\QuickTime\QTSystem\ PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH てなってjavacが通らないんです quicktimeがclasspathをどうにかしてたんでアンインストールして現在はclasspathが無い状態です システム環境変数を編集してみてもquicktimeは無いのにsetPathで出てきます
834 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 18:05:45 ] 再起動したらできますた すまそんw
835 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 18:09:14 ] ちょwwwwwwwwwww 個人情報出すなよwwwwwwwwwwwwwwwwwwwwwwww やばすぎwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww >Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Ju >stsystem\JSLIB32;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program >Files\QuickTime\QTSystem\ >PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH やろうと思えば今すぐにでもお前のPCに侵入できる状態なんだが・・・
836 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 18:14:12 ] これは酷いww 今すぐ>>834-835 の削除依頼出してこい。
837 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 18:20:40 ] おお、なんかすごいのあるな。 今から侵入を試みてみる。ちょっと待ってて。
838 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 21:23:51 ] >>831 初めは簡単なプログラムやアプリを軽く書ける練習すると良いのではないだろうか? これしかない!という本は無いと思うから、本屋で自分と波長が合う簡単な本を 買って一冊踏破すれば。慣れたらもっとセンスを研く本を買うと良いと思う。
839 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 09:37:28 ] すみません、助けてください。 ApacheTomcatが起動できません。 ConfigureTomcatからStartさせようと思うのですが、 スタートできません。 バージョンは5.5.26でインストールは問題なく終了しました。 OSはXPです。 なんとか起動まで導いてください。 お願いします。
840 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 10:09:39 ] スレ違い
841 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 10:26:59 ] JAVAでMSDNにあたる資料は、 java.sun.com/j2se/1.5.0/ja/docs/ja/api/ これでしょうか? もう少し見やすいものはないものでしょうか……?
842 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 12:53:34 ] どういうものを求めてる? どのへんが見づらいの?
843 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 12:56:44 ] 継承メンバ一覧は冗談かと思うよな
844 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 13:52:58 ] 質問! 0.0以上1.0未満の整数値をランダムに生成して表示するプログラムを作ってます。 import java.util.Random; class ex0209 { public static void main(String[] args) { Random rand = new Random(); double lucky = rand.nextDouble(1); System.out.println("0.0以上1.0未満の実数値:" + lucky); } } 上記のようにすると ex0209.java:8: nextDouble() (java.util.Random 内) を (int) に適用できません double lucky = rand.nextDouble(1); ^ エラー 1 個 というメッセージが出てきます。 1を1.0に変えても同じでした。 どうすればいいのでしょうか。
845 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 14:30:11 ] >>844 宿題?ちゃんと API を見ろ。引数いらん。 ついでにずいぶんいらん変数が多いなぁ。つーか変数いらん。 まぁできえばいいかな。
846 名前:デフォルトの名無しさん [2008/04/12(土) 14:42:06 ] >0.0以上1.0未満の整数値をランダムに生成して表示するプログラムを作ってます。 ランダムも何も、0だけ表示しとけばいいだろwww
847 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 16:34:11 ] 今GUIプログラミングをしているのですが、 キーの押下に反応するメソッドはありますか? 例えばaを押したらすぐにキーコードかaが表示される感じです。
848 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:00:16 ] >>845 API見たら確かにのってた。アホな事聞いてすんません。 Javaは趣味でやってます。今使ってる入門書に答えが載ってなかったんで。
849 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:14:42 ] KeyListener.keyPress(KeyEvent e)内で、上の\と下の\を区別たいのですが、 e.getKeyCode() では同じ値(92)で区別できず、 e.getKeyLocation() でも同じ値(1)で区別できませんでした。 どうすれば区別できるのでしょうか?
850 名前:849 mailto:sage [2008/04/12(土) 17:17:55 ] 自己解決しました。 スレ汚しすみませんでした。
851 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:22:54 ] >>842 検索できないのが痛いです。 索引でいちいち探すのも面倒ですし……。 求めているものはMSDNそのまんまって感じです。 もしかして検索どこかにあるのかな……?
852 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:29:52 ] 実用上googleで不満ないけどな たまに逆引きが欲しい時があるとか? それなら簡単な逆引きツールを作るのも勉強になって良いぞ
853 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:45:55 ] site:java.sun.com/j2se/1.5.0/ja/docs/ja/api/ つけて Google で検索すりゃいい。
854 名前:844 mailto:sage [2008/04/12(土) 17:52:17 ] もう一つ質問よろしいでしょうか! -1.0以上1.0未満の実数値をランダムに生成して表示するプログラムを作ってます。 import java.util.Random; class ex0209_1 { public static void main(String[] args) { Random rand = new Random(); double minus = -(rand.nextDouble()) - 0.1; double plus = rand.nextDouble(); System.out.println("-1.0以上1.0未満の実数値:" + (minus + plus)); } } コンパイルできて実行も出来るのですが、実数値が出力される事も手伝って 確認が難しいです。おかしいところがあったら教えていただきたいのですが。
855 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:57:21 ] なんの確認が難しいんだよ。日本語書け。
856 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:00:22 ] >>854 Java 初心者だけではなくプログラミングも初心者だね。 そりゃおかしいよ。-1.1 から 1 の乱数。なんで唐突に -0.1 なんか入れるの? 中身はその路線なら System.out.println("-1.0以上1.0未満の実数値:" + (2*(new Random().nextDouble())-1)); で十分。 乱数たくさん発生して区画に分けて統計を取って確認する という練習問題でもしてみたら?
857 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:01:49 ] nextDouble() が0.0以上1.0未満ってわかってるんだから そこから先は不等号式を解く作業
858 名前:844 mailto:sage [2008/04/12(土) 18:18:17 ] >>855 実行結果の確認がという意味です。説明不足でゴメンナサイ。 >>856 はい、一週間前に始めたばかりです。 凄いスマートに出来るんですね。 >>857 >不等号式を解く作業 そういう方法もあるんですね。しかし変数についてまでしか勉強してないので 理解できないです。すんません。 色々アドバイスしてくれてありがとうございました。
859 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 19:13:55 ] >>847 への回答よろしくお願いします。
860 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 19:17:34 ] >>852 >>853 Googleでちょっと不便だけどできました。 ありがとうございました。
861 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 01:41:21 ] >>856 日本語も初心者だと思うぞ
862 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:02:54 ] キーボードから読み込んだ三つの整数値の中央値を求めて表示するプログラムです。 import java.util.Scanner; class ex0313 { public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); System.out.print("整数a:"); int a = stdIn.nextInt(); System.out.print("整数b:"); int b = stdIn.nextInt(); System.out.print("整数c:"); int c = stdIn.nextInt(); int mid = a; if (a > b) { if (b > c) mid = b; else if (c < a) mid = c; } else { if (a > c) mid = a; else if (c > b) mid = b; else mid = c; } System.out.println("中央値は" + mid + "です。"); } }
863 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:05:29 ] で、何?
864 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:05:35 ] >>862 のように作り、正常に動作したのですが、見た目がすっきりしていないような気がします。 何か余計な事をしているところがあったら指摘していただきたいのです。よろしくお願いします。
865 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:10:03 ] 配列にしてソートして真ん中の要素を表示すればいいけど、 3要素に特化するというのであれば別にそれでもいいんじゃない? とは思う。
866 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:30:00 ] >>865 ありがとうございます。このままでも特に問題は無いのですね。 >配列にしてソートして真ん中の要素を表示すればいいけど ごめんなさい意味が分かりません。理解できるように勉強頑張ります...。
867 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 09:28:30 ] >>859 > >>847 への回答よろしくお願いします。 import javax.swing.*; public class Jpanel extends JFrame { static String img; public static void main(String[] args) { if (args.length < 1) { System.out.println ("Usage: java Jpanel image-file(jpg, png, gif file)"); System.exit(1); } img = args[0]; Jpanel jpanel = new Jpanel("Test JPanel"); jpanel.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE ); jpanel.setSize( 640, 480 ); jpanel.setVisible( true ); } private Jpanel (String title) { super(title); getContentPane().add(new JScrollPane( new JLabel(new ImageIcon(img)))); } } あ、JPanel()を使って無いな。だけど、getContentPane()がJPanel()のようなものだから。
868 名前:867 mailto:sage [2008/04/14(月) 09:32:18 ] 誤爆した
869 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 11:59:39 ] >>847 ついでに コンポーネントは内部にイベント処理を持っているので、それを書き換える例。 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Jpanel extends JFrame { public static void main(String[] args) { Jpanel jpanel = new Jpanel("Test JFrame"); jpanel.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE ); jpanel.setSize( 640, 480 ); jpanel.setVisible( true ); } private Jpanel (String title) { super(title); enableEvents( AWTEvent.KEY_EVENT_MASK ); } protected void processKeyEvent(KeyEvent e) { int id = e.getID(); if(id == KeyEvent.KEY_PRESSED) { int code = e.getKeyCode(); if(code == KeyEvent.VK_A) System.out.print("A "); else System.out.print(code + " "); } } } JFrameのキーイベントを書き換え。
870 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:00:34 ] >>865 > 配列にしてソートして真ん中の要素を表示 {小さい値の集合} ≦ 中央値 ≦ {大きい値の集合} となる中央値を求めるので、上記の{集合}の部分を 木構造で作ってトーナメント的に更新して入れ替えていけばいい。 {小さい〜}は大きい値が勝つようにして、 {大きい〜}は小さい値が勝つようにする。 良い例が無いか探してみたら↓に Java のコードもあるっぽい。 www.cs.sunysb.edu/~algorith/files/median.shtml
871 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:16:12 ] >>870 865 さんはそんな難しい事言おうとしていたのかな。汎用性と実用性から 考えれば配列に入れて java.util.Arrays の sort 使って真ん中抜いて終わり。 プログラミングの観点からはそういのに慣れるのはいいと思うけど。 アルゴリズムの勉強をしたいならそれはまた別の問題だわな。
872 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:32:12 ] ホームページをホームページビルダーVer10で作成したんですが HotMediaアニメーションの部分がうまく表示されません。 IEでJavaコンソールを開くで見ると以下の表示になります。 java.lang.ClassFormatError: Truncated class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at sun.applet.AppletClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.applet.AppletClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.applet.AppletClassLoader.loadCode(Unknown Source) at sun.applet.AppletPanel.createApplet(Unknown Source) at sun.plugin.AppletViewer.createApplet(Unknown Source) at sun.applet.AppletPanel.runLoader(Unknown Source) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source) ちなみにディスクスペースはロリポップなんですがIEを使ったFTPで アップロードしてるんですが、ローカルディスクとサイトのファイルで サイズが違いすぎるんですよ。 というカclassファイルが4byteしかないんでアップロードに 失敗してるのかと思うんですが何故classファイルだけ失敗するのか 分からないんですよ。 何度アップロードしても同じサイズだし、原因とか何が考えられますかね?
873 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 15:03:48 ] >>872 >Q.ロリポップFTPでJARファイルが転送できません。 >JARファイルには対応しておりません。 >FTPソフトやホームページ作成ソフトをご利用下さい。 FTPソフト(FFFTP)とか使わないと駄目では?
874 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 20:58:10 ] 致命的なエラーが出てしまいます。 スレイプニールとIEどちらでも同じ現象です。 どなたか対処法教えてください。
875 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 20:59:16 ] ねえねえ、それだけの情報で正確な対処法を教えてもらえると思う?
876 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 07:06:11 ] 二つの整数値を読み込んで、小さいほうの数以上で大きいほうの数以下の 全整数を小さいほうから順に表示するプログラムについての質問です。 例:整数A:5 B:1 の時 1 2 3 4 5 と表示。 import java.util.Scanner; class ex0403 { public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); System.out.print("整数A:"); int a = stdIn.nextInt(); System.out.print("整数B:"); int b = stdIn.nextInt(); do { if (a < b) { System.out.print(a + " "); a = a + 1; } else if (b < a) { System.out.print(b + " "); b = b + 1; } } while (!(a == b)); System.out.println("終了。"); } }
877 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 07:09:15 ] >>876 のように書いてみたのですが、実行すると最後の数字が抜けていました。 どうすればいいのでしょうか。よろしくお願いします。
878 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 07:56:44 ] >} while (!(a == b)); これを }until(a==b); にする。ループ終了条件の評価タイミングを考えるんだ
879 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 18:20:10 ] >>878 解答ありがとうございます。 ex0403.java:22: while がありません。 } until(a==b); ^ ex0403.java:22: ')' がありません。 } until(a==b); ^ エラー 2 個 上記のエラーが出ました。 untilはキーワードに入っていませんでしたが、 何か別なものを入れるってことでしょうか。
880 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 18:23:43 ] ググレカス
881 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 20:26:24 ] >>879 >untilはキーワードに入っていませんでしたが、 そりゃない罠 whileを抜けた時点でa==bになっているので終了メッセージ出す前にどっちか出力するしかないんでね?
882 名前: ◆IiyUHoZM0E [2008/04/16(水) 23:21:52 ] 質問です。 Point pts[] = new Point[4]; というように、Pointクラスを配列として宣言したいと思っています。 しかしながら、この方法ではコンストラクタを使ったPointの初期化が 出来ません。 どうか、Pointを初期化しつつ配列として扱う方法を教えてください。 よろしくお願いします。
883 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 23:28:40 ] Point[] pts = {new Point(0,0), new Point(1,1), new Point(2,2), new Point(3,100)};
884 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 23:43:19 ] >>774 か?もしそうならその変数要らないぞ。Squeraにx,y,width,heightあるんだから四隅を別に持つ必要ないぞ。
885 名前: ◆IiyUHoZM0E mailto:sage [2008/04/17(木) 06:20:54 ] >>883 ありがとうございます。 ご指摘のようにしたら上手く行きました。 >>884 お察しの通り、>>774 です。 前回の質問では粘着にからまれ、トリ割れまでしてしまったので 新しいトリをつけ直して質問させて頂きました。 そして四隅を持つ必要はないとのご指摘、確かにそうでした。 というかよくソースコードを読んでみると、 指定した四隅は全く使っていませんでした( ゚Д゚)。 このソースを書いたのはもう5年近く前になるのですが、 当時の私の頭を小一時間ほど問いつめたいです。 ご指摘、本当にありがとうございました。 そして>>883 さん、折角教えて頂いたのにこんな間抜けな 結末になってしまって、本当に申し訳ありませんでした。
886 名前: ◆IiyUHoZM0E mailto:sage [2008/04/17(木) 06:22:36 ] って、ソースコードを書いた時期が>>774 と違っとる。 もういつ頃書いたのか記憶があいまいになるほど前に書いた ソースコードってことで納得してくだしあ。
887 名前:デフォルトの名無しさん [2008/04/17(木) 14:22:57 ] 「エラトステネスのふるい」のプログラム(Prime.java)を、途中経過が分かるよう 次のように改良せよ。具体的には、以下のようにプログラムを改造したい。 2の倍数をふるいにかけた直後の配列aの状態を画面に表示、 3の倍数をふるいにかけた直後の配列aの状態を画面に表示、 4の倍数をふるいにかけた直後の配列aの状態を画面に表示、 ・ N/2 の倍数をふるいにかけた直後の配列aの状態を画面に表示 改造後のプログラムと、実行結果を示せ(N=30程度で良い)。正しく動いている という説明も述べよ。 class Prime { public static void main(String args[]){ int N = 1000; int i,j; int a[] = new int[N+1]; for(a[1]=0,i=2;i<=N;i++){ a[i] = 1;} for(i=2;i<=N/2;i++){ for(j=2;j<=N/i;j++){ a[i*j] = 0; }}for(i=1;i<=N;i++){ if(a[i] > 0) { System.out.print(i+" ");}} System.out.println();}} これをどうやって改造すれば良いのか困っています。 わかる人がいましたら教えて下さい。
888 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 14:27:03 ] >>887 宿題スレへ行け
889 名前:♦IiyUHoZM0E mailto:sage [2008/04/17(木) 15:09:56 ] >>885 こうだろ。
890 名前:♦IiyUHoZM0E mailto:sage [2008/04/17(木) 15:15:53 ] ってこれだけじゃわかんないな。>>779 がやったのはこうだろって話な。 ぱっと見トリ割れしてるように見えるだけでよく見ると違うから。
891 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 17:35:49 ] 知るかカス
892 名前: ◆IiyUHoZM0E mailto:sage [2008/04/17(木) 21:33:42 ] >>889-890 ホントだ。よく見りゃよかった。ヲマークだったのか。 有名な単語だったし、どっかにトリ割れのリストとかあって それでバレたのかとか思ってました。ありがとうございます。 これ以上はスレチなので失礼。
893 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 22:10:39 ] この春からプログラムを始めるようになりました。 説明が不明慮かも知れませんが宜しくお願いします。 「if文を使って 10桁未満の場合はそのまま出力、10桁以上は下10桁を出力」 と言った処理をしたいのですが、 任意に下10桁を表示するにはどうしたらいいのでしょうか? if(koza_No.length > 10){ } の中の処理の書き方を教えて頂ければと思います。
894 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 22:20:56 ] if(koza_No.length > 10){ 「不明慮」を辞書で引いてしまった俺カナシス }
895 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 22:53:28 ] >>893 数字なら10*10で割った余り。 文字列なら、subString()使う。
896 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 17:58:01 ] いっそのこと、String にして… String longStr = Long.toString(long); int limit = 10; if (longStr.length() >= limit) longStr = longStr.substring(longStr.length() - limit);
897 名前:デフォルトの名無しさん [2008/04/26(土) 23:04:52 ] JAVAでサーバーサイドプログラムを組んで Webブラウザの操作から、任意のプログラムを起動するサーバーPCで起動する ソフトを作ろうと思います。 任意のプログラミングをWindowsで起動させるには、WindowsAPIを使う必要が あると思うのですが、これはC++が基本です。 JAVAでも任意のプログラムをWindows上で起動させることは可能ですか?
898 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 23:10:09 ] 起動させるならできるけど。 java.sun.com/javase/ja/6/docs/ja/api/java/lang/Runtime.html java.sun.com/javase/ja/6/docs/ja/api/java/awt/Desktop.html
899 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 23:14:44 ] プログラムを起動する、という言葉は、どういう意味で使ってますか? 任意のプログラムをWindows上で起動させることなどはどんな言語にも不可能ですが Windowsの実行ファイルをJavaプログラムから起動する事は可能です 多分これが質問の意味だと思いますが
900 名前:897 [2008/04/26(土) 23:32:19 ] >>899 解読してくださってありがとうございます。 コマンドプロンプトでC:\WINNT\explorer.exe と入力すると explorer.exeが起動することを”プログラムを起動する”と表現していました。 >>898 ありがとうございます。やりたいことが可能なようです。 今からJAVAを学んで卒論にしたいと思います。
901 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 23:57:23 ] >>900 卒論・・・
902 名前:897 [2008/04/27(日) 00:04:03 ] >>901 ソースをコピペして評価実験をちょろっと書けば卒論でございます。 こんな僕も来春から業界人。IT業界への良質な人材の供給は皆無な昨今。 私も無能であります。
903 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:12:32 ] とりあえず一人称を定めようか
904 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:16:38 ] やはり、うつむいて根暗で一人称ボクですよね。わかります。
905 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 10:16:24 ] ボク卒業後10年間IT業界に入ろうと試みて職安に通ったが駄目だった。 新卒スゴスw
906 名前:デフォルトの名無しさん [2008/04/27(日) 21:14:36 ] 抽象クラスって何のためにあるの? インターフェイスがあるんだから意味がないような気がする。
907 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 21:20:40 ] デフォルトの実装を提供したり、 スケルトンとして使ったり。 意味が無いわけではない。
908 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 21:54:57 ] カレー粉とルーの違いだよ。 …自分で書いてて意味分からない。
909 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 22:39:41 ] >>906 インターフェース→コネクタみたいなもの。規格を満たしていればその先に何があっても気にしない。 抽象クラス→マザーボードみたいなもの。一部の部品は交換可能だが、全体としての動作はある程度規定されている。
910 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 22:50:08 ] java scriptについての質問です。 html内に記述するもので、 他のURLからhtmlソースをコピーして 利用することってできますか? 複数のURLからhtmlソースを持ってきて 自己htmlに並べて表に書き出すようなことをしたいのです。 うさのJavaScript講座・サンプル集9 usagi-js.com/sample/jssample9_2.htm で > 別URLのファイルを印刷する という応用できそうなサンプルを見つけましたが、 ソースを見てもiframeを二重に使っているだけの様子で、 対象URLのソースをコピーする、というようなものではありませんでした。 iframeで並べることはできるのですが、iframeを使わずに やる方法はあるのでしょうか?あるとすればどのようにすればいいでしょうか?
911 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 22:55:00 ] >>910 スレチ乙
912 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 23:06:28 ] すいません スレ違いでした。 他のスレ探してきます。
913 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 14:49:24 ] Java Appletで表示されている 数値を、テキストとしてメモ帳に コピペは出来ませんでしょうか? ブラウザでJava Appletが実行されていますと すぐ文字列が取得できそうで できないもどかしさを味わっています。 普通にテキストとしてコピペできれば そこからは自動運転は効きます。 BASICだけは薄く長いプログラミング暦20年ですが Javaは殆ど何も分かりません。 用途としては、為替系の自動取引運転を 目指しています。 業者によって表示環境がまちまちなので。 とにかく、なんとかして、リアルタイムに来る 数値をこちら側でテキスト文字列として 取得したいのですが。
914 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 14:58:23 ] そういうのはAppletじゃなくて、というかJavaじゃなくて、JavaScriptとかでやったほうがいいのでは。
915 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 15:08:44 ] >>913 画像に drawString とかで埋め込んだらダメだと思う けど TextArea とかにすればテキストとしてコピペできる。
916 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 18:56:30 ] >>913 直接の答えにはなってないが… そういうのは、業者側もいろいろ工夫して、テキストとしてコピペ「できないように」作るもんじゃないかな
917 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 19:43:30 ] 逆コンパイル アプレットを弄ってアプリケーションに書き換え setTextやgrawStringメソッドを適当にオーバーライド いろんな意味でリスキーですな
918 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 19:48:07 ] キャプチャしてOCRソフトで読み込めば
919 名前:913 mailto:sage [2008/04/29(火) 14:28:15 ] 色々とレスどうもです。 中々に難しそうですね。 該当部分の画像をBMPで切り出して 画像照合とか そんなことしなければ根本的には どうにもならないような感じもします。
920 名前:906 [2008/05/04(日) 10:59:36 ] >>907->>909 おぼろげながらわかりました。 ありがとうございます。
921 名前:デフォルトの名無しさん [2008/05/05(月) 03:24:50 ] www.nextindex.net/java/XML/xerces.html を参考に ftp.riken.jp/net/apache/xerces/j/ から Xerces-J-bin.2.9.1.zip をダウンロードして解答し、C:\xerces-2_9_1 に配置しました。 その上で、CLASSPATH を set CLASSPATH=c:\xerces-2_9_1\xercesImp1.jar;c:\xerces-2_9_1\xercesSamples.jar;c:\xerces-2_9_1\xml-apis.jar;. とし、 java dom.Counter demo.xml とすると、 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xerces/parsers/AbstractDOMParser at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at dom.Counter.main(Unknown Source) となります。エラーからすると、AbstractDOMParser が見つからなかったように読めるのですが、これは xercesImp1.jar に含まれていてると思うのですが、何が間違っているのでしょうか? ちなみに、1.4.2.16 です。
922 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 23:26:13 ] どなたか、『独習Java』の付属CDデータをうpしてくれませんか?
923 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 23:28:53 ] 最近キチガイ多いよな
924 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 20:06:21 ] ちょいっと伺いたい。 個人的な好みでJDeveloperを使ってんだけど、 パソコン変えたらちらつきが出るようになりました。 対処方法知ってる方いらっしゃいますか? 環境 CPU : Core2Duo GPU : GeForce 8600M GT RAM : 2GB まぁDellのInspiron1520なんだけど。 まえつかってたPen4のマシンではこんなことなかったんだけど。
925 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 17:18:30 ] 質問です。 JavaGUIプログラミング ttp://www.cutt.co.jp/book/4-87783-185-1.html に掲載されているサンプルコードについてですが、 サンプルコードをダウンロードしたいと思っています。 どなたか、サンプルコードの場所を知りませんか。
926 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 18:07:11 ] 公式で無ければ無いでしょ 掲載されてる訳なんだから自分でいちいち入力した方が勉強になるよ
927 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 18:29:42 ] >>926 サンプルコードを探したのですが、ありませんでした。 どこかにあればと思って、質問しました。 >掲載されてる訳なんだから自分でいちいち入力した方が勉強になるよ がんばって、入力します。 回答ありがとうございます。
928 名前:925 mailto:sage [2008/05/14(水) 18:31:08 ] 訂正 >>927 は、>>925 と同一人物です。
929 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 01:19:47 ] Javaをダウンロードしたいんですけど、どうしてもできません。どなたか教えて頂けないでしょうか?youtubeなどに繋げたいんです。お願いします。
930 名前:デフォルトの名無しさん [2008/05/24(土) 06:52:48 ] >>929 スレ違い? javaとyoutubeとの接続になにか関連性はあるのかい。
931 名前:デフォルトの名無しさん [2008/05/24(土) 08:33:08 ] for(int i = 0; i < 3; i++){ button = new Button(sShell, SWT.NONE); } こうした場合、buttonに上書きされるようになるんですけど問題はないのでしょうか? }
932 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 09:53:10 ] あるよ button変数は最後のループで宣言したインスタンスしか指さず それ以前に宣言したインスタンスは二度と利用できない 3回繰り返してもできるボタンは実質1つ 3つ作りたいならbuttonを配列にしてループ内で順番に代入
933 名前:デフォルトの名無しさん [2008/05/24(土) 10:49:18 ] >>932 ずっとつっかえていたんで助かりました。 ありがとうございました。
934 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 16:24:46 ] コマンドプロンプトから、 コンパイルする時は、javac file.java 実行する時はjava fileと打ちますが、 これをワンクリックで行う方法はありませんでしょうか? Ecripseなどの統合開発環境や、 特殊なエディタを使えば出来るでしょうか?
935 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:42:02 ] Eclipseならファイルを変更したら自動でコンパイルしてくれるお
936 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:49:43 ] eclipseは便利だけどやたらメモリを食う 512MBでは厳しい、1GB以上は欲しい
937 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:51:39 ] >>935-936 凄い便利なんですね。 スペックには余裕があるのでEclipseを入れてみようと思います。 ありがとうございました。
938 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:28:54 ] いまどき買うならメモリ512MBのPC探す方が苦労するよ
939 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:34:11 ] 1万円2万円程度のならMB単位のPCがゴロゴロ転がってるよ
940 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 11:16:52 ] >>934 可能です。 以上。 はい次の方。
941 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:28:56 ] >>934 [java_comp.bat] %~d1 cd %~p1 javac %~n1.java @rem 上は拡張子大文字可 javac %~nx1 pause [java_exec.bat] %~d1 cd %~p1 java %~n1 pause
942 名前:デフォルトの名無しさん [2008/05/30(金) 02:53:30 ] 初心者用の本理解したどー これでおれも一人前だー
943 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 16:58:59 ] 昨日学校でちょっとやったけどBeanのプロパティが理解出来ない。 誰か説明してorz
944 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 17:43:03 ] BeanのプロパティはBeanのプロパティです。 以上
945 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 18:10:38 ] わかりました先生にまたきいてきます
946 名前:デフォルトの名無しさん [2008/06/01(日) 11:23:18 ] すいません。分からないので教えて下さい。 明解javaでの演習問題なのですが、配列の要素数と個々の要素の値を読み込んで 各要素の値を表示するプログラムを作成せよ。 表示の形式は初期化子と同じ形式、すなわち、各要素の値をコンマで区切って{}で 囲んだ形式とすること。下記のように表示させたい。 要素数:3←Enter a[0] = 5←Enter a[1] = 7←Enter a[2] = 8←Enter a = {5,7,8} 自分自身で途中までは作ったのですが最後のa={5,7,8}と表示させるやり方が分かりません。 自身で作ったコードは import java.util.Scanner; class Ensyu{ public static void main(String args[]){ Scanner sc = new Scanner(System.in); System.out.print("要素数:"); int n = sc.nextInt(); int[] a = new int[n]; for(int i=0;i<n;i++){ System.out.print("a["+i+"]="); a[i] = sc.nextInt(); } ここまでしか分からないです。。 どうか教えて下さい。 よろしくお願いします
947 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 12:25:48 ] >>946 (1) まず "a = {" を表示する (2) 要素数がゼロなら7へ飛ぶ (3) 最初の要素を表示する (4) ","を表示する (5) 次の要素を表示する (6) まだ要素が残ってたら4に戻る (7) "}"を表示する
948 名前:デフォルトの名無しさん [2008/06/01(日) 13:28:24 ] All- n One Eclipse 3.0.1をインスコしたんですが 「デフォルト・プロポーザルがありません」と返されコンテンツ・アシストが一向に利かないです。 設定→コンテンツアシスト→自動有効化はオンになっています。 例)System.out. (この時点でポップアップ無し、CTRL+SPACEで上記コメント発生) どなたか詳しい方、解決策等ご教授ください。
949 名前:948 mailto:sage [2008/06/01(日) 13:34:32 ] 自己解決しました、スレ汚しスマソ。
950 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 14:26:41 ] >>947 (1) まず "a = {" を表示する (2) 最初の要素があるなら表示する、無いなら6で終わる (3) 次の要素があるなら", "を表示する、無いなら6で終わる (4) 次の要素を表示する (5) 3に戻る (6) "}"を表示する
951 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 15:21:00 ] >>946 import java.util.Scanner; import java.lang.System; class Ensyu{ public static void main(String args[]){ Scanner sc = new Scanner(System.in); System.out.print("要素数:"); int n = sc.nextInt(); int[] a = new int[n]; for(int i=0;i<n;i++){ System.out.print("a["+i+"]="); a[i] = sc.nextInt(); } System.out.print("a = {"); for(int i = 0; i < n; i++){ System.out.print(a[i]); if(i < n-1) System.out.print(","); } System.out.println("}"); } }
952 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:36:33 ] どなたかご教授願います。 ------------------------------- class sample1 { public static void main(String args[]) { double ans3 =(double)5/3; System.out.println("5÷3は" + ans3 + "です。"); } } --------------------------------- 上のようなソースがあるとして、 5/3の前に(double)の表記を入れる理由というのはなぜなんでしょうか? すでにdouble ans3 のところでdoubleと書いてあるのでans3には、 ちゃんと小数点が含まれた答えが表示されると思うのですが。 もしかしてアホすぎる質問でしょうか
953 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:41:21 ] (double)を消せばわかる
954 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:40:12 ] 5/3=1
955 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 00:01:29 ] マルチ
956 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:30:18 ] >>952 5/3じゃ1までしか表示されないから、doubleには1.0が代入されるってことですか?
957 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:05:33 ] そうそう ans3 には(double)(5/3)だと1.0が、((double)5)/3だと1.6666…が。
958 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:07:19 ] キャスト演算子の結合順は間違えやすいよね
959 名前:デフォルトの名無しさん [2008/06/05(木) 14:52:44 ] 最近java勉強してるんだがこのスレ見ても全く分からん;; 本当にここ超初心者用なのですか・・?
960 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 16:55:40 ] ↑同感。どこかの大学の理工学部か専門学校のレベルじゃないの?
961 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 17:55:57 ] 超基本的な質問が多いと思うよ 言語仕様を一通り理解してはじめてスタートライン
962 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 18:50:10 ] 超初心者レベルですよ 英語の修得度で例えると、 Java言語の基本を習得している = アルファベットが何とか全部書ける Javaで下っ端の仕事ができる = 辞書を引き引き洋書が何とか読める Javaで上流レベルの仕事ができる = 英語を使って仕事の会話がペラペラ これぐらいの感じですね ちなみに専門学校や理工学部の授業では2番目ぐらいまでしかやらないです
963 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:29:26 ] ほとんどの専門学校は1までだと思う
964 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:49:59 ] ほとんどの専門学校は1すら満足に出来てないと思う。 他言語一切やってないなら別だけど。
965 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:59:52 ] 質問者は専門学校生かな?
966 名前:デフォルトの名無しさん [2008/06/05(木) 22:38:14 ] あんこ1 あんこ2 あんこ3 あんこ4 あんこ5 あんこ6 あんこ7 このようなテキスト構成のときに 以下のように、改行が2つ続くとき改行したいのですが どのような制御をすればよいでしょうか あんこ1、あんこ2、あんこ3、あんこ4 あんこ5、あんこ6、あんこ7
967 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:39:41 ] とりあえず「あ」と「ま」に置き換える処理ができる技術があればそれもできる
968 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:26:14 ] ここと質問スレのマルチばかり 教えてgooとかYahoo知恵袋にまで使ってそうな勢い
969 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:39:55 ] >>966 がんばってかいたよ!!!うごかしてみてね!!! import java.io.*; public class Sample { public static void main(String[] args) throws IOException { String text = String.format("あんこ1%n" + "あんこ2%n" + "%n" + "あんこ3%n" + "あんこ4%n" + "%n" + "%n" + "あんこ5%n" + "あんこ6%n" + "%n" + "あんこ7%n"); PushbackReader r = new PushbackReader(new StringReader(text)); StringBuilder buf = new StringBuilder(); int c; while ((c = r.read()) != -1) { if (c == 12354) { c += 60; } else if (c == 10) { int cnt = 0; int next; while ((next = r.read()) != -1 && next == 10) { ++cnt; } if (cnt < 2) c += 12279; r.unread(next); } buf.append(Character.toChars(c)); } String result = buf.toString(); System.out.println(result); } }
970 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:47:50 ] ちょっとスレの趣旨とは違うかもしれない質問だけど、 Java の Servlet API の話題を取り上げてるスレって ないの?
971 名前:957 mailto:sage [2008/06/06(金) 03:23:56 ] >>969 12line c += 60; は、削除するとして。 read(EOF) の戻り値が 65535 (になった)なので、==の左辺を(short)でキャスト または、-1を(char)でキャストするといいよ。vv