【初心者】Java質問・相談スレッド77【大歓迎】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2005/12/08(木) 14:26:57質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals を使え。
・内部クラスから外部クラスのローカル変数は使えない。他の方法を考えろ。
前スレッド
【初心者】Java質問・相談スレッド76【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1133087049/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。
JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/
次スレは>>980あたりでお願いしまする。
0002デフォルトの名無しさん
2005/12/08(木) 15:15:580003デフォルトの名無しさん
2005/12/08(木) 16:12:30byte[] method(byte[] source, String srcEnc, String transEnc) {
// source を srcEnc形式 → transEnc形式に変換しbyte配列で返す
}
CharsetEncoder,Charsetなどを使えばできることはわかったのですが
これらのインスタンスを生成する方法などがわからずこまっています。
もしよろしければアドバイス等おねがいいたします。
0004デフォルトの名無しさん
2005/12/08(木) 16:22:190005デフォルトの名無しさん
2005/12/08(木) 17:33:09これってどうやってつかうのですか?
0006デフォルトの名無しさん
2005/12/08(木) 18:20:06Charset.forName("encoding").newEncoder()
0007デフォルトの名無しさん
2005/12/08(木) 21:05:010008デフォルトの名無しさん
2005/12/08(木) 21:37:290009デフォルトの名無しさん
2005/12/08(木) 21:41:01教科書をよく読めば解決すると思うよ
0010デフォルトの名無しさん
2005/12/08(木) 21:43:39教科書持ってません。ネットで調べても,1行にひとつの数字がある場合しか見つかりません。
0011デフォルトの名無しさん
2005/12/08(木) 21:46:17正規表現ならいっぱいあるから
0012デフォルトの名無しさん
2005/12/08(木) 21:47:05そもそもCharseEncoderもCharsetも必要ない。
return new String(source, srcEnc).getBytes(transEnc);
0013デフォルトの名無しさん
2005/12/08(木) 21:51:20ttp://www2.ocn.ne.jp/~notes/java/java2-2.html
この辺
0014デフォルトの名無しさん
2005/12/08(木) 22:00:51のように定義した定数配列を
int value = this.VALUE_LIST[0];
参照すると NullPointerException が発生するのですが何故ですか?
また、
private int valueX = 50;
のようにフィールドを定義したあと、
System.out.println("valueX = " + this.valueX);
とやると 0 が出力されるのですが何故ですか?
原因が分からないので困っております。
ちなみに、開発環境は Eclipse3.1 と jdk1.5.0_05 です。
0015デフォルトの名無しさん
2005/12/08(木) 22:11:20ぬるぽ出ないしちゃんと50になるが・・・
public class Hoge {
private final int[] VALUE_LIST = {0, 1, 2, 3, 4};
private int valueX = 50;
void test() {
int value = this.VALUE_LIST[0];
System.out.println("valueX = " + this.valueX);
}
public static void main(String[] args) {
Hoge hoge = new Hoge();
hoge.test();
}
}
0016デフォルトの名無しさん
2005/12/08(木) 22:11:53とりあえずどんなメソッドにその文をかいている?
もう少し前後のプログラムを書けよ。
おそらくstaticフィールドをとかEclipseに警告はかれてるんじゃないか?
0017デフォルトの名無しさん
2005/12/08(木) 22:14:330018デフォルトの名無しさん
2005/12/08(木) 22:15:15変ですね・・・こちらの環境だけですかね?
>>16
コンストラクタからメインループに飛んで、
そこのループ開始直前で使っています。
0019デフォルトの名無しさん
2005/12/08(木) 22:17:180020デフォルトの名無しさん
2005/12/08(木) 22:20:390021デフォルトの名無しさん
2005/12/08(木) 22:41:05生成されたスレッドの中身の処理が担当です。
0022デフォルトの名無しさん
2005/12/08(木) 22:41:56調べてみます。
0023デフォルトの名無しさん
2005/12/09(金) 00:12:34>アプレット作ったけど一回目で表示ができないが、実行されてるっぽい
>再読み込みさせるとまともに表示できるけど
>これってIEが悪いんですか?それとも、俺の頭ですか?
前スレで、こんな書き込みした俺だけど事故解決したよ
再描画がおかしかったのは、paint()メソッドになにも処理を書いてないから
関係ないと思ってたけど、
オーバーライドしてんだから
再描画の処理でなにもしてないてことに気づいた
というわけでpaint(){ }のところ削除で解決しました。
0024デフォルトの名無しさん
2005/12/09(金) 02:55:15exec Start じゃなくて。
0025デフォルトの名無しさん
2005/12/09(金) 03:17:00教科書ぐらい買えとは思うな。
無料で済ませても大した勉強には成らない。
0026デフォルトの名無しさん
2005/12/09(金) 03:18:26Mustang(JavaSE6)以降なら
0027デフォルトの名無しさん
2005/12/09(金) 04:47:29ってエラーが出るのですが、
これを回避するにはどこでメモリーのサイズを
変更すればよいのでしょうか?
あと、メモリが大きくなるとやっぱり
CPUやPC全体に負担を与えることになるのでしょうか?
よろしくお願いします。
0028デフォルトの名無しさん
2005/12/09(金) 07:01:05何いってんだ
0029デフォルトの名無しさん
2005/12/09(金) 07:12:29自分のページにアクセスカウンタ、アクセス集計をしたいんだけど、
index.jspを作ってそこからファイルI/Oにアクセスしてファイルに
書き出すのが一般的なやり方?
それとも、StrutsやJSFで連携したほうがいい?
しかしJSPだとトップページがCGIやPHPで書かれている場合、
さすがにindex.phpとindex.jspとを混在させることはできないし、
困ったな。
0030デフォルトの名無しさん
2005/12/09(金) 07:26:110031デフォルトの名無しさん
2005/12/09(金) 07:28:08おまえ友達少ないだろ
0032デフォルトの名無しさん
2005/12/09(金) 08:05:06どうした?その短絡的反能。
おまえは友達の数にコンプレックスでもあるのか?
0033デフォルトの名無しさん
2005/12/09(金) 08:19:55ヒープ領域とかヒープサイズとかの設定でぐぐれ。
正直環境かいてないと答えにくいわ。
0034デフォルトの名無しさん
2005/12/09(金) 09:40:31byte型の数値を左に1ビットだけシフトして、「|」を使って論理積を変数に入れたいのですが、エラーが出てしまってできません。
byte x = 0;
x = x << 1;
x = x | 1;
がだめだったので、
x = x << (byte)1;
x = x | (byte)1;
にしてみたのですが、だめでしたorz
エラーメッセージは、
精度が落ちている可能性
検出値 : int
期待値 : byte
bits = bits << (byte)1;
^
と出ています。
どなたかわかる方いらっしゃいますか?
0035デフォルトの名無しさん
2005/12/09(金) 10:36:26Thread.sleep ではない方法でタイマーみたいなものを実現させるにはどうすればよいですか?
0036デフォルトの名無しさん
2005/12/09(金) 10:37:50byte[] b = a.getBytes();
で、bから"41"という文字列を取得したいのですが、
どうすれば良いのでしょうか?
new String(b)とすると結局"A"が戻ってきてしまいます。
>35
java.util.TimerにTimerクラスという便利なクラスがありまする。
0037デフォルトの名無しさん
2005/12/09(金) 10:39:22x <<= 1;
x |= 1;
キャストでやる場合は
x = (byte)(x << 1);
x = (byte)(x | 1);
0038デフォルトの名無しさん
2005/12/09(金) 10:42:47String a = "A";
byte[] b = a.getBytes();
String c = Integer.toHexString(b[0]);
// System.out.println(c);
0039デフォルトの名無しさん
2005/12/09(金) 11:31:33何種類かのファイル名があって
ファイル名の中に日付(YYYYMMDD)がはいってる。
ex)hoge20051209hoge.zip
日付の位置は種類によってまちまちだが日付が2つ以上入ることはない
ex)20051209hoge20051209hoge.zip みたいなのは存在しない
".*([0-9]{8}).*"で年月日すべての形では抽出できるのですが
以下2つのとり方がわかりません
1、年、月、日別々に取得
2、月だけ取得
いまは上記正規表現で
matcher.group(1)で取得した後
substringで切り分けてるんですが
できればかっこよく
1だったら
matcher.group(1)に年
matcher.group(2)に月
matcher.group(3)に日
2だったら
matcher.group(1)に月
みたいにとりたいのです。おしえれください
0040デフォルトの名無しさん
2005/12/09(金) 11:32:22JFrameを出したいんですがどのようにすればいいんでしょうか?
0041デフォルトの名無しさん
2005/12/09(金) 11:43:38004236
2005/12/09(金) 11:47:36ありがとうございます。
Integer使うんですね。
0043デフォルトの名無しさん
2005/12/09(金) 11:54:01".*(\d{4})(\d{2})(\d{2}).*"
で、たぶんできるかな。
matcher.group(1)に年
matcher.group(2)に月
matcher.group(3)に日
月だけ取得したいときは
matcher.group(2)を使うか
".*\d{4}(\d{2})\d{2}.*"
でmatcher.group(1)か
0044デフォルトの名無しさん
2005/12/09(金) 11:59:07これダウンロードしてdocs/index.htmlを開いて画像をクリックすると
表記と内容がてんでバラバラじゃないか?
Win+Firefox1.5とWin+IE6で試してみた。俺だけ?
0045デフォルトの名無しさん
2005/12/09(金) 12:10:44みんなの分をみらいから買ってきて5万円で売ってあげるのに
0046デフォルトの名無しさん
2005/12/09(金) 12:25:59少なくとも5.0のはずっとだめだね
0047デフォルトの名無しさん
2005/12/09(金) 12:30:38プログラムを書けと学校の宿題で言われたのですが、どうIf分を書けば
いいか分かりません。どなたか教えてください。
0048デフォルトの名無しさん
2005/12/09(金) 12:35:52★★ Java の宿題ここで答えます Part 54 ★★
http://pc8.2ch.net/test/read.cgi/tech/1133778112/
0049デフォルトの名無しさん
2005/12/09(金) 12:40:19そこだと丸投げしろと書いてあるので・・・
できれば自分で書きたいのでやり方だけ教えてもらいたいんです。すいません。
0050デフォルトの名無しさん
2005/12/09(金) 12:50:14ごめん、なんか正規表現使うやり方しか思いつかない。
if使ってってめんどくさそう。
0051デフォルトの名無しさん
2005/12/09(金) 12:59:15if文の書き方は以下の通り
if ( エラーになるときの条件 ){
エラーを返す処理
}
0052デフォルトの名無しさん
2005/12/09(金) 13:00:35そのぐらいのif文なら簡単だろ。
0053デフォルトの名無しさん
2005/12/09(金) 13:01:52だったら正規表現だな。
0054デフォルトの名無しさん
2005/12/09(金) 13:05:27JDIC 使え。
org.jdeskto.jdic.desktop.Desktop#browse(URL)
005534
2005/12/09(金) 13:21:39明日が提出期限の課題だったんですが、先ほどプログラム完成しました。・゚・(ノ∀`)・゚・。
そのプログラムが「Huffman Coding Algorithm」を使ってStringをencodeしてdecodeするというものなのですが、
日本でもこのアルゴリズムって習いますか?
0057デフォルトの名無しさん
2005/12/09(金) 13:40:48Huffmanは古典っつーか基礎っつーか。
基礎すぎて飛ばされる事はあるかもしれんが、
日本だからとかいう理由で習わないなんて事はないだろ。
0058デフォルトの名無しさん
2005/12/09(金) 13:54:14各種有料のコンポーネント、またはライブラリを使うしかないのでしょうか?
知ってる方いたら教えてください。
0059デフォルトの名無しさん
2005/12/09(金) 17:05:27プログラムのコンパイルまではいくんだけど、実行すると
Exception in thread "main" java.lang.NoClassDefFoundError: javax/net/ssl/SSLSocket
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:124)
at HelloJDBC.main(Compiled Code)
って出るんだけどなんでかな?
0061デフォルトの名無しさん
2005/12/09(金) 17:14:42pdfを自作できるんなら自作でいいんじゃね?
一ヶ月くらい時間はかかるだろうが、創れると思うよ
その時間を金はらって買ってるだけ
1.3までのフォーマットなら書籍で見れる
0062デフォルトの名無しさん
2005/12/09(金) 17:20:59実行環境が J2SE 1.3 だったりとか?
0063デフォルトの名無しさん
2005/12/09(金) 17:34:39> >>58
> pdfを自作できるんなら自作でいいんじゃね?
> 一ヶ月くらい時間はかかるだろうが、創れると思うよ
> その時間を金はらって買ってるだけ
> 1.3までのフォーマットなら書籍で見れる
iTextとかを使えば自作できそうです。
でも言われたように時間がかかりそうですが・・・
さくっと金払ってでも結合機能のあるコンポーネントを買ったほうが良さそう。
0064デフォルトの名無しさん
2005/12/09(金) 17:54:37ずっとか。そうか……
教えてくれてありがとう。
これで遠慮なくSunにゴルァできるよ。
しかし今まで直ってなかったってことは、
Sun社員は誰も直そうとしなかったってことなのか?
それともUserが誰一人ゴルァしなかったのか?
0065デフォルトの名無しさん
2005/12/09(金) 18:02:05実は誰も使ってない。
0066デフォルトの名無しさん
2005/12/09(金) 18:09:240067デフォルトの名無しさん
2005/12/09(金) 18:30:21//基本設定
//メインループ呼び出し
}
メインループ() {
while(true) {
Graphics gr = this.bufferStratery.getDrawGraphics();
//描画用メソッド(gr);
this.bufferStrategy.show();
gr.dispose();
try {
Thread.sleep(10);
} catch(InterruptedException ie) {
}
}
}
描画用メソッド(Graphics gr) {
//ここで画像組み立て
}
キーボード処理() {
//キーボード処理
}
こんな感じでゲーム(簡単な2Dアクションゲーム)を作っています。
しかし、ゲームのキャラの動きが環境によって速かったり遅かったりして、
アクションゲームとしては致命的な状態になっています。
どうすれば環境によらずに一定の速度にできますか?
ちなみに、FPSは大体45〜65くらいです。
結構開いていますが、これはキャラの速さ(移動量)には関係ないですよね?
これは描画切り替えの滑らかさの問題だと思うので。
0068デフォルトの名無しさん
2005/12/09(金) 18:43:31……あと、そこそこ高速の描画 API 使わない限り、FPS=60 は期待したくない。
0069デフォルトの名無しさん
2005/12/09(金) 18:49:20質問、.show()したら.dispose()しないとだめなの?
0070デフォルトの名無しさん
2005/12/09(金) 19:02:00第1列をint
第2列をdouble
にする事はできますか?
007167
2005/12/09(金) 19:28:09>>68
タイマーってもしかしてこういう処理のことですか?
メインループ() {
long timeOld = 現在時間(ms単位);
while(true) {
long timeNow = 現在時間;
if(timeNow - timeOld > 1000) {
//約1秒ごとに行う処理
timeOld = timeNow;
}
//描画部分省略
try {
Thread.sleep(10);
} catch(InterruptedException ie) {
}
}
}
>>69
いや、そんなことはなかったと思います。
ガベージコレクション関連でやってるだけです。
0072デフォルトの名無しさん
2005/12/09(金) 19:29:21if(timeNow - timeOld >= 1000) {
0073デフォルトの名無しさん
2005/12/09(金) 19:40:14ヒント:intとdouble共通の上位クラス型の配列
0074デフォルトの名無しさん
2005/12/09(金) 19:42:36Integer と Double だったら共通の上位クラスがあるけど、
int と double には、そんなものはありません。
0075デフォルトの名無しさん
2005/12/09(金) 19:49:56>>74
どうもです。
共通の上位クラスとはなんでしょうか?
0076デフォルトの名無しさん
2005/12/09(金) 19:51:01ヒント:オートボクシング/オートアンボクシング(Java SE 5の新機能)
0077デフォルトの名無しさん
2005/12/09(金) 19:55:35サンクス
0078デフォルトの名無しさん
2005/12/09(金) 19:59:50>>70 の要求と合致してないのでは?
0079デフォルトの名無しさん
2005/12/09(金) 20:12:520080デフォルトの名無しさん
2005/12/09(金) 20:20:570081デフォルトの名無しさん
2005/12/09(金) 20:26:090082デフォルトの名無しさん
2005/12/09(金) 20:35:44sleepは固定の時間停止
じゃぁ1ループでの処理時間がかわったときどうなるの?ってこと
つまりsleepの値が動的に変わるような感じに創らないといけない
1ループの時間を一定にするってことだね
これはJavaの話でもなんでもないよ
0083デフォルトの名無しさん
2005/12/09(金) 20:40:51フレーム毎にnドット移動とかせずに 経過時間 * 移動速度で移動距離決める。
>>71 みたいのでも良いけど。
0084デフォルトの名無しさん
2005/12/09(金) 20:43:372Dゲーといってるのにそんなことしたらひどいことになるんじゃね?
0085デフォルトの名無しさん
2005/12/09(金) 20:50:141ドットずれたら致命的みたいなゲームだと拙いだろうね。
その辺は >>67 が情報出さないのでこっちは判断できない。
拙ければ >>71 みたいので擬似的にフレーム/秒を固定するしかないのでは?
008671
2005/12/09(金) 20:56:35long timeDraw = 現在時間(ms単位);
long timeCount = timeDraw;
while(true) {
long timeNow = 現在時間;
if(timeNow - timeCount >= 1000) {
//約1秒ごとに行う処理
timeCount = timeNow;
}
if(timeNow - timeDraw >= 10) {
//描画部分省略
timeDraw = timeNow;
}
}
}
何度も質問して申し訳ないのですが、こんな感じのはどうでしょうか?
処理遅れの時にも10msの間きっちり待つのではなく、
前回の描画開始時間から10ms以上経過していたら再描画というふうにしました。
ただ、これだとCPUリソースをかなり独占してしまいそうなので不安なのですが・・・
0087デフォルトの名無しさん
2005/12/09(金) 20:59:27できなくもないけど、処理ははるかに難しいよ
0088デフォルトの名無しさん
2005/12/09(金) 20:59:310089デフォルトの名無しさん
2005/12/09(金) 21:00:180090デフォルトの名無しさん
2005/12/09(金) 21:04:270091デフォルトの名無しさん
2005/12/09(金) 21:04:42レスありが�d
なんかJDBCのバージョンとPostgreSQLのバージョンが合わなかっただけみたいだわ
どうにか解決したよm(_ _)m
0092デフォルトの名無しさん
2005/12/09(金) 21:11:39cmdを用いて
"Javac"でコンパイルはできるのですが
その後の実行ができません。
しばらく使ってなかったのですが
以前はちゃんと動いてました。
原因がわからないので
どなたか教えてくださいm(__)m
0093デフォルトの名無しさん
2005/12/09(金) 21:15:16弾幕シューが何で無謀なの?
0094デフォルトの名無しさん
2005/12/09(金) 21:19:32どっかフリーで出てるJNIライブラリを落としてこないといかんな。
主要OS全てに対応してなきゃJavaらしさはないが。
0095デフォルトの名無しさん
2005/12/09(金) 21:22:37>ループスピードが変わる
>処理ははるかに難しい
ど、どういうことですか?
正直、初心者なのでそこまでは分からないのですが・・・
>>88
趣味で作るだけなので、そこそこ見られるレベルであれば問題ないです。
フレッシュレートの半分の30fpsくらいですかね?
0096デフォルトの名無しさん
2005/12/09(金) 21:24:39チープと思われようがそこらへんにしとけば
低スペックマシンでも動くはず。
0097デフォルトの名無しさん
2005/12/09(金) 21:25:330098デフォルトの名無しさん
2005/12/09(金) 21:29:54一応jinputとかLWJGLっていうのがあるけど・・・
0099デフォルトの名無しさん
2005/12/09(金) 21:42:58他の環境ではキーボードのみでもかまわんけどな
パッド自体がWindows以外保障してないってのはある
UMAでも60fpsで1000個くらい玉出しても余裕なんだから弾幕は普通にいけるだろ
0100デフォルトの名無しさん
2005/12/09(金) 21:46:19>ループスピードが変わる
>処理ははるかに難しい
ところで、これの意味を教えて頂きたいのですが・・・
0101デフォルトの名無しさん
2005/12/09(金) 22:06:48環境変数を弄って、1.4→1.3に変えて、再起動したのですが、
コマンドプロンプトで「java -version」って打つと1.4になってしまいます。
1.3に変える事ってできないでしょうか?
0102デフォルトの名無しさん
2005/12/09(金) 22:09:43%SYSTEMDIR% (C:\Windows\System)にある java.exe とか javaw.exe 使ってるんじゃないかと思われ。
0103デフォルトの名無しさん
2005/12/09(金) 22:12:440104デフォルトの名無しさん
2005/12/09(金) 22:12:461ループにかかる速度がかわったら
普通非同期処理になるから初心者には難しいでしょ
0105デフォルトの名無しさん
2005/12/09(金) 22:16:33非同期処理の意味を間違えてないか?
0106デフォルトの名無しさん
2005/12/09(金) 22:17:400107デフォルトの名無しさん
2005/12/09(金) 22:28:10g.setColor(Color.black);
g.fillRect(this.getInsets().left, this.getInsets().top, this.canvasSizeX, this.canvasSizeY);
this.strategy.show();
これが BufferStrategy を使用して画面を黒一色にする処理になりますが、
ここで fillRect メソッドに注目してください。
this.getInsets().left と this.getInsets().top を描画領域の左上として指定しています。
この程度のものであれば「少し面倒だな」で済んでしまうのですが、
実際にもっと沢山描画したい場合には大変です。
なにしろ描画する際には常に X 座標・ Y 座標それぞれに足してやる必要があるからです。
そこで質問なのですが、どうにかしてこの面倒な部分をなくすことはできませんか?
つまり、左上を指定したいときには (X, Y) = (0, 0) で良いようにしたいのです。
どうにかなりませんかね?
0108デフォルトの名無しさん
2005/12/09(金) 22:28:39Java2D勉強して
0109デフォルトの名無しさん
2005/12/09(金) 22:31:01011171
2005/12/09(金) 22:35:42java.util.Timer クラスを使えってことですね?
色々と勘違いをしてしまっていたようで、お恥ずかしい。
つまり、コンストラクタから呼ばれるメインループ(メインスレッド)では常に描画を、
そして Timer で定期的かつ並列的にキャラの動作状況とかタイムカウントとかを行い、
描画に使うフィールド値に反映させれば良いと。
こういうことでしょうか?
0112デフォルトの名無しさん
2005/12/09(金) 22:37:55Timerはあくまでもメインスレッドを起こすだけにしとくべし
0113sage
2005/12/09(金) 22:41:25一定時間Sleepくり返すだけだと、GC走った時にとまって
まうのでは?
…コンカレントGCって実装済みだっけ?
0114デフォルトの名無しさん
2005/12/09(金) 22:48:291つは当然描画用。もうひとつはメインループ。
描画用は30fpsくらいで、メインは60fpsみたいな使い方をする。
0115デフォルトの名無しさん
2005/12/09(金) 22:55:57すみません。
Graphics クラスの解説読んだら即解決しました。
g.translate(this.getInsets().left, this.getInsets().top);
メソッドに対する知識不足でした。
猛省します。
0116デフォルトの名無しさん
2005/12/09(金) 23:04:22聞く前にまずいろいろと試してからにすればいいだけ
ゲーム方面が目的ならゲーム製作の板のほうがあってるかも
0117デフォルトの名無しさん
2005/12/09(金) 23:16:21今、どの言語から入ろうかと色々試しているのですが、
Javaの場合、.exeのようなそのまま実行出来る形式は作れないのでしょうか?
0118デフォルトの名無しさん
2005/12/09(金) 23:17:08JARという形式に固めれば、Windowsマシンでダブルクリックで起動できるお。
0119デフォルトの名無しさん
2005/12/09(金) 23:23:10Sun の JDK だけだと無理。
GCJ とか Excelsior JET みたいな AOTコンパイラ使えば作れる。
0120デフォルトの名無しさん
2005/12/09(金) 23:27:36>>119
なるほど、ご回答有難うございます。
>>119様の察しの通り、
SunのJDKを使ってサンプルを作ってみたのですが、
実行形式への作り方がいまいちわからず…でした。
GCJとExcelsior JETについて調べてみます。
ありがとうございます。
0121デフォルトの名無しさん
2005/12/09(金) 23:28:010122デフォルトの名無しさん
2005/12/09(金) 23:31:020123デフォルトの名無しさん
2005/12/09(金) 23:41:32static final long serialVersionUID フィールドが定義されていない
とか警告されるんだけど・・・
こいつにはどんな値をセットすればいいの?
0124デフォルトの名無しさん
2005/12/09(金) 23:42:480125デフォルトの名無しさん
2005/12/09(金) 23:51:49テキトーでヨシ。定義しないと、実行時のクラス情報から自動計算
されるので、定義しなくても動かないわけじゃない。
問題になることがあるのは、そのクラスのオブジェクトをシリアライズ
した時なので、シリアライズすることが絶対無いならヤッパリ定義不要。
0126デフォルトの名無しさん
2005/12/09(金) 23:53:350127デフォルトの名無しさん
2005/12/09(金) 23:56:57ハァ?
JPEG形式ですでにシリアライズしてあるじゃんよ・・・
0128デフォルトの名無しさん
2005/12/09(金) 23:58:11ありがとっす
0129デフォルトの名無しさん
2005/12/09(金) 23:59:11DBにバイナリで詰めたいんだよ
0130デフォルトの名無しさん
2005/12/09(金) 23:59:57BLOBじゃいかんのけ?
0131デフォルトの名無しさん
2005/12/10(土) 00:04:28今度はどう読み込めばいいのか想像が付かない
バイナリでテンポラリディレクトリにファイル化させてから再読み込み?
0132デフォルトの名無しさん
2005/12/10(土) 00:05:14なんでそんなことせにゃならんのよ。
0133デフォルトの名無しさん
2005/12/10(土) 00:14:430134デフォルトの名無しさん
2005/12/10(土) 00:16:30バイト列やInputStreamからどうやって画像に変換するの?
0135デフォルトの名無しさん
2005/12/10(土) 00:18:38検索すればいくらでも引っかかるし、APIみればいくらでも
0136デフォルトの名無しさん
2005/12/10(土) 00:19:52Toolkit.getDefaultToolkit().createImage
0137デフォルトの名無しさん
2005/12/10(土) 00:20:22あったこれかも。
バイト列で変換できたほうが嬉しいな
0138デフォルトの名無しさん
2005/12/10(土) 00:20:52ありがと。調べてみるよ。
0139デフォルトの名無しさん
2005/12/10(土) 00:21:37うっかり改行を\nにしたり、ディレクトリセパレータを\にしていたりすれば、
環境依存になってしまいますよね。
「どこかでやらかしてないか」を確認する方法はあるでしょうか?
0140デフォルトの名無しさん
2005/12/10(土) 00:22:28ByteArrayInputStream 噛ませてみれば良いのでは?
0141デフォルトの名無しさん
2005/12/10(土) 00:23:52ファイルのパス指定はスラッシュなら大丈夫
改行とかそのへんだけはさすがに埋め込んだらダメだけど
0142デフォルトの名無しさん
2005/12/10(土) 00:28:54FindBugsでチェックできない?
0143デフォルトの名無しさん
2005/12/10(土) 00:30:43おお、そんなキチガイ染みたラッパクラスがあるとは。
これで何でもBufferedImageで取れるようになったよ。
ありがとね。
>>136
Toolkitも簡単でいいね。
ImageIOが登場するまではこっちが使われてたのかな。
0144デフォルトの名無しさん
2005/12/10(土) 00:44:260145デフォルトの名無しさん
2005/12/10(土) 00:51:36>おお、そんなキチガイ染みたラッパクラスがあるとは。
今までどんなライブラリ使ってたのよ。
0146デフォルトの名無しさん
2005/12/10(土) 01:25:470147139
2005/12/10(土) 02:02:35なるほど。JNIを使うつもりは勿論無いので、
文字周りを注意すれば何とかなる、と言うところでしょうか。
>>142
FindBugsは使ったことが有りませんでした。
調べてみます。
0148デフォルトの名無しさん
2005/12/10(土) 02:05:54ちなみにFindBugsの記事が
JavaPress Vol.45に載ってたりする
0149デフォルトの名無しさん
2005/12/10(土) 07:44:39java.util.Timerのほうではなくて、java.swing.Timerじゃないの?
0150デフォルトの名無しさん
2005/12/10(土) 09:39:35ひとつのスレッドで複数のTimerTaskを動かせる優れたスレッドだ
0151デフォルトの名無しさん
2005/12/10(土) 09:44:25javax.swing.Timerだって、複数の処理を動かせるけど?
0152デフォルトの名無しさん
2005/12/10(土) 09:48:25utils.Timerは違うタイミングで複数の処理を単一スレッドで行う。
0153デフォルトの名無しさん
2005/12/10(土) 09:50:33なるほどね。
でもそれってほんとに一つのスレッドでやってるの?
0154デフォルトの名無しさん
2005/12/10(土) 09:55:180155デフォルトの名無しさん
2005/12/10(土) 10:06:21なーんか、いまいちだね。
俺がjavax.swing.Timerがいいなぁと思う理由はね、
ポーズがかけられる(一時停止/再開)
途中で何回でも処理間隔を変更できる
のふたつ。
テトリスのように、レベルアップするたびに
処理が速くなる奴には向いてる。
0156デフォルトの名無しさん
2005/12/10(土) 10:14:45イヴェントキューを介さないから正確なことがutilのメリット
TimerTaskそのもの切り替えれば感覚も変更できる。
まぁswingのが分かりやすい場面も多いだろうけどね。
0157デフォルトの名無しさん
2005/12/10(土) 10:32:45場面によって使い分ければいいのかな
0158デフォルトの名無しさん
2005/12/10(土) 11:19:330159デフォルトの名無しさん
2005/12/10(土) 11:28:550160デフォルトの名無しさん
2005/12/10(土) 12:05:02> String a = new String("A");
が
String a = new String('A`) ;
に見えた
0161デフォルトの名無しさん
2005/12/10(土) 12:23:10private Timer t;
public Test{
t = new Timer();
TimerTask task = new TimerTask() {
public void run() {
//ここ
}
});
t.schedule(task, 1000L);
}
public void countHoge(){
hoge++;
}
TimerTask の Run() メソッドの中(ここって書いてあるとこ)から、
countHoge() を呼び出したい場合にはどうしたらいいの?
0162デフォルトの名無しさん
2005/12/10(土) 12:33:110163デフォルトの名無しさん
2005/12/10(土) 12:37:13普通はループスピードを調整するんじゃなくて、
ゲーム内処理は一定で、ウエイトを調整するんじゃないか?
0164デフォルトの名無しさん
2005/12/10(土) 12:55:11ファイル開いたら文字化けしやがった
文字コード変換マンドクセー
全部UTF-8で統一しろやヴォケ
0165デフォルトの名無しさん
2005/12/10(土) 13:08:44普通にできるということ?
0166デフォルトの名無しさん
2005/12/10(土) 13:13:01という話が1スレに1度はでてくるね
0167デフォルトの名無しさん
2005/12/10(土) 13:17:43描画はイベントディスパッチスレッドでやらないと、AWTの動作保証外ですよ
という話の考慮が抜けてる流れ?
0168デフォルトの名無しさん
2005/12/10(土) 13:43:16こゆこと?
new TimerTask(this);
public TimerTask(Frame f) {
0169デフォルトの名無しさん
2005/12/10(土) 13:49:34AWTイベント使わない話でしょ?
BufferStrategy使用の話じゃないの?
0170デフォルトの名無しさん
2005/12/10(土) 13:50:13クラス名がダブってるからだめだけどそういうこと
0171デフォルトの名無しさん
2005/12/10(土) 13:57:02描画のための変数値変更(描画位置とか画像とか)をTimerとか別スレッドとかでやってさ
所詮は描画なんだしさ
30fpsだろうが100fpsだろうが1000000fpsだろうがどうでも良いだろ
描画の回転にあわせて描画位置とか決定しているアフォプログラムでなければな
0172デフォルトの名無しさん
2005/12/10(土) 14:06:30そのへんわかっていれば初心者の域は脱してるだろうからね
そもそもJavaの話ですらない
0173デフォルトの名無しさん
2005/12/10(土) 14:16:32そりゃすこし違うよ
変数値変更を行った最後で描画要求を入れるけど
そこでただちに描画されるわけではないよ
描画は描画要求が処理された時点で行われる
つまり変数値変更の間隔が狭いとそれだけ描画回数が増える
これはたとえばアニメーションのスムーズさに繋がっていく
だからどうでもよくはない
0174デフォルトの名無しさん
2005/12/10(土) 14:27:46とりあえず描画回転は>>71にあるみたいにしてさ
おおよそ60fps前後になるようにさ
カウントとかの変数値変更はTimerって感じで
0175デフォルトの名無しさん
2005/12/10(土) 14:38:150176デフォルトの名無しさん
2005/12/10(土) 14:43:540177デフォルトの名無しさん
2005/12/10(土) 14:49:01リアルタイム性を求めるとしたら
前の描画からの経過時間を判定して
変数値を調整するしかないと思う
こうすれば環境依存度は小さくなると思うよ
0178デフォルトの名無しさん
2005/12/10(土) 14:49:050179デフォルトの名無しさん
2005/12/10(土) 14:52:28CPUに近い部分をJavaでは書けないから。
C++なら、いざとなればCやアセンブラが使えるからね。
0180デフォルトの名無しさん
2005/12/10(土) 14:57:070181デフォルトの名無しさん
2005/12/10(土) 14:58:46そのたとえはおかしいような
それだとJNIでCがさわれるしねといわれてしまう
0182デフォルトの名無しさん
2005/12/10(土) 15:01:030183デフォルトの名無しさん
2005/12/10(土) 15:01:49JNIは、単にネイティブライブラリを作る手段が別にあるというだけ。
C++の場合は、処理系が同じ。
0184デフォルトの名無しさん
2005/12/10(土) 15:03:100185デフォルトの名無しさん
2005/12/10(土) 15:08:440186デフォルトの名無しさん
2005/12/10(土) 15:11:290187デフォルトの名無しさん
2005/12/10(土) 15:14:51むかしはほとんどがいざというときだったんじゃね?
今でももっさりとしたシミュレーションやアクションゲームを見かけるので
やっぱりいざという時はまだまだありそうだね。
でもハードの高性能化でいざという時はかなり減ってきてるよね。
0188デフォルトの名無しさん
2005/12/10(土) 15:40:200189デフォルトの名無しさん
2005/12/10(土) 16:06:400190デフォルトの名無しさん
2005/12/10(土) 16:16:06とゲーム作成スレでも結論が出てたな
ヒープと違ってVRAMの破棄タイミングが大変っぽい
0191デフォルトの名無しさん
2005/12/10(土) 16:16:340192デフォルトの名無しさん
2005/12/10(土) 16:35:09そっか・・・
じゃあ、起動時に選択するようにするしかないな
0193デフォルトの名無しさん
2005/12/10(土) 18:14:47> じゃあさ、何でゲームに不向きとか研究用PGに不向きとか言われてるの?
何か、勘違いしているようだが、Javaを使った研究は盛んなわけだが。
大学では講義に使われる言語をC++からJavaに
切り替えたところが増えてきたわけだし。
0194デフォルトの名無しさん
2005/12/10(土) 18:19:39何割を示すかなんて固定的な数値で示せるとはとても思えないが、
ゲームというと、
PS2のようにビデオメモリとCPUとの間にかかるブリッジの帯域が
非常に小さくビデオメモリ自体も小さいため
メモリを大量消費するJavaでの開発がしづらいというのがある。
Javaが抱えている問題はメモリくらいしかない。
速度問題はさほどきにならなくなってきた。
メモリ問題もハードウェア次第。512MBが当たり前の時代には気にすることは
少ない。ただ人気のあるゲーム機に使われるメモリ容量が
小さいのがJavaが使いにくい原因だったりする。
携帯Javaでは昔のゲームの移植が盛んに行われてはいるが
開発のやりづらさ、開発効率の悪さ、はJavaサーバ製品開発とは比べものにならない。
0195デフォルトの名無しさん
2005/12/10(土) 18:25:08シミュレーションゲームだったら
アクション性を求めないのでもっさり感は
少ないと思われるが。
特にCivilizationのようなターン制シミュレーション(ストラテジー)なら。
ターン待ちだけに時間をかければ良いだけで。
それからあの手のゲームは、各々の文明が領土が拡大すればするほど、
各々の文明が所持するユニット数が大ければ多いほど
もっさりしてくる。当然と言えば当然だが。
あのゲームCivシリーズから派生したAge Of Empireシリーズも同様。
SimシリーズやA列車シリーズなどにもいえてくるが。
文明同士の外交処理を考えると、文明をいくつか滅ぼすと
その分余分な処理が減ってもっさり感が減るというのはあるがw
実はあのゲームPythonが使われていて、Pythonでスクリプト書くと
改造とか細かいシナリオを作れてしまうわけだが。
0196デフォルトの名無しさん
2005/12/10(土) 18:28:12次期Java バージョン
Java SE 6 Mustangではデスクトップ周り
が改善されているようだからそっちに期待してみては
どだろ。
パフォーマンスもあがるらしいし
0197デフォルトの名無しさん
2005/12/10(土) 19:08:520198デフォルトの名無しさん
2005/12/10(土) 19:43:42import System.out.*; とやってもパッケージがないらしく無理でした。
省略する術はありますでしょうか?
0199デフォルトの名無しさん
2005/12/10(土) 19:49:26:
:
out.println(...
0200デフォルトの名無しさん
2005/12/10(土) 19:50:160201デフォルトの名無しさん
2005/12/10(土) 20:07:43256mbしかメモリつんでない環境にして、
適当にJavaのIDEとか動かしてみろよ。
マジでぶちぎれそうになるから。
0202デフォルトの名無しさん
2005/12/10(土) 20:10:050203デフォルトの名無しさん
2005/12/10(土) 20:15:54ありがざいます! いままで、僕はどれだけ指を痛めてきたことか…
本当にあったとは、少し感動してしまいました。
>>200
なるほど(・д・)フムフム
0204デフォルトの名無しさん
2005/12/10(土) 20:52:09メモリ64MのノートPCでEclipse使ってる
俺に対するあてつけか?
0205デフォルトの名無しさん
2005/12/10(土) 21:02:43俺がPC買った数年前の当時では、メモリ256MBでも相当なハイスペックだったのだがな
0206デフォルトの名無しさん
2005/12/10(土) 21:03:35フリーズしやがったから、ぶちぎれてたわけですよ。
しかもコンパイルとかの時にソケットとか使ってるみたいで、
ファイヤーウォールで通信遮断状態だとコンパイル実行できない。
本当にありがとうございました。
0207デフォルトの名無しさん
2005/12/10(土) 21:05:29localhostへの通信遮断しなきゃいいんじゃね
0208デフォルトの名無しさん
2005/12/10(土) 21:12:07static importのほかに
PrintStream p = System.out;
p.println();
というやり方もできる。
>>200
PrintStreamを使えば問題ない
0209デフォルトの名無しさん
2005/12/10(土) 21:13:08NetBeansやEclipse3.1なら問題なく軽いので
気にならない。
プラグイン追加やプロジェクト内の警告数、ファイル数増加
に伴ってEclipseが重たくなることはあるが
0210デフォルトの名無しさん
2005/12/10(土) 21:14:55面倒くさいならIDE使えよ。
Eclipseでエディタ上でsysoutと入力してCtrl + Space
と推して皆。
NetNeansでsysなんとかとCtrl + Space
と押してみな
0211200
2005/12/10(土) 21:16:04質問の意図を汲み取る限り、質問者は
System.out.println();
を
println();
まで省略したいと言っているように感じたんだが。
そういう意味で out の省略はムリ。メソッド作れば何とかなるが、逆に長くなるだろう。
0212デフォルトの名無しさん
2005/12/10(土) 21:17:31どうせ
Norton Internet Securityとかが
悪さしてるんだろ
0213デフォルトの名無しさん
2005/12/10(土) 21:18:08歳代ヒープメモリサイズ調整してみろよ
0214デフォルトの名無しさん
2005/12/10(土) 21:59:42こんなPrintStreamのラッパークラス作ってしまえばいい
package net.2ch.www.printer;
public class Printer {
private Printer(){}
public static void print(String s){
System.out.println(s);
}
//println()のオーバロードメソッドが多すぎるので(ry
//Genericsでパラメタライズすればオーバロードメソッドを省けるかもしれん
}
//実際に使用するとき
import static net.2ch.www.printer.Printer.*;
public class Test{
void method(){
println("あああああああああ");
}
}
}
0215デフォルトの名無しさん
2005/12/10(土) 22:05:28あのさ、俺が何のために最後の一文を書いたか分かってないだろ。
0216デフォルトの名無しさん
2005/12/10(土) 22:08:43クラスごとにprintlnメソッド書けばいいだけの話じゃないか
ど素人が
0217デフォルトの名無しさん
2005/12/10(土) 22:09:01import java.util.Locale;
public class Printer {
private Printer(){}
public static <T> void println(T t){
print(t + "\n");
}
public static <T> void print(T t){
System.out.print(t);
}
public static void printf(Locale locale, String format, Object... args){
System.out.printf(locale, format, args);
}
public static void printf(String format, Object... args){
System.out.printf(format, args);
}
}
これでC言語のprintf()文がJavaでも実現可能。
//実際に使用するとき
import static net.2ch.www.printer.Printer.*;
public class Test{
void method(){
printf("%3.4f", 13333.9999999999);
}
}
0218デフォルトの名無しさん
2005/12/10(土) 22:10:31おまえにはこれが長いのか?
import static net.2ch.www.printer.Printer.*;
ならばPrinterクラスのpackage宣言を
package java.lang;に(ry
0219デフォルトの名無しさん
2005/12/10(土) 22:11:310220デフォルトの名無しさん
2005/12/10(土) 22:14:49そんなのしらんかったorz
0221デフォルトの名無しさん
2005/12/10(土) 22:16:57お前はたぶん悪い奴じゃないから突っこまない。
揚げ足なんてとらないからな!
0222デフォルトの名無しさん
2005/12/10(土) 22:21:570223デフォルトの名無しさん
2005/12/10(土) 22:24:19NetBeansの高級版?それとも毛色変えてきてる?
0224デフォルトの名無しさん
2005/12/10(土) 23:08:29兎に角重い
0225デフォルトの名無しさん
2005/12/10(土) 23:11:28を使う理由も分からない
まぁ俺は個人で趣味程度でやってるから
Enterpriseじゃ無くてcreatorの方が良かったのかも
0226デフォルトの名無しさん
2005/12/10(土) 23:15:35いわゆるそのメソッドを必ず使わせるという保証というか確約させる以外にあるのでしょうか?
0227デフォルトの名無しさん
2005/12/10(土) 23:18:07私はネットネアンデルタール人です
0228デフォルトの名無しさん
2005/12/10(土) 23:19:57Serializableインタフェースの使い方を盛れば
制約以外にも意義がある。
というか前スレでも同じ質問があったような。
デジャブ?
0229デフォルトの名無しさん
2005/12/10(土) 23:24:14で、どういうリアクションがお望みだい?
0230デフォルトの名無しさん
2005/12/10(土) 23:24:22とにかくといわず、
マシンスペックを教えれ
とにかく=兎に角
という意味を教えてくれた友人よ
0231デフォルトの名無しさん
2005/12/10(土) 23:24:56私はネット豆星人です
0232デフォルトの名無しさん
2005/12/10(土) 23:27:280233デフォルトの名無しさん
2005/12/10(土) 23:27:48周りの枠の部分も含めた全体のサイズを設定するにはどうしたら良い?
リファレンスを読むとgetInsets()を使えば良さそうなんだけど、コンストラクタで
left+right+sizeXとtop+bottom+sizeYをやってみたけどなぜか変更されないんだ
どうすれば良いですか?
0234デフォルトの名無しさん
2005/12/10(土) 23:28:24JavaDocじゃなくてアプリのほうのやつね。
MSだとコンパイル済みHTMLとかいうのがスタンダードだよな
0235デフォルトの名無しさん
2005/12/10(土) 23:29:24それであってるが推奨サイズのほう弄ってないかい?
0236デフォルトの名無しさん
2005/12/10(土) 23:31:21推奨サイズってなんですか?
0237デフォルトの名無しさん
2005/12/10(土) 23:33:070238デフォルトの名無しさん
2005/12/10(土) 23:38:36インターフェース関連で質問ですが
ItestClass(インターフェース)
testClass(クラス)
こうあった場合よく
ItestClass tc = new testClass();
上記みたいにインスタンス化するときに、インターフェースを返してする場合が多々ありますが
あれってなぜそうするのでしょうか?
いまいちそれをするメリットがわかりにくいのですが
0239デフォルトの名無しさん
2005/12/10(土) 23:40:50・そのうち分かる。無理に分かろうとしなくても良い。
0240デフォルトの名無しさん
2005/12/10(土) 23:42:37そのインターフェースを継承したクラスなら
受け取ることが出来るから
0241デフォルトの名無しさん
2005/12/10(土) 23:42:510242デフォルトの名無しさん
2005/12/10(土) 23:45:040243デフォルトの名無しさん
2005/12/10(土) 23:47:00windowClosing(WindowEvent e)
の設定はフルスクリーンの場合は不要?
だって閉じるボタンもタイトルバーもないじゃん
0244デフォルトの名無しさん
2005/12/10(土) 23:47:260245デフォルトの名無しさん
2005/12/10(土) 23:47:40DocJar
0246デフォルトの名無しさん
2005/12/10(土) 23:47:510247デフォルトの名無しさん
2005/12/10(土) 23:48:58メソッドの引数に
method(ItestClass testClass)
と指定されているものがあるから
0248デフォルトの名無しさん
2005/12/10(土) 23:50:01Java help API
ただしもう古い
HTMLで十分。
不満ならDoxygenで生成せよ
0249デフォルトの名無しさん
2005/12/10(土) 23:57:16ありがとうございます
具体的にそこらへんの詳細な説明があるサイトとかあるのでしょうか?
ぐぐってもみつからなかったので
0250デフォルトの名無しさん
2005/12/10(土) 23:59:17java の本を一冊買ってけろ。多少の厚みがあるやつだったら、それ一冊で当分の疑問点は全部消えるから。
0251デフォルトの名無しさん
2005/12/10(土) 23:59:39Swingでそういうのを作らないと、Javaもまだまだフリーソフト作家に気に入られることができない。
もっと頑張れSUN。
0252デフォルトの名無しさん
2005/12/11(日) 00:01:27関係ないが、SUNの分厚い奴買ったけど読まずじまいだった。
SJCPとかの資格参考書と標準のJavaDocとかのが身につくと思った。
0253デフォルトの名無しさん
2005/12/11(日) 00:10:50オブジェクト指向の本読むと良いよ
0254デフォルトの名無しさん
2005/12/11(日) 00:13:09あとCollectionFrameworkあたりもそうだね。
実際にどう使われているのかを追うのが理解と実践度の向上に役立つ。
0255デフォルトの名無しさん
2005/12/11(日) 00:27:41振る舞いを他のクラスに任せて
実装を自分で書く事。
例えばThread run()が実装で
start()が振る舞い
大体javaで多様性(?)を実現しようと思ったら
継承かインターフェイスを実装するのが普通と思う。
と結城先生の本を読んでインターフェイスがクラスのグループ分け
が主な目的では無いと最近思う。
>>230
athon64 3000+
512
単に使い方が悪いだけかも分からんが
アクセレータを下げないとPCがフリーズ
0256デフォルトの名無しさん
2005/12/11(日) 00:30:07その実装のされ方を事前に知っていないと感動もできないがな。
0257デフォルトの名無しさん
2005/12/11(日) 00:47:49Petersonのアルゴリズムが、相互排除をどのように保障しているか
分からないのですが、誰か分かる方教えてくれませんか?
お願いします!!
0258デフォルトの名無しさん
2005/12/11(日) 00:49:21abstract class super_class {
void test() {
}
}
は
abstract class super_class {
abstract void test() {
}
}
のようにメソッドにもabstract修飾子をつけることができますよね
けれど、そうした場合クラスの方にもこれを付けないといけないとの
事ですが、ではメソッドにabstractを付ける場面は一生ないと考えて
よろしいでしょうか?
0259デフォルトの名無しさん
2005/12/11(日) 00:51:19んなこたない。テンプレートパターンというのがある。
abstractメソッドの使われ方は同じ、だけど実装方が違うとかあるとき使う。
0260デフォルトの名無しさん
2005/12/11(日) 00:55:15返値がvoid以外のメソッドで試してみろ。
0261デフォルトの名無しさん
2005/12/11(日) 00:58:18それビデオカードとドライバの問題では?
DirectX使って描画してるんだよ>Java
設定でoffにもできるけど
0262デフォルトの名無しさん
2005/12/11(日) 01:00:26コンストラクタということは表示してないね
表示、もしくは表示の準備をしないとインセットは取得できない
通常そういうのを考えたくないときはボーダーレイアウトで配置、
それの推奨サイズを指定するのが一般的
0263デフォルトの名無しさん
2005/12/11(日) 01:01:30GraphicsDevice device2 = device.getDefaultConfiguration().getDevice();
上の GraphicsDevice と下の GraphicsDevice は同じものですか?
0264デフォルトの名無しさん
2005/12/11(日) 01:08:24そう思うならお前が作れ。検索程度ならそう難しいことではないぞ。
EclipseにはすでにJavaで似たような検索エンジンを搭載しているぞ。
フリーソフト作家の「作家」という表現がなんだかな。
開発経験のない単なる芸術家や文学小説家レベル程度の人間じゃあるまいし。
標準のこともよく考えてテストもよくやってより多くの人にレビューして貰ってる
オープンソースソフトウェア開発者と
単なる個人の自己満足で終わってしまう傾向の強いVectorや窓の杜の
ようなフリーソフトウェア開発者とを比較するのもどうかと。
0265デフォルトの名無しさん
2005/12/11(日) 01:09:52結城浩の「Java言語で学ぶデザインパターン入門」を嫁。
前スレ、前々スレ、いやその前スレ以前から何度も何度もこの本の紹介が出てると思うが。
0266デフォルトの名無しさん
2005/12/11(日) 01:12:390267デフォルトの名無しさん
2005/12/11(日) 01:12:41経験があれば検索なしですぐにわかるんだが
0268デフォルトの名無しさん
2005/12/11(日) 01:13:52お手製ヘルプともなるとクラスの羅列みたいな表記じゃなくなるし
検索機能は必須かも。swingのHTMLって評判どうなん?
0269デフォルトの名無しさん
2005/12/11(日) 01:24:03これは逆にhtmlだからこその強みだな
0270デフォルトの名無しさん
2005/12/11(日) 01:24:19> >>226
> 振る舞いを他のクラスに任せて
> 実装を自分で書く事。
> 例えばThread run()が実装で
> start()が振る舞い
UMLとオブジェクト指向という視点で見れば
どちらもクラスを構成する「振る舞い(メソッド)」なのだが。
0271デフォルトの名無しさん
2005/12/11(日) 01:29:11特定のメッセージを受けとれることを保障するためのものだな
0272デフォルトの名無しさん
2005/12/11(日) 01:33:33GeneralPathのオブジェクトを書き込み&読み込みする方法って誰かわかりませんか?
0273デフォルトの名無しさん
2005/12/11(日) 01:34:08「Exception in thread "main" java.lang.NoClassDefFoundError: 」
って出るんだが、パスの設定は出来たんだが、
クラスパスが上手く遺憾。
毎回最初にコマンドプロンプト開いてset CLASSPATH=%CLASSPATH%;.
って入力すると出来るんだが、毎度毎度この作業しなきゃ通らないからデフォで設定するにはどうしたら良いんだ
Wikiのリンク先も消えてて分からんぜ・・・
0274デフォルトの名無しさん
2005/12/11(日) 01:36:370275デフォルトの名無しさん
2005/12/11(日) 01:49:56DocJarのことか?
http://www.docjar.com/
Firefoxつかってるってことか
XPIファイルでプラグインをインストールして検索窓に
追加して使ってるということか。
Eclipseのプラグインにも追加されて
自分、あるいは誰かが書いたコードの
クラスからJavadocを検索できるが。
0276デフォルトの名無しさん
2005/12/11(日) 01:53:130277デフォルトの名無しさん
2005/12/11(日) 01:57:21Apache Antの<classpath>タスクを使え。
0278デフォルトの名無しさん
2005/12/11(日) 01:59:12それもApache Luceneを使えば問題なし。
0279デフォルトの名無しさん
2005/12/11(日) 01:59:47public class GUI21 {
public static final int frame_x=800,frame_y=650;
public static void main(String[] args) {
MyFrame21 frame1=new MyFrame21();
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1.setBounds(110,50,frame_x,frame_y);
frame1.setVisible(true);
}
}
下に続く
0280デフォルトの名無しさん
2005/12/11(日) 02:00:12class MyFrame21 extends JFrame{
BufferStrategy bufferStrategy1;
BufferedImage bufferedImage1;
static int x=50,y=50;
MyFrame21(){
this.setIgnoreRepaint(true);
this.setResizable(false);
this.createBufferStrategy(2); //ここでIllegalStateExceptionが発生
bufferStrategy1=this.getBufferStrategy();
try {
bufferedImage1=ImageIO.read(getClass().getResource("k_01.gif"));
} catch (IOException e) {
e.printStackTrace();
}
Timer timer1=new Timer();
timer1.schedule(new MyTimerTask21(),30,30);
}
0281デフォルトの名無しさん
2005/12/11(日) 02:00:36class MyTimerTask21 extends TimerTask{
MyFrame21 frame1;
public void run() {
Graphics g=bufferStrategy1.getDrawGraphics();
if(bufferStrategy1.contentsLost()==false){
g.clearRect(0,0,GUI21.frame_x,GUI21.frame_y);
g.drawImage(bufferedImage1,x,y,frame1);
y+=4;
bufferStrategy1.show();
g.dispose();
}
}
}
}
長くてすみません
0282デフォルトの名無しさん
2005/12/11(日) 02:07:03javadocくらい読んでくれ。
0283デフォルトの名無しさん
2005/12/11(日) 02:11:350284デフォルトの名無しさん
2005/12/11(日) 02:12:42そうそう、今こそDocJarが真価を発揮するときだ
0285デフォルトの名無しさん
2005/12/11(日) 02:15:35変数名がうんち
クラス名がうんち
あとからリファクタリングできるのだから
多少長くても判り易くしようぜ
0286デフォルトの名無しさん
2005/12/11(日) 02:19:38Javadocを読んでないというよりも
どうも自分で作ったクラスの読み方をわかってないというか。
0287デフォルトの名無しさん
2005/12/11(日) 02:39:45そのメッセージを表示させてみたら
Buffers have not been created
と表示されたのですが、どうしてですか?
0288デフォルトの名無しさん
2005/12/11(日) 02:41:070289デフォルトの名無しさん
2005/12/11(日) 02:43:22どうすればいいんでしょうか?
0290デフォルトの名無しさん
2005/12/11(日) 02:45:310291デフォルトの名無しさん
2005/12/11(日) 02:46:43昇順にソートしたら、最後尾になるんでね?
0292273
2005/12/11(日) 02:48:24ここのCLASSPATHって所の末尾に;.ってつければ良いの?
何か全く上手く遺憾
ぐぐってもどこも説明が「.」を追加しろみたいってワカンネェヨ!
0293デフォルトの名無しさん
2005/12/11(日) 02:49:03java.util.Arrays#sort()
0294デフォルトの名無しさん
2005/12/11(日) 02:50:39ttp://msugai.fc2web.com/java/app/setup.html
0295デフォルトの名無しさん
2005/12/11(日) 02:53:130296273
2005/12/11(日) 02:56:010297289
2005/12/11(日) 03:03:12こんな感じで最大値は求めました。
public static int saidai( int[] data ) {
int max = data[0];
for( int i=1; i<data.length; i++ ) {
if( data[i] > max )
max = data[i];
}
return max;
}
どうすればいいでしょうか。
0298デフォルトの名無しさん
2005/12/11(日) 03:05:10maxを入れ替えるときにiを保存しておけ
0299デフォルトの名無しさん
2005/12/11(日) 03:28:38BigInteger, BigDecimal
0300デフォルトの名無しさん
2005/12/11(日) 04:05:23どうでもいいけどさ、よほどの必要性がない限りInnerClassやめようぜ。
0301デフォルトの名無しさん
2005/12/11(日) 05:04:43変な終わり方をすると再起動しないといけなくなるので
0302デフォルトの名無しさん
2005/12/11(日) 06:23:31indexだけをreturnすればいい。
0303279
2005/12/11(日) 10:40:11初心者なりにcreateBufferStrategy(2);メソッドは、setVisible(true); として可視状態にしてからでないと
使えないという考察をしましたが、合ってますでしょうか?
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1.setBounds(110,50,frame_x,frame_y);
frame1.setVisible(true);
0304デフォルトの名無しさん
2005/12/11(日) 12:31:58というより表示準備だったかも
DirectXも表示後じゃないと駄目なんでそれでいいかと
0305デフォルトの名無しさん
2005/12/11(日) 12:53:06public int max(int[] array){
int max = Integer.MINIMUM_VALUE;
for(int i = 0; i < array.length; i++){
max = Math.max(max, array[i]);
}
return max;
}
int[] arraySample = 最大値を求めたい配列;
int result = max(arraySample);
0306デフォルトの名無しさん
2005/12/11(日) 15:25:35ばかか?
0307デフォルトの名無しさん
2005/12/11(日) 15:45:51それとも最大値のindexを求めたいの
いったいどちらなのだろうか、はっきりしない。
最初は最大値を求めたいといっていたのに
こんどは最大値のindexを求めたいと主張。
さて、どっちだ?
0308デフォルトの名無しさん
2005/12/11(日) 15:49:39* 最大値のインデックスを求める.
* @param array int[]型の配列
* @return インデックスの最大値
*/
public static int maxIndex(int[] array){
int max = Integer.MINIMUM_VALUE;
int index = 0;
for(int i = 1; i < array.length; i++){
if(array[index] < array[i]){
index = i;
}
}
return index;
}
0309デフォルトの名無しさん
2005/12/11(日) 15:51:29Eclipseのヘルプはええぞ。
最初の起動はインデックス作成で重たいが
次回からはかなり軽くなる。
Eclipse3.1になってから大部軽くなってきた。
0310デフォルトの名無しさん
2005/12/11(日) 15:53:26先頭要素は検査しないの?
intの最小値使うとかそんなテクニックより注意すべきところはあるんじゃない?
0311デフォルトの名無しさん
2005/12/11(日) 15:55:000312デフォルトの名無しさん
2005/12/11(日) 15:55:37最初からindex求めたいって言ってなかった?
0313デフォルトの名無しさん
2005/12/11(日) 15:59:030314デフォルトの名無しさん
2005/12/11(日) 16:05:06すまん、int maxはゴミだった。
>>312
>>289の一行目で最大値を求めたいと書いてある。
だが、その後にインデックスを求めたいとも言ってる。
最大値を求めるためにインデックスをまず先に求めたいと
彼は主張している。
つまり、彼は、インデックスを求めるのが
目的ではなく最大値を求めるのが目的なのだろう。
0315デフォルトの名無しさん
2005/12/11(日) 16:06:28それもそうだな。
しかし彼が順番を意識していて、
さらに配列内に同じ値が存在することを
許すようにしないといけないとすればSetオブジェクトは使えない。
0316デフォルトの名無しさん
2005/12/11(日) 16:08:52なにやら恐ろしいことを考えているようで寒気がする
0317デフォルトの名無しさん
2005/12/11(日) 16:14:08Are you デブ?
0318デフォルトの名無しさん
2005/12/11(日) 16:15:27一行目のどこを見て最大値を求めたいって読めるのか教えて欲しい。
0319デフォルトの名無しさん
2005/12/11(日) 16:16:24same as you.
0320デフォルトの名無しさん
2005/12/11(日) 16:18:100321デフォルトの名無しさん
2005/12/11(日) 16:20:27ではなく配列の最大値を求めたんですけど
か
「い」が隠れていることに気づかなかった。
彼は、つまり、求めた配列の最大値から逆算して
インデックスを求めようとしているのか?
0322デフォルトの名無しさん
2005/12/11(日) 16:21:21後から起動したJavaプロセスからアクセスするにはどうしたらいいのでしょうか。
0323デフォルトの名無しさん
2005/12/11(日) 16:28:35RMIでも使って通信してください。
0324デフォルトの名無しさん
2005/12/11(日) 16:36:17IllegalStateException が数回(つまり終了前に数回呼び出されている)発生します。
また、コマンドプロンプトからフルスクリーンモードで起動させる(フレームモードとで選択可能)時、
何回かに1回程度の割合ではありますが、いきなり終了(通常画面には復元)したあと、
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# EXCEPTION_ACCESS_VIOLATION (0Xc0000005) at pc=0x6d0b6467, pid=3496, tid=1480
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_06-b05 mixed mode, sharing)
# Problematic frame:
# C [awt.dll+0xb6467]
#
# An error report file with more information is saved as hs_err_pid3496.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
というメッセージが表示されます。
が、英語なのでまったく意味が分かりません。
何か良い対処法はありませんか?
0325デフォルトの名無しさん
2005/12/11(日) 16:52:10義務教育を受けていないという場合を除いては
そんな台詞吐く資格はない
0326デフォルトの名無しさん
2005/12/11(日) 16:54:29> が、英語なのでまったく意味が分かりません。
> 何か良い対処法はありませんか?
英語を勉強して英語力を付ける。
0327デフォルトの名無しさん
2005/12/11(日) 17:03:28外人がたむろってそうな街に行って聞いてみろよ
0328デフォルトの名無しさん
2005/12/11(日) 17:05:10そのままshowとかはうごかんはず
フルスクリーンにするときのたまにエラー発生&VMおちは
1.4.0からずっと今のところ改善される気配なし
ただ、タイミングがなんかあるようなのでそれ調べるといいかも
0329324
2005/12/11(日) 17:08:31回答ありがとうございます。
show の方は try-catch で無視することにします(どうせ終了時の例外なので)。
後者の方は仕方が無いのでおとなしく改善されるのを待つことにします。
0330デフォルトの名無しさん
2005/12/11(日) 17:09:220331デフォルトの名無しさん
2005/12/11(日) 17:21:46コミュニティって何ですか?
すみません、Java の世界はまだ初心者なので・・・
0332デフォルトの名無しさん
2005/12/11(日) 19:30:50こんな感じのことをしたいと思っています。
class A {
private ArrayList<B>[] lists;
public A(size) {
this.lists = ArrayList<B>[size];
}
}
このコードの5行目がEclipse3.1ではエラーになってしまいます。
Genericを使わないで、普通の配列にすれば問題ないのですが。
よろしくお願いします。
0333デフォルトの名無しさん
2005/12/11(日) 19:38:230334デフォルトの名無しさん
2005/12/11(日) 19:42:46すみません、>>332には書き忘れてました。
ですが、ソースコード中にはきちんと書いてあります。
class A {
private ArrayList<B>[] lists;
public A(size) {
this.lists = new ArrayList<B>[size];
}
}
でした。
0335デフォルトの名無しさん
2005/12/11(日) 19:59:30それだと、AをnewするときにどうやってBに対する具象型を指定
するんでしょうか。これでわかる?
0336デフォルトの名無しさん
2005/12/11(日) 20:10:30import java.util.ArrayList;
class A {
ArrayList list;//ここも ArrayList<String> list; でもいけた
public A(int size){
list = new ArrayList<String>(size);
}
}
とりあえずこれだけではeclipse3.1ではエラーでなかったけど。
動くかどうかは知らん。
0337デフォルトの名無しさん
2005/12/11(日) 20:49:27int a;
static int s;
static void hoge(){
s = -10;
}
}
class Test{
public static void main(String args[]){
System.out.println("A.s=" + A.s);
A.hoge();
System.out.println("A.s=" + A.s);
A a = new A();
a.a = 10;
a.s = 100;
System.out.println("a.a=" + a.a + "\ta.s=" + a.s);
}
}
これの実行結果が
A.s=0
A.s=-10
a.a=10 a.s=100
になることを確認して、一行目の初期化のことを暗黙の初期化と呼ぶことは調べたんですが
暗黙の初期化とはどのような条件で発生するんでしょうか
0338前スレ727=786
2005/12/11(日) 20:50:48もたもたしているうちに次スレになってしまい、報告とお礼を言いそびれました。
結果から言いますと、作動しましたがソース全部を一旦コメントアウトして、一行ずつ戻していってエラー500が出た所を検
証するという手段で、当初設計していた機能を間引く形で作動に漕ぎ着けました。
本当の原因は憶測の域を出ませんが、たぶんsubmitボタンで規定しているnameを引数にrequest.getParameterで取得しようとす
るとエラーになってしまう事がわかりました。
最初の一回目の表示の際はsubmitボタンが押されていないので.getParameterができないということでしょうか。それならばXP
上でもエラーになると思うのですが、XPで走らせている時はブラウザーとサーバーが同じマシンなのでキャッシュとかの影響なの
でしょうか…そんな馬鹿な事はないと思いますが…。
前スレ733様
ご助言ありがとうございました。
濡ルポが出ている行がソースの中でどこにあたるのかを知るための手段がわかりませんでした。(Vineの方はものすごくスペックが
悪く、Eclipseなど作動させようものなら半日計算しているので、ブレイクポイントが設定できず、ソースを一つずつコメントから戻
して突き止めるというのでお茶を濁した)今度勉強しておきます。
前スレ742様
ご指導ありがとうございました。
同じディレクトリの他のサーブレットが作動したのと、そもそもここまで環境を整えたのがまぐれに近いものなので、結局環境設定
に関する知識が今のところ皆無に近いので、恐れをなして避けていたのです。これも、課題として勉強していくつもりです。
どうもありがとうございました。
0339デフォルトの名無しさん
2005/12/11(日) 21:17:44Genericなクラスの配列は作れない。
0340334
2005/12/11(日) 21:20:00ありがとうございます。
「具象型の指定」と言うのがよくわからなくて、ネットで調べてみたところ、以下のサイトを見つけました。
ttp://forum.java.sun.com/thread.jspa?threadID=530823&tstart=75
ココの真ん中よりちょっと上のコメントを見て、以下のように実装したら、動作が確認できました。
class A {
private ArrayList<B>[] lists;
public A(size) {
this.lists = (ArrayList<B>[])Array.newInstance(ArrayList.class, size);
for(int i = 0; i < size; i++) this.lists[i] = new ArrayList<B>();
}
}
リフレクションを使うところで、若干引いてしまうのですが、これ以外に方法は無いのでしょうか。
0341デフォルトの名無しさん
2005/12/11(日) 21:24:190342デフォルトの名無しさん
2005/12/11(日) 21:29:08これじゃ拙いの?
this.lists = (ArrayList<B>[]) new ArrayList[size];
0343デフォルトの名無しさん
2005/12/11(日) 21:33:58それとも微妙に違うのでしょうか?
0344334
2005/12/11(日) 21:34:45なんと、仕様なんですか。
今までGenericは直感で使ってたので、今度仕様を確認してみます。
>>342
それも試したのですが、動作は問題ないのですが、警告が出ちゃうので使用を止めました。
ともあれ、最終目標だったArrayList<B>を要素にもつ配列の配列が
ArrayList<B>[][] table = (ArrayList<B>[][])Array.newInstance(ArrayList[].class, size);
と定義・動作確認できたので問題は解決しました。
みなさん、ありがとうございました。
0345デフォルトの名無しさん
2005/12/11(日) 21:45:58Strutsやなんかの技術がありますが、
いまから採用するなら何がよいでしょうかねぇ。
自分のサイト用に作るんで流行とかは特別追わなくちゃいけない事はないです。
0346デフォルトの名無しさん
2005/12/11(日) 22:01:59Java Runtime Environment バージョン 5.0をインストールしようとするとエラーが出ます。
このWindowsインストーラーパッケージには問題があります。セットアップの一部として実行されるプログラム
は正しく完了されませんでした。
公式にあるインストーラーすべて試しましたが、同じエラーが出るのでコチラに問題があると思います。
よろしくお願いします(´・ェ・`)
0347デフォルトの名無しさん
2005/12/11(日) 22:04:34る ー る
ぽ い ん た ー
0348デフォルトの名無しさん
2005/12/11(日) 22:23:49ダウンロードにしっぱいしてるんでは?
0349デフォルトの名無しさん
2005/12/11(日) 22:38:560350デフォルトの名無しさん
2005/12/11(日) 22:45:38る び ー
ぽ け も ん
0351デフォルトの名無しさん
2005/12/11(日) 23:33:52じゃあんたが俺に分かり易く説明してくれ
スレッドは振る舞いで
実装はその内容で良いじゃないの?
0352デフォルトの名無しさん
2005/12/11(日) 23:40:35作ってるんだけども
一応動くには動くけど例えば画像アップローダーみたいに
画像の一覧が出る様にするにはどうすれば良いのか
詳しい人が居たら教えてください。
アップローダーはcommon-fileupload-1.0.jarを使って作ってます。
0353デフォルトの名無しさん
2005/12/12(月) 00:33:00とはどういうエラーですか?
コンパイルはできるのですが実行しようとするとこのようなエラーが出てきて困っています。
0354デフォルトの名無しさん
2005/12/12(月) 00:35:52そんなクラスねーよ、名前間違ってんじゃね? というエラー
0355デフォルトの名無しさん
2005/12/12(月) 00:37:43そうですか・・・。
もう一度確認してみます。
どうもありがとうございました。
0356デフォルトの名無しさん
2005/12/12(月) 00:42:13んでmainさんは居るにはいるんだけど、人違いというケースが多発している。
俺たちが会わなきゃいけないのはpublic static mainさん。
よく間違われる方はpublic maianさん。つまりミドルネームを持っていない。
0357デフォルトの名無しさん
2005/12/12(月) 00:44:21想像だけで答えてみるけど、クラス Sample をコンパイルすると Sample.class が出来る。
これを実行する時のコマンドは 『 java Sample 』 だからな。.class は要らないからな。念のため。
0358デフォルトの名無しさん
2005/12/12(月) 00:47:14おまい以外の俺たちの心の中にいるんだよ。
あと
package hogeとしてて
/hoge >java Sampleみたくしてるとヤバイ。
0359デフォルトの名無しさん
2005/12/12(月) 00:52:150360デフォルトの名無しさん
2005/12/12(月) 00:55:47とあった場合
ClassBは必ずClassAの親クラスなんでしょうか?
逆に言えばClassBはClassAを継承している状態なんでしょうか?
0361デフォルトの名無しさん
2005/12/12(月) 00:59:25とりあえず、そのコードは絶対にコンパイラを通らない。
0362デフォルトの名無しさん
2005/12/12(月) 01:02:00逆だろ?機能が弱く抽象度の強いClassAが親だ。
継承クラスは子なの。
0363デフォルトの名無しさん
2005/12/12(月) 01:30:00親子というと間違えるが、そういうこと
多態とかで重要な書き方だね
>>361
うそ教えないで
0364デフォルトの名無しさん
2005/12/12(月) 01:34:11うそ教えないで……って、>>360 の一行目は変数定義&初期化文だろ?
…… ClassB の後ろに (); が付いていないのはおいとくとしても、変数名 class とかは絶対に通らない。
0365デフォルトの名無しさん
2005/12/12(月) 01:35:42ゲーム製作板の香具師にボロクソに言われたぞ
0366デフォルトの名無しさん
2005/12/12(月) 01:37:12WinAPIで作ったゲームよりJavaのゲームは速い。
DirectXで作ったゲームよりJavaのゲームは遅い。
つまりはそういうこと。
0367デフォルトの名無しさん
2005/12/12(月) 01:38:020368デフォルトの名無しさん
2005/12/12(月) 01:40:42JavaゲームスレだとBufferedImageやVolatileImageの話題で盛り上がってる。
Javaゲームの欠点はPureJavaに拘ると
物理的なインタフェースに限りが出来ること
メモリの消費が膨大なことの2つくらい。
0369デフォルトの名無しさん
2005/12/12(月) 01:43:31API の名前だけでゲームが速くなるなら Java3D やら JOGL 使えば良い。
実際には速度なんかよりも JNI 使わんとゲームパッドからの入力が取れない方が致命的だと思うけど。
0370デフォルトの名無しさん
2005/12/12(月) 01:45:01盛り上がっているというより既出情報だけだが
0371デフォルトの名無しさん
2005/12/12(月) 01:46:17俺もパッドの2軸+4ボタンだけでいいからPureJavaでいれてほしいとずっと思っていたが
ぜんぜん実行に移さないんだよなぁ
マウスやキーボードと同じ入力デバイスなのに
0372デフォルトの名無しさん
2005/12/12(月) 01:47:58LRボタンが2対あるから手前のほうをそれに設定して代用してる。
0373デフォルトの名無しさん
2005/12/12(月) 01:54:17マ板のJava厨しかけさせてやるよ。
0374デフォルトの名無しさん
2005/12/12(月) 02:16:490375デフォルトの名無しさん
2005/12/12(月) 02:21:12草が揺れてるマップとかで60FPSってアホだしな。
0376デフォルトの名無しさん
2005/12/12(月) 02:36:30こいつがさ、趣味で簡単なゲーム作ったってんで参考程度にソース見せてもらったんだよ
そしたらさ、さすがにスパゲティってほどじゃないけど酷いもんだった
Javaのソースだったんだけどさ、まずカプセル化とか基本的なことは完全無視
まとまった機能とかクラスに分けたりしないで、1つのクラス内に全部詰め込んであるんだよ
しかも変数名だけじゃなくメソッド名にまで変なローマ字使ってるし
もっと英単語使えよ英単語
綴り間違ってるのあるし
こんな読み辛いソース初めてだよ
しかも本人には分かり易いのか「どうだっ!凄えだろ!俺頭良すぎね?」って自信満々だし
ああ、別の意味で凄いよ、あんた
こんな変人でも一応先輩だしさ、「そうですね」って適当に言っといたけどさ
正直、こんなんでも動くのが不思議だった
コンピュータって凄いね
0377デフォルトの名無しさん
2005/12/12(月) 02:41:090378デフォルトの名無しさん
2005/12/12(月) 04:58:290379デフォルトの名無しさん
2005/12/12(月) 05:15:48って言ってんだから携帯アプリ用だからそうしたんだろ
普通の市場では普通の書き方出来るんじゃないのか
0380デフォルトの名無しさん
2005/12/12(月) 07:29:29++long;
}
このようなことをJavaでしたいんですけどどうすればいいでしょうか?
0381380
2005/12/12(月) 07:30:210382337
2005/12/12(月) 08:13:56ご迷惑をおかけしました
自分の書き込みを改めて見てみるとスペースも改行もおかしい・・
0383デフォルトの名無しさん
2005/12/12(月) 08:21:14Javaは言語機能として参照引数みたいなものを持ってないから無理。
どうしてもやりたいなら num を参照変数にもたせ それを変える事で代用する。
具体的には
class Num{ public long num; }
void hoge(Num ref){ ref.num++; }
もしくは
void hoge(long[] num){ num[0]++; }
0385デフォルトの名無しさん
2005/12/12(月) 09:12:45現在、Javaにて携帯用の金融システムを作成しています。
130機種にてテストしてみたところ、i-modeの一部機種にて表示が正常に行われませんでした。
調べたところ、SSL通信においては、Content-Lengthを指定することにより正常に
表示させることが可能とのことでした。
そこで、response.setContentLengthでも用いて指定したく思ったのですが、
表示にJSPを使用しており、表示項目が可変のため上手く指定する方法がわかりません。
(適当な値ですと、切れるorタイムアウト待ちになってしまいますし…)
どなたか、可変表示JSPにて正確なContent-Lengthを取得する方法ご存知の方いらっしゃいましたら、
お教えください。
余談になりますが、私個人の開発環境(Eclipse+Tomcat4.1.12)ですと、
特にsetContentLengthしなくてもHTTPヘッダにはContent-Lengthが付与されているのですが、
本番準拠テスト環境(Apache+Tomcat(mod_jk2))ですとContent-Lengthが付与されていません。
サーバの設定により回避可能なのであれば、その方法をご教授ください。
以上、よろしくお願いいたします。
0386デフォルトの名無しさん
2005/12/12(月) 09:26:30っ http://pc8.2ch.net/test/read.cgi/tech/1133778112/
0387デフォルトの名無しさん
2005/12/12(月) 10:08:03List<Integer>sharedContentList = Collections.synchronizedList(ls);
というふうにスレッドセーフなリストをつくろうとしたんですが
コンパイルで警告([unchecked]無検査変換/無検査メソッド呼び出し)がでてしまいます
この警告がでないようにするにはどうしたらいいんでしょうか?
0388デフォルトの名無しさん
2005/12/12(月) 10:21:20List<Integer> ls = new LinkedList<Integer>();
0389デフォルトの名無しさん
2005/12/12(月) 10:27:10ありがとうございます
0390デフォルトの名無しさん
2005/12/12(月) 12:29:050391デフォルトの名無しさん
2005/12/12(月) 12:58:320392デフォルトの名無しさん
2005/12/12(月) 13:06:081.4.1までは動くだけに残念
0393デフォルトの名無しさん
2005/12/12(月) 13:07:11Java2Dの印刷機能じゃだめなん?
あと、こういう仕様が健闘されてたような↓
Unified Printing API (Java Print Service API)
0394デフォルトの名無しさん
2005/12/12(月) 13:08:48実は印刷サービスもPrintJobも1.4.2以降は動かないよ
0395たかこ
2005/12/12(月) 14:05:57環境はMySQL Server4.1
JDBC mysql-connector-java-3.0.17-ga
JAVA jdk1.5.0_04
こんな感じです。
よろしくお願いします。
0396デフォルトの名無しさん
2005/12/12(月) 14:17:040397デフォルトの名無しさん
2005/12/12(月) 15:04:37動かないってのは違うだろ。
0398デフォルトの名無しさん
2005/12/12(月) 15:36:160399デフォルトの名無しさん
2005/12/12(月) 15:44:450400デフォルトの名無しさん
2005/12/12(月) 16:07:070401デフォルトの名無しさん
2005/12/12(月) 16:11:190402デフォルトの名無しさん
2005/12/12(月) 16:14:260403伝説新人タクシ
2005/12/12(月) 16:16:100404デフォルトの名無しさん
2005/12/12(月) 16:44:45どっちがどっちなんですか?
0405デフォルトの名無しさん
2005/12/12(月) 16:45:49ソバと中華ソバくらい違う
0406デフォルトの名無しさん
2005/12/12(月) 16:55:20動くけど5.0や1.4.2は使い物にならないが正解
日本語使わなければ問題でないからね
0407デフォルトの名無しさん
2005/12/12(月) 18:30:08Width=640/Height=480
がデフォですか?
0408デフォルトの名無しさん
2005/12/12(月) 18:30:520409デフォルトの名無しさん
2005/12/12(月) 18:54:32マインスイーパーを見てみろ
0410407
2005/12/12(月) 18:58:090411デフォルトの名無しさん
2005/12/12(月) 19:01:58っていつの時代だよ
0412デフォルトの名無しさん
2005/12/12(月) 20:11:080413デフォルトの名無しさん
2005/12/12(月) 20:35:21二番目に大きい値と二番目に小さい値を入れ替えて、配列を表示させる。
どうしてもアルゴリズムが思いつかないので、お願いします。
0414デフォルトの名無しさん
2005/12/12(月) 20:43:57別の配列にコピーしてソートして、必要な値を求めてから
もとの配列での位置を調べたら?
0415デフォルトの名無しさん
2005/12/12(月) 20:53:00その後が分からないんです。
0416デフォルトの名無しさん
2005/12/12(月) 21:02:40そこまでやってるのに、何がわからんのかわからん
0417デフォルトの名無しさん
2005/12/12(月) 21:04:31ソートできてるのなら、対象となる二つの値がわかる。
元の配列から二つの値のインデックスを探す。
二つの値を入れ替える。
ここまで恥ずかしがらずにベタに考える。
で、それが気に入らなければ、使えるAPIがあるか調べればいい。
0418デフォルトの名無しさん
2005/12/12(月) 21:11:48初心者の自分に教えて欲しいのですが、フルスクリーンの時の横幅が320の倍数に、
縦幅が240の倍数になっているのにはどういった理由があるのですか?
0419デフォルトの名無しさん
2005/12/12(月) 21:14:05332の倍数や238の倍数だと嫌でしょ?
0420デフォルトの名無しさん
2005/12/12(月) 21:15:440421デフォルトの名無しさん
2005/12/12(月) 21:16:01最大値検索の応用で簡単にできるよ
配列の最初から最後まで一回転させて、
一番目に大きな数のインデックス、
二番目に大きな数のインデックス、
三番目に大きな数のインデックスを記録すれば良いんだ
そんで二番目に大きな数のインデックスと
三番目に大きな数のインデックスを基に入れ替えを行えば良い
0422421
2005/12/12(月) 21:16:44質問を読み間違えた・・・
逝ってくるわ・・・
0423デフォルトの名無しさん
2005/12/12(月) 21:18:10液晶ディスプレイでもそれが当てはまりますか?
0424デフォルトの名無しさん
2005/12/12(月) 21:20:06ものによる。
最近は5:4があったり、ワイドがあるけどね。
0425デフォルトの名無しさん
2005/12/12(月) 21:24:03しかし 元の配列から二つの値のインデックスを探す。
↑これができないです・・・。
0426デフォルトの名無しさん
2005/12/12(月) 21:25:07Width=800/Height=600とかWidth=1024/Height=768が
320や240の倍数だとは知らなかったよ。どこの世界の話ですか?
0427デフォルトの名無しさん
2005/12/12(月) 21:25:49初心者に絡んで楽しい?
0428デフォルトの名無しさん
2005/12/12(月) 21:26:48適当に書いたけど、以下のような感じにすれば
ソートもいらないし、ループも一回ですむとおもう。
コンパイルしてないから動作は未確認。
int[] array = { 3,4,1,2,6,5,10,9,7,8};
int max1, max2, min1, min2, temp;
for (int i = 0; i < array.length; i++) {
if (array[max1] == 0) {
max1 = i;
} else if (array[max1] < array[i]) {
max2 = max1;
max1 = i;
} else if (array[max2] < array[i]) {
max2 = i;
}
if (array[min1] == 0) {
min1 = i;
} else if (array[min1] > array[i]) {
min2 = min1;
min1 = i;
} else if (array[min2] > array[i]) {
min2 = i;
}
}
temp = array[max2];
array[max2] = array[min2];
array[min2] = array[max2];
0429Java初心者
2005/12/12(月) 21:30:150430428
2005/12/12(月) 21:32:58array[min2] = temp;
0431デフォルトの名無しさん
2005/12/12(月) 21:35:59String b = "2005年12月22日"
こうある場合
String cに手入力させた日付を代入してその日付が上記の間の日付
(たとえば"2005年12月11日"など)
だった場合○
それ以外の日付("2005年11月30日以前"、"2005年12月23日以降")
がだった場合×を出力させたいのですが
こういった処理は可能なんでしょうか?
0432デフォルトの名無しさん
2005/12/12(月) 21:37:150433428
2005/12/12(月) 21:39:12手入力させなきゃいいじゃん
0434デフォルトの名無しさん
2005/12/12(月) 21:42:39比較するとかできるのかなあ
0435428
2005/12/12(月) 21:44:11できる気がするけど、手を動かす気なしw
0436デフォルトの名無しさん
2005/12/12(月) 21:45:2820051201 といった単純な形式で入力させれば簡単
0437デフォルトの名無しさん
2005/12/12(月) 21:45:518の倍数。
つシフト演算。Javaとは関係ない。
0438デフォルトの名無しさん
2005/12/12(月) 21:46:00できました。他の方法でもできるように努力してみたいと思います。
みなさんありがとうございました。
0439デフォルトの名無しさん
2005/12/12(月) 21:56:50具体的に教えてください
0440デフォルトの名無しさん
2005/12/12(月) 22:02:46を、javac J3DApp.javaでコンパイルすると
たくさんエラーが出てしまいます。なぜでしょうか??
0441デフォルトの名無しさん
2005/12/12(月) 22:08:480442デフォルトの名無しさん
2005/12/12(月) 22:12:570443デフォルトの名無しさん
2005/12/12(月) 22:14:57int val = Integer.parseInt(inputData);
if (20051201 <= v && v <= 2005122) System.out.println("○");
else System.out.println("×");
0444デフォルトの名無しさん
2005/12/12(月) 22:16:090445JAVA初心者440
2005/12/12(月) 22:23:16http://aomori.cool.ne.jp/jmasa/main_0_1.htmlの
import java.awt.event.*;
import java.awt.image.*;
import java.beans.*;
import java.io.*;
import java.lang.*;
import java.applet.*;
をつけてもエラーが40でてしまいました。
どのようなクラスライブラリをつければいいのでしょうか?
J3DApp.java:75: シンボルを見つけられません。
シンボル: クラス ColorCube
場所 : J3DApp の クラス
return new ColorCube(0.4);
^
J3DApp.java:78: シンボルを見つけられません。
シンボル: クラス MainFrame
場所 : J3DApp の クラス
new MainFrame( new J3DApp(), 400, 400 );
0446デフォルトの名無しさん
2005/12/12(月) 22:28:03元ファイル読込み
↓
移動先フォルダに新しいファイル作成
↓
元ファイル削除
こうゆうやり方なんですか?
直接移動させるようなメソッドとかないんですか?
0447442
2005/12/12(月) 22:28:08それ私に言ってます?ググってもわからないので聞いてます。
今実行してるスレッドを取得すればいいようですが私にはさっぱりわかりません。
0448デフォルトの名無しさん
2005/12/12(月) 22:28:55これじゃね?
ttp://www.javadrive.jp/java3d/index.html
0449デフォルトの名無しさん
2005/12/12(月) 22:30:47Windows に限らず File#renameTo(File) を試して、失敗したら >>446 の移動。
0450デフォルトの名無しさん
2005/12/12(月) 22:32:04ttp://javaalmanac.com/egs/java.io/MoveFile.html?l=rel
0451デフォルトの名無しさん
2005/12/12(月) 22:34:18http://www.jarhoo.com/
0452デフォルトの名無しさん
2005/12/12(月) 22:36:14try {
Thread.currentThread().sleep(10000);
} catch (IntrruptedException ex) {}
0454JAVA初心者440&445
2005/12/12(月) 22:57:08クラスライブラリいれてみましたが、同じエラーでした・・。
0455デフォルトの名無しさん
2005/12/12(月) 22:57:33SimpleDateFormat一個作るだけの話だろ。
0456デフォルトの名無しさん
2005/12/12(月) 23:02:170457デフォルトの名無しさん
2005/12/12(月) 23:02:51jarファイルへのクラスパスの指定した?
0458デフォルトの名無しさん
2005/12/12(月) 23:06:04エンディアンはどっち?
0461JAVA初心者440&445
2005/12/12(月) 23:09:58PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\jdk1.5.0_05\bin
JAVA_HOME C:\jdk1.5.0_05
CLASSPATH .;C:\jdk1.5.0_05\lib\tools.jar
前設定したままなんですけど、これじゃダメですかね。ウィンドウズMEです。
みなさんのパソコンでは実行できますか??
0462JAVA初心者440&445
2005/12/12(月) 23:13:44J3DApp.java:5: パッケージ javax.media.j3d は存在しません。
import javax.media.j3d.*;
^
J3DApp.java:6: パッケージ javax.vecmath は存在しません。
import javax.vecmath.*;
^
J3DApp.java:7: パッケージ com.sun.j3d.utils.universe は存在しません。
import com.sun.j3d.utils.universe.*;
^
J3DApp.java:8: パッケージ com.sun.j3d.utils.geometry は存在しません。
import com.sun.j3d.utils.geometry.*;
^
J3DApp.java:9: パッケージ com.sun.j3d.utils.applet は存在しません。
import com.sun.j3d.utils.applet.MainFrame;
^
J3DApp.java:10: パッケージ com.sun.j3d.utils.behaviors.mouse は存在しません。
import com.sun.j3d.utils.behaviors.mouse.*;
^
J3DApp.java:11: パッケージ com.sun.j3d.utils.behaviors.keyboard は存在しません。
import com.sun.j3d.utils.behaviors.keyboard.*;
実験書はこれです。。http://page.freett.com/kb100000/-5.doc
0463デフォルトの名無しさん
2005/12/12(月) 23:19:45Java3Dのライブラリの説明書に何か書いてなかった?
〜.jarをクラスパスに追加しろとか。
0464デフォルトの名無しさん
2005/12/12(月) 23:22:47SunのJava3Dはjre/lib/extにjarを追加するタイプだから、まともに
インストールされていればクラスパスを自分で設定する必要はないはず。
0465デフォルトの名無しさん
2005/12/12(月) 23:23:17こんなかんじ?
class Foo {
public Foo() {
byte[] elem = {0x0, 0x1, 0x2, 0x3};
int x;
x = ((int)elem[3] << 24) | ((int)elem[2] << 16) | ((int)elem[1] << 8) | (int)elem[0];
System.out.printf("%x %n", x);
}
public static void main(String[] args) {
Foo foo = new Foo();
}
}
0467デフォルトの名無しさん
2005/12/13(火) 00:17:09シフト演算時にintになるのでintキャストはいらない。
逆に0xffとのビットマスクが必要。465のコードだとbyteの負数がないからOKだけど。
0468デフォルトの名無しさん
2005/12/13(火) 00:51:48どう指定すればいいのでしょうか?
例えば、sample.jar中の
com/test/test.propertiesにアクセスしたいとして、
FileInputStream fis = new FileInputStream("com/test/test.properties");
としてもダメですよね・・・。
0469デフォルトの名無しさん
2005/12/13(火) 00:56:470470デフォルトの名無しさん
2005/12/13(火) 01:42:58つ ClassLoader#getResourceAsStream
0471デフォルトの名無しさん
2005/12/13(火) 02:43:500473デフォルトの名無しさん
2005/12/13(火) 15:46:44昔のCOBOLerにそっくりだが
携帯電話開発者みたいな先輩だな。携帯開発ならありえる話だし。
そのコード、Eclipse + Checkstyle + FindBugsで
警告設定全部オンにしたらすごいことになりそうだな。
警告数が何万件にもなるぞ。
0474デフォルトの名無しさん
2005/12/13(火) 15:54:23しっかしそれってかなり曲者なんだよね
JDKアップデートしたら無効になりやがるし。
j3d.jarをApache Mavenでダウソできるようにしたほうがまし。
Maven Repo Searchで検索して
Java 3D APIの情報を取得して<dependency>タグに追加して
maven実行するだけのほうがJava3DAPIをSunからダウソするよりも開発が楽。
0475デフォルトの名無しさん
2005/12/13(火) 15:54:31ワラタ
それにしてもJava花林糖旨いな
ウンコScriptは勘弁してほすぃ
0476デフォルトの名無しさん
2005/12/13(火) 15:54:42PDF生成APIをダウソして使いなさい
0477デフォルトの名無しさん
2005/12/13(火) 15:55:18パッケージにアノテーション定義する方法がわからなくて。
これがあるとパッケージ用ドキュメントとしてpackage.html
もいらなくなってしまうのか?
0478デフォルトの名無しさん
2005/12/13(火) 16:00:22pdfを生成した後それを開いて印刷するにはどうしたらいいのでしょうか
0479デフォルトの名無しさん
2005/12/13(火) 16:05:120480デフォルトの名無しさん
2005/12/13(火) 16:26:01ありがとうございました
Java単体では結局印刷系無理なようですので
JNIでやりたいと思います
0481デフォルトの名無しさん
2005/12/13(火) 16:47:000482デフォルトの名無しさん
2005/12/13(火) 16:49:340483デフォルトの名無しさん
2005/12/13(火) 19:07:00ご教授願います。
0484デフォルトの名無しさん
2005/12/13(火) 19:13:590485デフォルトの名無しさん
2005/12/13(火) 19:41:02length() じゃだめなん?
0486デフォルトの名無しさん
2005/12/13(火) 19:46:12って
charAtを使って
と同意
0487デフォルトの名無しさん
2005/12/13(火) 19:56:07先頭からインデックスを1つずつ増やしていってcharAtで文字をとりだしていって
IndexOutOfBoundsExceptionが投げられたらおわりなんで
そのときのインデックスを見る
0488デフォルトの名無しさん
2005/12/13(火) 20:02:39宿題でしょ
0489デフォルトの名無しさん
2005/12/13(火) 20:08:561.3.1などにバージョン下げれば解決しますね
0490デフォルトの名無しさん
2005/12/13(火) 20:14:40ところで「AdobeReaderではまともに印刷できない」って誰が言ってるの?
0491デフォルトの名無しさん
2005/12/13(火) 20:17:000492デフォルトの名無しさん
2005/12/13(火) 20:19:560493デフォルトの名無しさん
2005/12/13(火) 20:21:38Hoge.java
をコンパイルすると、
Hoge.class
の他に
Hoge$1.class
Hoge$2.class
Hoge$3.class
...
とたくさんclassファイルが作られて、全部サーバに上げないと
Appletが動いてくれません。
全部、
Hoge.class
の中にまとめる方法ってないのでしょうか?
0494デフォルトの名無しさん
2005/12/13(火) 20:25:150495デフォルトの名無しさん
2005/12/13(火) 20:27:54ファイル一つにまとめたいなら jar にすればいい。
Hoge.class だけにしたいなら、局所クラスや無名クラスを含む メンバ型を使用するのを止めろ。
0496デフォルトの名無しさん
2005/12/13(火) 20:29:14imageIO で tga ファイルって読み書き共にサポートされてないですよね?
どうしても targa ファイルを読み書きするアプリケーションを作る必要性に駆られたのですが、
この場合は自分で java.ImageIO プラグインを作成するしかないのでしょうか?
0497デフォルトの名無しさん
2005/12/13(火) 20:31:44がーん、ないんですか・・・orz
>>495
jarとか、局所クラスとか無名クラスとかよく分かってないでの
勉強してみます。さんくすでした。
0498デフォルトの名無しさん
2005/12/13(火) 20:32:55http://developer.classpath.org/doc/javax/imageio/package-summary.html
GPL に感染するけど。
0499デフォルトの名無しさん
2005/12/13(火) 20:40:54レスサンクスです。
検索したら targa の仕様書を見つけたのですが、もし自分で全部 targa のプラグインを作成した場合
TrueVision 社の了解を得ずに配布してもいいんですよね?
0500デフォルトの名無しさん
2005/12/13(火) 20:47:48これはビットマップフォーマットの例だけど
こんなかんじで、targaフォーマットを調べて自分で処理を書くしかなさそうだね
ttp://www.sm.rim.or.jp/~shishido/jbmp.html
0501デフォルトの名無しさん
2005/12/13(火) 20:51:39こんなのがありました。targa ver2.0 の仕様書。
ttp://www.fine-view.com/jp/lab/doc/targa.pdf
0502デフォルトの名無しさん
2005/12/13(火) 20:53:03以下のソースなんですが、ActionListenerの中身を
AbstractActionをextendsしたHogeクラスで動かすにはどうすればいいですか?
少しやってみたんですが、できませんでした。
import java.awt.*;
import javax.swing.*;
public class JTree03 {
JFrame frame;
Container cont;
JScrollPane scrpane;
JButton button;
JTree tree;
DefaultTreeModel model;
DefaultTreeCellRenderer renderer;
DefaultMutableTreeNode nodeRoot;
DefaultMutableTreeNode nodeA;
DefaultMutableTreeNode nodeA1;
DefaultMutableTreeNode nodeA2;
DefaultMutableTreeNode nodeB;
DefaultMutableTreeNode selectNode;
public JTree03(){
nodeRoot = new DefaultMutableTreeNode("root");
nodeA = new DefaultMutableTreeNode("nodeA");
nodeA1 = new DefaultMutableTreeNode("nodeA1");
nodeA2 = new DefaultMutableTreeNode("nodeA2");
nodeB = new DefaultMutableTreeNode("nodeB");
0503デフォルトの名無しさん
2005/12/13(火) 20:53:09ttp://java.sun.com/products/jimi/
0504502続き
2005/12/13(火) 20:53:27nodeA.add(nodeA2);
nodeRoot.add(nodeA);
nodeRoot.add(nodeB);
model = new DefaultTreeModel(nodeRoot);
tree = new JTree(model);
button = new JButton("add");
button.addActionListener(al);
frame = new JFrame("Frame");
scrpane = new JScrollPane(tree);
cont = frame.getContentPane();
cont.add(scrpane, BorderLayout.CENTER);
cont.add(button, BorderLayout.SOUTH);
frame.setBounds(50,50,200,150);
frame.setVisible(true);
}
public static void main(String[] args){
JTree03 jtree03 = new JTree03();
}
0505502続き
2005/12/13(火) 20:54:02ActionListener al = new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
TreePath treePath = tree.getSelectionPath();
if(treePath==null){
return;
}
Object obj = treePath.getLastPathComponent();
selectNode = (DefaultMutableTreeNode)obj;
selectNode.add(new DefaultMutableTreeNode("add"));
model.reload();
}
};
}
なんか宿題くさい質問ですみませんが…よろしくお願いします。
0506デフォルトの名無しさん
2005/12/13(火) 20:58:59> 少しやってみたんですが、できませんでした。
具体的に何をやってみてどうなったのか
0507502
2005/12/13(火) 21:09:26あ、ごめんなさい。
AbstractActionをextendsしてHogeというクラスを作ったんです。
で、>505の中身をそのまんま移し変えてみて、
>504のbuttonに付加させたんですが、押しても反応がありません。
Hogeクラスの中にSystem.out.print("hoge");とか書いて
様子を伺ってみたんですが、hogeと鳴いてくれないんです。
AbstractActionの理解が薄いせいだと思うんですが、対処法を教えてください。
0508デフォルトの名無しさん
2005/12/13(火) 21:09:29ありがとうございます。
そうか、JIMI を使えば地味に読めるんですね! 気付かなかった。
さっそくやってみようと思います。
(それにしても AWT/Swing といい、なんでこう sun は仕様の乱立が好きなのかなぁ…)
0509デフォルトの名無しさん
2005/12/13(火) 21:25:01なので、一度完全に破棄して再生成しようと考えています
そこで質問なのですが、その破棄のときに
this.timer.cancel();
this.timer = null; ←コレ
this.timer = new Timer();
“コレ”のように cancel メソッド呼び出しだけでなく null 代入もした方が良いでしょうか?
それともメソッド呼び出しだけでもガベージコレクションの対象になるのでしょうか?
0510デフォルトの名無しさん
2005/12/13(火) 21:40:430511デフォルトの名無しさん
2005/12/13(火) 21:45:11cancel メソッドで null になっているってことですか?
0512デフォルトの名無しさん
2005/12/13(火) 21:53:20interface Sorter {
pulblic void sort(final Comparable[] data);
}
public class InsertSorter implements Sorter {
public final void sort(final Comparable[] data) {
for (int i = 0; i < data.length - 1; i++) {
for (int j = i + 1; j < data.length; j++) {
Comparable dataI = data[i];
Comparable dataJ = data[j];
if (dataI.compareTo(dataJ) > 0) {
Comparable passingplace = data[i];
data[i] = data[j];
data[j] = passingplace;
}
}
}
}
}
しかし、compareTo()のところでこんな警告が・・・
型の安全性: メソッド compareTo(Object) は raw 型 Comparable に属しています。 総
称型 Comparable<T> への参照はパラメーター化される必要があります。
どこをパラメータ化すればいいんだろう・・・・
0513デフォルトの名無しさん
2005/12/13(火) 21:56:27ちょっと修正して保存するだけでなんで2分も砂時計に
またされなきゃならないんだ畜生!!!!!
0514デフォルトの名無しさん
2005/12/13(火) 22:00:12ttp://72.14.203.104/search?q=cache:fgSoB5_OqJ4J:yamaguch.sytes.net/~tora/java/image.html+Jimi.getImage()&hl=ja&lr=lang_ja
0515デフォルトの名無しさん
2005/12/13(火) 22:01:57public interface Sorter<T> {
void sort(final Comparable<T>[] data);
}
public class InsertSorter<T> implements Sorter<T> {
public final void sort(final Comparable<T>[] data) {
for (int i = 0; i < data.length - 1; i++) {
for (int j = i + 1; j < data.length; j++) {
Comparable<T> dataI = data[i];
Comparable<T> dataJ = data[j];
if (dataI.compareTo(dataJ) > 0) {
Comparable<T> passingplace = data[i];
data[i] = data[j];
data[j] = passingplace;
}
}
}
}
}
こんなメッセージが
型 Comparable<T> のメソッド compareTo(T) は引数 (Comparable<T>) に適用できま
せん。
ダメだ・・・
0516デフォルトの名無しさん
2005/12/13(火) 22:15:27スーパークラス:
<T extends Comparable> void sort(final T[] data);
サブクラス:
public final <T extends Comparable> void sort(final T[] data) {
for (int i = 0; i < data.length - 1; i++) {
for (int j = i + 1; j < data.length; j++) {
T dataI = data[i];
T dataJ = data[j];
if (dataI.compareTo(dataJ) > 0) {
T passingplace = data[i];
data[i] = data[j];
data[j] = passingplace;
}
}
}
}
だが警告は最初の
型の安全性: メソッド compareTo(Object) は raw 型 Comparable に属しています。 総
称型 Comparable<T> への参照はパラメーター化される必要があります。
で何も変わってない・・・
どうすればいいんだ・・・
0517デフォルトの名無しさん
2005/12/13(火) 22:16:10public <T extends Comparable<T>> void sort(T[] data);
}
public static class InsertSorter implements Sorter {
public final <T extends Comparable<T>> void sort(final T[] data) {
for (int i = 0; i < data.length - 1; i++) {
for (int j = i + 1; j < data.length; j++) {
T dataI = data[i];
T dataJ = data[j];
if (dataI.compareTo(dataJ) > 0) {
T passingplace = data[i];
data[i] = data[j];
data[j] = passingplace;
}
}
}
}
}
0518デフォルトの名無しさん
2005/12/13(火) 22:19:44そんなわけは無い。
とりあえず、変数というものがどういうものか分かってない気がする。がんがれ。
オブジェクトは、使われなくなったら勝手に消えていく。
直後で新しい Timer を代入しているのに、わざわざ null を代入する必要が無い。
0519デフォルトの名無しさん
2005/12/13(火) 22:24:49dataI と dataJ を持ってるなら
入れ替えは data[i] = dataJ; data[j] = dataI; で良いんじゃないか
0520デフォルトの名無しさん
2005/12/13(火) 22:52:39全角スペース
0521デフォルトの名無しさん
2005/12/13(火) 22:53:570522デフォルトの名無しさん
2005/12/13(火) 22:55:20あ、確かにそうですね
すみません、“参照”について勉強し直します
0523デフォルトの名無しさん
2005/12/13(火) 22:57:39generics正式対応は去年の終わりごろの JDK5.0 から。
そういえば、もう1年以上経つのか。
0524デフォルトの名無しさん
2005/12/13(火) 22:58:53この場合、BはAを拡張したものであると言っても良いのですか?
それとも、何かしら機能(メソッド)を追加しないと「拡張」とは言わないのですか?
0525デフォルトの名無しさん
2005/12/13(火) 23:01:130526デフォルトの名無しさん
2005/12/13(火) 23:03:20class B extends A の extends を直訳すれば拡張。
0527デフォルトの名無しさん
2005/12/13(火) 23:13:59public class B extends A {
}
のように何も変更されていない無意味なクラスBでも
Java的にはAを拡張していることになるのですか?
0528デフォルトの名無しさん
2005/12/13(火) 23:42:570529デフォルトの名無しさん
2005/12/14(水) 00:06:41> Java的にはAを拡張していることになるのですか?
「Java的」を定義してくれないと答えられません。
0530デフォルトの名無しさん
2005/12/14(水) 00:07:360531デフォルトの名無しさん
2005/12/14(水) 00:25:460532デフォルトの名無しさん
2005/12/14(水) 00:26:58はい。
0533デフォルトの名無しさん
2005/12/14(水) 00:54:080534デフォルトの名無しさん
2005/12/14(水) 01:15:56このスレではGenericsのことをわかっている者はまだまだ少ないか
0535デフォルトの名無しさん
2005/12/14(水) 01:22:21Genericsがわからないのなら1.4互換でコンパイルしようぜ
0536デフォルトの名無しさん
2005/12/14(水) 01:35:02なぜならGenericsによって型安全性が保証され
かつクラス検索の手間を省けることにより
パフォーマンスがあがるから使いたいのだが。
しれに1.4にダウングレードしたらさらにパフォーマンスが下がる。
0537デフォルトの名無しさん
2005/12/14(水) 01:36:28Java GenericsはC++templateとは同義じゃないぞ
0538デフォルトの名無しさん
2005/12/14(水) 01:37:11インタフェース Comparable<T>
みたいにね。何をしなきゃいけないのか、もうわかったな?
0539デフォルトの名無しさん
2005/12/14(水) 01:44:48Javaでもパフォーマンス向上されるの?
仕事は1.4メインだからほとんど1.5の情報知らないんだけど、
JavaのGenericsってコンパイル時の型チェック程度じゃないんだっけ?
違ってたらごめん
0540デフォルトの名無しさん
2005/12/14(水) 01:48:580541デフォルトの名無しさん
2005/12/14(水) 02:02:13それはGenericsと関係ないよね。
>なぜならGenericsによって型安全性が保証され
>かつクラス検索の手間を省けることにより
>パフォーマンスがあがるから使いたいのだが。
この最後のパフォーマンスが上がるってのがよくわからない。
これはGenericsを使ってるから向上したのではなく、
VMのバージョンがあがったからではないの?
JavaのGenericsってコンパイル後は型情報はバイトコードから削除されるよね?
なんで、たとえばコレクションフレームワーク系では最終的なバイトコードって
Objectを引数とする、従来のものと同じになる。(互換性のため)
C++の場合は、コンパイル時に型情報が埋め込まれる(インライン化)されるから
パフォーマンス向上はあるけど。その代わり、指定した型の数だけテンプレートが
展開され、バイナリが大きくなってしまうけど。
0542デフォルトの名無しさん
2005/12/14(水) 02:06:37パフォーマンスが向上されると思ってがんばってGenericsを勉強してください。
陰ながら応援しています。>>536
0543デフォルトの名無しさん
2005/12/14(水) 02:11:38試行錯誤を練っているのだが、
引数にComparableオブジェクト
入れるのを諦めてComparale<T>#compareTo(T t)
をオーバライドしたメソッドを実装させるしかなさそう
なのか・・・。思った通りには行かないようだ。
>>539
コレクション系クラスを使用するとき
取り出した型をObjectから目的の型へダウンキャストの手間が省けることは
パフォーマンス向上につながる。
JVM自体もTigerからはかなり速くなってEclipseの起動速度も速くなった。
0544デフォルトの名無しさん
2005/12/14(水) 02:11:500545デフォルトの名無しさん
2005/12/14(水) 02:12:00コーナーの立ち上がりが最速な奴がトータルで速いんだ。
0546デフォルトの名無しさん
2005/12/14(水) 02:13:14だからGenericsを使えば速くなることがあることは間違いない
0547デフォルトの名無しさん
2005/12/14(水) 02:13:29してるよ。キャスト。Genericsってね、早い話がプリプロセッサなんだよ。
バイトコードのどこにもGenerics構文独自の要素は出てこない。
0548デフォルトの名無しさん
2005/12/14(水) 02:13:30>取り出した型をObjectから目的の型へダウンキャストの手間が省けることは
バイトコードからダウンキャスト相当の命令がなくなるってこと?
0549デフォルトの名無しさん
2005/12/14(水) 02:14:02だからキャストだと何度いったら
0550デフォルトの名無しさん
2005/12/14(水) 02:15:24そうなんだ。正式版が出る前は層だったと聞いたけど
正式版が出てからTigerでコンパイルされたバイトコードには
何か変化が現れたらしい。
0551デフォルトの名無しさん
2005/12/14(水) 02:16:590552デフォルトの名無しさん
2005/12/14(水) 02:20:05コンパイル後はコンパイラによって「消去」されます。このアプローチの主な利点としては、
総称コードと、パラメータ化されていない型 (技術的には「raw」型と呼ばれる) を使用する
レガシーコードとの間に、総合的な相互運用性が実現する点です。主な欠点としては、
パラメータの型情報を実行時に利用できない点と、動作が適切でないレガシーコードと
相互運用すると、自動的に生成されたキャストが失敗するおそれがある点です。しかし、
動作が適切でないレガシーコードと相互運用するときも、総称コレクションに対して実行時の
型の安全性が保証されます。
↓抜粋;つまり、キャストは自動的に生成されるのだよ。
パラメータの型情報を実行時に利用できない点と、動作が適切でないレガシーコードと
相互運用すると、自動的に生成されたキャストが失敗するおそれがある点です。
0553デフォルトの名無しさん
2005/12/14(水) 02:20:15ArrayListに型を入れたいとき、複数の型を指定できる。
だが入れたい型を一つだけ(またはその型のサブクラスの型のみ)に絞り込むことができる。
その分、Iterator#next()やList#get()で取り出したオブジェクトを
どのクラスにキャストするかという、検索処理を省くことができ、
予め指定しておいた型を使うのでパフォーマンスが上がる。
1.4だったらダウンキャストするほか、複数の型をListに入れていた場合は
取り出すたびに毎回if文でinstanceofやgetClass()で型チェックをしなきゃ
ならなかった。しかもチェックに失敗したらtry-catchでClassCastExceptionを
細くできるようにしなきゃならなかった。
その手間が省けたことはコードが綺麗になるだけでなく
無駄な検査ロジックを省けるのでパフォーマンスは上がるというわけだ。
0554デフォルトの名無しさん
2005/12/14(水) 02:21:46何処の抜粋?
IBMのdwの記事ではないよね?
dwでgenericsについて解説してるのがあったけど
内容が古かったような
0555デフォルトの名無しさん
2005/12/14(水) 02:21:59>>517 に答えが出てるような。
0556デフォルトの名無しさん
2005/12/14(水) 02:27:06何かズレた言ってるね。
Genericsなしでも入れる型が一つだけなら
Genericありと何も変わらない。
複数の型をぶちこむ設計がまずいだけだ。
0557デフォルトの名無しさん
2005/12/14(水) 02:27:56生産性はもちろんあがる。
0558デフォルトの名無しさん
2005/12/14(水) 02:29:40引数のあるコンストラクタと抽象クラスってどう違うんですか?
0559デフォルトの名無しさん
2005/12/14(水) 02:29:47そういう制限をすることは簡単さ。
だが可変でfinal宣言無しクラスでサブクラス型がコレクションに
いくらでも入るようなものや、interface型だと
そうもいかないんだよなこれが。
0560デフォルトの名無しさん
2005/12/14(水) 02:30:18http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/language/generics.html
>>553
アプリでの型チェックは要否は設計の問題。
・・・こういった思想も間違えではないからGenerics取り込み要否の検討に時間がかかった。
たとえばリストといったものを外部に公開することはアプリの内部構造を晒す行為に近い。
→型指定ありのaddを追加しろ、とかね。
>>556
そういうことですよね。
0561デフォルトの名無しさん
2005/12/14(水) 02:32:37引数のあるコンストラクタと抽象クラスってどう同じなんですか?
0562デフォルトの名無しさん
2005/12/14(水) 02:33:12えっと・・・かなり違う。
抽象クラスは派生クラスを実装しないとインスタンスに出来ない。
引数のあるコンストラクタは、引数なしと違いヒントや材料が指定できるだけのコンストラクタ。
0563デフォルトの名無しさん
2005/12/14(水) 02:56:16引数のあるコンストラクタと、抽象クラスを型として参照変数を宣言するの、どう違うのかなぁと・・・
0564デフォルトの名無しさん
2005/12/14(水) 03:19:21そこから各ピクセルのRGB情報を取り出したいんですが,
どのようにするのが一般的でしょうか?
なんか適当なAPIあります?
画像認識や画像判別的なコトをやりたいんですが…
風景画像と人物画像を自動判別したりとか
0565デフォルトの名無しさん
2005/12/14(水) 03:44:18PixelGrabber#grabPixels()かなあ
0566デフォルトの名無しさん
2005/12/14(水) 04:49:030567デフォルトの名無しさん
2005/12/14(水) 04:55:29ttp://www.netmania.jp/cgi/colum2/003/index.php?mode=res_view&no=52
0568デフォルトの名無しさん
2005/12/14(水) 05:02:34ありがとうございます!
すごく助かりました!!!
0569デフォルトの名無しさん
2005/12/14(水) 05:55:16上のHPにあるプログラムを実行しても破線になったり、線の太さが
変わったりしないのですが、何がおかしいのかわかりません。
>>440さんのようにパッケージでエラーとかは出ない(というか表示事自体はされる)のですが、
>>474さんのいうようにjava1.4からjava1.5にアップデートしたからでしょうか?
でも3Dの表示自体はできるしなにがなにやらです。
0570デフォルトの名無しさん
2005/12/14(水) 08:53:47課題2と4がわかりません、誰か助けて。。。
0571570
2005/12/14(水) 09:06:390572デフォルトの名無しさん
2005/12/14(水) 09:16:46宿題スレ池
0573デフォルトの名無しさん
2005/12/14(水) 10:45:48って代入して16進表示すると 0xff なのに
byte f = 0xff;
と代入するとエラーになってしまいます
どうしてなんでしょう?
byte型で1バイトの16進数を直接代入したいんですが
どうやったらいいんでしょう?
0574デフォルトの名無しさん
2005/12/14(水) 10:49:52JavaDOCはどうすれば良いのですか?
0575デフォルトの名無しさん
2005/12/14(水) 10:50:44普通に英語で書けば良いんじゃないですか?
0576デフォルトの名無しさん
2005/12/14(水) 10:51:18byte が扱えるのは -128 〜 127 まで。 0xFFは範囲外。
byte f = (byte)0xFF; みたいにキャストすれ
0577デフォルトの名無しさん
2005/12/14(水) 11:32:19組んでいます。
それで、eclipse3.1からアプレットビューアで起動すると、うまくいくんですが、
IEで起動するとデータのやり取りがおかしくなって、バグってしまいます。
そこで、質問です。
アプレットビューアとブラウザでは何か違いがあるのでしょうか?
よろしくお願いします。
0578デフォルトの名無しさん
2005/12/14(水) 11:58:20この部分がわからんと何ともいえない。
どんなエラーが出たのかぐらい書け。
0579577
2005/12/14(水) 12:13:18エラーというエラーはでないのですが、チャットメッセージが名前一覧に
表示されたり、その他のデータがチャットエリアに表示されたりと、データの
受け取り内容がおかしくなってしまいます。
わかりずらくてすみません。
アプレットビューアではそのようなことは無くたぶん正常に動いています。。。
IEではとある機能を追加したらこのようなことになり、それ以前は普通に動いてました。
0580デフォルトの名無しさん
2005/12/14(水) 12:15:52ありがとうございます
0581デフォルトの名無しさん
2005/12/14(水) 12:25:09ありませんでしょうか
引数が足りなかったりオプションが不正ならUsageを表示したり
0582デフォルトの名無しさん
2005/12/14(水) 12:29:31動作がめちゃくちゃ重くなってきて困ってます・・・
具体的には double a[][][] = new double[20][5][10];
という感じの三次元配列を作って、それで
for(i=0;i<20;i++){
for(j=0;j<5;j++){
for(k=0;k<10;k++){
abcde = a[i].[j][k];
}
}
}
というような処理をさせてます。
どうすれば処理速度を上げることができますでしょうか?
0583デフォルトの名無しさん
2005/12/14(水) 12:46:57jakarta の CLI かな
0584デフォルトの名無しさん
2005/12/14(水) 12:46:59Javaを辞めて機械語で書く
0585デフォルトの名無しさん
2005/12/14(水) 12:50:351次元配列に置き換えて先頭からのシ一ケンス処理として置き換えできないか考える
むりならそもそもの口ジックを見直す
0586デフォルトの名無しさん
2005/12/14(水) 12:54:37Thanks
0587574
2005/12/14(水) 12:55:15それしかないですか。
英語でリアルタイム思考はできないので、
翻訳で思考が中断しそうだなあ。
0588577
2005/12/14(水) 15:00:50すみません、エラー出ていました。
IEのJavaコンソールにもeclipse3.1のコンソールにも
java.net.SocketException: socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at JNetCl.ReceiveFromServer(JNetCl.java:89)
at NetMeatingClA$3.run(NetMeatingClA.java:197)
でていました。
0589デフォルトの名無しさん
2005/12/14(水) 15:03:2912 as 23
と入力した3つの文字列を個別に取り出したいのですが、
どうすればいいでしょう?
BufferedReaderクラスのreadLine()だと一つの文字列になってしまう。
一文字ずつ読み込み、空白で判断するしかないのでしょうか?
0590デフォルトの名無しさん
2005/12/14(水) 15:09:14つStreamTokenizer
おれはあまり使わないけど。
0591デフォルトの名無しさん
2005/12/14(水) 15:11:20java.util.StringTokenizer
java.io.StreamTokenizer
String#split()
好きなの使え。
0592590
2005/12/14(水) 15:12:18ありがとうございます。
やってみます。
0593589
2005/12/14(水) 16:07:57>>590
できました。ありがとうございました。
>>591
java.util.StringTokenizerでもできました。
ありがとうございました。
ただ、String#split()は質問する前にも試そうとしたんですが、
使い方が分からなくて。。。
0594デフォルトの名無しさん
2005/12/14(水) 16:58:39String[] array = tmp.split("<>");
array[0] -> "hogeA"
array[1] -> "hogeB"
array[2] -> "hogeC"
こんな感じ。
0595デフォルトの名無しさん
2005/12/14(水) 18:19:28new Integer(0) と new int[] {0} では生成コストにどれぐらいの差があるんでしょうか?
0596デフォルトの名無しさん
2005/12/14(水) 18:24:32たぶん new Integer(0) のほうが軽いと思うけど、計測してないから断定はできん。
といっても、100万回繰り返しても1秒以下の差しかでないと思うから、生成コストはあまり気にしなくていいと思う。
キーとして使いやすいほうを選べばいいんじゃないでしょうか。
0597デフォルトの名無しさん
2005/12/14(水) 18:32:17public List method() { // Listを返す。
List list = new List();
list.add("A"); list.add("B");
return list;
}
public String[] method() { // Stringの配列を返す。
List list = new List();
list.add("A"); list.add("B");
String[] array = new String[list.size()];
list.toArray(array);
return array;
}
返されたListまたは配列は、参照されるのみで追加や変更はされません。
参照だけなので、そのメソッドを使う人から見ればListより配列が返ってくれたほうが繰り返し操作が簡単だからいいかなーと思ってます。
(Java5じゃないんで、拡張for文が使えないんです。)
どっちでもいいちゃあどっちでもいいんだけど、えらいひとの意見ちょーだい。
0599デフォルトの名無しさん
2005/12/14(水) 18:43:06Collections#unmodifiableListで、読み取り専用のリストを返すとかは?
0600589
2005/12/14(水) 18:47:47なるほど!
勉強になりました。
ありがとうございます。
0601デフォルトの名無しさん
2005/12/14(水) 19:12:29generics 使えないとキャスト必要になるから String[] の方が便利っちゃ便利。
0602デフォルトの名無しさん
2005/12/14(水) 20:17:21前はSunがjavadocの国際化作業を支援するdocletを出してたみたいだけど
最近はどうなんだろうな。
0603597
2005/12/14(水) 20:43:22そんなものがあるんですか。勉強になります。
ただ、まずはListにするか配列にするかを先に決めないと。
>>601
そうなんですよね。長いコードでもEclipse使えば書くのはちょっと楽になるけど、読みづらくなるし。
String#split() (というかPattern#split())では、内部でListを使ってて、それを Stirng[] に変換して返してます。
やっぱり配列に変換するのがJavaの流儀なんでしょうか。
0604デフォルトの名無しさん
2005/12/14(水) 23:08:15new Integer(0).equals(new Integer(0)) は true になるけど
new int[] {0}.equals(new int[] {0}) は false になるから int[] はキーとしては不適当。
0605デフォルトの名無しさん
2005/12/14(水) 23:18:10この場合並び順はどうなりますでしょうか?
なんかうまい具合に階層順ファイル名順に並びが定義されているとありがたいんですが
0606デフォルトの名無しさん
2005/12/14(水) 23:33:39プログラム1
public class A{・・・
などととなってるがこのpublicはどういう意味、使われ方なのでしょうか?
JAVAの本ではパッケージのところにpublicの説明があるが、パッケージも関係あるのですか?
0607っ
2005/12/14(水) 23:34:16試せないの?
0608デフォルトの名無しさん
2005/12/14(水) 23:36:36クラスがpublicかどうかを表す
0609デフォルトの名無しさん
2005/12/14(水) 23:45:12パスをキーって事は文字列か? だったら文字列の並び順になる。
絶対パスはOSによって書式が違うから、本当にやりたかったらPathクラスかなんか作って
実際に動かすOSに合わせてComparable実装したほうがいい。
ってcommonsとかKodersに有りそうなネタだな。探せば世界のどっかにあるはず。
0610デフォルトの名無しさん
2005/12/14(水) 23:54:091.4以前は型指定のCollectionを使えなかったから、
要素の型付リストを返したければ配列を使うしかなかった。
1.5からはGenericsがあるのでunmodifiableなList<T>を使うのがベスト。
0611デフォルトの名無しさん
2005/12/14(水) 23:57:0910件くらいだとArrayListのが早い気がする
0612デフォルトの名無しさん
2005/12/14(水) 23:58:09TreeMap だから Comparatorつっこめば int[] でも良いんじゃないか?
どちらかというと、int[] の中身は変え放題っつー方が問題あるような。
0613デフォルトの名無しさん
2005/12/15(木) 00:18:20んんー
ではputした順番を保持するMapとかは無いですかね?
List<Map<String, File>>でできるとは思うけど、ちょっと美しくないので
0614デフォルトの名無しさん
2005/12/15(木) 00:21:290615デフォルトの名無しさん
2005/12/15(木) 00:24:30あーどうもです
SortedMapかと思ってTreeMapしか実装がないぞとかやってました
0616デフォルトの名無しさん
2005/12/15(木) 00:33:09測ってないけど、高々1000とか10000ならArrayListは十分速いと思う
0617デフォルトの名無しさん
2005/12/15(木) 00:36:51そんなデータ普通DBに読みに行くだけだ。
0618デフォルトの名無しさん
2005/12/15(木) 00:58:18用途しだい
0.1msもかかると使い物にならないとかそういうこともあるし
0619デフォルトの名無しさん
2005/12/15(木) 01:52:23つ http://jakarta.apache.org/commons/collections/api-release/org/apache/commons/collections/list/TreeList.html
0620デフォルトの名無しさん
2005/12/15(木) 02:27:09ソートはできるだろうが get で値を取得するときは
キーと == で同値な int[] じゃないと取り出せないぞ。
常に entrySet か keySet か values 使ってアクセスするならいいけど。
int[] の中身変え放題ってのももちろん問題だが。
0621デフォルトの名無しさん
2005/12/15(木) 08:39:380622デフォルトの名無しさん
2005/12/15(木) 08:55:500623デフォルトの名無しさん
2005/12/15(木) 10:30:56クラスがpublicってどういうこと?
0624デフォルトの名無しさん
2005/12/15(木) 10:38:38何を言っとるんだキミは
0625デフォルトの名無しさん
2005/12/15(木) 10:43:01System.out.println((char)('生' & '死'));
0626デフォルトの名無しさん
2005/12/15(木) 11:25:23生 751F 90B6 C0B8 4038
死 6B7B 8E80 BBE0 3B60
愛 611B 88A4 B0A6 3026
0627デフォルトの名無しさん
2005/12/15(木) 12:04:04入門サイト探してたらここで見つけた
ttp://www.groovy-number.com/java/sample/CharOperation.html
0628デフォルトの名無しさん
2005/12/15(木) 12:21:5876へぇー
0629デフォルトの名無しさん
2005/12/15(木) 14:06:52凄いが、一般の人に話しても絶対理解されない雑学だなぁ。
0630デフォルトの名無しさん
2005/12/15(木) 14:13:430631デフォルトの名無しさん
2005/12/15(木) 14:30:54( ・∀・)つ〃∩ ヘェーヘェーヘェー
IBMのカエサルシフトがHALみたいなもんか。
0632デフォルトの名無しさん
2005/12/15(木) 16:19:24GUI画面で数値を入力させて、それを計算して結果を出力する といったようなプログラムは
どのように組めば良いのでしょうか?
0633デフォルトの名無しさん
2005/12/15(木) 17:28:08それを読み取って計算して表示
0634デフォルトの名無しさん
2005/12/15(木) 20:09:45(レコードが今後複雑になるのでStringTokenizer使いたくない)
マッチを繰り返して、 abc, def, ghi と取り出したいのですが、
手始めに abc だけマッチさせようと書いたコードが動きません。
何か間違っているのでしょうか
import java.util.regex.*;
public class DemoRegex {
public static void main(String[] args) {
Pattern p = Pattern.compile("([^:]+)");
Matcher m = p.matcher("abc:def:ghi");
if (m.matches())
for (int i = 0; i <= m.groupCount(); i++)
System.out.println(i+":"+ m.group(i));
else
System.out.println("なぜ?");
}
}
0635デフォルトの名無しさん
2005/12/15(木) 20:14:58その先頭のオブジェクトを誰も指さなくなったら
GCはリストされている全てのオブジェクトを解体してくれますか?
いくつかのオブジェクトでリング状に参照してるから気になったので
教えてください
0636デフォルトの名無しさん
2005/12/15(木) 20:21:19×if (m.matches())
○if (m.find())
0637デフォルトの名無しさん
2005/12/15(木) 20:23:57GCの実装による。
普通は循環参照あっても回収されるから大丈夫。
0639デフォルトの名無しさん
2005/12/15(木) 20:27:40public class DemoRegex {
public static void main(String[] args) {
Pattern p = Pattern.compile("([^:]+)");
Matcher m = p.matcher("abc:def:ghi");
int i=0;
while(m.find()){
System.out.println(i+":"+ m.group(1));
i++;
}
}
}
0640デフォルトの名無しさん
2005/12/15(木) 20:36:49>>639
find() 使うのそこかよorz
ありがとうございました
0641デフォルトの名無しさん
2005/12/15(木) 23:28:54が欲しいのですが、SUNでは削除されているようです。
ミラーとかご存知でしたらご教授願います
変な質問ですが、よろしくお願いします
0642デフォルトの名無しさん
2005/12/15(木) 23:46:54javascriptでユーザーの動きを制御したりはできるの?
例えばユーザー側で3分間どこもクリックしたりしなかったら何かメッセージウインドウを出す、とか
あくまでjavascript限定で
0643デフォルトの名無しさん
2005/12/16(金) 00:02:02スレ違い
0644デフォルトの名無しさん
2005/12/16(金) 00:12:47参考になるようなサイト(書籍でもOKです)ってありませんか?
自分でも探してみたのですが、シューティングとかブロック崩しとかはあるのに
2Dアクションゲームのアルゴリズムが載ったサイトは見つかりませんでした。
BufferStrategy とか Timer とか GraphicsDevice(FullScreen) とかについては
そこそこ使える程度には理解しています。
画像処理についても、大昔に DirectDraw をかじったことがあるので基礎は分かっています。
なので最大の問題はアルゴリズムです。
Java はマインスイーパライクの簡単なゲームくらいしか作ったことがありません。
アクションゲームは全く未知の世界です(当たり判定とか)。
基本的なことが分かるサイトとかってないですかね?
0645デフォルトの名無しさん
2005/12/16(金) 00:15:170646デフォルトの名無しさん
2005/12/16(金) 00:18:01アルゴリズムって程のものでもないだろう。
あたり判定て四角の座標が重なってるかどうかとか
ビットマップで重なり判定とか
べつに普通に思いつくとおもうけど。
3Dはベクトルと行列とかわからないとつらいけど
2Dゲームは
動作画面見てコードがだいたい想像できないようなら
向いてないような。
0647デフォルトの名無しさん
2005/12/16(金) 00:21:230648デフォルトの名無しさん
2005/12/16(金) 00:25:40中学生に、酷なこと言ってやるなよ。
0649デフォルトの名無しさん
2005/12/16(金) 00:27:31Bだとダッシュできるようにすればいいし、Aならジャンプすればいい。
唯一難しいのはジャンプ中に慣性無視して戻ってこれるアルゴリズムくらいだ。
0650デフォルトの名無しさん
2005/12/16(金) 00:27:31シューティング作れりゃアクションは簡単。
sinカーブ上にキャラを配置できれば問題なし。
0651デフォルトの名無しさん
2005/12/16(金) 00:28:57中学なら十分に作れるだろ
みんな小学のころからコードよんでたぜ
0652デフォルトの名無しさん
2005/12/16(金) 00:34:000653デフォルトの名無しさん
2005/12/16(金) 01:12:24良い雑誌だったのに
0654デフォルトの名無しさん
2005/12/16(金) 01:51:160655デフォルトの名無しさん
2005/12/16(金) 01:53:57AppletやケータイJavaでもなければちゃんとOOPするでしょ
0656デフォルトの名無しさん
2005/12/16(金) 02:12:260657デフォルトの名無しさん
2005/12/16(金) 02:15:35ソースコードを入力して動かす時代じゃなくなったから。
特に、有料の開発環境が必要だった時期に、普通の人にはソースコードが入力できなかったりした。
今なら無料のスクリプト処理系や開発環境がそろってるから、その点では解決してるけど、パソコンの使い方の多様化で、ゲームだけには絞れなくなったし。
ゲームをやるのがメインの層はプログラムを入力しようとは思わないし、プログラムを入力する層はゲームがやりたいわけじゃなかったりする。
0658デフォルトの名無しさん
2005/12/16(金) 02:17:53http://www.itmedia.co.jp/enterprise/articles/0407/15/news027.html
http://www.itmedia.co.jp/enterprise/articles/0408/31/news079.html
http://www.itmedia.co.jp/enterprise/articles/0410/27/news022.html
0659デフォルトの名無しさん
2005/12/16(金) 02:19:58ゲーム作ったことある?
制御やら判定処理は、OOPやったからといってきれいに書けるもんじゃないよ。
0660デフォルトの名無しさん
2005/12/16(金) 02:24:21JLabelに計算結果を出力させたいのですが、どのようなコードを書けば良いのでしょうか?
例えば足し算プログラムで、TextFieldが二つあり、そこに数値を入力して、
JButtonを押すと計算され、JLabel部分に計算結果が出力される といったような感じです。
0661デフォルトの名無しさん
2005/12/16(金) 02:27:100662デフォルトの名無しさん
2005/12/16(金) 02:39:140663デフォルトの名無しさん
2005/12/16(金) 04:13:01どうも、BorderLayout環境でJTextFieldを使うと高さがびろ〜んと一行以上になってしまうようです。
JTextFieldにsetPreferedSize()を使う以外で、これを解決するスマートな方法はないでしょうか?
0664デフォルトの名無しさん
2005/12/16(金) 06:45:37・BorderLayoutを使わない
0665デフォルトの名無しさん
2005/12/16(金) 06:47:35NetBeans5.0βでMatisse使って自由に配置。
めっちゃスマート。
0666デフォルトの名無しさん
2005/12/16(金) 07:15:020667デフォルトの名無しさん
2005/12/16(金) 07:38:49JLabel部分に計算結果を出力する方法です…。
どうすればJLabel部分に出力出来るのかわからないので、
System.out.println を使って、DOS画面に出力結果を表示していますorz
0668デフォルトの名無しさん
2005/12/16(金) 07:42:29API見ろ
そして二度と来るな
0669デフォルトの名無しさん
2005/12/16(金) 07:44:310670デフォルトの名無しさん
2005/12/16(金) 08:01:49JLabel#setText()
じゃ、だめなんかい
0671606
2005/12/16(金) 10:19:460672デフォルトの名無しさん
2005/12/16(金) 10:23:04うせろ
0673デフォルトの名無しさん
2005/12/16(金) 11:25:19jdk1.3でtifファイルを他の画像フォーマットに変換したいんですが
どんなやりかたがありますか?
jimiを使ってみたところ、windows環境では動いたんですがunixだとどうも動いてくれずjimi.getImageのimageの取得でこけてしまって悩んでます。
0674デフォルトの名無しさん
2005/12/16(金) 13:23:18int i = (b & 0xf0) >> 4;
ビット演算だと思うのですが、
このような処理を詳しく解説しているサイトを
ご存知でしたら、おねがいします。
0675デフォルトの名無しさん
2005/12/16(金) 13:31:52>>1
0676デフォルトの名無しさん
2005/12/16(金) 13:41:58普通にググれば山ほどでてくるどw
0677デフォルトの名無しさん
2005/12/16(金) 13:50:31わかりました。
上位4bitを取り出して、
右側に4回ずらしてその2進数をintにしたわけですね。
0678デフォルトの名無しさん
2005/12/16(金) 13:58:07さらに補足ですが、
byte b = 69;
int i = (int)b;
System.out.println(Integer.toHexString(i));
の表示の左側を10進数で取得したってことでOKでしょうか?
0679デフォルトの名無しさん
2005/12/16(金) 14:19:470680デフォルトの名無しさん
2005/12/16(金) 14:26:40たぶんこの質問レベルならこれでいいだろう
0681デフォルトの名無しさん
2005/12/16(金) 14:29:141.java(double A=1;)と設定した数値を2.javaにもっていきたい時ってどうすれば・・・汗
お手上げです・・・
0682デフォルトの名無しさん
2005/12/16(金) 14:52:13値として複数行の文字列を記述するにはどうしたらいいですか。
hoge\n\fuga\n と書いて、プログラム側で \n を改行文字に置き換えていくしかないんでしょうか。
なお用途はメッセージの国際化です。
複数行のメッセージがあるので、これをどうやってプロパティファイルに記述すればいいのかわからず、質問してみました。
できれば複数行のメッセージは1行にまとめず複数行のままで記述したいと思っています。
よろしくお願いします。
0683デフォルトの名無しさん
2005/12/16(金) 15:00:52\(改行)
0684デフォルトの名無しさん
2005/12/16(金) 15:02:27それはウソだ。
ワイヤーフレームだったら、ほとんど勉強せずにAWTだけで書けるし、ポリゴンもそんなに難しくない。
Javaで3Dはできる。
0685デフォルトの名無しさん
2005/12/16(金) 15:13:36シェルとかで複数行みたいな使い方ができるってことか。
682じゃないけど参考になった。
サンクス。
0686デフォルトの名無しさん
2005/12/16(金) 15:54:33それを3Dといっていいのか?
0687デフォルトの名無しさん
2005/12/16(金) 16:11:120688デフォルトの名無しさん
2005/12/16(金) 16:13:15そう言い出したら、シェルスクリプトでも3D可能とかになっちゃうけどさ
0689デフォルトの名無しさん
2005/12/16(金) 16:41:13何か許可がいりますか?
あとJavaはSunの商標ですとかの商標表示も必須?
0690デフォルトの名無しさん
2005/12/16(金) 16:56:31誰もまともな答えを出してくれないみたいだから、俺が答えてやろう。
2chの連中は厳しいところもあるが、めげずにがんがれ。
まず、jLabelで出力する部分を指定してやる。
こんな感じだな。setBoundsは適当なので、自分のフレームにあわせてくれ。
output = new JLabel();
output.setText("");
output.setBounds(300,100,150,50);
contentPane.add(output);
次に、jButtonの計算セクション(多分、JButton clickedButton = (JButton)event.getSource();)の下に
で、int x = Integer.parseInt(textfield1.getText());
int y = Integer.parseInt(textfield2.getText());
のような感じで、TextFieldで入力した数値を持ってくる。
で、計算部分を作るんだが、足し算プログラムなら、
int calc = x+y;
といった感じだろうか。そして、その下に、
output.setText(calc);
と書いてやれば、上に書いたoutput.setText("");から出力される。
以上。
0691デフォルトの名無しさん
2005/12/16(金) 17:27:48ヘッドレスモードでぐぐれ
0692デフォルトの名無しさん
2005/12/16(金) 22:09:13開くとNullPointerExceptionと出て起動しないんですが
原因教えていただけませんか?
0693デフォルトの名無しさん
2005/12/16(金) 22:21:17↑のコメントなかったことにして下さい
0694デフォルトの名無しさん
2005/12/16(金) 23:44:03いいサンプルがあれば教えてください。
JFreeChartを使うものでも結構ですので。
0695デフォルトの名無しさん
2005/12/16(金) 23:46:40補足です。
入力したいデータ形式はCSV形式です。
で、それをもとにグラフを描きたいわけです。
どうかよろしくお願いします。
0696デフォルトの名無しさん
2005/12/16(金) 23:52:53つ http://www.google.co.jp/
一生やってろ
0697デフォルトの名無しさん
2005/12/16(金) 23:54:22線引くとか
ttp://www.javadrive.jp/java2d/shape/index.html
0698デフォルトの名無しさん
2005/12/17(土) 00:42:19これを同じフォーマットのファイルに出力したいです
例えばimgがbmpならimg.bmpに、pngならimg.pngにといった感じです
でImageIO.writeを使いたいと思っているのですが、二つ問題があります
まず、ImageIO.writeではRenderedImageの実装クラスしか扱えないようですが、
どうにかしてimgをRenderedImageの実装クラスに仕立て上げることはできますでしょうか?
もう一つ、imgのフォーマットはどうやって取得すればいいでしょうか?
よろしくお願いします
0699デフォルトの名無しさん
2005/12/17(土) 00:45:30まずreadとwriteしかほとんど使わないけど、他のメソッド使うとすごく細かいこと出来るよ
0700デフォルトの名無しさん
2005/12/17(土) 02:03:27スタティッククラスと何が違うんでしょうか?
この二つってどう使い分けるんでしょうか?
0701デフォルトの名無しさん
2005/12/17(土) 02:11:58デザインパターンの本を嫁ばわかる
0702デフォルトの名無しさん
2005/12/17(土) 03:03:34パホーマンス云々だってさ。今日は似たクラスいーぱい、を作り直しさせられた。
これが、世の中ってやつですかね?
ふと、工数水増し、開発費用水増しという犯罪では?という気がしました。
0703デフォルトの名無しさん
2005/12/17(土) 03:41:33先に描かれてしまいます。
canvasを後に描かせるにはどうしたらいいのでしょうか。
0704デフォルトの名無しさん
2005/12/17(土) 06:14:54とあるプログラムの保守で、リフレクションを使ってた為
ソースコードを追跡するのがエラい大変だった。
リフレクションを使うのは、粒度の大きいクラス・パッケージに限定して欲しい。
一つのモジュールの内部で完結するように使われるのは勘弁。
0705デフォルトの名無しさん
2005/12/17(土) 06:20:48ejbCreateメソッドみたいな、あるタイミングで呼ばれるメソッドが名前で決められてるやつ?
そういうのは、アノテーションが使えると明示的になるし型保証もできていいのだけどね。
0706デフォルトの名無しさん
2005/12/17(土) 06:43:060707デフォルトの名無しさん
2005/12/17(土) 10:29:46あるのスレッドから一方のメソッドを呼び出している間に
ほかのスレッドからもう一つのメソッドを呼び出したらロックされないの?
そういう場合は
synchronized(this)みたいにしないとだめ?
0708デフォルトの名無しさん
2005/12/17(土) 11:04:12Javaはされない。これをリエントラント可能といいます。
0709デフォルトの名無しさん
2005/12/17(土) 11:05:21あ、よく読んでなかった。
他のスレッドか。ロックされるでしょ。
0710デフォルトの名無しさん
2005/12/17(土) 11:42:00↓どこが間違っているか解りません。
h.java
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
import java.applet.*;
import java.awt.*;
public class h extends Applet{
Image img;
public void init() {
setBackground(Color.white);
setForeground(Color.black);
img = getImage(getClass().getResource("Title.gif"));
}
public void paint(Graphics g) {
g.drawImeag(img , 0 , 0 , 400 , 300 , this);
}
}
.......................................................................................................
0711デフォルトの名無しさん
2005/12/17(土) 11:44:170712デフォルトの名無しさん
2005/12/17(土) 11:46:52サンクス
0713デフォルトの名無しさん
2005/12/17(土) 11:58:25同じフォルダ内です。
コンパイルすると
h.java:18: シンボルが解決できません。
シンボル: メソッド drawImeag (java.awt.Image,int,int,h)
場所 : java.awt.Graphics の クラス
g.drawImeag(img , 0 , 0 , 400 , 300 , this);
^
エラー1個
、とコンパイルエラーになります。
何故ですか!?(;´Д`)
0714デフォルトの名無しさん
2005/12/17(土) 12:25:28drawImeag → drawImage
0715デフォルトの名無しさん
2005/12/17(土) 12:25:460716デフォルトの名無しさん
2005/12/17(土) 12:33:11スペルミスを脳内補完してたようです;
0717デフォルトの名無しさん
2005/12/17(土) 12:43:27環境はWindowsXP。
Linuxだと、両方をインストールして、シンボリックリンクでディレクトリを切り替えるだけで簡単なんですけど、Windowsではどうやったらいいのかわかりません。
Eclipse使うのでもいいけど、できればコマンドラインからできる方法きぼう。
0718デフォルトの名無しさん
2005/12/17(土) 12:53:25システム環境変数のJAVA_HOMEとPATHの内容変更して、レジストリを切り替える
下のは1.5に変えたい場合
---ここから
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit]
"CurrentVersion"="1.5"
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime environment]
"CurrentVersion"="1.5"
---ここまで
PATHの設定は%JAVA_HOME%\binが%windir%よりも前に来るようにしてする事
そうでない場合は%windir%にあるjava.exe/javaw.exeをバージョンによって切り替える必要あり
0719717
2005/12/17(土) 13:20:23さんきゅーです。
レジストリいじらんといけないのか。これをコマンドラインから一発で変換できるようにするには、・・・ぐぐってみよう。
0720デフォルトの名無しさん
2005/12/17(土) 13:26:240721デフォルトの名無しさん
2005/12/17(土) 13:29:35そういうミスはEclipseで自動チェックできそうな
0722デフォルトの名無しさん
2005/12/17(土) 13:37:16Apache Antの<classpath>タグを使え
さもなければjavacコマンドのオプションでclasspathを使え。
さもなければActive TCLをインストールせよ。
TclでWindowsにシンボリックリンクを張ることができる。
0723デフォルトの名無しさん
2005/12/17(土) 13:50:13DataLine.Infoを書くと、DataLineの下に赤波線がでて、Rename in file とでます。
ピリオドで区切られたクラス名を認識してない?みたいですが
Eclipseの設定の問題でしょうか?
0724デフォルトの名無しさん
2005/12/17(土) 13:51:58一体何なのか説明せよ。
お前が作ったクラスなのか、それともフィールド変数なのか
はっきりせい。
0725723
2005/12/17(土) 13:56:06これが、音声ファイルを読み込もうとしているメソッドです。
Clip mySoundRead(String fname){
try {
AudioInputStream aIS1=AudioSystem.
getAudioInputStream(getClass().getResource(fname));
DataLine.Info info1=new DataLine.Info(Clip.class,aIS1.getFormat());
Clip clip1=(Clip)AudioSystem.getLine(info1);
clip1.open(aIS1);
return clip1;
} catch (UnsupportedAudioFileException e) {
e.printStackTrace();
return null;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
0726デフォルトの名無しさん
2005/12/17(土) 14:11:000727デフォルトの名無しさん
2005/12/17(土) 15:19:080728デフォルトの名無しさん
2005/12/17(土) 16:36:58JavaでConnection取得してそこからStatement取得して
resultset = st.executeQuery("SELECT C FROM T");を実行しても、
結果が帰ってきてくれまへん。SQLExceptionも返って来ない・・・
でも、resultsetの中が空っぽなんです。
同じフローの中で・・・というか、上の文の一つ先に試しに
st.execute("INSERT INTO T(C, D) VALUE ('a', 'b')");
って実行してみると、テーブル見たらちゃんとデータ入ってるので、
その辺は問題なさげです。
何が問題っぽいでしょうか。解決の糸口が見つかりません・・・
0729デフォルトの名無しさん
2005/12/17(土) 16:56:27結論から申しますと、結果は取得できておりました。。
結果の見方とデバッガのresulsetの見方を両方間違えておりました。
スーパーごめんなさい。
0730デフォルトの名無しさん
2005/12/17(土) 17:21:52InetAddressではlocalhostしか取得できないようです
0731デフォルトの名無しさん
2005/12/17(土) 18:21:410732デフォルトの名無しさん
2005/12/17(土) 18:21:590733デフォルトの名無しさん
2005/12/17(土) 18:22:350734デフォルトの名無しさん
2005/12/17(土) 18:22:480735デフォルトの名無しさん
2005/12/17(土) 19:10:290736デフォルトの名無しさん
2005/12/17(土) 20:05:210737デフォルトの名無しさん
2005/12/17(土) 20:15:420738デフォルトの名無しさん
2005/12/17(土) 20:19:45長所にあげてるのを見るとはらたってしょうがない。
そもそも組み込みとかだと動かないし、liunuxとかwindowsで動くとかならC++でも
ラッパーライブラリ使えば動く。
だいたいjavaランタイムとか一般人はほとんどwindowsに入れてないんだkら動かないだろハゲ。
0739デフォルトの名無しさん
2005/12/17(土) 20:21:000740デフォルトの名無しさん
2005/12/17(土) 20:21:410741デフォルトの名無しさん
2005/12/17(土) 20:24:44現在は回避策としてはそうしているんですけどね。
予約語でサクッと出来たほうが嬉しかった。
0742デフォルトの名無しさん
2005/12/17(土) 20:32:26だよ
0743デフォルトの名無しさん
2005/12/17(土) 20:37:17参考になりそうなwebページなどありましたら教えてください。
0744デフォルトの名無しさん
2005/12/17(土) 20:38:54ありがとうヽ(・∀・)ノ
0745デフォルトの名無しさん
2005/12/17(土) 20:57:43そりゃインナークラスの場合だろ。
通常のメンバーでは無理。
0746デフォルトの名無しさん
2005/12/17(土) 20:59:500747デフォルトの名無しさん
2005/12/17(土) 21:04:340748デフォルトの名無しさん
2005/12/17(土) 21:06:530749デフォルトの名無しさん
2005/12/17(土) 21:15:490750デフォルトの名無しさん
2005/12/17(土) 21:23:050751デフォルトの名無しさん
2005/12/17(土) 21:36:17これの管理方法は次のような仕組みで問題ないでしょうか?
・ファイルをオープンするときは、必ず特定の静的クラス(AClass)のユーティリティメソッドを使用する。
・ユーティリティメソッドは、ファイルをオープンしてファイルストリームを返すと同時に、
AClassの保持する静的リストにファイルストリームを格納する。
・ファイルクローズ時はAClassの静的ユーティリティメソッドを使用し、静的リストからファイルストリームを削除する
・mainメソッド内部をtryで囲み、finallyでAClassの持つ静的リストを総なめし、
全てのファイルストリームをクローズする。
・総クローズ中のIOExceptionについては総なめループ中でcontinueにより対処する
0752デフォルトの名無しさん
2005/12/17(土) 21:58:28Javaの"Write Once, Run Anyware"は
「リコンパイルせずにどこでも動く(=バイナリレベルでポータブル)」を
目指しているのをわかっていない人が多い。
CでもC++でもリコンパイルすれば動く(=ソースレベルでポータブル)なのは
全然関係ない。
0753デフォルトの名無しさん
2005/12/17(土) 22:05:34C屋だったらしいけど、バイトコードとはいえ改行コードが!って思ってたんだろうね。
0754デフォルトの名無しさん
2005/12/17(土) 22:19:56板違いになってるとは思いますが、言語を指定したいのでここでお願いします。
月額1000円くらいまでで無いでしょうか?
0755デフォルトの名無しさん
2005/12/17(土) 22:27:540756デフォルトの名無しさん
2005/12/17(土) 23:27:230757デフォルトの名無しさん
2005/12/18(日) 00:18:12javaで電卓プログラムを作る場合で
もしもdouble型を超える数字を計算する場合(メモリが続く限り無限)
にはどうすれば良いでしょうか?
自分で考えてもよく分からなくて・・・・
よろしく御願いします。
0758デフォルトの名無しさん
2005/12/18(日) 00:28:370759デフォルトの名無しさん
2005/12/18(日) 00:30:35文字列でBigに生きればいい
0760デフォルトの名無しさん
2005/12/18(日) 00:31:16そこを何とかヒントだけでも・・・
自分が考えたのはエラーが出た時にtry catchするとか
桁を10とかで割るとか、文字列に変換してとか・・・・
あ、Integerか・・・
それとも再帰呼び出しとかが怪しいと思うのですが・・・・
この中に正解とか有りますでしょうか・・?
0761デフォルトの名無しさん
2005/12/18(日) 00:32:100762デフォルトの名無しさん
2005/12/18(日) 00:42:23今からeclipseで・・・・
また分からなかったら質問するのでよろしく
御願いしますー
0763デフォルトの名無しさん
2005/12/18(日) 00:55:13super
もしくはスーパークラスにthisをかえすgetterメソッドを実装する
0764デフォルトの名無しさん
2005/12/18(日) 00:57:42そこでJavaWebStartの出番ですよ。
Flashのように勝手にJavaをインストールしてくれるので安心。
0765デフォルトの名無しさん
2005/12/18(日) 00:58:54ローカルに落とすならサンドボックスもいらない?
0766デフォルトの名無しさん
2005/12/18(日) 01:01:50Java入門ヒューレッドパッカード(HP)?
何それ?
0767デフォルトの名無しさん
2005/12/18(日) 01:01:56いまだにそういう馬鹿が多くてむだなことにテストに時間を
かける奴が多い。
0768デフォルトの名無しさん
2005/12/18(日) 01:02:01自宅でサーバ構築した方が良いぞ
0769デフォルトの名無しさん
2005/12/18(日) 01:02:46おいおいjarsignerを知らないのか?
0770デフォルトの名無しさん
2005/12/18(日) 01:06:17参考までに構成と初期費用とランニングコスト教えて。
DDNS便りのしょぼ鯖じゃないよね?
0771デフォルトの名無しさん
2005/12/18(日) 01:28:55C++だとエンディアンが違う環境で同じデータが使いにくい
ウィンドウだすのはかなりつらい。
0772デフォルトの名無しさん
2005/12/18(日) 02:13:43初心者ですがちょっと教えていただけますか?
JavaアプリからWindowsアプリへウィンドウズメッセージは送れますか?
全く無理ですか?
0773デフォルトの名無しさん
2005/12/18(日) 02:19:390774デフォルトの名無しさん
2005/12/18(日) 02:32:47どうもありがとうございます!
JNI、調べてみます。
0775デフォルトの名無しさん
2005/12/18(日) 02:47:03JNIって良く聞くんですけど
具体的にどんな時に利用するんですか?
0776デフォルトの名無しさん
2005/12/18(日) 02:54:040777デフォルトの名無しさん
2005/12/18(日) 06:39:39どうしても分からないので質問させて下さい。
double el = 52.9508;
double d = 0.0167 / Math.tan(el + 8.6/(el + 4.4))
を計算すると d = 0.012538......
となるはずなのですが、-0.05280......
という値になってしまいます。
画面に入力した式を参考に、電卓で計算すると0.012538...
と正しい値になります。
どれだけ見ても間違っているようには見えないのですが、
お願いします。
0778デフォルトの名無しさん
2005/12/18(日) 06:42:12JIMI
JAI
ImageI/O
なんでこう規格が乱立しているんですか?
何か理由があったんですか?
0779デフォルトの名無しさん
2005/12/18(日) 06:52:440780デフォルトの名無しさん
2005/12/18(日) 06:57:26その計算のどこで期待と違う値になってるか確認した?
0781デフォルトの名無しさん
2005/12/18(日) 07:01:47Math.tan() の角度はラジアン。
0783デフォルトの名無しさん
2005/12/18(日) 12:02:19DDNSに頼るとそんなにしょぼいんだ。
うちでは難なく使えてるけど。自動更新できるように設定すればいいだけじゃん
初期費用は電気代がちょっと。親と同居なので2万超
鯖だけにかかる電気代はよくわからない。
700MHz時代の古いマシンをそのまま流用して
いるのでマシン導入コストはゼロ。
ValueDomainで10年間有効のドメインを購入。10年で1万程度だから安いものだ。
プロバイダはCATVのをそのまま使ってる。親も使ってるのでコストを表現するのが難しい。
当時3万ほどしたルータも親と共同でつかってる。自宅サーバのための設定はしたけど。
一人暮らしなら鯖立てても
生活に使われる光熱費全体込みでも月1000円で済んだ香具師がいる。
そいつはいま就職しているのかな? http://www.development-network.net/
というレンタルサーバを自宅で運営していた香具師なんだが。会員数も
多くそれで当時年間何十万か稼いでいたようだ。
0784デフォルトの名無しさん
2005/12/18(日) 12:05:59一瞬tanの誤差の問題かと思った
TeX本で有名な奥村晴彦が書いた
Javaによるアルゴリズム入門にtanかatanかtanhかatanhを自作するコードが
あって0に近づくところとπ/2に近づくところで誤差の影響がでるので
if文で分けて誤差を最小限に計算した方がいいとあったので
0785デフォルトの名無しさん
2005/12/18(日) 13:03:05独習JAVA(第3版)で独習してます。
第2章 例2.4 - Integerクラスにおいて、下記のようなコードが登場します。
class StringToInt {
public static void main(String args[]) {
String s = "125";
int i = Integer.valueOf(s).intValue();
i += 10;
System.out.println(i);
}
}
4行目 int i = Integer.valueOf(s).intValue(); の部分がいまいち理解できません
。
int i = Integer.valueOf(s); ←では駄目なのでしょうか?
実行結果は同じになるのですが…
0786デフォルトの名無しさん
2005/12/18(日) 13:12:49int i = Integer.valueOf(s)でも通るのは、
暗黙のうちにInteger型のオブジェクトをint型に変換してくれているから?
古いバージョンのjavaだと通らないんじゃない?
Integer.intValue()はInteger型のオブジェクトをintに変換するメソッド。
0787デフォルトの名無しさん
2005/12/18(日) 13:14:30Integer#valueOfはIntegerを取得するメソッド(intをクラス化させたもの)
Integer#intValueがintを取得する。
でも本当はそんなまどろっこしいことしなくてもInteger#parseIntで直接変換できる。
ちなみに785がそれで動くのは、君の実行環境がJava5.0だから。
オートボクシングという謎のマイクタイソンがJava5.0には住んでるから
その本読破したら5.0の特徴をネットで調べて於こう。(今は気にするなってこと)
0788デフォルトの名無しさん
2005/12/18(日) 13:15:44ウィットにとんだジョークまで一生懸命考えたのに何で被るんだヽ(`Д´)ノ!
0789デフォルトの名無しさん
2005/12/18(日) 13:18:080790デフォルトの名無しさん
2005/12/18(日) 13:18:10余計なことやってる間に出し抜かれる典型ですねw
0791786
2005/12/18(日) 13:23:08ワロスww
ごめんww
0792デフォルトの名無しさん
2005/12/18(日) 13:27:52intValue
public int intValue()
この Integer の値を int として返します。
定義:
クラス Number 内の intValue
戻り値:
このオブジェクトが表す数値を int 型に変換した値
0793785
2005/12/18(日) 13:47:35ウィットにとんだジョークまで…
おかげさまで挫折せずにすみそうっす。
0794デフォルトの名無しさん
2005/12/18(日) 14:46:390795デフォルトの名無しさん
2005/12/18(日) 15:20:120796デフォルトの名無しさん
2005/12/18(日) 15:35:17マウスカーソルを変更するのは Component#setCursor(Cursor)
カスタムカーソルを作成するのは Toolkit#createCustomCursor(Image, Point, String)
0797デフォルトの名無しさん
2005/12/18(日) 15:37:16びっくりするくらい何もしてなくてKeyListenerの何が不満なのか分からない。
0798デフォルトの名無しさん
2005/12/18(日) 15:41:36無名クラスとかを簡単に書けるようにするため。
addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
//処理
}
});
同じ処理をしようとするときに、KeyListener使うと
addKeyListener(new KeyListener(){
public void keyPressed(KeyEvent e){
//処理
}
public void keyReleased(KeyEvent e){ } //必要ないけど、書かないといけない。
public void keyTyped(KeyEvent e){ } //必要ないけど、書かないといけない。
});
0799デフォルトの名無しさん
2005/12/18(日) 15:44:08やることをきっちりを分けて書くタイプだからその用途は盲点だった。
0800デフォルトの名無しさん
2005/12/18(日) 16:38:24ComunicationAPIを入れようとしたんですが、
Sunのページ(ttp://java.sun.com/products/javacomm/index.jsp)
へ行ってもダウンロードできません。
もう公開されていないのでしょうか?
0801デフォルトの名無しさん
2005/12/18(日) 16:43:190802デフォルトの名無しさん
2005/12/18(日) 17:33:19どうすればいいんですか?
0803デフォルトの名無しさん
2005/12/18(日) 17:36:27すでにあげられているそれ以外の2つのメソッドを使えばいいだけ
parseIntは先頭に0が着くと8進数処理がはいるとか
目的が違うものだよ
0804デフォルトの名無しさん
2005/12/18(日) 17:39:02No product selected. Please go back and select one.
なので、やり方が悪いんじゃないかと思うんですが
特に選ぶ項目が見つからないのでよく分かりません。
一時的な障害なんですかねぇ。
0805デフォルトの名無しさん
2005/12/18(日) 17:40:280806デフォルトの名無しさん
2005/12/18(日) 17:41:56http://www.sun.com/download/products/43208d3d.xml
0807デフォルトの名無しさん
2005/12/18(日) 17:59:430808デフォルトの名無しさん
2005/12/18(日) 18:01:22ありがとうございます。
これのWindows版が欲しかったんですが、
まだ無いみたいですね。
Linuxの方で考えてみます。
0809デフォルトの名無しさん
2005/12/18(日) 18:58:292.0でよければ、UPできたりする。
0810デフォルトの名無しさん
2005/12/18(日) 19:15:36JDKをインストールしただけでは、JREはインストールされないんでしょうか。
0811デフォルトの名無しさん
2005/12/18(日) 19:18:440813デフォルトの名無しさん
2005/12/18(日) 19:19:55オプションいじんなければデフォではいったと思うけど
0814デフォルトの名無しさん
2005/12/18(日) 19:22:55C:\java\jdk1.5.0_06\jre
こんな感じでjreディレクトリがあるしょ
0815810
2005/12/18(日) 19:30:09そうだと思ったのですが、そうじゃなかったので、なんでだろうと思って聞いてみました。
>>814
そのjreはフルスペックのJREなんでしょうか。よくわかってないんだけど、JDKのコマンドを動かすためだけの最低限のものということはない?
なんかWindowsのレジストリみても、Java Development KitのCurrent Versionは1.5で、
Java Runtime EnvrionmentのCurrent Versionは1.4のままなんですけど。
(書いてなかったけど、環境はWindowsXPです。)
というか、2ヶ月まえくらいにインストールしたときは、
C:\Program Files\java\jdk1.5.0._02
C:\Program Files\java\jre1.5.0_02
というかんじで、JDKとは別にJREがインストールされていたと思ったんだけど。
だから、JDKの下にあるjreディレクトリは必要最小限のだけで、フルスペックのJREは別にインストールされるんだーと思った覚えがある。
0816デフォルトの名無しさん
2005/12/18(日) 19:35:49C:\Program Files\java\jre1.5.0_02みたくなるのはjreのみを落としたときだけ
おまいが両方落としたからそうなったんでしょ
0817デフォルトの名無しさん
2005/12/18(日) 19:36:00JDKセットアップしたあとにPublicJREのインストーラが立ち上がるはずだけど
それをキャンセルつぃ他とか
0818デフォルトの名無しさん
2005/12/18(日) 19:46:36詳しく
0819810
2005/12/18(日) 19:48:53それでした。間違えてインストーラを2回クリックしたのかと思って、2つ目のインストーラを消してました。
いったんJDK5をアンインストールし、もう一度インストールしなおしました。
どうもありがとうございます。
ところでPrivate Javaってなんですか?
>>816
アドバイスしてくれてるのはありがたいんだが、あんまり適当なこといわないでくれ。混乱してしまうじゃないか。
0820デフォルトの名無しさん
2005/12/18(日) 19:49:59人を信用しなさすぎだなおい
0821810
2005/12/18(日) 19:51:18PrivateJavaじゃなくてPrivateJREですね。
ぐぐったらこんなのが。
ttp://www.javaopen.org/jfriends/mlarchive/msg00145.html
> JRE には private バージョンと public バージョンがある。
> private バージョンは配付アプリケーションの一部として組み込む。
> public バージョンは実行環境として複数アプリケーションから共有する。
> JDK 自体は private バージョンの JRE を使用する。
0822810
2005/12/18(日) 19:53:54書き方がたりなかった。
JDKのコマンド自体は問題なくうごくようなんだけど、Eclipseを使ってるときに
プロジェクトで使用するJavaのバージョンを5にしてみたら、なんか警告がでた。
それで、あれ?と思って上のような質問になりました。
だから、Eclipseで動かすときはJRE5.0もたぶん必要なんじゃないでしょうか。
0823デフォルトの名無しさん
2005/12/18(日) 19:57:10何で開発版が、ただのランタイムより機能が制限されるのさ
0824デフォルトの名無しさん
2005/12/18(日) 20:11:080825デフォルトの名無しさん
2005/12/18(日) 20:25:34javacうごかすときはJDKのJREが使われるけど、
コンパイルしたものを動かすときは先にインストールされているJRE1.4が優先されて使われたんじゃないでしょうか。
もうJRE1.5がはいっちゃったんで確認できないけど。
>>824
3.1.1なのでそれはない。
0826デフォルトの名無しさん
2005/12/18(日) 20:36:39実際に値を送ってもらいたいKeyLintenerをチェインするのはまずい設計ですか?
値を送ってもらいたいKeyListenerが直接フィルタリングしたほうが良いのでしょうか?
0827デフォルトの名無しさん
2005/12/18(日) 20:41:58つうか、コンパイルはEclipse内蔵のコンパイラが使われるわけだが。
0828デフォルトの名無しさん
2005/12/18(日) 20:46:07別の機会に呼び出してキャストしてそのまま使えるような仕組みってないのでしょうか。
0829デフォルトの名無しさん
2005/12/18(日) 20:48:57ここらへんのJavaDoc読んだらまた来てね
0830デフォルトの名無しさん
2005/12/18(日) 21:01:16そうですか。
でも話の主題はそこじゃないんですけどね。
0831デフォルトの名無しさん
2005/12/18(日) 21:05:22そうですか。
でも話の主題はそこじゃないんですけどね。
0832デフォルトの名無しさん
2005/12/18(日) 21:07:09そうですか。
でも話の主題はそこじゃないんですけどね。
0833デフォルトの名無しさん
2005/12/18(日) 21:07:35だったら質問しに来てんじゃねーよ、まじうざいっす(´д`)
0834808
2005/12/18(日) 21:14:48試しにRS232Cポートからデータを取得するプログラムを作成してみたいだけなので
2.0でも問題ないです。
よろしければUPお願いします。
0835デフォルトの名無しさん
2005/12/18(日) 21:19:48Swingの話?
0837デフォルトの名無しさん
2005/12/18(日) 22:13:05メンバインスタンスのクラスが直列可指定してなくても大丈夫?
0838デフォルトの名無しさん
2005/12/18(日) 22:29:08Swingに限らずaddListenerのあるもの全般です。
Swingだと良いクラスがあるのでしょうか?
0839デフォルトの名無しさん
2005/12/18(日) 22:32:101文字タイプするたびになんか処理したいのならドキュメントに対してイベントとって下され
0840デフォルトの名無しさん
2005/12/18(日) 22:35:19いやゲームで使いたかったのです
押しっぱなしにしても連続でイベントが投げられないようフィルタリングしようと
0841デフォルトの名無しさん
2005/12/18(日) 23:00:047730
0842デフォルトの名無しさん
2005/12/18(日) 23:06:25ゲームならそんな難しいこと考えなくていいと思うが。
0844デフォルトの名無しさん
2005/12/18(日) 23:40:31Windowsなら大丈夫
X-WindowSystemだとイベントの問題は残る
が、これはシステム上仕方ないようなのであきらめるしかない
0845デフォルトの名無しさん
2005/12/19(月) 02:47:25黒になる、というプログラムなんですが
後一色追加したいんですよ、黒をクリックすると追加した色になるように
public AppFrame(String title){
super(title);
addMouseListener(new ma(this));
addMouseMotionListener(new mma(this));
for(int i=0; i<100; i++)
output[i] = -1;
setBackground(Color.white);
setForeground(Color.black);
}
public void paint(Graphics g){
for(int y=0; y<10; y++)
for(int x=0; x<10; x++){
if(output[y*10+x] == 1)
graphics.fillRect(10*x+50,10*y+50,10,10);
else{
graphics.setColor(Color.white);
graphics.fillRect(10*x+50,10*y+50,10,10);
graphics.setColor(Color.black);
}
}
多分この辺をいじればできると思うのですが
0846デフォルトの名無しさん
2005/12/19(月) 02:53:40そんな一部分見せられても回答が返ってくる訳ない。
ソースポストとかどっかに全文あげてもう一回聞き直せ。
0847デフォルトの名無しさん
2005/12/19(月) 02:54:270848デフォルトの名無しさん
2005/12/19(月) 04:24:37output[クリック位置] == 追加した色NO
paintで
if(output[y*10+x] == 追加した色NO)
でとりあえずええやろ
0849デフォルトの名無しさん
2005/12/19(月) 04:29:160850デフォルトの名無しさん
2005/12/19(月) 04:49:08paintメソッド内を以下のように修正
if(output[y*10+x] == 1){
graphics.fillRect(10*x+50,10*y+50,10,10);
//ここから追加部分
}else if(output[y*10+x] == 2){
graphics.setColor(Color.red);//好きな色を指定しろ
graphics.fillRect(10*x+50,10*y+50,10,10);
graphics.setColor(Color.black);
//ここまで追加部分
}else{
graphics.setColor(Color.white);
graphics.fillRect(10*x+50,10*y+50,10,10);
graphics.setColor(Color.black);
}
あと、mouseClickedかmousePressedの中でoutput[n](nはクリック位置から算出した値)に値が1なら-1そうでなければ1を代入している部分があると思うので、
ここを値が1なら2、2なら-1、どちらでもなければ1を代入に書き換える
次からはきちんと宿題スレに行くようにな。
>>846
スレ違いなのは間違いないけど、エスパー必要か?
0851デフォルトの名無しさん
2005/12/19(月) 05:21:25yahooに接続してHTML解析して件数取得
0852デフォルトの名無しさん
2005/12/19(月) 09:46:360853デフォルトの名無しさん
2005/12/19(月) 10:18:23これ使えないかな?
ttp://developer.yahoo.co.jp/
0854デフォルトの名無しさん
2005/12/19(月) 11:25:01ダメ
Serializableされてないクラスのメンバインスタンスの直列化実行時に例外発生
0855JutaeKim
2005/12/19(月) 11:48:01I'm sorry for writing this article in english.
Because I can't write in japaense, I'm very sorry.
I'm making a V-application, one of browser,
so, it can use http connection.
The application runs on emulator(V-appli Emulator for JSCL 1.2.1) correctly.
But, when I test it on my phone (V902T),
the application has some problem.
When the application try to connect to my server, it return 503 error.
503 error means "Server Unabailable..."
But, I can't find any log about the connection from the device.
So, I think, vodafone gateway rejects the connection.
As the last try, I download a http sample from Vodafone site.
(http://developers.vodafone.jp/dp/tool_dl/java/emu.php )
But, the sample application also made same result.
Are there some difference between emulator and V902T?
Are there some different way to use http connection ?
Thank you for read my question..
Sincerely.
0856デフォルトの名無しさん
2005/12/19(月) 12:23:16Are you able to read Japanese?
Can I anser in Japanese?
0857デフォルトの名無しさん
2005/12/19(月) 12:49:20いい方法を教えてください。
IntegerのtoHexStringだと、Integerに変換したときの値がマイナスの
場合、8桁(ffffffff〜)の文字列になってしまいます。
今はマイナスかどうか判断して下2桁を取っているのですが
もうすこしシンプルでスマートな方法をご教授ください。
0858デフォルトの名無しさん
2005/12/19(月) 13:19:500859デフォルトの名無しさん
2005/12/19(月) 14:35:07うるせー馬鹿。
0860デフォルトの名無しさん
2005/12/19(月) 14:46:33What the hell do you mean with the word "anser"?
0861デフォルトの名無しさん
2005/12/19(月) 15:05:18Hey, Fuckin'-Chosun-Sarang.
Internationally or historically, it cannot suspect that Takeshima is a Japanese territory.
The Korea-government is only loud voice and has escaped from Japan.
The Korea-government and almost Koreans cannot understand themselves objective.
We should go to the International Court of Justice in a hurry.
So, when you want to question Japanese people, study Japanese first.
Ah, Why do you use vodafone?
You like Samsung products.
About disagreeable Japanese products, you should not get interested.
ha ha ha.
Best regards.
0862デフォルトの名無しさん
2005/12/19(月) 16:08:320863デフォルトの名無しさん
2005/12/19(月) 16:37:57ワロス!w
知り合いの韓国人に聞いたんだが、サムスン製よりも日本の携帯の方が良いらしい。
ディスプレイのクオリティが悪いだの言ってた。
まあ、答えてやっていいんじゃないか?
0864デフォルトの名無しさん
2005/12/19(月) 16:44:380865デフォルトの名無しさん
2005/12/19(月) 16:57:25日本の製品に興味もつなよ。
「世界最大の液晶作った!」「最大画素数のケータイ付きカメラ作った!」
「これで日本に勝った!」って連日やってんだから。
そのくせ、日本から工作機械買わないと液晶つくれねーし、着メロチップは
ほぼ100%、ヤマハや沖電子製だよ。
工作機械やパーツのお買い上げ、まいどあり!
まぁ、おまえらはおとなしく、いつまでも日本の技術属国やってなさいってこった。
0866デフォルトの名無しさん
2005/12/19(月) 17:10:41JIMI のように既にサポートが打ち切られたりとかしてるんですか?
0867デフォルトの名無しさん
2005/12/19(月) 17:23:33javax.imageioで代用できんの?
0868デフォルトの名無しさん
2005/12/19(月) 18:08:31いや、機能的には代用可能ですけど、その場合
JAI の立場ってどうなってしまうのかぁって思ったので…。
このままお蔵入りですか? > JAI
0869デフォルトの名無しさん
2005/12/19(月) 18:27:01Integer.toHexString(0x000000ff & b);
(bはbyteの値)
0870デフォルトの名無しさん
2005/12/19(月) 18:37:02https://jai.dev.java.net/
https://jai-core.dev.java.net/
あたりで続いてるけど。
0871デフォルトの名無しさん
2005/12/19(月) 19:06:44JAI がメインで ImageIO がオプションっていう扱いなの? (JIMI は死亡確定で)
内部的には JAI は ImageIO を呼び出してるけど。
0872デフォルトの名無しさん
2005/12/19(月) 19:19:480873デフォルトの名無しさん
2005/12/19(月) 19:42:530874デフォルトの名無しさん
2005/12/19(月) 20:24:030875デフォルトの名無しさん
2005/12/19(月) 20:45:27サンのJavaのページ、
http://jp.sun.com/java/
ページ真ん中辺に J2SE へのリンクがあるけど、いい加減リンク先変更してよw
いつまで 1.4.2 へのリンクを張ってるんだ?w
0876デフォルトの名無しさん
2005/12/19(月) 20:47:520877デフォルトの名無しさん
2005/12/19(月) 21:03:11sleep()で一定時間停止、三つのスレッドを同期させるプログラム。
自分で作ってみたのですが
***.java:7: static でない 変数 this を static コンテキストから参照することは
できません。
ChildThread1 chd1 = new ChildThread1();
といったエラーが出るのですが、どうすればいいんでしょうか。
ご教授お願いします。
0878デフォルトの名無しさん
2005/12/19(月) 21:05:21コンカレントAPI使えば楽
0879877
2005/12/19(月) 21:10:23joinを使ってよいといわれているのですが..
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=26525
これがソースです。
0880デフォルトの名無しさん
2005/12/19(月) 21:45:24http://www.javainthebox.net/laboratory/JDK1.4/Graphics/ImageIO/ImageIO.html
Image I/O はもともとは、この JAI の一部だったのですが、それが独立して JSR 15 になったという経緯を持ちます。
これは嘘ってこと?
0881デフォルトの名無しさん
2005/12/19(月) 21:56:27宿題ならあちらへどうぞ
0882デフォルトの名無しさん
2005/12/19(月) 21:57:00サポート範囲違いすぎるでしょ?
あってるんじゃないの?
0883877
2005/12/19(月) 22:02:36吊ってきます
0884デフォルトの名無しさん
2005/12/19(月) 22:52:14JIMI?
0885デフォルトの名無しさん
2005/12/19(月) 23:10:060886デフォルトの名無しさん
2005/12/19(月) 23:51:39何か問題がありますか?
0887デフォルトの名無しさん
2005/12/19(月) 23:54:09パフォーマンスじゃないかな。
あと、ちゃんと実装しておかないと、
シングルトンなオブジェクトでも複製できてしまう。
0888sage
2005/12/20(火) 00:29:09テキストファイル内の特定の行だけを削除、
例えば「2ちゃんねる」という言葉が入っている行だけを削除することって出来るでしょうか?
ファイルの読み込みはreadLine()を使って一行ずつ読みこんでます。
簡単に出来る方法あったら教えてください。
0889888
2005/12/20(火) 00:29:550890デフォルトの名無しさん
2005/12/20(火) 00:30:44PetternとMatcher使えばいいよ。
0891886
2005/12/20(火) 00:43:54なるほど。パフォーマンスについては使いどころ次第と言えそうですが、
Singletonのオブジェクトが複製できてしまうのは困りものですね。
0892デフォルトの名無しさん
2005/12/20(火) 00:55:51随分Googleで探したのですが見つかりません(´・ω・`)
助言お願いします。
ファイルストリーム使ってみようともしたのですが、よく分かりませんでした・・・・
0893デフォルトの名無しさん
2005/12/20(火) 01:04:06Iをiとかかないスラングを使わない、
cannotをcan'tと書く、
あまりにも丁寧な文体である
ことから日本人である率が高い。
0894デフォルトの名無しさん
2005/12/20(火) 01:34:43どうしても1つだけ分からないことがあるので教えてください。
ImageI/O は J2SE 1.4 からコアパッケージとして搭載されるようになりましたが、
最初に(オプションパッケージ扱いで)登場したのはどのバージョンからなんでしょうか?
0895デフォルトの名無しさん
2005/12/20(火) 01:38:25複製したくないならちゃんとreadResolveを書けば問題ないよ
詳しくはEffective Javaでも読んでちょうだいな
0896デフォルトの名無しさん
2005/12/20(火) 04:36:55彼の言い方だとindexOfでもOKじゃね?
0897デフォルトの名無しさん
2005/12/20(火) 09:30:24http://www.h7.dion.ne.jp/~s_wat/jakarta/fileupload.html
これとか
0898デフォルトの名無しさん
2005/12/20(火) 09:38:02FileInputStream & OutputStream
0899デフォルトの名無しさん
2005/12/20(火) 10:44:23JavaなのでTCP/IPの事だとは思うが>>897の様なエスパーばかりじゃないので
質問の内容はもっと細かく書く様に
0900デフォルトの名無しさん
2005/12/20(火) 14:56:340901デフォルトの名無しさん
2005/12/20(火) 15:09:140902デフォルトの名無しさん
2005/12/20(火) 15:24:25つ [Jakarta Commons FileUpload]
0903デフォルトの名無しさん
2005/12/20(火) 15:57:39ありがとうございます
0904デフォルトの名無しさん
2005/12/20(火) 16:00:44哺乳類のサブクラスにライオン、羊、豚がある場合、
肉食、草食といった性質はどちらで表現すべきでしょうか。
0905デフォルトの名無しさん
2005/12/20(火) 16:12:15アノテーションはツールやフレームワークが使うものとしたほうが便利かと
0906デフォルトの名無しさん
2005/12/20(火) 16:33:32そういった、モデルに関することはクラスやインターフェースであらわしたほうがよい。
アノテーションの使いどころは>>905に同意。
0907デフォルトの名無しさん
2005/12/20(火) 16:34:40アノテーションの使い方が見えてくるかも知れない。
0908904
2005/12/20(火) 17:27:50有難うございます。
アノテーションの使い所はロジック以外の所にあるんですね。
JavaDOCの5.0の新機能で紹介されている例も簡易ツールでしたし。
0909デフォルトの名無しさん
2005/12/20(火) 18:14:440910デフォルトの名無しさん
2005/12/20(火) 18:19:080911デフォルトの名無しさん
2005/12/20(火) 19:05:51public class B{
public B()
{
java.lang.System.out.println("construct");
}
public void func()
{
final static B b = new B();
}
public static void main(String[] s)
{
}
}
b.java:9: 修飾子 static をここで使うことはできません。
0912デフォルトの名無しさん
2005/12/20(火) 19:10:140913911
2005/12/20(火) 19:19:12ども
0914デフォルトの名無しさん
2005/12/20(火) 19:58:060915デフォルトの名無しさん
2005/12/20(火) 21:34:030917デフォルトの名無しさん
2005/12/20(火) 22:55:440918デフォルトの名無しさん
2005/12/20(火) 22:57:12と、マジレス。
0919デフォルトの名無しさん
2005/12/20(火) 23:03:24「今からxxバイト送るよ〜」と言ってxxバイト送ればいい
0920デフォルトの名無しさん
2005/12/20(火) 23:11:460921デフォルトの名無しさん
2005/12/20(火) 23:37:26前にここの人に言われて
結城浩先生のデザパタ入門を図書館で
借りてきたいのですけども
ちょっと難しいですけど目から鱗と言うか
勉強になってるのですが・・・・
流石にGoFの23個全部覚えるのはちょっとキツイので
これだけは覚えておけ!ってパターンが有ったら
教えて頂きたいのですが・・・・?
0922デフォルトの名無しさん
2005/12/20(火) 23:45:38Iterator
Strategy
Bridge
ゲームなら
Flyweight
Prototype
Composit
うーん、やっぱ全部おぼえれ。ゆっくりでええで。
0923デフォルトの名無しさん
2005/12/20(火) 23:56:45やっぱりそうですか・・・
最近やっとオブジェクトも基本型の様に
フィールドやメソッドの引数で利用するのがオブジェクト指向
なんだなぁ〜と漠然と分かってきた気がしてたのですが
改めて見てみると結構大変で。
よく仕事ではオブジェクト指向や再利用よりも納期に合わせる為に
力業でコードを書くとか聞くのですが・・・?
でもやっぱり覚えてないよりは全然良さ気ですね。
0924デフォルトの名無しさん
2005/12/20(火) 23:59:19業務系はプログラマってかコーダーだから大体は力技でOK
コード書いてて「どうもここは設計に変更がありえるな」ってところにデザパタ
お客様の追加仕様や意識合わせ不足による誤解とかで結構変わるからね
0925デフォルトの名無しさん
2005/12/21(水) 00:03:06プログラマ同士が設計を検討する中で「○○パターンでいいんじゃない?」みたいな
アルゴリズムを書いて見せなくてもそれと分かるための名前みたいなもんだよ
0926デフォルトの名無しさん
2005/12/21(水) 00:09:01設計はSEがして
プログラマの人はコードを書くとしたら
全体の設計で意思の統一が出来てないと
デザパタの意味があんまり無いですよね?
それにプログラマの仕事って下請けや孫請けとか
も多いらしいですが、今の多くの現場とかでも
デザパタとか浸透してるんでしょうか?
まだ初心者で自分の趣味程度でしかコードを書いた事が
無いので他人様との意思疎通にデザパタが役に立てば
イイとも思うのですが・・・・
まぁ雇って貰ってもどうせ下っ端ですけど・・・・
0927デフォルトの名無しさん
2005/12/21(水) 00:10:49本当に汎用的なライブラリならいいのだが
VBからの移行が多いので最近VBのコード見てるけど
このシンプルな命令はJavaにも欲しいとかはある
0928デフォルトの名無しさん
2005/12/21(水) 00:14:35----jsp
<form action="/Servlet" method="get">
name<input type="text" name="name"><br>
message<input type="text" name="message"><br>
<input type="submit" value="送信">
</form>
<%
String res = (String)request.getAttribute("res");
if(res == null){
res = "未入力";
}
out.println(res);
%>
</body>
</html>
----servlet
String old = (String)session.getAttribute("res");
//フォームの内容
String name = request.getParameter("name");
String message = request.getParameter("message");
String res = name + ":" + message + "<BR>" + old;
request.setAttribute("res",res);
RequestDispatcher dispatcher =
request.getRequestDispatcher("/a.jsp");
dispatcher.forward(request,response);
---
はしょってますが、こんな感じなんです・・・
セッション情報がいつもnullなんです。
0929デフォルトの名無しさん
2005/12/21(水) 00:18:04んなこたないIteratorとかはそもそも柔軟な設計を可能にするためのパターンだもん。
例えば表をJSPで出力するとして、あるときあるステータスのものは表示しないってなったら
JSPを変更(Strutsなら<logic:notEqual>とか)するより、hasNextでフィルタリングしたほうがスマートでしょ
0930デフォルトの名無しさん
2005/12/21(水) 00:21:09がjspで
session.setAttribute("res", session);
がservlet
だろうが
0931デフォルトの名無しさん
2005/12/21(水) 00:21:57> デザパタとか浸透してるんでしょうか?
してないね。だから意識させずにすっと使えるとこだけ使う。
0932930
2005/12/21(水) 00:27:14ってのはちょっとめんどくさがりすぎた
String old = "古い";
session.setAttribute("res", old);
0933デフォルトの名無しさん
2005/12/21(水) 00:31:23セッションとリクエストとは違うぞ
0935デフォルトの名無しさん
2005/12/21(水) 00:51:41なるほど
浸透してなくて力業でコード書かされる場合は
使える所だけ使うって事ですね。
何でもかんでもデザパタで万能でも無いんでしょうし。
でもちゃんと使った方が保守やデバックは簡単ですよね。
でも意識させずに・・・・って何か悪い事してるみたいですね
0936デフォルトの名無しさん
2005/12/21(水) 01:01:50あのなデザインパターンなんて本に載ってる通り使うもんじゃないぞ
>>925 が言ってる「アルゴリズムを書いて見せなくてもそれと分かるための名前みたいなもんだよ 」
>>929 が言ってる「柔軟な設計を可能にするためのパターン」
こなへんを学ぶために各デザインパターンの1使用例
を本とかで見て、そのパターンの感覚を掴む事の方が大事だぞ。
0937デフォルトの名無しさん
2005/12/21(水) 01:10:31”感覚”ってやっぱり沢山コードを書く事が
一番の上達法なのでしょうか?
自分はjavaの基本もそこそこにjsp/servletや
データベースとかばっかりやってたんですが
javabeansを利用するにもやっぱり基本の大切さを
今更ながら気付いて再勉強中でして。
コードを読み書きする時とかに何かコツとかが有れば
アドバイスして頂けると有り難いのですが?
0938デフォルトの名無しさん
2005/12/21(水) 01:13:51セッションに格納するのが目的ではなくて
サーブレットからJSPへデータを渡したいだけだと思うが
0939デフォルトの名無しさん
2005/12/21(水) 01:14:55どうすれば仕様変更に対して、柔軟に対応できたかとか考える機会をもつとか
Javaならデザインパターンでinterfaceをどう活用するか
じっくり調べてみるとか
0940デフォルトの名無しさん
2005/12/21(水) 01:15:43他人の汚いソースを読み、他人の綺麗なソースを読み、納得すること。
他人の厨ライブラリを試し、他人の定番ライブラリを試し、納得すること。
0941デフォルトの名無しさん
2005/12/21(水) 01:17:32誰かが、こう結果が出るプログラム組んでみろとか
言ってくれればいいけど、一人では最初中々難しい。
なのでやっぱり沢山読むのがいいな。
sunが出してるjavaの中身とか
jakartaのオープンソースとかは
さすがに非常に綺麗に書かれている。
インターフェースや抽象クラスがどう使われているのかを
特に注意して読んでれば、何となく分かる日がくる。
それでもまだ分からなければ、まだその時ではないって事だ。
そんなに神経過敏になる必要はない。
0942デフォルトの名無しさん
2005/12/21(水) 01:20:00>jspからservletでセットしたセッション情報って読めないんですか?
と書いてあるじゃないか。
そして、>>928 のソースには
どこにもセッションに設定されていないではないか
0943デフォルトの名無しさん
2005/12/21(水) 01:22:180944デフォルトの名無しさん
2005/12/21(水) 01:23:06なるほど・・・
”仕様変更”って結構重要っぽいですね。
自分でどうすれば後々便利で使い易く
分かり易いコードを書けるか色々試してみます。
有り難う御座いました。
0945デフォルトの名無しさん
2005/12/21(水) 01:23:360946デフォルトの名無しさん
2005/12/21(水) 01:25:41セッションに設定もしてないし、nullなのは当たり前だわな。
0947デフォルトの名無しさん
2005/12/21(水) 01:31:23今までは本のサンプルなんかを読んで読んで
読みまくってjspとかを書いていたんですが・・・
自分で本に書いてる内容は理解出来ても
0から作るのがどうも苦手で・・・まぁそれはホントの
意味で理解出来て無いでしょうけど。
だからjavaの基本を勉強し直して自分の能力の底上げを
しようかと。
30秒見て分からないメソッド(コード?)は駄目駄目らしいですけど
如何せん実力が無いから良いコードと悪いコードの
判別も結構キツイかも知れません。
privateかpublic。staticかどうか。
戻り値に引数なんかを今頃やっとこさ
意識して読める様になったくらいで・・・・
修行が足りん。
0948デフォルトの名無しさん
2005/12/21(水) 01:32:420949デフォルトの名無しさん
2005/12/21(水) 04:19:33の表示している文字列を太字(ボールド)にするにはどうしたらいいんでしょうか?
教えてください
0950デフォルトの名無しさん
2005/12/21(水) 06:39:39set()
で年やら月やら時刻要素を設定しても、なんかうまくいかないんです。
toString()では表示されていた値が取り出せません
たとえば、
set(2005, 1, 5, 0, 0, 0);
とすると、toString()で取り出した文字列の中では
YEAR=2005 MONTH=0 DAY_OF_MONTH=4
等となっているのに、.YEAR等で取り出した文字列は
.YEAR=1 .MONTH=2 . DATE=5
と由来不明の数字が出てしまいます。
引っかかる点としては
toString()で
time=? 等の設定していない項目が全て?になっている点でしょうか。
さっぱり分からないのでお願いします。
0951デフォルトの名無しさん
2005/12/21(水) 07:01:38いまどきAWTなんか使ってるなよ
0952デフォルトの名無しさん
2005/12/21(水) 07:20:08むしろ悲しいくらいに増えている
0953950
2005/12/21(水) 07:31:33instance.get(instance.YEAR)
で出来ました。(instanceはGregorianCalendarクラスのインスタンス)
instanceを2回書かなければならないのが面倒ですが。
馬鹿ですいません。
0954デフォルトの名無しさん
2005/12/21(水) 07:53:38http://www.fk.urban.ne.jp/home/kishida/kouza/kishou/11date.html
0955950
2005/12/21(水) 09:43:18ありがとうございます。
今まで読んでいて遅くなりましたが
いろいろ勉強になりました。
0956デフォルトの名無しさん
2005/12/21(水) 09:44:08label.setFont(new Font(null, Font.BOLD, 12));
0957デフォルトの名無しさん
2005/12/21(水) 09:53:11作り方を教えていただけませんか?課題説明は以下のような感じです・・
スレ違いなのですが本当にお願いします・・
class Handler implements Runnable {
Socket s;
Handler(Socket s) {
this.s = s;
}
public void run() {
try {
第1行を除いたサーバのループの内容
} catch(Exception e) {e.printStackTrace();}
}
}
元のサーバのループは以下のようになる。
while(true) {
Socket s = ss.accept();
Thread t = new Thread(new Handler(s));
t.start();
}
0958デフォルトの名無しさん
2005/12/21(水) 09:55:260959デフォルトの名無しさん
2005/12/21(水) 09:56:51説明の通り。
0960デフォルトの名無しさん
2005/12/21(水) 10:07:22こんな感じでしょうか?
import java.io.*;
import java.net.*;
import java.util.*;
class Handler implements Runnable {
Socket s;
Handler(Socket s) {
this.s = s;
}
public void run() {
try {
while(true) {
Socket s = ss.accept();
Thread t = new Thread(new Handler(s));
t.start();
}
} catch(Exception e) {e.printStackTrace();}
}
}
0961デフォルトの名無しさん
2005/12/21(水) 10:29:50で、それだとどうなったの?
0962デフォルトの名無しさん
2005/12/21(水) 10:46:54シンボル: 変数 ss
場所 : Handler の クラス
Socket s = ss.accept();
ってなりました。てか、根本的に違うんですかね。。
ネットで調べたの真似てテキトーに繋げたけど全く違うようなもの↓
0963デフォルトの名無しさん
2005/12/21(水) 10:48:00Socket s;
Handler(Socket s) {
this.s = s;}
public void run() {
while(true) {
try {
Socket s = ss.accept();
Thread t = new Thread(new Handler(s));
t.start();
}} catch(Exception e) {e.printStackTrace();}}}
public static void main(String args[]) {
try {
int port = Integer.parseInt(args[0]);
ServerSocket ss = new ServerSocket(port);
while (true) {
Socket s = ss.accept();
InputStreamReader isr = new InputStreamReader(s.getInputStream());
BufferedReader reader = new BufferedReader(isr);
int x = Integer.parseInt(reader.readLine());
int y = Integer.parseInt(reader.readLine());
OutputStreamWriter osw = new OutputStreamWriter(s.getOutputStream());
BufferedWriter writer = new BufferedWriter(osw);
PrintWriter out = new PrintWriter(writer);
out.println(x+y);
out.flush();
s.close(); }} catch(Exception e) {e.printStackTrace();}}}
0964デフォルトの名無しさん
2005/12/21(水) 10:50:360965デフォルトの名無しさん
2005/12/21(水) 11:26:54.YEAR等はstaticなフィールドなので、Calendar.YEARで使える
0966950
2005/12/21(水) 14:42:46ありがとうございます。
そうですね。
instance.get(Calendar.YEAR) とすると。
これはなんとか理解できました。
0967デフォルトの名無しさん
2005/12/21(水) 20:51:21ループ外で宣言した変数をループ中で使い回すのと
どちらの方が効率がいいのでしょうか?
ループ内で宣言しても一周ごとに破棄されると思っていましたが
あまりよくないみたいなことが書いてあったので。
また、一般の変数使い回しについても情報お願いします。
0968デフォルトの名無しさん
2005/12/21(水) 20:56:56サーブレットは初回起動時にインスタンスが作成され、それ以降は
要求待ち状態で次からのリクエストを待つとなっています。
2度目以降のリクエストを待つはわかるのですが、破棄されるタイミングは
どのタイミングになるのでしょうか?
Tomcatが管理しているらしいことは書籍に書いてあったのですが・・・
0969デフォルトの名無しさん
2005/12/21(水) 23:01:33コンテナを止めるときじゃないかな?
0970デフォルトの名無しさん
2005/12/21(水) 23:07:31変数の使いまわしは常に悪
0971デフォルトの名無しさん
2005/12/21(水) 23:08:00とりあえず気にするな
まずは分かり易いコードを書く独力した方がいい
変数も可能な限り使いまわさない
その辺のコストはパフォーマンスが問題になってからでもいい
分り易く書いていれば修正もできる
0972デフォルトの名無しさん
2005/12/21(水) 23:09:320973デフォルトの名無しさん
2005/12/22(木) 00:27:06どうしてもただのフローチャートになってしまうのです・・・。
何かコツがあるのでしょうか。
(1)Webアプリ
画面JSPでボタン押下 → リクエストの取得 → DBへのアクセス → 結果の取得 → 画面JSP
(2)シューティングゲーム
オープニングタイトル → ステージ → ボス戦 → リザルト ◇→ エンディング
↑ │
└─────────────┘
もちろん、エンティティとかレコード構造体とか、敵キャラとか弾とかは
オブジェクトで考えるのですが・・・。
0974デフォルトの名無しさん
2005/12/22(木) 00:43:15どうしてもフローチャートになってしまうのなら、
フローチャートによる記述が最適ってことだと思うよ
→結局オブジェクト間のメッセージのやりとりを書こうとしているのではなく、
処理の流れを書こうとしてるってことだと思う。
シーケンス図はどちらかというと、処理の流れを実現するには
オブジェクト間のメッセージがどんな感じでやりとりされるかを
記述するものだからね
(1)や(2)を描くのならアクティビティ図の方がいいんじゃない?
0976デフォルトの名無しさん
2005/12/22(木) 01:19:49>>923
> >>922
> やっぱりそうですか・・・
> 最近やっとオブジェクトも基本型の様に
> フィールドやメソッドの引数で利用するのがオブジェクト指向
> なんだなぁ〜と漠然と分かってきた気がしてたのですが
> 改めて見てみると結構大変で。
>
> よく仕事ではオブジェクト指向や再利用よりも納期に合わせる為に
> 力業でコードを書くとか聞くのですが・・・?
そういう悪い会社や組織、プロジェクトを基準に考えちゃいけないよ。
何が良くて何が悪いのかを見極めることが大事。
団塊の世代という人口が日本でも最も多い層が
儒教精神じみた古いことをいっているからといってかならずしも
その通りに従う必要はない。
団塊という長いものに巻かれる必要がないのと
同じように古い考え方に取り憑かれたものに
己の創造力を自ら蹂躙させられるようなことを
する必要もない。
0977デフォルトの名無しさん
2005/12/22(木) 02:19:240978デフォルトの名無しさん
2005/12/22(木) 02:59:25> フィールドやメソッドの引数で利用するのがオブジェクト指向
> なんだなぁ〜と漠然と分かってきた気がしてたのですが
間違えてる気がする
っていうか、ずれてるのかな
0979デフォルトの名無しさん
2005/12/22(木) 03:03:45ちがうねぇ。
でもまあ、業務アプリケーションだとあまりオブジェクト指向必要ないし使うの難しいからしかたないのかも。
とくにWeb。
0980デフォルトの名無しさん
2005/12/22(木) 03:08:50全くもって仰る通りなのですが理想を貫きには
納得させるだけの力が無いと駄目ですね・・・・
上の人がちゃんとしててSEとかもデザパタに精通
してて意思の疎通もスムーズなら・・ってそんな
職場とかが少数で有るなら自分以外のコードが力業で
その中に再利用や保守しやすいコードが含まれてるのも
結局全体から見たら汚いコードの様な。
>>977
”シンプル”って言うのも難しいですね・・・
初心者の”シンプル”さとプロの”シンプル”さは
違うだろうし。。
デザパタってのも実力が有る人には使い易い指針に
なるでしょうし・・・自分には結構難解ですけど。
ハードに修行しないとな
0981デフォルトの名無しさん
2005/12/22(木) 03:11:09マジですか?
ニュアンスとかじゃ無くて完全に間違えてるなら
javaにとっての”オブジェクト指向”とやら具体的に
教えてください。
0982デフォルトの名無しさん
2005/12/22(木) 04:00:58完全に間違ってるので、「勉強しなおせ」としかいえない。
金払ってくれるなら、時間さいて教えてやるけど。
0983デフォルトの名無しさん
2005/12/22(木) 04:02:29気を悪くしたのであれば謝る。
で、平気で『javaにとっての”オブジェクト指向”とやら具体的に教えろ』と
言えるのは素直で良いとも言えるが、オブジェクト指向そのものを
理解していないのではないかと思う。
俺個人は、言語によって"オブジェクト指向"に違いはないと思っている。
教科書的にオブジェクト指向を言ってしまえば、
内部に情報を持っていて、外部から活性化される振る舞い(メソッド)を
持っている”オブジェクト”と、オブジェクトが持っている振る舞いを活性化
させる”メッセージ”で考えるのが”オブジェクト指向(の考え方)”
たとえば、文章を処理するシステムを作ろうと、文字列と
文字列を操作する処理(たとえばsubstring)を考えることにした。
・旧来的な考えでは、情報と振る舞いが何の脈絡もなく定義されていた。
文字列→文字の配列(ほかの表現手段でも良い)
substring→渡された文字の配列から部分配列を作る関数(→要は引数xを渡すと結果yが返る)
あなたの言うオブジェクト指向はこれと何ら変わらない。(と思えてしまう)
・Javaにとっての"オブジェクト指向"として考えるとStringオブジェクトというもが生まれた。
内部の情報として自身が表す文字列を保持し(配列でもコレクションでも実装方法は何でもいい)
文字列を操作する振る舞いを保持している。
文章処理システムはこのStringオブジェクトにメッセージを送ることで処理を行う。
0984デフォルトの名無しさん
2005/12/22(木) 04:07:48単なるオナニストか・・・・
無視して勉強しよっと
0985デフォルトの名無しさん
2005/12/22(木) 04:23:50自他のコードをたくさん読んで、直すこと(を考える)も必要かな
自分は、いかに重複コードを書かないようにするかってのから始めた
たとえばこんなのがよくあった。
superとsubで処理シーケンスがほとんど同じで
違うと言ったら、newするクラスが違うくらい
・・・どうにかならないだろうか
って考えてみる
newするところだけメソッド化すればsubはそのnewするメソッドを
オーバーライドするだけだよな、と気づく。・・・結果的にFactoryMethodパターン
そもそも、この処理シーケンスってほかも同じじゃね?
インターフェースをうまく決められればインターフェースに対して実装できるじゃん
で、そいつは共通のクラスとすっかぁ・・・Templateパターン
と言った具合
こんな感じを繰り返すと、設計段階でどんなパターンが適用できるか
見えてきたりする。
0987デフォルトの名無しさん
2005/12/22(木) 04:52:16あなたは982の人とは別の型ですよね?
同じ人ならご無礼をすいません。
>>986
ちょっと言い過ぎましたけど
ちゃんと応酬出来るくらいに成長して戻ってきます
でもオブジェクトにメッセージを送るって時に
普通javaならオブジェクトを変数にしてアクセスするか
メソッドの引数にするかとか
インターフェイスを介してアクセスするか委譲?とか有って・・・・
後はデザパタ宜しく自分の設計に従ってそれらを組み合わせて作る
しかでは無いのでしょうか?
Cは知りませんけどデータとサブルーチン?が分離されてるらしい
から手続き型になると・・・・間違ってたらすいません、テヘ
0988デフォルトの名無しさん
2005/12/22(木) 05:14:47ただこれで覚えると「XXパターン」といわれてもわからん。例だして「こんな感じの」って言ってもらわないと。
0989デフォルトの名無しさん
2005/12/22(木) 06:16:21Javaは「オブジェクトにメッセージを送る」という言語ではないので、そこは気にしないほうがいい。
0990デフォルトの名無しさん
2005/12/22(木) 06:20:57そんなあなたに
ttp://www.cbook24.com/bm_detail.asp?sku=01121365
0991デフォルトの名無しさん
2005/12/22(木) 06:37:11Java言語にはポインタはない。あるのは「参照」
JavaVMでは「参照」の実装にポインタを使っている。
「参照」とポインタは同じような働きをするが、別のものだぞ。
0992デフォルトの名無しさん
2005/12/22(木) 08:13:42考え方(信念、指向「嗜好」、哲学?)みたいなのが
バラバラな感じがする。
まぁ言葉で表現するから余計に衒学的。
983と989で言ってる事がズレてるし
”メッセージで考える”と”メッセージを送る”
此処ではそれぞれ何を意味してるの?
或いはこれの違いがjavaの肝なのか・・・・
0993デフォルトの名無しさん
2005/12/22(木) 08:24:30どうちがうのかな?
0994デフォルトの名無しさん
2005/12/22(木) 09:20:34ポインタという言葉の意味も文脈による罠。
ここのスレ(http://pc8.2ch.net/test/read.cgi/tech/1131273918/)の終わりの方でポインタを一意的にしか見れない困ったちゃんが必死こいてたよ。
991もその一人ではないかと想像。
0995デフォルトの名無しさん
2005/12/22(木) 10:02:23ポインタはアドレスで、参照はID
0996デフォルトの名無しさん
2005/12/22(木) 10:25:02とするとjavaのObject型はどちらでもないよな。どっちかというと演算はできんがポインタか。
0997デフォルトの名無しさん
2005/12/22(木) 11:07:15あの時代はCからの転向組を強く意識する必要があったのだろうけど。
0998デフォルトの名無しさん
2005/12/22(木) 11:08:26○「JavaのポインタとC++のポインタの違い」などという章
カコワルイ・・・orz
0999デフォルトの名無しさん
2005/12/22(木) 11:13:471000デフォルトの名無しさん
2005/12/22(木) 11:14:2510011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。