Java相談室 Part3
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG旧スレはこちら↓
http://piza.2ch.net/test/read.cgi?bbs=tech&key=980858322
0002デフォルトの名無しさん
NGNGΣ(゚Д゚)もう終わりかよ!?
(´β`)終了。
0003デフォルトの名無しさん
NGNGやってみたかったんだね
よしよし
0004デフォルトの名無しさん
NGNG0005全スレの 954
NGNG64kbsp のネットワークへデータを送信するゲートウェイみたい
なものを作ったことがあった (C++)。開発段階ではまだ
100<-->100 のネットワーク構成だったので select 使わないで
データタレ流してたら、本番で構成が変わって 64k になってし
まった。結果、64k 側の送信バッファがいっぱいになってシグナル
が上がり、プロセスごと落ちるような障害を突き止めたことがあった。
Java でどういう動きになるかは分かりませんが、もしこのままだっ
たら非ブロッキング I/O がないままではこういう所には向かない
かもね。どちらにせよ JDK1.4 でこのような脆弱性を補強して
サーバ用途のアプリが組めるようになったと思う。
まだ使ったことないけど (藁
0006デフォルトの名無しさん
NGNG入力と出力を別スレッドにしてパイプストリームかFIFOキューでつなぐだけじゃん
selectでごにょごにょやるよりよっぽど素直でわかりやすい設計だろ?
0009デフォルトの名無しさん
NGNGキューの最大値を超えそうになったら
キューの追加関数でブロックするようにしときゃいじゃん。
入力スレッドはそこでブロックされる。
(言うまでもないけど残量が0になった時はキュー取り出しがブロック)
つーか普通FIFOキューっていったらそういう物を指すと思っていたんだけど、、
#標準ライブラリのパイプストリームはバッファの容量が指定できなかったかもしれない
#からひょっとしたらメモリの限り読み込まれてしまうかも
00105
NGNG時間がなかったから、とりあえず知ってる方法で対処した。
で、そろそろ Java の話に戻しませんか? とりあえず sage。
0011デフォルトの名無しさん
NGNGselectが無いと困るが…。
0012デフォルトの名無しさん
NGNGJavaでは、全てのSocketにバッファリードするThreadを貼り付けて
おいて、んでもって可能な限りある時点でrunnable状態のスレッド
の数を少なく(理想的にはCPUの数前後に)しておくのが良いようだと
思われます。
0013デフォルトの名無しさん
NGNGって言ってた人たちは今、どうしてるんですか?
0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNGヘルスチェックの受信側はwait( long timeout )の引数指定で
使えば問題ないな。
送信側はタイマー用に別にスレッドがいるかもしれない。
selectでできることはスレッド、排他、wait-notifyでほとんどなんでもできる。
ただし何も考えないで作るとどんどんスレッドが増えるから
スレッド管理の重いOSでサーバーアプリ動かすのはつらかった。
0017デフォルトの名無しさん
NGNGどうすればいいでしょうか??
0018デフォルトの名無しさん
NGNGカットオーバー直前に新規スレッドを起こすような実装変更は出来ませんよ。
0019デフォルトの名無しさん
NGNGreturn str.getBytes("iso-8859-1").length
002017
NGNG即レス有難うございます。
ところで、str に "あいうえお" をいれると、
返された値は5だったんですけど、
"あいうえお"はアスキーコードなら10バイトですよね?
どこか、使い方間違っているでしょうか?
0021デフォルトの名無しさん
NGNGreturn str.getBytes("Shift_JIS").length;
0022デフォルトの名無しさん
NGNGMS932?) だから↓で良い。
return str.getBytes().length;
002317
NGNG今度は、str に "アイウエオ"(半角カナ)を入れてみたんですけど、
返ってきた値は、5でした。
アスキーコードで半角カナって1文字当たり1バイトでしたっけ?
2バイトだった気が。
どうでしょうか?
0024デフォルトの名無しさん
NGNG002617
NGNGおっしゃってる事が理解できました。
ありがとうございました。
0027デフォルトの名無しさん
NGNGこれ実行してためしてみ
public class encode{
static String[] encodes = {"Shift_JIS","EUC-JP","ISO2022JP","UnicodeBig"};
public static void main( String[] args )
throws java.io.UnsupportedEncodingException{
String str = "アイウエオ";
System.out.println(str+"\n");
byte[] bytes;
for( int i=0; i<encodes.length; i++ ){
bytes = str.getBytes(encodes[i]);
System.out.println("encode="+encodes[i]);
for( int j=0; j<bytes.length; j++ ){
System.out.print( " "+Integer.toHexString( 0xFF&bytes[j] ) );
}
System.out.println("\n");
}
}
}
002817
NGNG感謝です!!
0029922
NGNG逆算したいのですけど方法が判らないんです。
Insetsとか見てみたんだけど如何してもシックリくる値が算出出来ない〜
どなたか御教授願います。
0030デフォルトの名無しさん
NGNG親のJDesktopPaneの参照拾ってサイズ取ればいいんじゃないの?
0031>>30
NGNG中身のサイズで外身のサイズを決定したいんです。
003230
NGNGあら、そういうことならpack()したら?
中身のComponentの推奨サイズの和で、自動的にサイズ
決定してくれるよ。
Componentの推奨サイズをデフォルトから変えたいなら、
setPrefferedSize()だったかな?
0033名無しさん
NGNG突然Internal Errorが出るようになって立ち上がらなくなりました・・
メッセージには Failed to start Java VM:3と出ています。
このエラーの対処方法をご存知の方、どうか私を救って下さいませ(;´Д`)
0034デフォルトの名無しさん
NGNG0035名無しさん
NGNGVersion 1.3.0_02です。元あった Version 1.3.0はリネームしてあります。
この環境で動いていたのですが・・・むぅ。
0036デフォルトの名無しさん
NGNG本とかをみると、関数の頭は小文字で書く規則が一般的に使われている
と書かれてますが、VCのようにメンバ変数はプレフィクス「m_」をつかう、
クラス名の頭には「C」をつけるなどの、一般的に使われてるような規約はないんでしょうか?
前から不思議だったんだけど異常にみにくいんですけどjavaのソースって
0037ほらよ。
NGNGおれはVCのほうが見難いよ。
これなんかどうだ?
http://objectclub.esm.co.jp/eXtremeProgramming/CodingStd.pdf
0038デフォルトの名無しさん
NGNGhttp://homepage2.nifty.com/tomonari/documentation/standard/javacode/howtocode2.html
日本語だよ。
javadocの勉強のときに拾ったけど、見やすいからどうぞ
0039デフォルトの名無しさん
NGNGもうこのネタ飽き飽き、お腹いっぱい。
0040Java使い
NGNGつまり、よっぽどの問題だってことだ。
こういう弱点とも言えるところに目をつぶることなく
前向きに対処していこうという気持ちはないのかい?
0041デフォルトの名無しさん
NGNGIBM ソースみると インスタンス変数はケツアンダーバー
instanceVariable_
だよな。
0042デフォルトの名無しさん
NGNG由緒正しい? Sun推奨コーディングルール
http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
非公式日本語訳
ttp://kuro.mdg.human.nagoya-u.ac.jp/~tarbo/jcode/JavaCoding.html
004336
NGNGデザインパターンの記事は非常に面白いですね
コーディング規約はメンバ変数がアンダーバー・・うーむ・・
>>38
変数名の規則がないですね・・(!)
>>39
ということはやっぱよく話題になるんすね。当然ですよ!
>>40
ですね
>>42
これも変数名の規則がない・・
初めてCプラをはじめたころTurboC++を使ってて、これにはたしか変数名の
プレフィクスがなかった。仕事でVCを使い始めてメンバ変数にm_をつける
ことを知って、コードが非常に読みやすくなって感動したのを覚えてますよ
メンバ変数にプレフィクスをつけたことがない人はつけないと読みにくいと
いうこと自体に気づかないものだと思うけど、なんとかしないとなー
とりあえずVC式でやってみますたぶん
0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNG004636
NGNG意味不明・・
その変数がどのスコープにあるかわからないんだからわかるように書くのが
利にかなってると思うが
メンバ変数使うのってCでグローバル変数にアクセスするようなもんだから
ねえ・・
それにプレフィクス等をつけないと読めないというのではなく、つけたら読みやすい
という話しだし
0047デフォルトの名無しさん
NGNG>その変数がどのスコープにあるかわからない
ようなソースを書くのが問題、ってことでしょ。
まともな設計をしてたら
>メンバ変数使うのってCでグローバル変数にアクセスするようなもん
という感想は出てこないと思うけど……。
004844
NGNG> 利にかなってると思うが
m_をつけてわかるのは「どのスコープ」でなくて「メンバか自動か」だろ。
コード中のある変数を見て、それがメンバか自動かわからないということは、
その関数内の自動変数をすべては把握できていないということ。
(自動でないのはすべてメンバだから)
ということは、その関数は可読性が低いということ。
> メンバ変数使うのってCでグローバル変数にアクセスするようなもんだから
> ねえ・・
こっちのほうが意味不明。
> それにプレフィクス等をつけないと読めないというのではなく、つけたら読みやすい
> という話しだし
つけなくても読みやすいのならば、はじめからつけないし、
つけないと読みにくいのなら、元からその関数は可読性が低い。
すなわち、わざわざつけるということは、そのソースは可読性が低いということ。
004936
NGNG中学校でしこしこプログラム汲んでるだけだろうけど・・
いろんな奴が手を加えてる十万行以上ある商用コードを読んだことないんだろう・・
0050デフォルトの名無しさん
NGNG設計>コーディング規則
VCのコーディング規則は冗長に感じる。
Javaくらいがちょうどいい。
0051晒しとくか
NGNGヴァカ発見!
0052デフォルトの名無しさん
NGNG過去に何度も何度もがいしゅつの
それも負け戦を戦おうとした心意気は買うぞ。
005344
NGNG中小システム開発会社でクズ仕様書のままにソースかいてるだけだろうけど‥
開発体制が3階層以上の、ソースが50万行以上あるプロジェクトをやったことないんだろう‥
# マジでコードレビューやってないんだろうな
005436
NGNG負け戦・・? 全部ちゃんと出荷してんだろうが
>>53
さぞかしご立派な環境で完璧なコーディングをされる方ばかりなんでしょうから
プレフィクスがないと読みにくいコードをかくような輩はいないんでしょうね
おまけに44さんは50万行以上あるコードのどの部分をみてもぱっとその変数
がメンバかローカルかわかるすばらしい仕様書と洞察力をお持ちなんだから問題ないでしょう
0055デフォルトの名無しさん
NGNG005644
NGNG43 名前:36 投稿日:2001/07/05(木) 11:09
>>37
デザインパターンの記事は非常に面白いですね
コーディング規約はメンバ変数がアンダーバー・・うーむ・・
とかいてあるくらいだから、知らないんだろ。
ごめんね。何も知らない君を煽ったりして。でも、コードレビューはちゃんとしようね(はあと>>36
0057デフォルトの名無しさん
NGNG一クラスは40人くらいだよ、ぼくチャン!
0058デフォルトの名無しさん
NGNG仕事で使わないにしてもメジャーな言語は一応知っておくのが
プログラマの嗜みだと思っていたのだが。
005936
NGNG50万行のレビュー。もちろん全部目を通されたんだから問題ないでしょう
しかしJavaで50万行・・
・・あっCOBOLか・・気づかなかった
006036
NGNGだけだが・・
50万行オブジェクト指向で・・もちろん3階層以上の開発体制なんだからデザインパターン
をふんだんに取り込んできれいに設計されてるんだろう・・
あっCOBOLだからなわけないか・・
なんでもいいから拝んでみたいもんだそんな全員がきれいなコード書くメンバー
で作られたソースを
006139
NGNG>過去に何度も何度もがいしゅつの
>それも負け戦を戦おうとした心意気は買うぞ。
↑ これだけだったか(w
0062デフォルトの名無しさん
NGNG(クラス・メソッド分割を。言い換えればリファクタリングを)
0063デフォルトの名無しさん
NGNG・自分はコード行ミリオン級のプロジェクトに関わってるぜ
・そのプロジェクトの要員はみんなだめコードを書くぜ
の二つ?
0064VB厨房
NGNG純粋にキーとしてだけのシーケンスな番号にするか、みたいな問題だな。
総じて一つのものにいろいろな意味を紛れ込ませるのは設計が良くないか運用スキルが低い証拠。
変数名は実態の識別子であって属性を紛れ込ませるものじゃあない
006562
NGNGC++でクラスにC付けたりメンバにm_付けたりって言うのは
旧態のCにおける構造体型やグローバル変数と区別するためなんじゃないの?
Javaにはどっちも無いから付ける意味もほとんど無いよ。
付いてても直接の害は無いから付けるのは自由だけど、某所で某が主張してた
ように、prefixがついてるからってんでクラス分割とかに頭が回らなかったり
という弊害もあるね。
0066VB厨房
NGNG006736
NGNG39(自作自演)が過去の自分の負け戦を思い出して感慨にふけっただったようだ
//
俺が他人のソースを読む時プレフィクスがないコードが一番よみにくいってこと。
どうせ読みにくいならプレフィクスがあったほうがまだよみやすい。
m_がついるだけで他でもいじられてる可能性がある変数だってわかるし、型をみたか
ったら関数の外をみなきゃいけないってすぐわかるわけだから
メンバ変数にプレフィクスがないのはCのグローバル変数にg_がなくて苦労すん
のと同じ。同じクラスにある分まだましだが
プレフィクスがなくてもぜんぜんおっけーとかいうのはjavaから言語覚えて
大規模開発したことがない人だけでは
もしくは仕様書だけ書いたり眺めたりしてて自分でコーディングしてないか
>>旧態のCにおける構造体型やグローバル変数と区別するためなんじゃないの?
メンバか、グローバルか、ローカルを示すためにつける
グローバルはg_、メンバはm_をつけるのが一般的。構造体かどうかは関係ない
006836
NGNG誤:
俺が他人のソースを読む時プレフィクスがないコードが一番よみにくいってこと。
正:
俺がいいたかったのは他人のソースを読む時プレフィクスがないコードが一番よみにくいってこと。
0069デフォルトの名無しさん
NGNG「全角アルファベットを使うプログラマにろくなのはいない」
が今回もまた適用できますね。
0070デフォルトの名無しさん
NGNG遥かに読みやすいです。
0071デフォルトの名無しさん
NGNGお読みになられてるんですよね?言語特性の雰囲気くらい掴んでから
プロジェクトを開始したほうがよろしいですよ。
0073デフォルトの名無しさん
NGNG1クラスに50とか100とかインスタンス変数があったり、
1メソッドに30とか50とか変数を使ったりするんだろうか。
設計が悪いとしかおもえない。
それと、prefix よりも見て意味の分かる変数名を付ける事の方が大事だと思われ。
0074デフォルトの名無しさん
NGNG0075VB厨房
NGNGアクセッサメソッドも変更しそうな勢いだ(ゲラ
0076デフォルトの名無しさん
NGNG入った時「だせーよなーこいつ、ぜってー Java しらねーよ」
って陰口叩かれるだろう。m_ ではないが俺が以前接頭辞つけた
コードは多分言われている。今は Java になれたので、以前
のコードが恥ずかしいし、>>36 のような接頭辞とかを付けて
いる他人のコードをみると痛い、痛すぎ... (徹夜明け乱文スマソ)。
0078デフォルトの名無しさん
NGNG007962
NGNG>メンバか、グローバルか、ローカルを示すためにつける
>グローバルはg_、メンバはm_をつけるのが一般的。構造体かどうかは関係ない
で、Javaはg_がないわけだ。それでフィールドとローカル変数の区別になるわけだが、
ローカル変数は使用する直前で定義するので見間違えること無いねぇ。
で、よく読んでくれ。
>C++でクラスにC付けたりメンバにm_付けたりって言うのは
>旧態のCにおける構造体型やグローバル変数と区別するためなんじゃないの?
クラスにCを付けるのは(C流儀の)構造体型と区別するためでしょ?
他に理由は思いつかん。
>俺がいいたかったのは他人のソースを読む時プレフィクスがないコードが一番よみにくいってこと。
違うよ。読みにくいのは変数名と使用方法が整然としていないコードであって、prefixなんてごまかし。
prefixに頼らないコードを書けるようにがんばろう。
まぁあれかねぇ。Javaはフィールドとローカル変数の名前空間が分かれているから、うっかり変数の
hidingをやっちゃっても気づかないことに起因するバグを回避するためにprefixを付けるというのも
考えられるけど、それって本末転倒だよなぁ(藁 何のための名前空間なの?
008036
NGNGまあたしかに。まだ読んでないっすよ。
>>72
まさにあなた
>>VBちゅうぼう
数値型・・文字型・・。VB小学生医って善し・・
だいたいメンバかローカルかって話しをしてんのに型がどうのってアンタ・・
>>76
その可能性はたしかにあるかもね。まあいろいろ調べてから結論はだすけど
0082よこやりスマソ
NGNG0083デフォルトの名無しさん
NGNG>ローカル変数は使用する直前で定義するので見間違えること無いねぇ。
うむ。ついでにメソッドの中のフローで
メンバ変数か自動変数かが決定的に重要とは思えん。
0084デフォルトの名無しさん
NGNGにしたほうが良い。
0085デフォルトの名無しさん
NGNG「グローバル」ではなかろう。
クラスFooにstaticメンバbarがあったとしたら、
外からはFoo.barでアクセスするわけで、見紛いようもない。
008662
NGNGprefix付ける必要あるの?
そういえば36はstatic変数にどういうprefix付けるんだろう(藁
定数は大文字ってのも実際のところフィールドにprefix付けることと
見た目で区別をつけるという意味で大差無いわけだから、まぁ程度問
題ではあるよ。だからあんまり強固にフィールドのprefixを否定して
もしょうがないよね。好ましさと慣習程度のことなわけだ。
008736
NGNG>>で、Javaはg_がないわけだ。それでフィールドとローカル変数の区別になるわけだが、
>>ローカル変数は使用する直前で定義するので見間違えること無いねぇ。
関数が長い場合などわかりにくい。というかつけてあったほうが直感的。
その定義をみたい時、m_がついてれば関数の上の部分を探す手間がはぶける。
ここで長い関数はいくつかの関数に分けろっていう意見がでてきそうだけど、
関数はあくまで意味単位でわけるものだから「長くなったからさあ小分けしましょう」
というコードは、あちこちコードを追わなきゃいけいし何の処理をしてるかわかりづ
らい関数が増えて逆効果。これもたぶん宗教問題だからもう反論せんけど
>>クラスにCを付けるのは(C流儀の)構造体型と区別するためでしょ?
>>他に理由は思いつかん。
あ・・Cに関してはたしかに
>>prefixに頼らないコードを書けるようにがんばろう。
っていうか自分が書くぶんにはどっちでもかけるよそれは。
ただ「俺のソースはわかりやすい。プレフィクス医って由!」っていうのは傲慢だと
思うからつけてる。
自分しか読まないコードなら好きにすればいいわけだけど
0088よこやりスマソ
NGNG0089デフォルトの名無しさん
NGNG・1ファイル1クラス
・クラス名は大文字で始める
・フィールド名・メソッド名は小文字で始める
人の作ったライブラリを使うときに混乱しなくてすむ。
009139
NGNG・自分はコード行ミリオン級のプロジェクトに関わってるぜ
・そのプロジェクトの要員はみんなだめコードを書くぜ
・プレフィックスつけてもっとダメコードにしようぜ
の三つ?
0092デフォルトの名無しさん
NGNG人っているの?
ローカル変数と区別するって言うのは
・うっかり面罵変数と同じ名前をローカル変数につけちゃって、
・またまたうっかり変数の宣言を忘れちゃった時に
発見困難なバグが発生するのを未然に防ぐためなんだけど。
0093訂正(藁
NGNG・自分はコード行ミリオン級のプロジェクトの金魚の糞だぜ
・そのプロジェクトの要員はみんなだめコードを書くぜ
・プレフィックスつけてもっとダメコードにしようぜ
の三つ?
009436
NGNG>>92
>・うっかり面罵変数と同じ名前をローカル変数につけちゃって、
>・またまたうっかり変数の宣言を忘れちゃった時に
>発見困難なバグが発生するのを未然に防ぐためなんだけど。
そうそう。それが大きいよね。
009662
NGNGあと、クラスのフィールドの数は相当多くても10いくことはほぼ無いので、十分把握できます。
とはいえ今時分が扱ってるのは2〜3万行程度ですけど。
0097デフォルトの名無しさん
NGNGJUnitまんせーですな。C++にもユニットテストツール有ったような。
0098VB厨房
NGNGお前はそんなにJava技術者にm_を使って欲しいのか?(ワラ
こんなとこで吼えてないでJavaHouseで啓蒙したら?
http://java-house.etl.go.jp/ml/
0099デフォルトの名無しさん
NGNG>・またまたうっかり変数の宣言を忘れちゃった時に
>発見困難なバグが発生するのを未然に防ぐためなんだけど。
こんな一瞬で分かるプチバグでつまづいたことなど
Java使いはじめて数年間一度もありません。
0100デフォルトの名無しさん
NGNGクラスの要素たるメンバ変数と、あくまで一時的に使われるローカル変数、
ともに適切に命名されている限り、ダブることは通常ありえないっしょ。
ひとつのメソッドの中で、変数hogeと変数m_hogeが
一緒に使われてたりするわけ? そりゃ絶対どっか変なコードだろ。
俺はそういうケースに出くわしたら(そんなこと滅多にないけど)
メンバ変数の命名から見直すね。
バグにもならず放置されてしまうほうが怖いよ。
010162
NGNG私はnewValueとかaValue。もちろんより適切な名前がつけられるときはそうはしないけど。
0102>>100
NGNG>ともに適切に命名されている限り、ダブることは通常ありえないっしょ。
これの根拠が分からん。class Customerのname変数とかPointのxとか
ありうると思うけど。
>ひとつのメソッドの中で、変数hogeと変数m_hogeが
>一緒に使われてたりするわけ? そりゃ絶対どっか変なコードだろ。
そうじゃなくて「ほんとはnameというローカル変数が使いたいんだけど、
たとえばタイポでString nama にしてしまったとき」にもし同名の面罵変数
があったら困ったことになるって言う話。
このバグは凶悪だ。ローカル変数は一度は代入されるだろうから確実に
面罵変数を壊す。しかも同じ名前を使ってるくらいだからきっと型も同じだ。
しかもそのことが発覚するのは壊された面罵変数を参照するコードが呼ばれた
ときだ。
これを単体テストやJUnitで発見するのも難しい。あるメソッドがアクセスする
面罵変数すべてをを明示的に表明する(もしくはそれ以上の厳密さで表明を書く)
しない限り見つけられる保証はない。
010344
NGNG0104デフォルトの名無しさん
NGNG明示的にthisを付けないとエラーにします…。
________
〈 ホントスミマセン
∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄
Sun
(´Д`;)ヾ
∨)
((
0105デフォルトの名無しさん
NGNGあ、そうか。
それナイスアイデアだね
0106デフォルトの名無しさん
NGNGimport java.applet.*;
class Date
{
int month;
int day;
int year;
Date(int month, int day, int year)
{
this.day = day;
this.month = month;
this.year = year;
}
public String toString()
{
return("" + month + "/" + day + "/" + year);
}
}
public class DateToString extends Applet
{
public void paint(Graphics g)
{
Date Today = new Date(4, 15, 99);
g.drawString("Today is: " + Today, 5, 15);
}
}
長くてすいません。DateコンストラクタのうしろにtoStringクラス定義
があるのはなぜでしょうか。クラスって上から順番に実行されるんですか。
そのばあいコンストラクタ定義のところはスキップするんでしょうか。
toString定義の引数は無しでいいんですか。
0107デフォルトの名無しさん
NGNGpublic string(day,month,year)
〜
ってやったらだめなんでしょうか。だめとしたら理由を教えてください。
0108デフォルトの名無しさん
NGNGううむ、ここまで突込みどころ満載だとどうして良いか分からんな...
0109デフォルトの名無しさん
NGNGテキストをよーく読んで勉強し直します。
0110デフォルトの名無しさん
NGNGうーむ、、、。1冊本を読んでから
質問するかどうか考えるべきかと、、、。
0111デフォルトの名無しさん
NGNGそんなもんローカル変数未使用でコンパイル通らんよ。一瞬で気付くって(藁
もうちょっと面白い例出してよ
0112デフォルトの名無しさん
NGNG(何しろ出くわしたことないもんで)
lint使っとく?
0114デフォルトの名無しさん
NGNG>class Customerのname変数とかPointのxとかありうると思うけど。
逆に、クラス全体でnameやxが一貫した意味を持っているときに
たまたま同じ名前の変数が出てくる理由は?
setterや比較などは最初から重なると分かってるので問題ないし。
>そうじゃなくて「ほんとはnameというローカル変数が使いたいんだけど、
>たとえばタイポでString nama にしてしまったとき」にもし同名の面罵変数
>があったら困ったことになるって言う話。
class Customer {
String name;
public void setName(String nama) {
this.name = name;
}
}
こういうの? Java使いなら誰もが通る厄介な罠ではあるが、
分かっていれば2度も3度も引っかかるようなもんじゃないと思うぞ。
0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNGメンバ変数の前に_を付けるってルールはどこの話だっけ?
Javaじゃないの?
0117デフォルトの名無しさん
NGNG少なくともSunのコーディング規約にそんなルールはない。
0118デフォルトの名無しさん
NGNGあーそれメッチャ悩んだヨー
「どこも間違ってネーじゃん
何で null になるんだよー」
とかってサ。
5分くらいだけど
0119デフォルトの名無しさん
NGNG0120デフォルトの名無しさん
NGNG95万行、C/C++ が 8万行、その他 COBOL や VB やよく分
からん製品スクリプトがあったけど、Java はプレフィクス
使わなかったよ。一部DBのパフォーマンスが悪い部分も
あるけど正常系/異常系/負荷テスト全部通って現在使われて
いる。ちなみに俺は Java と C/C++ の部分全部レビュー
した (C/C++ は m_ つけてる会社もいた)。>>115 が m_
付けたがってるのはただ自分が慣れてるだけでしょ。
# いや、行数で規模みる人みたいなので敢えて行数で表した
# だけだよ...。
0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNG0123デフォルトの名無しさん
NGNG0124デフォルトの名無しさん
NGNG>Javaじゃないの?
方言かもね。
方言でも共通のルールは必要だよね。
012544
NGNG皆さんもうだうだ聞きたくないだろうけど、細かいことを2、3だけ。
>>54=36
>負け戦・・? 全部ちゃんと出荷してんだろうが
出荷=勝利じゃない。出荷=BET上積みだ。
賭けが膨らんだところでの負けがいかに惨めかはソニーを見れば一目瞭然。
>>87
>ただ「俺のソースはわかりやすい。プレフィクス医って由!」っていうのは傲慢だと
>思うからつけてる。
何で見てもらうかというと、間違いを指摘してもらうため。
何で可読性をよくするかというと、間違いを見つけてもらいやすくするため。
もしプレフィックスを付けてなんとなく読みやすくなったとしても、
理解しにくい(関数が長い、制御が複雑など)構造的原因は取り除かれていないため、
バグを見つけにくいまま。
であれば、分かりにくいとはっきり言ってもらって、読みやすく整理して
バグを見つけてもらいやすくする方がはるかに良い。
012644
NGNG「バグは見つからなければ良い」→「可読性なんかは関係ない」
という思考が
「負け戦・・? 全部ちゃんと出荷してんだろうが」
「どうせ読みにくいならプレフィクスがあったほうがまだよみやすい。」
「長くなったからさあ小分けしましょうというコードは、
あちこちコードを追わなきゃいけいし何の処理をしてるかわかりづ
らい関数が増えて逆効果。」
という発言からにじみ出ており、36の金魚の糞ぶりを如実にあらわしているな。
ちなみに50万行のプロジェクトは言語はC++だったよ。
36の好きなヴィジュアルなんて単語はついてないけどな。
て言うか、ステップでは30万強じゃん。たいしたことないだろ。
俺は>>119などの意見に反発する厨房が消えればそれで充分なので、
36が戻ってこなければまた名無しさんにもどって、ゴルァと答えていきます。では
0127120
NGNGあとでうんこコードの大量生産になってしまう (何度か痛い目を見
た)。単なる命名規則だけでなく、クラス分割を行う規模の目安とか
うんこコンポーネント再開発にならないようなフレームワーク作り
とかサンプルコードとかを (口頭でなく) ドキュメントで残して
やる義務があると痛感している。ドキュメント化を徹底して悪い
ところを指摘してやれば Java に m_ なんて不要だよ。ちなみに
>>120 のレビューでクラス分割 or 統合させたのは 1/5 くらい
だったなか。あの規模で協力会社さんたちもなかなかうまくやっ
てくれたと思う。
0128120
NGNG赤が入ったのが 2/3 くらい、クラス分割が入ったのが 1/10
くらい (もっと少ない?) だった (あの時の赤書きは記念に
とってある ワラ)。
0129デフォルトの名無しさん
NGNGprivate String fooName_;
public void setFooName(String fooName) {
fooName_ = fooName;
}
最初気持ち悪かったが、慣れるとイイ感じ。
013039
NGNGコンパイル&デコンパイルしてから読むからいいや(藁
013139
NGNG%s /_hage/hage/g
でおしまいよ。
013239
NGNGローカル変数名のよい例
String 厨房用につけますよname;
とかね(藁
0133デフォルトの名無しさん
NGNG違う、こんな感じだ。
class Customer {
String name;
public void sendLetter(Letter l) {
//いろいろ...
name = l.getName();
if (name.trim().equals("")){
name = "Default";
}
Logger.log("Sending letter is " + name);
}
}
思わずString nameを忘れることだってあるし、タイ歩だって考えられる。
確かにめったにあることじゃないけど、これに出くわしたときの被害は甚大だ。
うちのチームはこんなコーディングミス絶対に出さないっていうなら好きにすれ
ばいいと思うが。
0135デフォルトの名無しさん
NGNGそもそも名前ぶつからんよ。
0136デフォルトの名無しさん
NGNGえ、やってないんですかっ!
すまん、俺が悪かった...
0137デフォルトの名無しさん
NGNGまあ煽りならしょうがないが、本気で言ってるんだとしたら>>102
をもう一度読んでくれ。
0138デフォルトの名無しさん
NGNGこんなプチミスすぐみつかるよ。
単体テストって一クラステストじゃないんだよ。
013936
NGNGSEへと突入した机上バカだということが判明しているのでもうウンザリ
だが
>>「バグは見つからなければ良い」→「可読性なんかは関係ない」
>>という思考が
誰が言った? C++でm_つけねーのはドシロートだけだし、可読性よく
するためにつけんだよ。ドアホ
>>「負け戦・・? 全部ちゃんと出荷してんだろうが」
おめーのスバラシーシステムはさぞ出荷後も大評判なんでしょーよゴラァ(糞
>>どうせ読みにくいならプレフィクスがあったほうがまだよみやすい。
おめーのプレフィクスねー読みやすいコードをみせてみんかいゴラ
コードみるのにいちいち仕様書みんといかんコードのどこが見やすい
んじゃゴラ!
>>長くなったからさあ小分けしましょうというコードは、
>>あちこちコードを追わなきゃいけいし何の処理をしてるかわかりづ
>>らい関数が増えて逆効果。
これは俺だけじゃなくて言ってる人はよくいるよ。
関数化サルはコードが長くなるとすぐに関数化したがる。その結果半端な
処理単位の関数が増え汚いコードになる。そんなことも知らんのだろー
おめーはこの構造化プログラミング覚えたてクソ猿が。
つーかジサクジエンもほどほどにしてくれよダンナ・・泣けるキャラだよキサマは
0140デフォルトの名無しさん
NGNGバカは痛いところを突かれると必ず暴れるか
辞書引き小僧になるか
慇懃無礼になるなあ。
014436
NGNG文字型がどうのとこ数値型どうのとかいいながら消防用システム収めててくれ・・VB君は
ここはjava版だろ?
VB厨房とは厨房に失礼だろ。消防未満
0146VB厨房
NGNGお前は大脳の替わりにCeleron466MHzをさした方がよいと思われ。(プ
つーかJavaの本デザパタまで含めて10冊くらい読んでから同じこと言ってみろや
お前こそC++プログラマに失礼。J++でもやってろ(ワラ
0147デフォルトの名無しさん
NGNGそのミスでCustomer.nameがおかしな値に変更されうる場所といえば、
Customerクラスの中しかないでしょうが。
滅多にないだけでなく、クラス全部精査すれば
カップラーメン作ってる間に見つかるバグですな。
014844
NGNG>>139
>44は自分ではほんのちょこっとコーディングの経験があり、あとは形だけ
>SEへと突入した机上バカだということが判明しているのでもうウンザリ
>だが
どーも。どーせCとC++あわせて、マジメに使ってるのは10年くらいしかないですよ。
>誰が言った? C++でm_つけねーのはドシロートだけだし、可読性よく
>するためにつけんだよ。ドアホ
へー。じゃ、俺の会社にある「独習C++」って本を書いたシルト氏って、
ドシロートだったんだ。
変数名が変わったら、汚いコードも何やってるかはっきり見えるんだ。
>これは俺だけじゃなくて言ってる人はよくいるよ。
どこに? 文脈って意味わかる?
>つーかジサクジエンもほどほどにしてくれよダンナ・・泣けるキャラだよキサマは
自作自演って、どこをどう見たらそう思うんだろうね。
0149デフォルトの名無しさん
NGNG>単体テストって一クラステストじゃないんだよ
どして?sendLetter()したあとにCustomer.getName()が変更されていないことを
保証するテストをするためには膨大な指数間数的な数のテストケースを書かなく
てはいけないと思うけど?
>ローカル変数使うときに宣言しない奴を憂い出したらキリがないな
忘れることや間違えることはあるでしょ?という話です。
それとも「未定義のローカル変数にアクセスしました」というえらーを見
たことはないの?その時にたまたまその変数が面罵変数と同じ名前だったら
そのバグを見つけられないジャン
>滅多にないだけでなく、クラス全部精査すれば
>カップラーメン作ってる間に見つかるバグですな
そういう問題じゃないでしょ。いかにバグを予防するかを話してるんですが。
0150デフォルトの名無しさん
NGNG>忘れることや間違えることはあるでしょ?という話です。
それがメンバー変数のアタマになにか付けたらなくなるんですか?という話です。
間違えるやつはやっぱり間違えるでしょう。
015144
NGNG>どして?sendLetter()したあとにCustomer.getName()が変更されていないことを
>保証するテストをするためには膨大な指数間数的な数のテストケースを書かなく
>てはいけないと思うけど?
そのテストケース量を少なくするために、
「関数は小さく分けましょう。」
「(バグ発見効率の高い)コードレビューしましょう。」
「そのためにはソースを見やすく、理解しやすく書きましょう。」
ということなのです。
>>ローカル変数使うときに宣言しない奴を憂い出したらキリがないな
>忘れることや間違えることはあるでしょ?という話です。
変数定義があるかないかをチェックしやすくするための
「関数は小さく分けましょう。」
「変数定義は使うところの近くで」
>>滅多にないだけでなく、クラス全部精査すれば
>>カップラーメン作ってる間に見つかるバグですな
>そういう問題じゃないでしょ。いかにバグを予防するかを話してるんですが。
クラスを小さく保っていれば、精査にかかる時間はたいしたことないでしょ。
それに精査はこれだけのためにやってるんではないのです。
>>133のようなバグを恐れてワケワカランことする前に、
やることあるでしょ、ということです。
015239=150
NGNG全面的にサンセー!
メンバー変数のアタマになにかつけないといけないって、
一回嘘つくと嘘を重ねないといけないのと似ている。
0153デフォルトの名無しさん
NGNGアクセス時に
inetinfo.exe
例外:アクセス違反(0xc0000005)、アドレス:0x011f3d50
とかいうエラーが出ます。
これにはどう対処したらよいでしょうか?
リダイレクタのログ
[jk_uri_worker_map.c (334)]: jk_uri_worker_map_t::uri_worker_map_close, NULL parameter
[jk_uri_worker_map.c (184)]: In jk_uri_worker_map_t::uri_worker_map_free, NULL parameters
0154デフォルトの名無しさん
NGNG> てはいけないと思うけど?
構造化プログラミングって知ってます? (プ
0155デフォルトの名無しさん
NGNG>間違えるやつはやっぱり間違えるでしょう。
アタマになにか付けとけばコンパイルでエラーになります。
>「関数は小さく分けましょう。」
>「(バグ発見効率の高い)コードレビューしましょう。」
>「そのためにはソースを見やすく、理解しやすく書きましょう。」
これらには全面的に賛成だが、なぜそれが
「面罵変数の頭に何か付けるのは止めましょう」
につながるのかがわかりません。
>そのテストケース量を少なくするために、
これは違う。あるメソッド(あるいは機能)が「望みどおりのことをする」というテ
ストは容易だけど「望んでないことはしない」テストを行うのは難しい、という話です。
>変数定義があるかないかをチェックしやすくするための
>「関数は小さく分けましょう。」
>「変数定義は使うところの近くで」
これも全面的に賛成。しかしそれがなぜ…以下略
>クラスを小さく保っていれば、精査にかかる時間はたいしたことないでしょ。
>それに精査はこれだけのためにやってるんではないのです。
もう一度繰り返すけど、バグが出た後どうやって原因を探すかではなくていかにバグを
出さないかの話です。
>133のようなバグを恐れてワケワカランことする前に、
>やることあるでしょ、ということです。
もちろんです。そのやることをやった後にm_しましょうってことです
0156120@ip58.dialup.tokyo.jp.psi.net
NGNG結構、
C で言うモジュール == クラス
C で言う関数 == メソッド
みたいに認識している人を見かけるんだけど、クラス設計する場合は C の
モジュールよりももっと粒度を高くするのが普通だよ (モジュールって呼び
方でよかったんだっけ? static 変数/関数のスコープ範囲ね)。C の
モジュール規模のクラスを書くような人だったら m_ を付けたくなるのも
もっともだと思う。>>36 は次のプロジェクトでもっとクラスの粒度高めて
みたら? そして俺は自作自演と言われるのが嫌いだから初めて fusianasan
を使ってみる。うまくいくかな。
0157デフォルトの名無しさん
NGNG>出さないかの話です。
めったに起こらない、出てもすぐに判明する
ただ一種類のポカミスのために
ソースコード全体にprefixを導入する
そのバランス感覚に疑問を抱かざるをえないのですが。
015839
NGNG>アタマになにか付けとけばコンパイルでエラーになります。
この例に限ればそうですよ。ただしこんな間違いするやつなら
m_nameと書くべきとこをnameとかいたりその逆やったりしそう
ってこといいたかったんだけど。
いずれにせよ、原因はもとから断たないとだめですよ。ってことを
みんないいたいんだと思うなー。m_をつけるなんてセンス悪すぎ。
0159XP萌えer
NGNG>カップラーメン作ってる間に見つかるバグですな。
ついでにクラスのリファクタリングもやればエレガントね。
0160デフォルトの名無しさん
NGNGちがう。バグが発生してからでは遅いんだ。バグがそれほど高く付か
ないシステムならいいかもしれんが、人命に関わったり莫大な損害を
出したりすることもあるんだよ。
>この例に限ればそうですよ。ただしこんな間違いするやつなら
>m_nameと書くべきとこをnameとかいたりその逆やったりしそう
>ってこといいたかったんだけど。
繰り返しになるけどあなたは「未定義のローカル変数にアクセスした」
コンパイルエラーを出したことないの?
どんなベテランだってこのエラーは出すと思うけど。
そして運良くエラーになったのはたまたま同名の面罵変数が存在しなかった
からでそ。
>いずれにせよ、原因はもとから断たないとだめですよ。ってことを
>みんないいたいんだと思うなー。m_をつけるなんてセンス悪すぎ。
そうだ。原因は明示的に書かなくても面罵変数にアクセスできてしま
うことだ。これをもとから絶つのに最もコストが低い手段はm_だと思う。
016139
NGNG>繰り返しになるけどあなたは「未定義のローカル変数にアクセスした」
>コンパイルエラーを出したことないの?
憶えている範囲ではないなー。
>そして運良くエラーになったのはたまたま同名の面罵変数が存在しなかったからでそ。
運じゃないよ、必然なんだよ。
メンバー変数と同名のローカル変数なんて使わないよ。
>原因は明示的に書かなくても面罵変数にアクセスできてしまうことだ。
そんなクラスローカルで済むプチバグなんて出してもすぐわかるんですよ。
だいたいローカル変数なんてほんとに局在しかしないものだよ。
あなたさー、イミュータブルって知ってる?
他にもっと考えないといけないことがあるんだけど。
0162120@ip30.dialup.tokyo.jp.psi.net
NGNG> ないシステムならいいかもしれんが、人命に関わったり莫大な損害を
> 出したりすることもあるんだよ。
何のためにテスト期間があるのですか? テスト期間中にバグを発見する
ことはそんなにまずいことですか?
> 繰り返しになるけどあなたは「未定義のローカル変数にアクセスした」
> …
ここは論議がかみ合っていない。
> そうだ。原因は明示的に書かなくても面罵変数にアクセスできてしま
> うことだ。これをもとから絶つのに最もコストが低い手段はm_だと思う。
少々暴走気味ですね。m_ 反対派は、タイポミスによって特定困難なバグが
入り込むのはクラスの設計が悪いのでは? と言っています。m_ のは決して
プロジェクト全体のコスト (というかリスク) を低くするものではありま
せん。
とりあえず、もう少し冷静になられたほうが良いかと思われます。
0163デフォルトの名無しさん
NGNGローカル変数にはl_をつけるのもいいかも。
引数の変数には何をつけようかな・・・h_とかでいいかなぁ。
016439
NGNGもしかして、あなたの仕事ってCからJavaへの移植がおおいんじゃない?
0165デフォルトの名無しさん
NGNG別の意味においてバグが入りやすくなる。それを考慮しないで
m_ 付けとけばコンパイル時にエラーが検出できるなんていっても
無意味だね。
というか私が見た限りでは m_ 付けてる奴が作るクラスはバカでかい。
これじゃどんなメンバ変数作ったか覚えられないのも無理はない。
つまり設計が悪いってことだ。
0166h_デフォルトの名無しさん
NGNG0167120@ip30.dialup.tokyo.jp.psi.net
NGNG>>162 タイポミスによって特定困難なバグが入り込むのは…
タイポミスによって入り込んだバグが特定困難な状況というのは…
016839
NGNGまあメンバー変数名にm_を付ける規約を絶対だめとはいいませんよ。
ローカル変数にl_を付けるほうがまだましとは思いますが。
もちろん私はどちらも付けません。読みにくくなりますから。
大切なのはそのクラスがクラス外に見せるインターフェイスですからね。
きちんとしたクラス名、インターフェイス名さえ守っていただけたら、
そのクラス内でどんな変数名をつけようが大した問題ではないですね。
もちろんメンバー変数をクラスの外から直接さわらせたりしてませんよね?
0169同じことを何度も言いたくないので
NGNG2. ベテランでも「未定義のローカル変数にアクセス」エラーは出すことがある。
この2つは前提だ。もし違うというのなら俺の論理は成り立たないし
それが俺の厨房度のせいだというなら甘んじて受けよう。
そしてこれが俺の主張だ。
3. 1,2の組み合わせによって生じたバグは
「望んでいないことをする(しかし望んでいることはちゃんとする)」
タイプのバグで通常の
「望んでいることをするかどうかのテスト」
ではみつけられる保証が無い
4. 従って特にバグが高く付くシステムではこの種のバグを完全に防ぐためにm_
もしくはそれに類する命名規約を採用するべきだ。
0170h_デフォルトの名無しさん
NGNGメンバ変数には m_m_ を付けとこう。我ながらいいアイデアだな。
0171デフォルトの名無しさん
NGNGわかりやすくなるように構造体のtypedefは _t をつけたり
ポインタには _p をつけたりするじゃん。
もちろん自分のためというのもあるけど、どちらかというと
一見さんであるレビュアーに見せたときに
ソースレビュー時にケアレスミスを発見しやすくするため、
という意味合いの方が強いな。
017239
NGNG>1. Customer.name の例のように面罵変数とローカル変数が同名になることはある
ないな。
>4.従って特にバグが高く付くシステムではこの種のバグを完全に防ぐためにm_
>もしくはそれに類する命名規約を採用するべきだ。
なぜローカル変数にl_をつけるほうを採用しようとしないの?
0173デフォルトの名無しさん
NGNGそれは、たとえば引数
hoge( String name )
なんていうのを
hoge( String l_name )
とすることを奨励しているととらえていいのね?
0174デフォルトの名無しさん
NGNGローカル変数とメンバ変数の名前が重なる代表例は設定メソッドだろう
例えばimageというメンバ変数があって、SetImageというメソッドがあれば、引数はSetImage(Image image)
としたくなるのが普通ではないか?
this.image = image
と書くよりは
m_image = image
と書いたほうが楽だろう。
100歩ゆずって設計が悪いからクラスが大きくなってm_を使う必要がでてしまうのだとしても、
そーいうクラスをつくってしまう場合がある以上m_をつかっておいて損はないだろう
ちなみにCやCプラでは引数のプレフィクスにはa_(argument)やin_(input)をよく使う
ある程度CやCプラの開発をしたことがある人ならこれくらい見たことがあると思うが?
社内でセコセコ小さなプログラマムだけ組んでいるなら別だが・・
0176デフォルトの名無しさん
NGNGローカル変数のほうが宣言する回数が多いからに決まってる
それにm_をつける文化ができたのはシープラで、シープラにはグローバル変数
もあるから、ローカル以外にg_かm_かを区別する必要があったというのもある
だろうけど
0177デフォルトの名無しさん
NGNGちょっとこれを機会にC++も勉強して
いいところだけいただいておこう
0178デフォルトの名無しさん
NGNGTOMCATが生成してくれるServlet.logなんですがー
出力フォーマットを変更するにはー
どうしたらー
時刻を24時間制で出力したいのですー
017939
NGNG>ローカル変数のほうが宣言する回数が多いからに決まってる
ふーん、じゃあなたのソースは短い名前が多いんだろうね。
iアプリの担当なのかな、あなたは(藁
0180デフォルトの名無しさん
NGNG意味不明。なにが言いたいの?
メンバ変数は場合によってはゼロ個のこともあるけど、ローカル変数は
がんがん使うでしょ。ここまで書かないとわからないかな
ちなみに私がつける名前は比較的長い。可読性を重視してるから。
CTime StartTime;
のように。
m_をつけるのがいやだという人はブラインドタッチが苦手でm_を一瞬で打てないから
いやがってるんじゃないかという気もする
0181デフォルトの名無しさん
NGNGプリフィックスが mennba_hensuu_ だったら汚くなると思うだろ?
その 1/7 くらい汚いと思えばいい。
>100歩ゆずって設計が悪いからクラスが大きくなってm_を使う必要>がでてしまうのだとしても、
設計しなおせ。
0182デフォルトの名無しさん
NGNGまったくの主観。m_を普段使っている人の目からみるとローカルもメンバ
もいっしょくたにしているほうが汚い。そもそもm_をつけるアイデアはたぶんVC
からで、何もしらない頃はみんなm_なぞ使ってなくて「なんか不便だな」
と思っていたわけだ
>>設計しなおせ
あなたはすべての部分を自分で設計できる小さな世界でソフトをつくってきた人なんだね・・
お好きにどうぞ
018339
NGNGタイプ数が多くなることがローカル変数に l_をつけない理由っていうからさ
面倒くさがりやさんかなって思ってね。
わるいけど、もう帰るよ。彼女と焼き肉の予定なんでね、今夜は。
またこんど遊ぼうね。
0184デフォルトの名無しさん
NGNGhttp://piza.2ch.net/test/read.cgi?bbs=tech&key=993358225&ls=50
バカもバカを煽るほうもどっちもどっちだなぁ。
0185120@ip43.dialup.tokyo.jp.psi.net
NGNG> m_をつけることでソースが汚くなるといってる人はそれこそなんの
> 根拠があって言ってるんだろう?
何かがきれい汚いと感じるのは個人的な感覚の問題だけでしょう。少
なくとも私は根拠がありません。言ってみれば趣味ですね。
> this.image = image
> と書くよりは
> m_image = image
> と書いたほうが楽だろう。
そしてこれはあなたの趣味ですね。私は this.image の方がきれいに
感じますので (よく Thread クラスで if(this.isInterrupted())
とかきれいに感じます)。
> 100歩ゆずって設計が悪いからクラスが大きくなってm_を使う
> 必要がでてしまうのだとしても、そーいうクラスをつくってしま
> う場合がある以上
そこを反対派はつついているわけですよ。
> m_をつかっておいて損はないだろう
いくつかのクラスのために数十人に徹底させるのはどうかと思われます。
たまにはアゲときます。
0186みてみて
NGNGclass {
public:
// すべてのメンバ変数
} m;
}
ほらこーすれば m_ を付けなくてもローカル変数とかぶらないよ。
代わりに m. だよ。メンバ変数の一括コピーも簡単さ。
0187デフォルトの名無しさん
NGNGバカは煽ってこそバカ
0188デフォルトの名無しさん
NGNGもうちっと練ればナイスアイデアかも。
0189VB厨房
NGNG>this.image = image
>と書くよりは
>m_image = image
>と書いたほうが楽だろう。
こんな事言い出すやつは一生多態を理解できねんだろな。
識別子にへんなもん足すな、ヴォケ
0190120@ip24.dialup.tokyo.jp.psi.net
NGNG方法で名前空間切ってたのを思い出した。いや、ただそれだけだけど。
0191デフォルトの名無しさん
NGNG始まっていた。例えば itsFile みたいに。これは結構好きだったな。
m_File なんて命名は知性のかけらも感じない。
0192デフォルトの名無しさん
NGNGthisValue = value;
this.thisValue = value;
とか
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNGでも恥ずかしくなってやめた。
0195デフォルトの名無しさん
NGNG純粋にクラスの属性としてフィールド名を見た場合、
class Person {
String m_name;
}
name (名前) が本来なのに m_name (メンバの名前)
などと書かなくてはいけないのは冗長であり不純だ。
0196デフォルトの名無しさん
NGNGそうなってくると、ローカル変数に l_ をつけるのは
わりといいアイデアだね。
m_ をつけるのはやめて、そっちを採用します
0197HOE
NGNG参考書最初から読み直せ>>m_派の奴
MSの仕様をJavaに持ち込むなよ。
0198HOE
NGNGの観点から言って、個人の主張をごり押しするなよ・・
ローカル変数には何も付けないのがいいんだよ
localValue で頭が小文字で次の単語が大文字であれば変数で、thisが
付けばグローバル変数を見ることになってるんだからよ〜
いい加減C++の枠を越えろよ・・
0199デフォルトの名無しさん
NGNGその本ではクラス変数には __ (_を2つ)つけることを推奨してます。
privateなメソッドには先頭に _ をつけたりもしています。
0200デフォルトの名無しさん
NGNGそのJavaの参考書の表紙には勿論Sunのロゴは入ってるんだよね?
0201199
NGNG入ってるわけ無いじゃーん
てゆーか、そんなの読みとばすっしょ、ふつー。
他には結構いいこと書いてあるんだけどね・・・
すげー使えるテクと全然使えない情報がこんぜん一体となって
実に中途半端な本になってますよ。
え、本の名前は秘密だよ。でもヒントはね〜
「ハローワールドがいっぱい書いてある本」
0202名無しさん
NGNGていうか、
そういう小手先の手段を使わないと解読できんほど
長いメソッドを書くのは止めれ。
0203デフォルトの名無しさん
NGNGどうせ他の局面でも標準に沿わずに自分の好みをゴリ押しするんだろ
0204デフォルトの名無しさん
NGNGかけても InterruptedException を発生しない仕様にした理由が
未だに分からん。なんか懸念することあるのかな?
0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNGもちろん会社のアドレスからナー。36の会社の受注が増えるかもよ。ププ。
0207デフォルトの名無しさん
NGNGしてみてほしいなあ。その50万行の中にいくつみつかるか。
0208デフォルトの名無しさん
NGNGうん、InterruptedException を発生させると synchronized
ブロックやメソッド使っているあらゆるところ (多分相当な量)
で try-catch もしくは throws を入れなければならないので、
RuntimeException を派生させた SyncInterruptedException
(変な名前) の方が良い。で、synchronized ブロックでデッド
ロックがかかっている (らしい) スレッドを外部のタイマース
レッドから割り込みかけるような使い方が出来ないよね、という
話 (stop()-ThreadDeath 使って解決しろということかな…)。
0209デフォルトの名無しさん
NGNG>1. Customer.name の例のように面罵変数とローカル変数が同名になることはある
>ないな。
はぁ。君にかかるとJDKも厨房なんだね。(確かにたいしたことないが)
java.io.File:471とか
java.lang.FloatingDecimal:289,668,1007
とかちょっと調べただけでもぞろぞろ出てきたぞ。(jdk1.2)
でもさそんなことよりString.java読んでて思ったんだけど、どう考えたってm_
(d_でもなんでも)使ったほうが読みやすいよ。m_使わないなら
・メンバにアクセスするときは必ずthisを使う
・もしくは必ずアクセッサ使う
とかしてくれないととてもレビューできません。
0210デフォルトの名無しさん
NGNGString name = "";
public void setName(String nama) {
this.name = name;
}
}
これってだめですか?
0211デフォルトの名無しさん
NGNG読みにくいからダメです!
バグの元です!
今すぐ修正しなさい!
今すぐm_をつけなさい!
コーディング規約? 私が規約です!
0212211
NGNG0214>209
NGNG>(d_でもなんでも)使ったほうが読みやすいよ。
Stringクラスのstaticでないメンバ変数は以下のたった4つ。
>private char value[];
>private int offset;
>private int count;
>private int hash = 0;
こいつらにプリフィックスがついたりつかなかったりで
何がどう変わるとゆーのだ?? レビューできないって一体??
とてつもなくぬるま湯な世界で生きとるとしか思えませんな。
0215214
NGNGあー、ねみー。
0216デフォルトの名無しさん
NGNG「つける必要があると感じた時点で設計を見直すべき」
つけない理由:「Sunマンセー」「困ったことが無い」「自分の趣味」
「どう考えたって読みやすい」
つける理由:「見誤りを防ぎやすい」「名前がかぶることがない」
「ケアレスミスを防ぐ最もコストが低い手段」
つけなければならない理由:「よみにくい」
美しい/センス悪い/お前が慣れてるだけだ
等の鳥頭厨房的発言は、"つけない"派に多いようです。
プログラム言語に 使われ ちゃってる人って哀れだね 藁
なーんて言われないような、まともな意見をお願いしたいところです。
0217デフォルトの名無しさん
NGNG0218>216
NGNGそれらは頭に叩き込まれてるはずである。だからありふれた名前でも
問題ない。いうなればクラス内の予約語のようなものだ。
「あれ、この変数はなんだっけ? m_ が付いてるからメンバ変数には
違いないが...」なんていう読み方はありえない。
0219デフォルトの名無しさん
NGNGソースレビューする時ってjavadocを印刷したの片手にするから
そんな心配ないよ
0220デフォルトの名無しさん
NGNG0221デフォルトの名無しさん
NGNGつけてはならん理由はコーディング規約に違反してるから、だろ
外部とか別のプロジェクトの作ったクラス再利用する時どうすんだ?全部m_振りなおすのか?
0222オプションの名無し
NGNGファイルにm_ なんて付けてそれがローカルとメンバの区別も付かない奴は
おかしい..継承やパッケージングが行えるのに、何千行もあるクラスを書い
ていれば区別つかなくなって当たり前さ。もちろん継承がいやなら、
断ち切るためにパターンもも色々ある。
> 217 > 説明しよう。通常はメンバには長い名前が必要だ.
public methodでは、さらに顕著だが、これは継承による弊害。
つまり本来継承すべきではないインタフェスが多重継承の再来として
混乱を招く恐れがある。...えっなに???...
(名前を考えるのが面倒だって!?)
私の師は、こういって(h)ageタモのだ。
「変数に名前を付ける、メソッドに、クラスに、パッケージに、さらに名無し
のものにも..そしてあらゆる次元に展開させ、そしてその名を呼ぶ。
そう、君の仕事はまさしくそれだ、真の長い名前を唱えなさい...」
0223デフォルトの名無しさん
NGNG良く分からないんだよもん…
0224デフォルトの名無しさん
NGNG> なーんて言われないような、まともな意見をお願い
> したいところです。
>>120 は結構まともに話しようとしているけど、それには
一度も反論できてないね (プ
0225デフォルトの名無しさん
NGNG022644
NGNGJDK1.3には1つもねーよ
>>216
なぜコード規約が必要かというのは
http://java.sun.com/docs/codeconv/index.html
にちゃんとかいてあるだろ。読めねーのか(ワラ
022744
NGNG>>158に対する反論
>>この例に限ればそうですよ。ただしこんな間違いするやつなら
>>m_nameと書くべきとこをnameとかいたりその逆やったりしそう
>>>ってこといいたかったんだけど。
>>繰り返しになるけどあなたは「未定義のローカル変数にアクセスした」
>コンパイルエラーを出したことないの?
>どんなベテランだってこのエラーは出すと思うけど。
>そして運良くエラーになったのはたまたま同名の面罵変数が存在しなかった
>からでそ。
というのは違うんじゃないかと思うのだが。
countに代入すべきところをポカミスでm_countに代入してしまったというミスの確率は、
int count;をint coutn;と書いてしまってエラーが出ないというのと比べて
そんなに低いだろうか?
後者の防ぎ方は>>209が例としてあげたjava.util.Stringに良い例があった。
例えばtoLowerCase()では、
int len = count;
int off = offset;
char[] val = value;
とある。メンバ変数には正しい単語を、ローカル変数には略称を使うという方法。
これにより、m_の有無で区別するのと同様の効果がある。
022844
NGNGプログラミングに疎い人がコードレビューに参加したとき、
m_count / count の別よりも count / len の別のほうが理解しやすいということ。
>>160は
>ちがう。バグが発生してからでは遅いんだ。バグがそれほど高く付か
>ないシステムならいいかもしれんが、人命に関わったり莫大な損害を
>出したりすることもあるんだよ。
と書いているが、このようなプログラムを扱う会社であれば、
品質保証専門の部署があるだろう。その部署の人間はプログラムには疎いだろうが、
品質保証部門の人にコードレビューに参加してもらうと、鋭い指摘をして
もらえるそうだ。まあ、品質保証の人間は、ミスを見つけるプロだから、
指摘が鋭いのは当然だろう。(もちろんある程度の知識は必要だし、コードには
充分な量のコメントがあるべきだが、コンピュータに不慣れなわけではないし、
typoや代入ミスやロジックの矛盾を指摘するために必要な知識はそう多くないし、
人命にかかわるようなコードにはコメントがたくさんあるだろう。)
そのような人間にすんなりと理解させるためにはどちらが有利だろうか。
自然言語に近いほうではないか。m_が不自然という主張は、
こういう問題にリンクしていると俺は思うが。
022944
NGNG自然言語に近いほうではないか。m_が不自然という主張は、
こういう問題にリンクしていると俺は思っている。
「コードレビューにプログラミングを分からん奴を入れるかゴルァ」
というヤツも多いだろうが、>>160の
>人命に関わったり莫大な損害を出したりすることもあるんだよ。
という言葉を受けてのことだ。この場合、人間は多く、多様なほど良い。
それに、これは会社の勉強会の事例報告の受け売りだが、コード規約にも
The choice of a variable name should be mnemonic- that is, designed to
indicate to the casual observer the intent of its use.
と書いているYO!
0230デフォルトの名無しさん
NGNG0231デフォルトの名無しさん
NGNG0232HOE
NGNGそう言う奴はVJ++買って 好きなだけMSの仕様使ってExe作って友達に配布してろ
0233デフォルトの名無しさん
NGNGローカルと面罵をまちがえることないよ
クラスもせいぜい200行くらい。
面罵も多くても20くらい。
m_
なひとってメソッドが長すぎるんじゃないの?
0234デフォルトの名無しさん
NGNGメンバフィールドが全部privateで、メンバメソッドはちゃんと
分割して10行程度ずつにしておけば、どんな名前ついていても
問題ないとおもわれるが?
外部にメンバフィールド晒すなんて真似を、まずやめれ。
0235デフォルトの名無しさん
NGNGどんな名前でも同じことなら、
prefixなどつけず必要最小限の命名をするのがベストだわな。
0236216
NGNGなんていう思考停止な意見が減ってきて喜ばしい限りです。
>>218その他
「間違うことは無い」がやたら多いですね。
人の認識能力ほどあやふやなものはないのでは。
あやふやであれば、間違いにくくすればいいんですが、
(各種方法はあるとして)
>>44,228,229
prefixやpostfixや名前の付け方によって理解しやすさに差があるとのことですが、
その差についての根拠が見当たりません。
アンケート調査でも、心理学の実験でもなんでもいいから、ありませんか?
>>224
120は命名方法については「つける必要はない」としか言ってないようです。
つけてはならない、と主張してました?
0237デフォルトの名無しさん
NGNG ̄ ̄ ̄ ̄ ̄
0238デフォルトの名無しさん
NGNGhttp://www-106.ibm.com/developerworks/java/library/java-pollresults/standards.html
0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNG既に世にある Java のコードはそれに沿ったものが大部分だ。
Java プログラマにとって見慣れたコードであることだ。
今更 m_ prefix を付ける習慣など普及してほしくない。
何故なら見慣れない読みにくいコードだからだ。
C++ において m_ prefix が主流であるならそれはそれでいい。
だが、Java にそのまま持ち込もうとするな。
0241デフォルトの名無しさん
NGNG「フィールドへの代入には this. を必ずつけること」
で済む話だよな。
0242デフォルトの名無しさん
NGNG>人の認識能力ほどあやふやなものはないのでは。
そんなこと言われても、実際にあなた方m_派もおっしゃっている通り
滅多にないバグなんだからしょうがないです。出てもすぐ解決するし。
変数名に余計な文字をつける不自然さと天秤にかけて、
必要なしと判断しているだけ。
#不自然さは感覚的厨房的?
#いえいえ、良質なコードを書くには感覚は重要ではありませんか。
というか、ずっと思ってるんですが、m_なんか使ってるから
メンバ変数を壊している可能性がスッポリ頭の中から抜け落ちたり、
ローカル変数との区別を一目でつけられなくなったりして
本来なら些細なバグにてこずるハメになってるんじゃないですか?
で、ますますm_依存症、m_がないとコーディングできないし
レビューもできないなんて有様になると。
鶏と卵、プリフィックス・スパイラルとでも申しましょうか。
世の中にあるのはm_がついてくるコードだけじゃないし、
特にJavaではついてこないコードが大多数を占めるわけで、
とても不幸な悪循環に落ち込んでいるように思えます。率直に言って。
0243デフォルトの名無しさん
NGNGもちろんローカル変数よりも多い。そうでない場合は設計がまずい。
だからなるべく読みやすい名前を使うべきだ。間違ってもおかしな
プリフィックスなど付けてはならない。
メンバ変数が頻繁に参照されない場合というのは、大抵メンバ変数に
対する put/get メソッドが用意されている。それ以外の部分では
全く参照されていない。そのようなコードを書く者はそれが正しい
オブジェクト指向なのだと勘違いしているのだ。
0244デフォルトの名無しさん
NGNGclass C0 {
int m_1, m_2, m_3, m_4;
char *m_5_p;
}
0245デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNGparseInt()で整数に直すときに、整数以外を入力するとエラーがでてしまうので
入力された文字を整数に直すまえに整数かどうかを確かめる
方法はあるのでしょうか?
0249デフォルトの名無しさん
NGNGあんた・・・もうすぐ30だな
0250デフォルトの名無しさん
NGNGparseIntで確かめましょう...?
boolean success = true;
try {
Interger.parseInt(text);
} catch (NumberFormatException ex) {
success = false;
}
if (success) {
d = Integer.parseInt(text);
}
0251デフォルトの名無しさん
NGNG意図はそれしかないだろうけど、
そういうのは厨房コードといわれちゃうよ。
try-catchの意味分かっていないといわれちゃう。
try{
func(Integer.parseInt(textfield.getText()));
//func(int)が対象の処理
}
catch(NumberFormatException e){
JOptionPane.showMessageDialog(null,"入力まちがってますよ");
//ユーザに通知
}
0252169
NGNG>countに代入すべきところをポカミスでm_countに代入してしまったというミスの確率は、
このミスは一定レベルの人間ならまずないと思う。(俺はしない自信がある)
int count;
m_count = SomeThing.getCount(); //ここでミス
if (count < XXX){
...
この場合ローカルのcountは代入されなかったのだからそのあとにcountを参照している
コードが「望むことを行わない」タイプのバグになりそれこそ容易に発見されるだろう
しかしこれは考えさせられる問題だ。反論求む
>とある。メンバ変数には正しい単語を、ローカル変数には略称を使うという方法。
>これにより、m_の有無で区別するのと同様の効果がある。
まさしくその通り、>>169の3で述べたように
「ローカル変数とメンバ変数のアクセスには区別された方法を使うべきだ」
には賛成してくれるのか?
0253169
NGNG>で、こちらのほうが良い理由が1つある。
>プログラミングに疎い人がコードレビューに参加したとき、
>m_count / count の別よりも count / len の別のほうが理解しやすいということ。
なんつうかこれもアンフェア。「すべてのローカル変数には省略形が用いられている」
という規約でもない限り count / count で文脈によって判断しろ!になってしまう。
あなたが言ってるようにm_につながる問題であることは認める
return start - offset + 1
なんていう文を見たときにoffsetはメンバでstartはローカル。なんてつらすぎるよ
「ねぇ小柳君、このoffsetっていうのはメンバにアクセスしているみたいだけど、
それはいいんだよね?」
(誰かが行っていたように俺はぬるま湯につかりすぎているのだろう)
>「コードレビューにプログラミングを分からん奴を入れるかゴルァ」
>というヤツも多いだろうが、>>160の
>>人命に関わったり莫大な損害を出したりすることもあるんだよ。
>という言葉を受けてのことだ。この場合、人間は多く、多様なほど良い。
ここまでくると屁理屈だぞ。あなたはちゃんと議論してくれているんだから
ここはとりあえず忘れることにする
0254169
NGNG>そんなに typo が気になるなら、何度も言われているように、
>「フィールドへの代入には this. を必ずつけること」で済む話だよな。
これが強制力を持っているのなら俺も問題にしない。
ローカル変数にアクセスするつもりで間違ってメンバにアクセスしてしまうのだから
this.をつけろと言う規約は>>169のバグを防ぐ目的では役に立たない。
これは他の人へ
Sunのコード規約ではm_を禁止していないように見えるが。
違反していると言う人はぜひその根拠を示して欲しい。
(ついでにその根拠だとなぜSwingのJXxxxが許されるのかも)
ちなみにうちはm_を使っているがどうどうとSunのコーディング規約に準拠して
いるといっている。
0255デフォルトの名無しさん
NGNGどうしてAppletってすたれちゃったの?
遅いから?
0256デフォルトの名無しさん
NGNGブラウザ作ってるところがまともなJVM実装してくれなかったからだよ。
0257デフォルトの名無しさん
NGNG1.M$(IE)が、確信犯で嫌がらせしている。
2.Netscapeが、アホナJVMをNCに組み込んで、
Applet=使えないの図式をすっかり定着させちゃった。
この二つがおもな原因。
0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNG3.サンドボックス分かってない厨房が何も出来ないと騒いだ。
0260デフォルトの名無しさん
NGNG0261デフォルトの名無しさん
NGNGJavaVMのお勉強によいWebリソースありますか?
英語はよめます
0262マジレッサー
NGNGまず、アセンブラとCを勉強してください。
これらはJavaVMを勉強するにあたり最低限の知識として必要です。
なぜなら、JavaVMはそれらで作られているのですから・・・
0263169
NGNG>JDK1.3には1つもねーよ
・・・頼む卑劣なうそは止めてくれ・・・
java.lang.FloatingDecimal:285,664,1002
java.io.File:470
に行番号変わってるけどそのまま残ってる
にせものの44であることを祈る
0264247
NGNGご指南ありがとうございました。
無事できました。
026544
NGNG簡単なことなので、ここにだけ返答する。
俺の今見ているのは、Win32プラットフォーム用のSDK ビルド1.3.0-C
java.lang.FloatingDecimal:
285: char digits[];
664: char digits[] = this.digits = new char[18];
1002: char[] digits = new char[ l ];
java.io.File:
470: String path = getAbsolutePath();
となっている。
他のプラットフォームでは、今は残念ながら確認できない。(Linux機が不調で…)
したがって、Win32用ではないといえるが、別のプラットフォームにないとは言えない。
プラットフォームを書かなかった点は申し訳ない。
残りは風呂上りにゆっくり読んで検討したい。
0266デフォルトの名無しさん
NGNG他のプラットフォームでは って、プラットフォームごとにAPIのソースって
変わるのか?
0267デフォルトの名無しさん
NGNGnativeメソッドの内部実装はプラットホームごとに変わるだろうけど、
その上を変える必要なんか無いと思われるが…
0268デフォルトの名無しさん
NGNGバグフィクスを進めてるのでコードが変わってる。
026944
NGNGm_が付いているかと言う話かと思っていた。
俺はSetterでは同じにすることが多いので、一致しているのは絶対にダメとは思っていない。
流れを読んでなくてすまん。
それから、java.lang.FloatingDecimal:664はたしかにダメだな。
0270255
NGNGチャットとか画像掲示板とかサーバの状況表示なんかは、代替の技術ってないですよね。
そだ、質問。
IE4.0上でAppletからJavaScriptのfunctionを呼ぶにはどうしたらできますか?
0271250
NGNG250はジョークのつもりだったけど、
そういうツッコミ期待してたからナイスです。
>>247も例外を使うスマートさを理解してくれたと思う。
けど、>>247みたいに例外を探し忘れちゃう気持ちも結構わかる。
自分の想定していることが、必ずしも例外的な状況でなかったら
methodが投げる例外に注意が逝かないこともある。
Javaだとsignatureにthrowsがあるから普通気付くけどね。
instanceofしてからダウンキャストしたくなる状況に似てるかも。
027244
NGNG比較すべきだった。この点については謝らせてもらう。(ダメダメだな)
が、>>253を見る限り大意は伝わっているようなので、
今後はこちらの例を使用して、議論を続けたい。
>>252
「メンバ変数とローカル変数と同じ(ような)名前をつけることがある」
「その場合でもメンバ変数とローカル変数の名前は明確に区別したほうが良い」
というのは同意できる。
ただ、実際にはメンバ変数と同名のローカル変数を使う状況はどのような
状況だろうかと検討してみると、かなり限定されている、具体的には
「メンバ変数とローカル変数は同じ属性をあらわしており
(恐らく実際の値と計算中の値)、両者を混在して扱うことはない
(恐らく初期化と最後の格納の高々2回)」という状況であると考えられる。
そうでないと、変数名が変数の意味を正しく表現していないと思われ。
したがって、
> int count;
> m_count = SomeThing.getCount(); //ここでミス
> if (count < XXX){
> ...
のcountはsomeThingCountであるべき。
「名前が悪い」議論に戻ってしまったな。
027344
NGNG>なんつうかこれもアンフェア。「すべてのローカル変数には省略形が用いられている」
>という規約でもない限り count / count で文脈によって判断しろ!になってしまう。
はっきり言うと、その通りだ。文脈で判断すべき。変数名は自然言語でついて
いるのだから。ただ、上で述べたとおり、同じ名前のメンバ変数とローカル変数が
混在する状況は変数名のつけ方がおかしいか、勘違いかtypoなど単純ミスのどちらか。
で、 value の中で m_value を見つける労力と val の中で value を見つける
労力は同じだろう。
>return start - offset + 1
>なんていう文を見たときにoffsetはメンバでstartはローカル。なんてつらすぎるよ
区別する必要ないと思うが。片やあらかじめ保存されている属性、
片やそこから導出や測定が必要だった属性の違いであり、
ともにそのオブジェクトの属性であることには変わりはない。
>>>人命に関わったり莫大な損害を出したりすることもあるんだよ。
>>という言葉を受けてのことだ。この場合、人間は多く、多様なほど良い。
>ここまでくると屁理屈だぞ。
そうかな? 今後、ソフトウェア品質保証の規格化と取得要求が進むにつれて、
ハードウェア品質保証規格への対応のノウハウが必要になってくると思うが。
まあ、m_とは関係ないな。(ワラ
027444
NGNG>これは他の人へ
>Sunのコード規約ではm_を禁止していないように見えるが。
>違反していると言う人はぜひその根拠を示して欲しい。
俺は多分他の人じゃないと思うが(ワラ
Variable names should be short yet meaningful.
メンバ変数かローカル変数かは「意味」ではない。
The choice of a variable name should be mnemonic
自然でないものを記憶させるのは、理解の障害となる。
0275教えて!
NGNG簡単なpgmをメモ帳で作り、ファイル名にclass名.javaと付けて保存
再度開けようとすると、program.exeが見つからないので、開けられません
とでてしまう。
どなたか理由わかりますか?
0277教えて!
NGNGでは、何故でしょうか?
0278デフォルトの名無しさん
NGNG0279教えて!
NGNG不毛な対話は時間が勿体無いのでどなたか教えてください。
宜しくお願いします。
0280276
NGNG0281教えて!
NGNGではどうすればprogram.exeって手に入るのでしょうか?
私のjava本には触れてないので全く分かりません。
宜しくお願いします
0282デフォルトの名無しさん
NGNG>私のjava本には触れてないので全く分かりません。
でしょうねー、漏れもみたことないです。
そういうときは、検索しましょう。
0283教えて!
NGNG0284教えて!
NGNG0285デフォルトの名無しさん
NGNGわーくぱっどとかにさ。
0287教えて!
NGNGでもコンパイルしても何故か?noclassdeffound error って出てきます
何故だろうか・・・?
だってfile名.javaで正しいdirctryに保存してるのに。
分かる方いましたら、宜しくお願い致します。
0288超能力者
NGNG巻末の索引でCLASSPATHというものを調べてみましょう。
0289教えて!
NGNGその設定が間違ってるのでしょうかねー、。。
0290デフォルトの名無しさん
NGNGhttp://java-house.etl.go.jp/ml/
あたりで調べろ。
0291デフォルトの名無しさん
NGNGpathはOSがプログラムを探しに行く場所ようなものです。
CLASSPATHはjavaがコンパイルされたクラスを探しにいく場所のようなもの。
pathにコンパイルされてできた.classファイルを通しただけでは
Javaがクラスを認識できません。
CLASSPATHに出来た.classファイルを通して見てはどうですか?
これっくらいでいいですよね?
大文字のCLASSPATHと小文字のclasspathについては
またどこかで調べましょう。
0292教えて!
NGNG情報有難うございました。
0293分からん・・・
NGNGもう少し具体的にCLASSPATH設定の方法を教えて頂けないでしょうか?
宜しくお願いします。
0294分からん・・・
NGNG↑これの意味が分かりません。
もう少し分かりやすく教えていただけませんか?
0295デフォルトの名無しさん
NGNGset CLASSPATH=.
ってやってから
java ・・・
ってやっても駄目か?
0296デフォルトの名無しさん
NGNGソースと
あなたが入力したDOSのコマンド履歴をコピーしてあっぷしなされ。
0297デフォルトの名無しさん
NGNGつかってないんだろうから、classpathの指定は
不要です
0298デフォルトの名無しさん
NGNGとりあえず画面に出たエラー表示をそのまま載せれ。
0299分からん・・・
NGNGがエラー理由のようです
0300ソース開陳
NGNG{
public static void main (string args[])
{
System.out.println("Hello \n") ;
}
}
0301良く知らない人
NGNGstring -> String
でしょ。
それから
java -version
の結果もコピペすれ。
0302未だにコンパイル不可
NGNGそのjavacを削除して初期インストール時の場所でコンパイルを行ったら、
Hello.javaを読みこめませんと出てきました。
これって一体・・・
java-versionって何ですか?
0303デフォルトの名無しさん
NGNGいいよ。
DOSもWindowsもShellも良く知らないんでしょ?
「漫画で覚えるJava」みたいなのがあればベスト。
(煽りじゃないよ)
全てのことが良く分からないまま、人に答えを教えてもらって出来るようになっても
何も身につかないと思うよ。
0304デフォルトの名無しさん
NGNG禿げ敷く同意。
0305デフォルトの名無しさん
NGNG0306未だにコンパイル不可
NGNG一応本は「図解でわかるjavaのすべて」と「java言語プログラミングレッスン」を
漏っていますが、環境設定についてはそれ程詳しく斯かれてないのが
実情だと思います。
初期環境さえ設定できれば後は勉強して行けるのかな?と思ったのですが・・
0307デフォルトの名無しさん
NGNG君の場合、まず質問のやりかたを勉強したほうがいいと思うぞ。
>>290で紹介されたJavaHouseの「スペシャルトピック(必読)」
をとりあえず全て読め。
君の目の前で何が起こってるのかを説明できるレベルにならないと、
どこに行っても回答を得るのは難しいと思う。
0308未だにコンパイル不可
NGNG1java world 付録のCDでsdkをインストール
2syseditでpathの設定
3クラス名と同名のソース名.javaをメモ帳で作成
4新規ファイルに保存
5dosでcdで上記ディレクトリにてjavac 同名.java を実行
結果 同名.javaを読みこませんでした
とのコンパイル結果
故原因がわからないでおります
どなたか知者の助言願います。
0309デフォルトの名無しさん
NGNG読みなさいって。
君の持っている「図解でわかるjavaのすべて」は、おそらく、このスレで回答
しようとしている人は持っていないだろう。
そんな状況で、
>「図解で分かる」で斯かれている通り
>2syseditでpathの設定
と言われても誰も分からないよ。その「設定した内容」を書かないと。
>1java world 付録のCDでsdkをインストール
も、どのバージョンのJDKなのか、調べないと分からないでしょ。
3,4,5も同じようなこと。
はやる気持ちはわかるけど、まずは、JavaHouse。
0310デフォルトの名無しさん
NGNG0311デフォルトの名無しさん
NGNG向いてないよ。少なくとも一緒に仕事したくないタイプで
はあるな。
0312デフォルトの名無しさん
NGNGそのディレクトリで
dir
と
java -version
をうった結果をウプしてくれ!
0313デフォルトの名無しさん
NGNGecho %CLASSPATH%
っていうコマンドを実行して、
結果を書き込んで。
0315デフォルトの名無しさん
NGNGクラスパスなんだろうなあ。。
0316デフォルトの名無しさん
NGNGこういうタイプもJavaHouseによくいる。そして混乱させるわけだ(藁
0317デフォルトの名無しさん
NGNGほっときゃいいのに。
0318デフォルトの名無しさん
NGNGお前の血は何味だー!
0319デフォルトの名無しさん
NGNG0320ケンシロウ
NGNG0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNG一票
0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNG0325デフォルトの名無しさん
NGNG>308
ここを読むか、DOSの画面コピーしてはってください
どんな知恵ものでも、あなたの質問のしかたでは
正しい答えをおしえることはできません
0326デフォルトの名無しさん
NGNG0327デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
NGNG0329216
NGNG>>238.240.243
慣れ/読みにくい/主流 ですか? 鳥頭厨房確定。
猿以下の思考停止生物は有害だから去れ。
prefixをつけてはならない根拠は?>>243 その説明がないから・・・
>>239
218は、コードの読み方によって、(prefix等がなくとも)間違いを回避できるという主張。
これは"つけなくてもよい"根拠であって、"つけてはならない"ではないね。
>>242
バグが出る環境を想像してみてください。
# 自然不自然だとか、ですが、
# そんな不安定な感覚なんてものに頼るなんて前時代的ですよ?
ところで後半の文章によって厨房確定で残念です。
アナタの感覚なんか誰もアテにしていない。
感覚でないというなら根拠を示せば?
0330デフォルトの名無しさん
NGNG設計/コーディング/レビュー/テストなどにきちんと時間を与えられる
→どのようなstyleであろうとバグは取れ、動作する。
アマチュア:
動こうがうごくまいがどうでもよい
→どのようなstyleであろうと誰も文句を言わない
結論:
この中間に位置するJava仕事は存在しない。
0331デフォルトの名無しさん
NGNG0332デフォルトの名無しさん
NGNG0333未だにコンパイル不可
NGNGECHO は ON
との返答がありました。
0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNGしかも、流れが変わったのにいつまでも続けているし。
0336169
NGNG俺なりにm_反対派の意見をまとめてみた。個々のレスへの反論はあるだろうがもう大体
意見は出尽くしたようなのでこれで終わりにしよう。
・まずm_をつけないことによってテストでは発見困難なバグが発生する可能性は彼らも
認めている。(と思う)
・しかしそれがたいした危険と考えていないので防ぐ必要なしと判断している
これはまったくそのとおりでプロジェクトの性質によっては十分に無視できる問題だ。
・次に可読性についてだが String.javaを「可読性が低くない」と判断できる人間に
とっては確かにm_をつければかえって可読性が低下するものと思われる。
その点君も俺も旧式の脳みそを持っているようなので素直に引き下がったほうが賢明
と思う。
彼らが超人かわれわれが厨房か、2chでいくらやっても結論は出ない
0337デフォルトの名無しさん
NGNGというのが抜けてる (まるでバグをほったらかしみたいだ)。それから、
まだ m_ について話し足りないなら悪いけど別スレ立ててくれる?
0338しんちゃん
NGNG0339デフォルトの名無しさん
NGNGがなくなってきてるので、この手の宗教戦争投げるのも良いかも。
きっと、ここぞとばかりに厨房がわんさか出てくるよ。(藁
0340デフォルトの名無しさん
NGNGhttp://java-house.etl.go.jp/ml/archive/j-h-b/006427.html#body
0341デフォルトの名無しさん
NGNG0342デフォルトの名無しさん
NGNG名工大時代の高木浩光さんといまのひろみちゅでは、肉体は一緒だが、
魂が実は何物かによってこっそり入れ替えられてるぞ。
注意しろ。
0343JAVA3ヶ月生
NGNGここを参考にして、TomCatをインストールしていたのですが、
いろいろ試してもTomCatが起動しません。
「指定されたバッチラベルが見つかりません -startServer」とか、言われちゃって・・・。
OSは、WIN2000プロフェッショナル。
Apacheは、apache_1_3_12_win32。
インストールしたバージョンは jakarta-TomCat-3.1.1 です。
なにかしらわかる方がいらっしゃれば、ご教授願います。
0344JAVA3ヶ月生
NGNGhttp://family.millto.net/~molita/
0345JAVA3ヶ月生
NGNG逝ってきます。
0346デフォルトの名無しさん
NGNGいや、echoじゃなくて
echo %CLASSPATH%
なんだけど。
もし、これでONってでてきたんなら、
CLASSPATHの設定を変えないとだめ。
034736
NGNGきみってアタマ悪そうだね。まとめになってないよ。
だからいつまでもm_なんていってんだろうけど。
漏れのまとめはこうさ。
メンバー変数名にm_などのprefixをつけるやつは100%厨房。
悪いことはいわないからJavaはいますぐやめてC#に遺稿せよ(藁
0348デフォルトの名無しさん
NGNG仕事なら、m_をつけてはいけない。
つける必要が無いようなコーディングを心がけろ、ということで。
0349デフォルトの名無しさん
NGNG0350デフォルトの名無しさん
NGNG>後者の防ぎ方は>>209が例としてあげたjava.util.Stringに良い例があった。
>例えばtoLowerCase()では、
> int len = count;
> int off = offset;
> char[] val = value;
>とある。メンバ変数には正しい単語を、ローカル変数には略称を使うという方法。
>これにより、m_の有無で区別するのと同様の効果がある。
javaのクラスライブラリってそんな真似やってるんだ
わけわからん略称で埋め尽くされた昔のCソースのようだ..
そんな略称考えてる暇があったら自然な名前にm_でもitsでもなんでもいいから
つけたほうがいい
シープラでも別に最初からm_をつける文化があったわけじゃなくてmfcの設計者
が途中からつけた工夫だろ
純粋にjavaはシープラより歴史が浅いからそこらへんの文化が発達してないん
でしょ。だって、メンバ変数と名前が重なるから略称を考える、という問題は実際
に発生しているわけだから。その目的で略称を考えてる人たちにm_をつけるのが
汚いとか絶対に言われたくないが..
あとメンバ変数は重要なもんだから頭の中に絶対に入ってるって、それは自分が
書いたソースの場合でしょ。
他人の書いたソースみる時にまず仕様書なんて必ずみるわけじゃないっていうか、
よっぽど正式な状況以外ではいちいちみない。よほどみにくいソースじゃない
限り。参考にするために拾ってきたりもらったりしたソースに仕様書なんかないしさ。
っていうか・・・プレフィクスがなし派はかなり限られた状況でしか開発したことが
ない奴と思われ..
0351デフォルトの名無しさん
NGNG>プレフィクスがなし派はかなり限られた状況でしか開発
そんなの、現場で規定された名称付与基準次第じゃねーか。
なにすっとぼけたこと言ってんだ?
0352デフォルトの名無しさん
NGNG035339
NGNGきみ何番?はじめてでてきたの?
他人の書いたソースをどんな目的で見るときのはなし?
そのクラスを使うだけならインターフェイスだけ知っていればいいでしょ。
そのクラスを継承しないといけない場合はソースの全部を読んで
アタマにいれないといけないけどね。継承なんてめったにしないでしょ?
さー、ここでまた厨房が釣れるかな?(藁
0354350
NGNGつけろといわれたらつけるし、つけるなといわれればつけない。
それに、Sunはつけるなともつけろとも言ってねーよ。
ちゃんと規約読めバーカ。
035539
NGNG>趣味のプログラミングならm_つけてもいいんじゃない?
いいよ、できればローカル変数名にprefixのほうがましだと思うけど。
>つける必要が無いようなコーディングを心がけろ、ということで。
そう、こっちは本質だよね。
つける必要がないようなクラス構造、クラスの大きさにしろ、ってことかな。
0357デフォルトの名無しさん
NGNG趣味だからって醜悪なコードを許容するのは「趣味が悪い」かなとも思う。
趣味人にはドキュコードを書く自由がある!と主張することには
結局なんの意味も無いと思う。ていうか趣味でやるやつほど
せめて美意識とかを意識して欲しいもんだというか。
それはそれとして。
>>347
なるほど。delでも、fHogehoge(フィールドの略らしい)
とか書かずにself.Hogehogeと書くべきだってことか。
そう言われて見ればそうだな。
ただ、delの場合は、propertyという便利な仕掛け(わら)のおかげで
Hogehogeと別にfHogehoge相当の変数をも作らないとならない
という事情はあるんで、ちと悩ましいけど。
0358デフォルトの名無しさん
NGNGコンストラクタ等で「this.foo = foo」と書くとき引数名を間違えると...
http://java-house.etl.go.jp/ml/archive/j-h-b/019444.html
気をつけてネッ!
0359デフォルトの名無しさん
NGNG>>353
前にちょっとみて、さっきまたざーっと流し読みしたわけだけれど..
>>他人の書いたソースをどんな目的で見るときのはなし?
>>そのクラスを使うだけならインターフェイスだけ知っていればいいでしょ。
>>そのクラスを継承しないといけない場合はソースの全部を読んで
>>アタマにいれないといけないけどね。継承なんてめったにしないでしょ?
>>さー、ここでまた厨房が釣れるかな?(藁
継承なんてしないでそのソース自体を参考にする、なんてことを
あなたはけーけんしたことがないんでしょうおそらく・・
ふつーに開発やってたらいくらでもあることだが
だいたいプレフィクスをつけるうんぬんは、プレフィクスなきゃできない
とは上の人もたぶん誰もいってないわけで、ありゃわかりやすいと
言ってるだけでしょう
どうでもいいけどあなた(39)の過去の発言をみかえしてみたけれど、
どう考えても開発経験豊富な人には思えない、というか、たぶん
学校かおうちか、ごく小さな会社で小さな開発せこせこやってる人
という人にしか思えないので、反論するきもあまりおきないので、
これで書き込みやめときます
036039
NGNG>継承なんてしないでそのソース自体を参考にする、なんてことを
>あなたはけーけんしたことがないんでしょうおそらく・・
あるよ。その時m_がついてたほうがいいの、ふーん。
その時ローカル変数にl_がついてたんじゃなぜだめなの?
つーか、そんなのエディタで一発変換してよめばいいんじゃないの?
>どう考えても開発経験豊富な人には思えない
人間て悲しいものだね。
自分より上のレベルの人間だと読みとれるのはごく一部の優れた人だけなんだよね。
0361デフォルトの名無しさん
NGNG>つーか、そんなのエディタで一発変換してよめばいいんじゃないの?
むちゃくちゃゆーな。
0362デフォルトの名無しさん
NGNGうまくいきません・・・。
これでは、次のカードしか見れないのはわかっているのですが、
それ以前にアプレットが初期化されてないと言われてしまいます。
何が間違っているのでしょうか?
よろしくお願いします。
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
/*
<applet code = "card" width=250 height=200>
</applet>
*/
public class card extends Applet implements ActionListener{
CardLayout CL;
Panel p1,p2,p3;
Label label1,label2;
Button button = new Button("next");
public void init(){
p3.setLayout( CL = new CardLayout() );
p1 = new Panel();
label1 = new Label("Label 1");
p1.add(label1);
p2 = new Panel();
label2 = new Label("Label2");
p2.add(label2);
p3.add(p1);
p3.add(p2);
add(p3);
add(button);
}
public void actionPerformed(ActionEvent ae){
CL.next(p3);
}
}
0363デフォルトの名無しさん
NGNGp3がnull
0364362
NGNGが、p3 = new Panel();
を追加しても、うまくいかないんですけど。
なんででしょうか?
0365デフォルトの名無しさん
NGNGp3.add(p1);
p3.add(p2);
↓
p3.add("card1", p1);
p3.add("card2", p2);
"card1", "card2"は何でもいいッス。
0366デフォルトの名無しさん
NGNGあと、"next"ボタン押して表示パネル変更したいんだったら、
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae)
{
CL.next(p3);
}
});
ボタンにリスナ付けないと。
0367362
NGNG文字列入れなきゃいけなかったのか〜
知りませんでした。
あ、リスナも付け忘れてた・・・。
皆様のおかげで、無事に機能させることができました。
ありがとうございました。
0368レベルドレインer
NGNG・m_がついてようとついていまいとJDKのコードはクソ(w
・m_派がさんざん見つけにくいと主張するメンバ変数破壊バグだが、
「あるクラスのメンバ変数が意図した結果にならなければ、
そのクラス内の引数を含めたローカル変数の宣言ミスを疑え」という
ごくシンプルなデバッグ要項ひとつで対処できると思われ。
0369デフォルトの名無しさん
NGNGJDKのコードはクソかもしれないけど
そんなのはLinuxもWindowsもQNXもクソだから
許してやってくれ
0370デフォルトの名無しさん
NGNG兎剤。
0371デフォルトの名無しさん
NGNGどのAPIを使えば良いのかよくわかりません。
JMStudioやREALPRODUSCERのようなものです。
0372未だにコンパイル不可
NGNG皆さんサンクス!
0373デフォルトの名無しさん
NGNG次回はもうちょっと表現力つけて質問せれ。
0374デフォルトの名無しさん
NGNGなにそれ?おいしい?
0375デフォルトの名無しさん
NGNGドライバの設定の仕方はどうすればいいのでしょうか?
0376デフォルトの名無しさん
NGNGJDBCドライバってなんか設定いるの???
どこかに置いとくだけなんじゃないのけ?
0377デフォルトの名無しさん
NGNGCLASSPATHの設定が必要
0378デフォルトの名無しさん
NGNGどちらかというとURLClassLoaderで動的ローディングする
ほうが、エンタープライズシステムっぽくて素敵。
0379デフォルトの名無しさん
NGNGなにそれ?
動的にclassを自分の意志でダウンロードできるの?
0380デフォルトの名無しさん
NGNGClassLoader loader = java.net.URLClassLoader.newInstance(java.net.URL[] クラスパスの代わり);
loader.loadClass(String クラス名);
これで Class.forName(String クラス名);
の代わりになる…はずだ…
URL指定でできるので、例えばリモートのストレージに
一個ドライバ置いておいてみんなでそこを呼び出すように
すれば、ローカルストレージを汚さないで済む。
AppletからネイティブJDBCドライバ呼び出しもできるんじゃ
ないかな。
0381デフォルトの名無しさん
NGNGデータをテーブルに再描画するとき
元のテーブルをremoveして新しくテーブルをつくり直して
validate、repaintをかけているんですが
もっと良い方法はありませんか?
0382デフォルトの名無しさん
NGNG直前に一度検索しているなら、前回検索との差分だけを
バックグラウンドでロジック組んで検索して、そのセルだけ
書き換えるとかしたら?ついでにそこだけ色を変えたりすると
表現力たっぷり。
0383382
NGNGまあ、JTableつかえば簡単簡単。
0384381
NGNGなるほど、セルの色を変えて追加するのは思いつきませんでした。
よい案をありがとうございます。
しかしJTableはほんとにデータ表示には便利ですね。
0385デフォルトの名無しさん
NGNGから見るととっても楽なGUIツールキットだとおもう。
基本的にはボタンだのテキストフィールドだのといったコンポーネント
をNEWして貼ってけばいいだけ。あとはイベントハンドラを登録
(ListenerをNEWしてADD)してやれば終了。後ろのロジックは普通に
Javaで書けるわけで、あとはだだっ広いAPIのジャングルから適当な
パッケージ引っ張ってきて組み合わせれば、何でもできる。
J2SDKなら表現力は無限大。コンポーネントの上に何でも好きに書ける。
個人的にはテキストグリフのアンチエイリアシング処理が好き。
フラグ一個立てるだけであとはライブラリが中で勝手にやってくれる
んだもん。
おいらVB知らないんだけど、変な環境汚染とかはしないし、裏の
ロジックはオブジェクト指向でいろいろ書けるわけで、VBつかう
よりJDKの方が安全なアプリの開発が楽にできるんじゃないかな?
0386デフォルトの名無しさん
NGNG同意です。
テーブルモデルは慣れると楽しいですね。
>>381さんへ
http://www-6.ibm.com/jp/developerworks/java/010518/j_j-jtable.html
JTableのセル・レンダリングについては
↑が詳しかったですよ。
0387デフォルトの名無しさん
NGNGLinkedList.Java のソースをみたところ、
private transient Entry header = new Entry(null, null, null);
となってるんですが、この「Entry」ってなんですか???
0388デフォルトの名無しさん
NGNG0389デフォルトの名無しさん
NGNGどのパッケージ???
0390デフォルトの名無しさん
NGNGLinkedList内で
private static class Entry
で定義されてました。(TT)
逝ってきます。
0391デフォルトの名無しさん
NGNG非常に遅くてバグがあるんじゃ、ダメダメじゃん…。
0392デフォルトの名無しさん
NGNGバグって具体的になにがあるの?
0393デフォルトの名無しさん
NGNGバグっていっても、動作上の致命的な奴は最近あんまりない。
描画更新でたまに残骸のこったりとかがあるくらい。
GUIの動作が多少遅くたって、入出力に支障が無い程度なら
別にいいじゃん。GUI相手に一秒間16連射するユーザなんて
めったにいないと思うし。
0394デフォルトの名無しさん
NGNG0395デフォルトの名無しさん
NGNG0396デフォルトの名無しさん
NGNG拡張子を"js"に変えるにはどうすればいいのでしょうか?
ちなみに変える前の拡張子は"txt"です。
0397デフォルトの名無しさん
NGNG1.外部ファイルを読み込みたい
2.ファイルをリネームしたい
のどっちが質問なの?両方?
自分なりに補って解釈すると
Javaアプリケーションから
他マシンにあるファイルの"txt"ファイルを読み込み
また、そのファイルを*.jsにリネームしておきたい
または
Javaアプレットから
アプレットのあったサーバーの(or他サーバーの)"txt"ファイルを読み込み
また、そのファイルを*.jsにリネームしておきたい
に思えるんだけど、そのあたりはどうなのだろう?>396
0398デフォルトの名無しさん
NGNGネタじゃないの?
0399397
NGNGFile f = new File("hoge.txt");
f.renameTo("hoge.js");
だけど(例外処理とかは抜きね)
0400java駆け出し者
NGNGアプレットで画像のサイズを取得して、変数(クラスフィールド)に
入れておきたいのですが、うまくいきません。
以下のソース(アプレット)を実行すると-1が表示されて、
幅が取得できないようです。
コメントアウトしてある方法だとうまくいくのですが・・・
どなたかご教授ください。
画像は2枚必要です。すいません。
import java.applet.*;
import java.awt.*;
public class Test extends Applet{
int size;
Image[] Myimg = new Image[2];
public void init(){
Myimg[0] = getImage(getDocumentBase(),"1.gif");
Myimg[1] = getImage(getDocumentBase(),"2.gif");
size = Myimg[1].getWidth(this);
}
public void paint(Graphics g){
String c = new String();
// g.drawString(c.valueOf(Myimg[1].getWidth(this)),10,20);
g.drawString(c.valueOf(size),10,20);
}
}
0402java駆け出し者
NGNG実際のプログラムは何度もsizeを使いたいので、
できれば定数にしたいと思っています。
nullチェックはテスト用のためにつけてませんでした。
0403デフォルトの名無しさん
NGNGAppletのgetImageは"画像の読み込みを開始"させるメソッド。
呼び出し直後はまだ読み込みが完了していないためサイズがわからないのも当然。
読み込みを完了させるためにはMediaTrackerを使って、
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(Myimg[0], 0);
tracker.addImage(Myimg[1], 0);
try {
tracker.waitForID(0);
}catch(InterrputedException e) {
e.printStackTrace();
}
こんな感じの処理をサイズ取得の前(getImageの後)に入れとけばいい。
ちなみにImageのgetWidthメソッドとかの引数にthisを渡すのは
読み込みが終了したとき等に改めて通知してもらうため。
ていうか俺の日本語読みにくいぞくそったれ!!
この辺の仕組みが理解できれば画像読み込みをバックグラウンドでやって、
読み込みが終了したものから画面に表示していくというようなこともできる。
0404デフォルトの名無しさん
NGNGおしえて
0405ななし
NGNGJavaコードをネイティブコードにコンパイルしてくれる
コンパイラはどんなものがありますか?
0406デフォルトの名無しさん
NGNG本1冊読んでからのほうがイイと思うよ。
0408404
NGNG0409デフォルトの名無しさん
NGNGどんな文脈で使われてるのか書かないと正確なレスは帰ってこないと思われ
0410404
NGNGごもっとも。
もう少し勉強してからくる。
0411デフォルトの名無しさん
NGNGimage もしくは imageIcon の
任意のドットの色を取得したいのですが
取得の方法がわからないんです。
(VCとかでいうGetPixelみたいなの)
どなたか取得方法を御教授願えないでしょうか?
0412デフォルトの名無しさん
NGNG空きメモリは連結されてる?
0413デフォルトの名無しさん
NGNGjava.awt.image.PixelGrabber
ってのを使え。
BufferedImageなら
int color = bufferedImage.getRGB(x, y);
でいける。
0414デフォルトの名無しさん
NGNGJavaDocでPixelGrabber見たらサンプル付きで解説ありました。
ありがとうございます。
BufferedImageも調べときます。
0415デフォルトの名無しさん
NGNGJavaでクラスを作るとき、コンストラクタって
必ず作らなくてはいけないのですか?
コンストラクタ内でなにもすることがない場合は
何もコンストラクタ内で何も記述しなくてもいいのでしょうか?
0416デフォルトの名無しさん
NGNGそのとおり(大爆笑)
0417デフォルトの名無しさん
NGNG引数を持たない、中身が空の、コンストラクタが作られる。
ttp://www.gimlay.org/~javafaq/S010.html
0418デフォルトの名無しさん
NGNGPixelGrabberもいいんだけどなんか遅そうな感じが
するのは気のせいでしょうか。
最近のJavaはなんかFilterとかRenderedImageとか
WritableRasterとかわけがわからないクラスがたくさん
追加されていますが、これらみたいな新しいクラスを
使った新しいピクセルの扱い方ってあるんでしょうか?
0419デフォルトの名無しさん
NGNGWritableRasterからBufferedImageつくれる。
BufferedImageからRasterとりだせる。
Rasterでピクセルの値見れる。
WritableRasterでピクセルの値いぢれる。
WritableRasterはRasterのサブクラス。
Filter系使うとImageにエフェクトかけれる。ぶら〜とか。
RenderedImageはインタフェースか・・・。
とりあえずこれを実装してるクラスはBufferedImageだけみたいだね。
まぁいいや。
あとJ2SE1.4から新しく
VolatileImageとかいうのでイメージをVRAMにおけるようになったみたい。
PixelGrabberは始めにぐぁっとデータ取り込んで
int配列とかに入れてしまうので速度は別にかんけーないかと。
MemoryImageSourceとかはどうだろうね速度。
0420デフォルトの名無しさん
NGNG「"("がありません」と出たんですが
どうして直したらいいんですか?
すいません、全くの初心者なので…。
0421デフォルトの名無しさん
NGNGどう突っ込んでいいのやら。
0422デフォルトの名無しさん
NGNGどうするも何も、括弧同士の対応が足りなくて、
「(」の数が「)」に比べ1個少ないんだよ。
それくらいなら、その行のソース貼り付けてみ。
0423デフォルトの名無しさん
NGNGすいません、ほんと。
何が足りないとこのエラーが出るんでしょうか…。
0424デフォルトの名無しさん
NGNGそんなことよりlispをやんなさい、キミィ!
0425デフォルトの名無しさん
NGNGfunction En(){
pass = prompt(" ","");
if{
(pass == " " ) alert(" ")
location.href = " .html";
}else {
alert(" ")
}
すいません、厨房で…。
本片手にやり始めたばっかりなので。
0426デフォルトの名無しさん
NGNGその本タイトル違うんじゃないの?
0427デフォルトの名無しさん
NGNGここでJavaスクリプトもお聞きしていいのかと
思ってました。
0428デフォルトの名無しさん
NGNG0429422
NGNGそれJavaScriptじゃん。
ちなみにそれはif文の書式が間違っているのでは
if (条件) {
真
} else {
偽
}
だよ(要は if (条件) {真} else {偽})
だから、推測だけど
function En(){
pass = prompt(" ","");
if (pass == " " ) {
alert(" ");
location.href = " .html";
} else {
alert(" ");
}
じゃないの?セミコロンも抜けてたから注意するべし。
0430デフォルトの名無しさん
NGNGカコワルイ
0431422
NGNG0432422
NGNGファンクションEnを完結させるなら
function En(){
pass = prompt(" ","");
if (pass == " " ) {
alert(" ");
location.href = " .html";
} else {
alert(" ");
}
} ←※これ追加
0433デフォルトの名無しさん
NGNGhttp://pascal.seg.kobe-u.ac.jp/~shii/java/Title3D/Title3D.html
このようなプログラムのつくり方を教えるページはどこかありますでしょうか?もしくは参考書はございますでしょうか?
0434デフォルトの名無しさん
NGNG0435デフォルトの名無しさん
NGNG0436デフォルトの名無しさん
NGNG0437デフォルトの名無しさん
NGNG例外処理を元のクラスにthrowするのですがその時にいっしょに文字列を
渡すのはどうやればできますか?Exception eとString messageを元で
受け取って一緒に表示したいのですが。よろしくどうぞ
0438デフォルトの名無しさん
NGNG0439デフォルトの名無しさん
NGNGthrow new Exception("Hello, Exception\n", e);
}
0440デフォルトの名無しさん
NGNG即レスどうも。ちょっとよくわかんなかったんでwebで調べたら名前を
MyExceptionとかにしてExceptionのサブクラスにする方法があって
うまくいったんですが439のようにそのままthrow new Exception
みたいにやるのはできるんですか。
0441デフォルトの名無しさん
NGNGメッセージは入れられるけど、元Exceptionの格納はできないはずだ。
つうことで、格納昨日つきExceptionクラスつくっぺ。
足らないオーバーライドは自分で考えれ。
public class NestException extends Exception{
private Exception e;
public NestException(String message,Exception e){
super(message);
this.e = e;
}
public void printStackTrace(){
super.printStackTrace();
if(e==null)return;
System.err.println("nested exception");
e.printStackTrace();
}
}
0442デフォルトの名無しさん
NGNGヨンキューだっぺ
勉強になったべ
0443439
NGNGsince 1.4
だった。鬱
0444デフォルトの名無しさん
NGNGRMIなんかも良くなってるってどっか書いてあったからなあ
使ってみようかのお
0445デフォルトの名無しさん
NGNG仕様を読んだ限りだと、Serlvet何ていうちゃちな遊びレベルじゃなくて、
サーバサイドを本気で作るつもりなら、J2SE1.4+J2EE1.3が最低ライン。
これからは+JAXB,JAXMのラインで進んでいくんだろうと思う。
1.J2EE1.3
メッセージングサービス、パブリッシュ=サブスクライブモデル、
複相コミットメント、ネーミング=ディレクトリサービス、ETC…
2.J2SE1.4
ノンブロッキングI/O、ロギング機構、正規表現検索機構、RMI=CORBA互換
SSLソケット機構、暗号化ライブラリ、XML(DOM/SAX)パーサ、ETC…
3.JAXB,JAXM
オブジェクト←→XMLテキストマーシャリング・アンマーシャリング機構
ヴァリデーションチェック機構、SOAPメッセージ送受信、ETC…
こんだけできれば、今したいことは何でもできそうでしょ?
0446445
NGNGファイル機構のサポートがお気に入り。これが使えるというだけで、
マルチスレッドのサーバモジュール書く労力が段違い。
0447デフォルトの名無しさん
NGNG何ができるのかは十分承知しております。でもフラッシュでつくってもなーんも面白くありません。目標は3Dのゲームですので。
0448デフォルトの名無しさん
NGNGnew I/OってCのヒープがいぢれるのかな・・・。
よくわからないけど面白いかも。
ゲーム系での話が気になるますよ。これとか
http://java.sun.com/products/jfc/tsc/articles/jcanyon/
Game Profileとか
http://jcp.org/jsr/detail/134.jsp
0449デフォルトの名無しさん
NGNGじゃあJAVA3Dの本を探せ。
多分英語だけど。
0450デフォルトの名無しさん
NGNGSUNからDLするんだ。
ちなみにweb上でやるならアクティブX
アプレットだとちょっと厳しい。
つーか無理?
0451デフォルトの名無しさん
NGNG1.4のNEWI/Oって、JVMヒープ内での非同期マルチスレッド処理用で
しかないと思うよ。プロセス間通信には使えないと思うが。
0452デフォルトの名無しさん
NGNGオープンな3Dエンジン、わりとあるよ。
とりあえず、ここのやつとか
ttp://homepage1.nifty.com/open-prog/
少し解説つき オープンソース(日本語)
あと、海外で
ttp://cg.cs.tu-berlin.de/~ki/3del_1419_src_lang_j.html
Javaソースつきの3Dエンジン集(英語)
そういえばJDKのサンプルにもなんかあったね。しょぼいけど。
0453448
NGNGゴメソ。よくわかってないんだけど、
"JNIで呼び出されるネーティブ部のもってるヒープに、Java側から触れるのかぁ"
っていうつもりで・・・。
C->Java だけだったのが Java->C も、というか。
#って別にCだけじゃなくて、なんかネーティブのコードね。
なんか変なこと言ってたらごめん。よくわからん。
0454デフォルトの名無しさん
NGNGそりゃ無理でしょ。なんであんさんがカスタムで作ったJNIコールで
アロケートしたメモリエリアとコアAPIがインターフェイス取れるのよ?
0455デフォルトの名無しさん
NGNG先行者はどうでしょう?
0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNG問題は地面です。
0458デフォルトの名無しさん
NGNG擬似だよ。
でも、すごいゲームにはかわりないよな
0459ビギナ
NGNGForte For Java
って98,95では動かんの?
0460shige
NGNG0461デフォルトの名無しさん
NGNGJDK1.1ベースのブラウザのVMでも動く。
リアルタイムアニメーションに使えるような速度ではなかったと思うけども。
>>458
F-ZERO面(なにそれ)が擬似ならDoomとかも擬似じゃ〜ん。
べつにいいか。
0462デフォルトの名無しさん
NGNG>↓のようなプログラムを書きたいのですが、ここはソースを提供していません。
はっはっは。そういうときはですな、
おもむろにページのソースを表示、APPLETタグを見つけて
jarファイルを直接URL入力してダウンロード、
逆コンパイラにかければいいのです。
言っちゃいけなかったかな(w
0463デフォルトの名無しさん
NGNGそれをまずやったんですけど(jadで)なんかおかしいんですよ。出てきたファイルをコンパイルしてみてもエラーがでるし、どのクラスかも指定しないでインスタンスを生成していたような気がするし・・・
0464448
NGNGちょいと調べてみたですよ。なんか1.4から
jobject NewDirectByteBuffer(JNIEnv* env, void* address, jlong capacity);
って関数が用意されてて
- Allocates and returns a direct java.nio.ByteBuffer referring to the block of
- memory starting at the memory address address and extending capacity bytes.
って書いてあるんで、つまりこれを使ってaddressからcapacity分のメモリ空間に
マップされたByteBufferをつくって、Javaのコードの側に渡せるんぢゃないかな、と。
思うです。どう?だめ?
0465デフォルトの名無しさん
NGNG0466デフォルトの名無しさん
NGNG0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNGついついやっちまうッス。
0469デフォルトの名無しさん
NGNG置換ミスで変数名が全角の単語になってた。
でも、何事も無く動いてた。ちょっとびっくり。
0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNG1.CORBAのところでつまづきました。omniORBというもので説明されているのですがこれには
VC++が必要であるらしいですが持ってません(windowsです)。他にCORBA、C++コンパイラ
共に無料で試せるもの、それに関するwebページなどありましたら教えて下さい。
2.そもそもCORBAというものはどうなんでしょうか?netではsoapという魅惑的な名前の
サービスがそれに当たるものでありJavaでも使えるようになった、と認識していますが
比べるとどうなんでしょうか?
3.RMIについて>>445のような専門的な事はどのような本に載っているのでしょうか?
所有しているJava本にはRMIについてはメッセージを送信受信するぐらいな事しか
書いておらずここまでしか分かりません。よく皆さんがノンブロッキングI/Oなどという
言葉を出してjdk1.4を語っていますがそういうのが詳しく載っている本を教えて下さい。
以上3点教えてクンになっちゃいますがよろしくどうぞ
0472デフォルトの名無しさん
NGNGCORBAの最も基本的なサービスは、ネーミングサービスですが、これつかうと
オブジェクト自身をサーバとして起動することが出来ます。
TCP/IPのDNSに相当するネーミングサーバに、オブジェクトを
適当な名前と一緒に登録すると、クライアントはそのネーミングサーバ
に名前で検索するとそのオブジェクトのリモート参照が取れます。
簡単に流れを追うとこんな感じ。
サーバ側:
オブジェクト生成;
ネーミングサービス・登録("ほげほげ"、オブジェクト);
クライアント側:
オブジェクト=ネーミングサービス.検索("ほげほげ");
オブジェクト->メンバ関数();※
ここで、※で呼ばれているメンバ関数は、実際にはリモート
にあるサーバオブジェクトがその関数を起動してます。
(デザパタ知ってる人ならよくご存知の、RemoteProxyパターン
の代表例ですな)
あっというまにサーバクライアントシステムの出来上がり。
ソケットで同期取りながらシコシコやるより楽ちんです。
まあ、いろいろ約束事有るんだけどね。
0473デフォルトの名無しさん
NGNGたぶんその皆さんはC++などでサーバーを組んでいてそれと比べているのでしょう。
1.4になって始めてついた機能について過去の本に載っているわけ有りません。
僕も知らないので知りたいです。1.4に対応した本っていつ出るのかなあage
0474デフォルトの名無しさん
NGNG全角のひらがなとかでも動くよ。
Unicodeで表せる文字なら使えるよ。
0475デフォルトの名無しさん
NGNGコード内の識別子や文字定数は、コンパイル時にJavacが全て
Unicode変換してんだよね?違ったっけ?
だから、日本語だって識別子にできる。
public void ほげ(ほげほげ ぱげ){
ぱげ.あっち向いてほい();
}
なんてのもあり。読みにくいのと、日本語では
シンボル定義がサマにならないからやらないけど。
0476デフォルトの名無しさん
NGNGローカル/インスタンス/クラス変数名やメソッド名に日本語を
使用することが出来た。Beans の Introspection でもちゃんと
日本語の getter/setter (プロパティ名) を参照することが
出来た。
クラス名はファイル名と関係するのでどうもうまく行かなかった。
それから JSP 内で <jsp:getProperty> も文字化けしてしまった
(Tomcat 使用)。金融アプリみたいにプロパティ名が日本固有の
言葉になるもので日本語を使えたら便利なんだけどなぁ。
0477デフォルトの名無しさん
NGNGPerlでいうところのLWPモジュールみたいな奴。
0478デフォルトの名無しさん
NGNGできません。なんでか知ってる人いませんか?
0479477
NGNG(HTTP、FTP、SMTP、POPなど)
どこかいいサイトないでしょうか?
0480デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNGなんてどうよ。
0483あ
NGNG>
> 18日付の米紙ウォール・ストリート・ジャーナル(電子版)が報じた
> ところによると、ソフトウエア最大手マイクロソフトは、今年10月に
> 発売する予定の最新OS(基本ソフト)「ウィンドウズXP」の
> プレリリース版から、人気プログラム言語「ジャバ」対応のプログラム
> を稼働させるために必要なソフトを取り外した。ジャバは、米ネット
> ワークコンピューター大手サン・マイクロシステムズが開発したもの
> で、マイクロソフトの対応は、ジャバ陣営にとって打撃となるものと
> みられている。
http://www.jiji.com/cgi-bin/contents.cgi?content=2001071810738&genre=ind
0484デフォルトの名無しさん
NGNG0485483
NGNGそう
0486デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNGActiveXControlで作り直し?それとも.NET?
0488デフォルトの名無しさん
NGNG0489デフォルトの名無しさん
NGNG0490デフォルトの名無しさん
NGNGなんで、そう余計なことばかりするかな・・・?
0491デフォルトの名無しさん
NGNGモニターできるツールってありますか?
コレクションクラスを使いまくっていると、
どれくらいメモリを使ってるのが気になってきます。
0492デフォルトの名無しさん
NGNGんで、製造元がMS以外且つ広く使われているアプリの
インストーラに組み込むとか。
みんな結構MP3とか聴いていると思うから、MP3プレイヤーなんか
いいんじゃない?
0493デフォルトの名無しさん
NGNG最初からインストールされてないだけで、
APPLETタグあるページ行けば自動的に
MSVMインストールされるこたされるとは聞いたけど、どうなんやろね。
つまり今までよりちょっと手間かかるようにしたっつー。
>>489
できるっちゃあできるが、
どうもセキュリティ上サーバとの通信すらできないくさい。
……という認識でいいのかな。
実のとこよく分からんのでみんなも調べてクレー。
0494デフォルトの名無しさん
NGNGJava2がJavaのスタンダードである昨今、SunかIBMのVMを
インストールせざるを得ない。
多分、SunあたりがJRE&PlugInのワンクリックインストール
の仕組みを作るだろうよ。8MBくらいあるから、ブロードバンド
の普及状況とにらめっこかな。それさえ大丈夫なら,FLASHや
SHOCKWAVEのランタイムのインストールと同じ感覚程度にに
なるだろうから、そんなに気にしなくていいことだと思っとるよ。
0495デフォルトの名無しさん
NGNG「やっとJava2をターゲットにしたブラウザ用アプレットをおおっぴらに作れるようになる」
と言う認識で間違いないですか?
0496デフォルトの名無しさん
NGNGそう思う。
要はプラグインという認識にすればいいんだよね。
それをSunがやるかどうかだが、、、
0497デフォルトの名無しさん
NGNGそうですな。ADSL&FTTHマンセー。
ナローバンドユーザにJRE落させるのは無理。
0498デフォルトの名無しさん
NGNGアナログPPPに8Mダウンロードはねぇ。
0499デフォルトの名無しさん
NGNGMicrosoft が Sun Microsystems を買収すればいいんだと思うよ。
0500デフォルトの名無しさん
NGNGJavaPressやJavaWorldみたいなJavaマンセー本には
JREどころか、JDK1.3が丸ごと付いてるんだけどね。
0501デフォルトの名無しさん
NGNGそのあたりでなく、
日経netnaviとかPCJとかにつけば
「市民権あり」なんだけど、なんで今付いてないの?
0502デフォルトの名無しさん
NGNG0503デフォルトの名無しさん
NGNGあるよ一応
0504503
NGNG0505デフォルトの名無しさん
NGNGアドレス教えれ
0506496=500
NGNGhttp://java.sun.com/products/plugin/
>503が「あるよ一応」と記してるけど
まさに、「こんなとこにある」という感じ。
日本のサンのサイトにはない。
プラグインとして使われる可能性が増えるなら、
もっとわかりやすい場所に置いておくべきでは?と思う。
0507デフォルトの名無しさん
NGNGcatch
で囲まれた文の中でreturnするとき、最後のretrun って何にしてます?
参照型なら
retrun null
ってやっちゃうんだけど
public int getCount() {
try {
int i=0;
return i;
} catch (Exception ex) {
ex.printStackTrace();
}
return -1;
}
0508デフォルトの名無しさん
NGNG>で囲まれた文の中でreturnするとき
この感性がスゲーよ。マジびっくり。むしろ感動。
0509デフォルトの名無しさん
NGNG0510デフォルトの名無しさん
NGNGtry {
FileWriter file = new FileWriter("fileName");
return file;
}catch(IOException ex){
ex.printStackTrace();
}
return null;
}
こうやらずに、こうやれってことですね
public FileWriter newMethod() {
FileWriter file = null;
try {
file = new java.io.FileWriter("filename");
} catch (IOException ex) {
ex.printStackTrace();
}
return file;
}
0511デフォルトの名無しさん
NGNGこういうのって止めた方がいい書き方ですか?
String hogeFile(File f){
if( f == null || !f.canRead() ){ return null; } //ファイルがなかったらサッサとnullで返す
String s;
//諸々の処理
return s;
}
returnって{}を越えて抜け出すので、
↑のような書き方は避けるべきなのか疑問でした。
私は、結構多用してしまう癖が、、、、
0512デフォルトの名無しさん
NGNG0515デフォルトの名無しさん
NGNGなのですが
com.nttdocomo.net.*;
とimportして
writer.write(encode("name="+input_name.getText()+"&pass="+input_pass.getText()));
としてるんですが
それでビルドしても
メソッドencode()はclass java.lang.Stringで見つかりません
というエラーがでます。
文法上の間違いなのでしょうか?
0517デフォルトの名無しさん
NGNG超基礎知識だけどJavaのメソッド呼びだしって
ClassName.anyMethod() //staticメソッド
か
instanceName.anyMethod() //非staticメソッド
しかないのに
writer.write(encode("name="+input_name.getText()+"&pass="+input_pass.getText()));
~~~~~~~~~
はないだろう。
0519デフォルトの名無しさん
NGNG0520デフォルトの名無しさん
NGNGhttp://whythishappened.tripod.co.jp
0521デフォルトの名無しさん
NGNGそうですね。スローがベターですね
0522デフォルトの名無しさん
NGNG少なくとも、tryの後にfinallyがあったら、マズイだろう
0523デフォルトの名無しさん
NGNGただし finally ブロックはリソースのクリーンアップに限定使用っ
て感じだけど。
0524デフォルトの名無しさん
NGNGreturnする時にfinallyが呼ばれないってのは、
言語仕様的にクソだと思うがどうよ?
0525デフォルトの名無しさん
NGNG逆に、明示的に呼びたくないときはそうすればいいのかな
0526デフォルトの名無しさん
NGNGfinallyをわざわざ書いてるのに、
「明示的に呼びたくないとき」なんてあるのか?
returnとfinallyが協調しないなんて、おかしいよ。
0527デフォルトの名無しさん
NGNG>524-526 あたりの解釈の幅ゆえに
try〜catchでは、returnするのは
できれば止めた方がいいかと思われ
0528デフォルトの名無しさん
NGNGこれが正解。
エラーが発生したことを、fileがnullかどうかで伝えるのではなく、
例外で伝えないとだめ。
そうしないと呼び出し元でcatchできなくなり、エラー処理が煩雑になる。
0529デフォルトの名無しさん
NGNG呼び出しで例外を処理するってことですか?
0530デフォルトの名無しさん
NGNGJavaはわからないのでC++でサンプルを書かせてもらいます。
×
if (method_open(filename))
{
if (method_read()) ...
if (method_write()) ...
method_close();
}
○
try
{
method_open(filename);
method_read();
method_write();
method_close();
} catch(exception &e)
{
error_proc();
}
method_openやmethod_readが例外を投げずにエラーコードで返すと、
呼び出し元のエラー処理って複雑にならない?
Javaは知らないから、下のように書けるかどうかわからないけど、
呼び出し元も呼び出される側もこのほうが単純でしょう。
public FileWriter newMethod() {
try {
FileWriter file = new java.io.FileWriter("filename");
return file;
} catch (IOException ex) {
ex.printStackTrace();
throw ex;
}
}
0531デフォルトの名無しさん
NGNGtry{}catch{}の下にreturnを入れる必要があります。
となると
public FileWriter newMethod() {
FileWriter file = null;
try{
file = new java.io.FileWriter("filename");
return file;
} catch (IOException ex) {
ex.printStackTrace();
throw ex;
}
return file;
}
となります
最後に戻す必要があるので、
変数の宣言と同時にインスタンスを行うことができないのが
まどろっこしいです
0532デフォルトの名無しさん
NGNGtry
の中のreturnは不要です
0533デフォルトの名無しさん
NGNGDouble[] p=(Double[])list.toArray(new Double[0]);
long num=p.length;
for(long i=num;i>0;i--)
System.out.println(p[i-1]);
上のようにすると最後の行で精度が落ちている可能性で止まってしまいます
配列pの長さをlongにするにはどうすればいいのでしょうか?
0534デフォルトの名無しさん
NGNGそれで足りないってことは・・・
doubleは64ビットだから
8byte * 2,147,483,647 = 17,179,869,176
・・・データのサイズが17GB超えてる?
なんか凄いね、それ。
あと、toArrrayの使い方間違ってる気が。
0535デフォルトの名無しさん
NGNGdoubleが2の64乗だと思ってない?
0536デフォルトの名無しさん
NGNGいろんな意味でツッコミ入りまくる計算やな……。
とりあえず、基本情報技術者試験でも受けてきなはれ。
んで基礎からシコシコお勉強。
まだ秋の申し込み間に合うで。
http://www.jitec.jipdec.or.jp/
0537デフォルトの名無しさん
NGNG0538534
NGNGなんかおれ変なこと言ってる?
配列のサイズがintで扱いきれないってことは
配列の要素数が2,147,483,647以上ってことで、
それでdoubleひとつが8byte、ってことでああ書いたんだけど・・・。
単位(byte)落ちたのはミスだ。ごめん。
おれ、なんか頭茹だってる?
あと、toArrayの使い方はあれでいいみたいだった。
あやまります。ごめんなさいごめんなさい。
・・・なんか本気で不安になってきた。頭冷やしてきます。
0539デフォルトの名無しさん
NGNGまぁまぁ、マターリしようや。
0541デフォルトの名無しさん
NGNGintが要求されるってだけのことだよ。言語仕様見れ。
0542デフォルトの名無しさん
NGNG0543:)
NGNG早速のレスありがとうございます。
ごめんなさい。chgはすでに使ってるんですが、
できればIEのツールバー等に張り付くプラグイン型を
探しています。
0544:)
NGNG0545デフォルトの名無しさん
NGNG0546デフォルトの名無しさん
NGNGswitchがあるんだYO!どんなコードかいてんだYO!
doubleとlongは64ビットで、バイトコードレベルで2ワード消費するから、
単純に遅くなるぞ。必要もないのにわざわざ使うな、というのが普通じゃ
ないの?
0547デフォルトの名無しさん
NGNG{
case 0:
〜
case 0x1ffffffff:
〜
}
0548デフォルトの名無しさん
NGNGsage。
0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNGってやつだ
0551デフォルトの名無しさん
NGNGfloatよりdoubleのほうが遅いの?
0552とおりすがり
NGNGfloatよりdoubleの方がでかいし・・・
0553デフォルトの名無しさん
NGNG「floatはCPU内部で一旦doubleに変換して演算をして
その後もう一度floatに格納する」って聞いたことがあるんだけど。
Javaではそういうことはないのかな?
0554デフォルトの名無しさん
NGNGすっげー昔の話かと。
0555デフォルトの名無しさん
NGNG倍の2word使用するし、それに伴ってスタック出し入れにもint,float
の倍か又はそれ以上の操作(スタック操作は1ワード毎にやるので)を
必要とするので、単純に遅くなると思うですよ。
0556名など無用
NGNGおしえろ〜〜。
0557デフォルトの名無しさん
NGNGカレントディレクトリにディレクトリhoge用意して
その中にHoge.javaつっこんで
javac -sourcepath hoge Hoge.java
エラー: Hoge.java を読み込めません。
エラー 1 個
と非常につれないです。-sourcepath ./hogeでもダメです。
でもAntのjavacエレメントのsourcepath属性はちゃんと効きます。
なんでなんでなんで?
0558デフォルトの名無しさん
NGNG画面からはみ出す部分に対して、自動でスクロールさせたいのですが、
どうすればよいのでしょうか?
スクロールの方向は縦方向のみだけでいいのですが。
JTextAreaにはJScrollPaneのコンポーネントとすることで
スクロールバーをつけてみました。
0559557
NGNGjavac -sourcepath hoge hoge\Hoge.java
ってせにゃあかんのね。
Cコンパイラとかのソースディレクトリ指定とは別物なのか。
0560デフォルトの名無しさん
NGNG>>555
はっはっは。それはどうかな明智君!
n += 1234.5; n -= 6789.0;
n *= 1234.5; n /= 6789.0;
を1億回ループさせたら(もちろんバイトコード考慮して別のメソッドで)
floatだと18.577秒、doubleだと14.1秒になりました。
ま、大量の浮動小数点を扱う場合は
メモリアクセスがボトルネックになってfloatのほうが都合よさげだけど。
0561560
NGNGn += 1234.5f; n -= 6789.0f;
n *= 1234.5f; n /= 6789.0f;
ってしなかったせいでdouble<->float変換が起きていたらしい。
んで正しい結果。
それでもfloatで14.1秒、doubleで14.1秒で同じです。
0562デフォルトの名無しさん
NGNG大体、有効桁数が6〜7桁しかないでしょ
0563デフォルトの名無しさん
NGNGString型のyをint型のxに代入するには
yをIntegerクラスにしてから、int型にしてxに代入するんですよね
yをxに直で代入できる静的メソッドってないんですか?
0564デフォルトの名無しさん
NGNGいってんの?
多分あんたが欲しいのは、
static int java.lang.Integer#parseInt(java.lang.String)
でしょうけど。
0565デフォルトの名無しさん
NGNGx=Integer.parseInt(y); じゃあダメなの?(大爆笑)
0566デフォルトの名無しさん
NGNG0567デフォルトの名無しさん
NGNG0568デフォルトの名無しさん
NGNGおにいちゃん、どきゅめんとってなぁに?
0569デフォルトの名無しさん
NGNG穴を提供してください。
0570デフォルトの名無しさん
NGNG再帰堀りか、器用だな。
0572デフォルトの名無しさん
NGNGその本終えて、少しはドキュメント読んでから来い。
0573デフォルトの名無しさん
NGNG意味不明 564と565のアドバイスは同じ意味だよ
0574デフォルトの名無しさん
NGNGどうしたらいいのですか?
また、Cプログラムの実行結果をGUI上に表示することはできますか?
0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNGVC++を使いつづけようと思っているんですが、どんな環境でも動く
というJavaに魅力を感じます。C++ユーザーが分かり易いように書かれた
Javaの入門書を教えてください。
0577デフォルトの名無しさん
NGNG0578デフォルトの名無しさん
NGNGimport ClassName; //デフォルトパッケージのクラス
public class xxx{
*******
}
のようにデフォルトパッケージ内のクラスをimportしたソースをjavadocにかけようとしても importに.が無い といわれてしまいます
どうすればうまくいくでしょうか?あるいはjacadocのバグですか?
0579デフォルトの名無しさん
NGNG0580デフォルトの名無しさん
NGNGそう切り替えしたら、571が「普通の人にとってはお前らの言ってることなんて、
全然わからねぇんだよ」っていいそう
0581デフォルトの名無しさん
NGNG「プログラミング言語Java 第3版」がお勧め。
全般的な話題をカバーしつつ、冗長でもなくよくまとまっている。
ピアソンから出てる。
ISBN4-89471-343-8
0582でふ
NGNG0584デフォルトの名無しさん
NGNGなんとなく、例外がおきる場所のすぐそばでスタックとレースを吐かせたい
きがするので、結局例外がおきそうなメソッド全部にtry catchを実装してしまいます
There's one
general rule about it: try to catch the exception at
as closest to the surface. This means that when A
calls B, B calls C, C calls D and D throws an
exception, very often it makes sence to implement the
try..catch in A.
0585デフォルトの名無しさん
NGNG0586デフォルトの名無しさん
NGNGコンパイルエラーが出るので困ってます。
class ObjArray {
public static void main(String args[]) {
Object array[] = new object[5];
array[0] = new integer array[0];
array[1] = new float array[1];
//以下略
これの3行目以降でエラーが出ます。
0587デフォルトの名無しさん
NGNG0588デフォルトの名無しさん
NGNG0589デフォルトの名無しさん
NGNGclass ObjectArray {
public static void main(String args[]) {
Object array[] = new Object[5];
array[0] = new Integer(4);
array[1] = new String("Hello");
//以下略
暑いのでぼけてます。もうちょと自分で考えてからあぷするよにします。
0590デフォルトの名無しさん
NGNG0591デフォルトの名無しさん
NGNGいまのところ見つかったのはGPLだけだった。
0592デフォルトの名無しさん
NGNGlibpngはGPLじゃないだろ。ってJavaスレか。
http://java.sun.com/products/jimi/
http://java.sun.com/products/java-media/jai/
http://oikaze.com/~tamada/TJP/
0593デフォルトの名無しさん
NGNG思いますが、javaでこれをしたときに、関数の中での計算結果などを返すには
引数で配列やオブジェクトを渡す以外にないんですか?
例えば、ただint型の値がほしいだけなのにそれを何かのクラスで包むのは面倒な気がするんですが。
0594デフォルトの名無しさん
NGNG例外を使え
ただそれだけだ
0595デフォルトの名無しさん
NGNGプライベートなフィールドをつくっておく。
これでだいたい解決するよ。
0596デフォルトの名無しさん
NGNG引数に計算結果を返すようなメソッドは恰好悪いので使うべきじゃない。
こういう場合は、適当なクラス作って
それに対するメソッド呼び出しの形をとるのが普通。
# 実行が成功したかどうかは返り値か例外で伝える。
0597593
NGNGまず 「データと次のNodeオブジェクトへの参照を持つ変数」を持っているNodeクラスと
連結リストを管理するListクラスを作りました。
そして、Listクラスで要素を取り出したり、加えたりするようにしたんですが、
例えば要素を取り出すメソッドは空リストの時は取り出せなかったということを
示すために戻り値をステータスすると、値を返すには引数でNodeオブジェクトをとって
それに取り出した値をセットして返すという方法にするということでしょうか?
ところで、Javaで連結リストをつくるときはこの方法でいいんでしょうか?
Cで作るときのをまねて作ってみたんですが、Javaでnewして作ったオブジェクトって
Cでいう(自分でfreeできない)mallocで確保した領域にあるって考えていいんですか?
実はCもあんまりだったりします。
質問多くてすいません。
0598デフォルトの名無しさん
NGNGまずはこいつを読むべし。
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/util/LinkedList.html
実装も気になるのなら、ソースも展開して読むべし。
0599デフォルトの名無しさん
NGNG使えばいいことだし。
単に練習的に作るのならかまわないけど。Cと同じような実装をJavaで書くと
いびつなのが出来るかも。Collection系ってC++で言うSTLみたいな機能提供してる
けど実装の仕方が全く違うので参考になるんでは?
0600デフォルトの名無しさん
NGNGまったく違う??
0601599
NGNGJavaの方が素直な実装に感じる。
0602593
NGNGすいません。ソースはどうやってみるんですか?
>>599
>なんの為に?
練習です。アルゴリズムを勉強しようと思って。
Cもまだまだ勉強中なんですが、Javaも面白そうだなと。
ちなみに、C++はぜんぜんやったことありません。
0603デフォルトの名無しさん
NGNGJDKダウンロードしてインストールしたらsrc.jarとかいうファイルがあるから
>jar xvf src.jar だ
zipとおなじだから
zipとしてむりやりその辺のアーカイバでも展開できるかもね。
0604デフォルトの名無しさん
NGNG詳しいことがわかりません。
これがJavaのネイティブコンパイラだということはわかったのですが
だれか、もっと詳しい話知りませんか?
0605デフォルトの名無しさん
NGNG検索してみるとか検索してみるとか検索してみるとか思いつかなかったの?
適当に一つ。
http://www.hakusan.tsg.ne.jp/~tjkawa/diary/mini/gcjbench.rhtml
0606デフォルトの名無しさん
NGNGまだまだかな(´д`;)
しかしこれSunから文句でないんかな
0607デフォルトの名無しさん
NGNG使わないほうがいいのかこれ?
0608デフォルトの名無しさん
NGNGそのボタンのある画面を表示しているブラウザ自体を閉じることってできます?
0609デフォルトの名無しさん
NGNGJavaScriptと連動できるのなら…。
0610デフォルトの名無しさん
NGNG即レス、有難うございます。
う〜ん
難しそうだな〜
0611デフォルトの名無しさん
NGNGimport netscape.javascript.JSObject;
JSObject js = JSObject..getWindow(this);
js..call("close", new Object[0]);
みたいな感じだったかな?thisはAppletね。
あと、Netscape4.xにはいってる"java40.jar"(だっけ?)にclasspath通しておいてね。
全部うろ覚え。どこにドキュメントあるかも忘れちゃったし。
# Java Plug-InからLiveConnect使えるようなブラウザって無いのかな?
0612デフォルトの名無しさん
NGNGSDKのフォルダとProgram Files\JavaSoft\JRE\1.3.1のフォルダに
ランタイムとクラスライブラリが入りますけど、
この2つの関係とか役割とかってどーなってるんでしょうか?
というか、そもそもなんで2ヶ所に入るんでしょう?
中身も微妙に違うみたいだし。
0613デフォルトの名無しさん
NGNGこれはWindowsでjavaが出来なくなるっていう意味ではないですよね?
JDKのようなソフトをインストールすれば、Javaでプログラミングしたり
Javaを実行したりすることが出来るんですよね?
これからも。
0614デフォルトの名無しさん
NGNGまあ、標準になりえなかったわけで、期待するのはよしたほうがいいと思う。
0615デフォルトの名無しさん
NGNGSUNしだい。
0616デフォルトの名無しさん
NGNGコンパイラはSDKフォルダにある
>613
MSのVMってすごーく古いから今でもSUNからRuntime取ってきといた方がいい
0617parao
NGNG1か0の文字を返してくるものとします。
アプリ側ではそれをInputStreamReaderで読み込んで
変数に代入します
InputStream reader=new
InputStreamReader(connect.openInputStream());
char[] buf=new char[50];
int ch;
int i=0;
while(-1!=(ch=reader.read()) buf[i++]=(char)ch;
Stream flag=new Stream(buf,0,i);
String success=new String("1");
Stream failed=new Stream("0");
if(flag==success){
処理A
}
if(flag==failed){
処理B
}
}chatch{IOException・・・・・・
といような感じなのですが
1ないし0の文字はたしかに返ってくるのですが
この場合どうしてif文でどちらにもマッチしません
これだけの情報でご教授できましたらよろしくおねがいします
0618parao
NGNG×Stream failed=new Stream("0");
○String failed=new String("0");
0619デフォルトの名無しさん
NGNG==はインスタンス参照(CやC++でいうところのアドレス)自身の比較。
直前にNEWしたインスタンスと==比較しても絶対に真にはならないです。
インスタンスの中身の値の比較には Object#equals(Object)のオーバー
ライドメソッドを使いましょう。(ユーザ作成クラスで、クラスの内容
比較をしたいなら、必ずこのメソッドのオーバーライドをしておきま
しょうね)
String#equals(String)は、Stringインスタンスが持っている文字列
同士を比較して、同じならtrue、異なるならfalseを返します。
0620デフォルトの名無しさん
NGNGchar c = (char)b
ってやると、ASCIIはちゃんと読めるですが、SJISの漢字がうまく読めません。
(signed→unsigned?)
Socketのサンプルで、localhostの80ポートでGETした内容を、g.drawString
したいだけなのですが、どうすればうまくいくでしょうか。
0621デフォルトの名無しさん
NGNG漢字とかの2バイト文字は1バイトではそもそも読めないですよ。
あと、InputStream直読みは文字コード変換などで問題があるので、
Readerを使いましょう。
たとえば、
socket socket = new Socket(/*接続先*/);
Reader in = new InputStreamReader(socket.getInputStream());
などとして、Readerを使いましょう。行単位で欲しいならBuffered
Reader等で更にラップするのもありです。
(Readerは、バイト列→文字コード変換を内部で勝手にやって
くれるストリーム読みクラスです)
0622parao
NGNG3日も悩んでたのでまじ感動っす
ありがとうございます
0623デフォルトの名無しさん
NGNG↓
RougeWave/Tools.h++
↓
C++/STL
という順序でSTLを理解したおいらはアホでしょうか?
0624デフォルトの名無しさん
NGNGJAVAから始めたなら別にいいんじゃないの。
0625デフォルトの名無しさん
NGNGCからJavaに移ってきたって感じだね(´ー`)y-~~
0626デフォルトの名無しさん
NGNG最初はC→C++→Javaでした。
C++の時の仕事で、みんなはTools.h++&Threads.h++を使っていた
のだけど、おいらは何がなんだか(そもそもこいつらがなんなのか)
分からんかった。
今はすぐわかる。Javaマンセー。
0627デフォルトの名無しさん
NGNGaaa.javaからbbb b=new bbb();という文が読めなくなった。
心当たりと言えば・・昨日tomcat,apache,mysql,j2ee,などを入れた事。
うわーどこまで大丈夫だったかも知らん。また苦労してダウンロードして
インストールするのもいやだー。誰か助けてクレー
0628デフォルトの名無しさん
NGNG# 多分クラスパスの関係だと思うが上の情報だけじゃちょっと...
0629デフォルトの名無しさん
NGNGオーサンキュー
上の文だとbbb b=new bbb();の文がシンボル解釈できませんです
確かにクラスパス訳分からず書いたり消したりしてたからなあ
とりあえずautoexec.batは以下。
SET PATH=C:\jdk1.3\bin;%PATH%;
SET PATH=C:\j2ee\bin;%PATH%;
SET JAVA_HOME=C:\jdk1.3
SET J2EE_HOME=C:\j2ee
SET TOMCAT_HOME=C:\tomcat
SET CLASSPATH=C:\jdk1.3\bin;%CLASSPATH%
SET CLASSPATH=C:\jdk1.3\lib\tools.jar;%CLASSPATH%
SET CLASSPATH=C:\jdk1.3\lib\mm.mysql-2.0.4-bin.jar;%CLASSPATH%
SET CLASSPATH=C:\jdk1.3\lib\j2ee.jar;%CLASSPATH%
SET CLASSPATH=C:\jdk1.3\jre\bin;%CLASSPATH%
SET CLASSPATH=C:\tomcat\lib\servlet.jar;%CLASSPATH%
なんか足りないのありますか?
0630デフォルトの名無しさん
NGNG〜
String flag=new String("abc");
〜
}
class B {
〜
TextBox testbox=new TextBox(A.flag,16,1,TextBox.DISPLAY_ANY);
〜
}
この場合class Bで使用されてるテキストボックスはなぜ空になるのか
皆目検討がつきません。
代入と参照をメインクラスのメソッドなどにしてもうまくいきません
というより、もっと簡単に普通参照できますよね?
まじ頭いたいっす!
0631デフォルトの名無しさん
NGNG0632デフォルトの名無しさん
NGNGclass A{
public static String flag=new String();
flag=new String("abc");
}
でした
訂正です
0633デフォルトの名無しさん
NGNG穴があったら入りたいです・・
大騒ぎしてた・・
バグじゃないですかとか書いてたら死ぬしかないとこだった・・
0634デフォルトの名無しさん
NGNGA.flagはnew String()だったってことなんでしょ?
flag = new String("abc")はいつやってるの?
どこかのメソッドの中だとしたら、そのメソッドコールしないと
"abc"に変わらないよ。
0635デフォルトの名無しさん
NGNG省略しすぎでよくわからん
class A{
public static String flag = String("abc");
}
でいいんじゃないの。あと怖いからfinalもつけとけ。
0636デフォルトの名無しさん
NGNGその場合
AというクラスのとあるメソッドからInputStreamReaderから変数に確保した文字列を、別のBというクラスのメソッドで参照したいというこです。
0637デフォルトの名無しさん
NGNGじゃあ決まりだ。Bのクラスメソッドで参照した時点では
まだ初期値のままなだけだよ。ちゃんと同期取れてるか?
0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNGがんばってみます
またお世話になりにこないようにがんばる次第であります
0640名無しさん@LV2001
NGNGsetMes(a.name+'はb?',3000);
を表示させて、2秒後に
setMes(a.name+'はcかな?',3000);
を表示させて、さらに3秒後に
setMes(a.name+'はそれともD',3000);
を表示させるには
どうすればいいでしょうか??
0641名無しさん
NGNG0642デフォルトの名無しさん
NGNGjava.lang.Thread#sleep(int millisec);
0643デフォルトの名無しさん
NGNG0644デフォルトの名無しさん
NGNG夏休みの宿命ですな。参考書買う金も意欲もない、他人の血と汗の
結晶を剽窃する事に何の罪悪感も感じないアホ学生に限って、ネット
サーフィンする余裕はあるんだよね。逝ってよし。
0645デフォルトの名無しさん
NGNG0646デフォルトの名無しさん
NGNGCOBOLでは
COMPUTE A = B / 156.3 * 1.25 * 4.2
のようにおこなっていた計算を
double a;
double b;
:
a = b / 156.3 * 1.25 * 4.2;
のようにそのままおこなって宜しいのでしょうか?
ある本によると、「COBOLは十進数での計算をしてくれるが、Java
、C言語などは2進数での計算をしているので、計算誤差がでる」
等と書いてあったのですが。
0647WILL
NGNG2進数で小数点をどう取り扱ってるか勉強しなされ。
そーすれば自ずと解答が見えてくるだろう。
つーか、Javaに限った問題じゃないだろ・・・。
0648デフォルトの名無しさん
NGNG浮動小数点計算の誤差が嫌なら、
例えば100倍しといてintで計算して、10^-2を別途保存しときなされ。
0649ナナシ
NGNG(探し方が悪いと思うのですが)
スレッドを待機させるのは
スレッドオブジェクト.sleep(秒数)
だっと思うのですが、スレッド使っていないときの待機って
どうすればよいのでしょうか?
waitだとちょっと違うようですし・・・
教えてください。
0650デフォルトの名無しさん
NGNGstaticメソッドってしってますか?
0651ナナシ
NGNGありがとうございました。
もっと勉強します。
では!
0652デフォルトの名無しさん
NGNG10進で計算ってBCDなのか?勝手に四捨五入してくれるのか?
有効桁数がどれくらい必要なのか調べて普通のdoubleでいいのか
もっと桁数が必要なのか判断すれ。
0653俺も厨房
NGNG>スレッド使っていないときの待機って
スレッドを使ってないって何?
インスタンス生成
↓ run()呼び出し
スレッド開始
↓ waitやsleep
スレッド待機
↓ notifyや時間切れ
スレッド再開
↓ run()抜け
スレッド終了
このどこなのかサパーリワカラン。
0654ナナシ
NGNGたとえば、単純に一秒おきに数値を増やしていく処理を
for分で100回まわすとか・・・です。
0655デフォルトの名無しさん
NGNGやはりだめでした。いろいろ調べたんですが
ちなみに同期がとれてるかというところの意味をちょっと
詳しく教えてほしいのですが
0656デフォルトの名無しさん
NGNGfor(100回){
Thread.sleep(1000);
count++;
}
じゃだめなのか?バックグラウンドでやりたいならこの処理を
別Threadで回すこと。ただしcountの同期が必要。
>655
もうちょっと詳しく書かないと何がしたいのかわからんって。
637じゃないので637の言ってる意味は不明。
0657デフォルトの名無しさん
NGNGえっとですね、
class A {
//HttpConectionで接続
while(-1!=(ch=reader.read()))buf[i++]=(char)ch;
String data=new String(buf,0,i);
//新しいパネルクラスを呼び出す
}
class NewPanel extends Panel{
Label label=new Label(data);
add(label);
//この場合の(data)が参照できないんです
}
という感じなのですが
0658デフォルトの名無しさん
NGNG//新しいパネルクラスというのが下のNewPanelクラスの呼び出しっす
そこには書いてませんが
メインクラスからDisplay.setCurrentでそのパネルを呼び出しています
そこまでは大丈夫です
0659デフォルトの名無しさん
NGNGString data=new String(buf,0,i);
の後に
NewPanel np = new NewPanel();
が続くのか?
class NewPanelのdataはどこから取ってきた?
コンパイルさえ通らないと思うけど。
素直にNewPanelのコンストラクタにその文字列渡せばいいんじゃないの?
0660デフォルトの名無しさん
NGNG(それ以前の問題っすね。)
NewPanelのコンストラクタに文字列を渡すということは
class Aからclass NewPanelで宣言した変数に文字列を渡すってことですか?
0661デフォルトの名無しさん
NGNGパネルやラベルの中身を枠で囲んで表示させるってできますか?
あと、例えばGridLayout(5,5)を
表にして表示させることってできます?
よろしくお願いします。
0662デフォルトの名無しさん
NGNG変数のスコープ(有効範囲)を意識して自分のソースのその<data>って変数を
よく追いかけてみ
あらかたNewPanelにあるdataっていう変数は
classAのdataって言う変数と名前は同じだけどスコープが異なる
別の変数なんだろ
0663デフォルトの名無しさん
NGNG0664デフォルトの名無しさん
NGNGNewPanel np = new NewPanel(data);
ってコンストラクタを作る。
>661
border使う、つうか根本的にTable(or JTable)使え。
0665661
NGNGTable とはどんなものなんでしょうか?
手元にある参考書には何も載ってなくて・・・。
どこかいいサイトご存知なら、教えてください。
0666デフォルトの名無しさん
NGNG夏厨が、Tableとは、タブレットという意味だ
おもにお絵かきする道具じゃ
0667デフォルトの名無しさん
NGNGhttp://java.sun.com/j2se/1.3/ja/docs/ja/index.html
>666
おめーん
0668ナナシ
NGNGrepaint()についてなのですが、ドキュメントだと
「このコンポーネントを再描画します。
このメソッドは、このコンポーネントの update メソッドを可能な限り速やかに呼び出します。」
としか書いてないので悩んでいます。
以下のクラス(数字が増えていくアプレット)を実行すると、スレッドでup()を呼び出しているときは、
再描画してくれるのですが、止めたあと(止めてから5数字があがる)は、
カウントアップされずにいきなり5あがった数字が出てきます。
repaint()が効いていないということですよね??
原因がわかる方教えてください。
よろしくお願いします。
0669ナナシ
NGNGimport java.awt.*;
import java.awt.event.*;
import java.util.*;
public class test extends Applet implements Runnable,ActionListener{
Thread MyThread;
int count;
Graphics offGraphics;
Label lb;
public void init(){
String c = new String();
count = 0;
Panel p = new Panel();
Button b = new Button("OK");
b.addActionListener(this);
p.add(b);
setLayout(new BorderLayout());
add("South",p);
lb = new Label("0");
lb.setAlignment(Label.RIGHT);
add("North",lb);
}
public void paint(Graphics g){
String c = new String();
lb.setText(c.valueOf(count));
}
public void run(){
Thread thisThread = Thread.currentThread();
while(MyThread == thisThread){
up();
try{
MyThread.sleep(1000);
}catch(InterruptedException e){
break;
}
}
}
0670ナナシ
NGNGcount++;
if(count > 1000){
count = 0;
}
repaint();
}
public void actionPerformed(ActionEvent e){
String arg = e.getActionCommand();
String c = new String();
if(arg.equals("OK")){
if(MyThread == null){
MyThread = new Thread(this);
MyThread.start();
count = 0;
}else{
MyThread = null;
for(int i = 0;i < 5;i++){
up();
try{
Thread.sleep(1000);
}catch(InterruptedException e1){
break;
}
}
lb.setText(c.valueOf(count));
}
}
}
public void update(Graphics g){
paint(g);
}
}
0671デフォルトの名無しさん
NGNGぜんぜんソースが足りねえぞゴラ
つーかスレッド止めたらup()ひいてはrepaint()を呼ぶのはどこなんだゴラ
つーか質問の仕方へたすぎだゴラ
つーかおまえもう少し頭整理してから質問しろゴラ
0672671
NGNG書き込んじまったよ
0673671
NGNG「現在実行中のスレッドを、指定されたミリ秒数の間、スリープ (一時的に実行を停止) させます。」
~~~~~~~~~~~~~~~~~~~~~~~
ってあるだろ。
65行目のsleepは58行目で起動したスレッドをスリープするんじゃなくて
もとから動いていたデフォルトのスレッド(正確にはAWTのイベント用スレッド)を
一時停止してるだけだよ。
0674671
NGNGactionPerformedみたいに画面のイベントで呼び出される処理は
sleepしたり時間のかかる処理はしてはいけない。
そうしないとその処理が終了するまでは画面が固まってしまって
ウントモスントモ言わなくなる(処理系が多い)。
そのあいだrepaintの処理も後回しにされる。
だから5秒間画面が固まった後突然5カウントあがったように見える。
0675デフォルトの名無しさん
NGNGなんと言うか何をやりたいのかソースからさっぱり見えてこない
何やりたいのか先書いた方がいいんじゃないかい?
根本的に変なつくりに見える。
labelを別スレッドから更新してるがスレッドセーブだっけ?
スレッド使うならもうちょっとマルチスレッドの勉強すれ。
0676デフォルトの名無しさん
NGNG>>669-670
0677デフォルトの名無しさん
NGNG0678デフォルトの名無しさん
NGNG0679デフォルトの名無しさん
NGNG韓国のヤフーチャットでハングルが表示されなくて困っています。
他のページは表示されます。javaページの場合は、どうしたら表示されるのでしょうか。
よろしくお願いします。
0680679
NGNGhttp://kr.chat.yahoo.com/
0681七菜詩讃
NGNGウィンドウを開きアクセスしてくれるプログラム作りたいのですが
Javaアプリケーションだとほぼ無理みたいです。
アプレットなら可能ですが、アプレットの場合って
やっぱり、他のファイル(テキストファイル)に対して
読み書きってできないのでしょうか?
0682デフォルトの名無しさん
NGNGアメリカ精神医学界 DMS-IV
秩序、完全主義、精神面および対人関係の統制にとらわれ、柔軟性、開放性、効率性が犠牲にされる。 成人早期に始まり、種々の状況で明らかになる。
以下のうち4つ(またはそれ以上)で示される。
1.活動の主要点が見失われるまでに、細目、規制、一覧表、順序、構成、予定表にしばられる。
2.課題の達成を妨げるような完全主義を示す。
(例:自分自身の過度に厳密な基準が満たされない という理由で1つの計画を完成させることができない。)
3.娯楽や友人関係を犠牲にしてまで仕事と生産性に過剰にのめりこむ。
(明白な経済的必要性はない。)
4.道徳、倫理、価値観についての事柄に、過度に誠実で良心的かつ融通がきかない。
5.感傷的な意味のない物の場合でも、使い古した、または価値のないものを捨てることができない。
6.他人が自分のやるやり方に従わない限り、仕事をまかせることができない。また一緒に仕事をすることができない。
7.自分のためにも他人のためにも、ケチなお金の使い方をする。お金は将来の破局に備えて貯めるべきだという歪んだ信念を持っている。
8.堅さと頑固さを示す。
0683デフォルトの名無しさん
NGNG全部当てはまるよ。まいったな〜コリャ
0684デフォルトの名無しさん
NGNG漏れも結構あてはまるなぁ、トホホ
これに全部当てはまる人は、車輪の開発が好きそうだね、なんとなく
0685679
NGNG0686デフォルトの名無しさん
NGNG吾輩はF1カー向けのニュータイヤの開発のつもりだ。
0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNGロケール変えてみれば?
Windowsだったらコントロールパネルの地域のオプションってとこ。
ていうか板違いのような。。
0689デフォルトの名無しさん
NGNGJavaアプリじゃほぼ無理ですって結論はなぜ出てきた?
HttpURLRequestとか便利なクラスもあるし
HTML表示もサポートされてるのに
0690デフォルトの名無しさん
NGNG教えてくれませんか。
ていうか、作ってみたんだけどうまくLISTチャンクの場所が見つからない
んですよね。ソースつけてみましたんで添削をお願いします。引数にRIFF mp3
ファイルを指定して"LIST"と出力されればいいんですけど。
#Javaでこんなことしてる方が変なのか・・・
import java.io.*;
class Riff {
public Riff(String fileName) { loadFile(fileName); }
public void loadFile(String fileName) {
byte[] riffChunk = new byte[12];
byte[] dataChunk = new byte[8];
byte[] buf = new byte[4];
try {
FileInputStream fis = new FileInputStream(fileName);
fis.read(riffChunk);
fis.read(dataChunk);
System.arraycopy(dataChunk, 4, buf, 0, 4);
dataSize = l2b(buf);
fis.skip(dataSize);
fis.read(buf);
System.out.println(new String(buf));
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public int l2b(byte[] b) {
return ((b[3] & 0xff) << 24) | ((b[2] & 0xff) << 16) | ((b[1] & 0xff) << 8) | (b[0] & 0xff);
}
public static void main(String args[]) {
Riff riff = new Riff(args[0]);
}
}
0691デフォルトの名無しさん
NGNGこれJavaの質問じゃねーだろ
RIFFの仕様書と
バイナリエディタで自分でなんとかシロ!
0692690
NGNGJHBに投稿しなかったわけで(w
言われずとも仕様も勉強したし、mp3infpのソースなんかも
読んだよ。それでできないから聞いたんだけどダメかねぇ。
682よりはJavaの話題ってことで勘弁してくれ。
#ところでRIFF MP3の正式な仕様書ってどこだ?
それはそれとして、こういうソフトを作るときには構造体が
ないのは痛いね。あとエンディアンの違いとか。
ま、力業でどうにでもなることなんだが、スマートな解決方法
があったら知りたいわけだ。次はもうちょっとためになるレスが
ほしいね。>691
0693高校生
NGNG2つ目のページにしくんだJAVAがクリックを監視するJAVAプログラム
は作ることが出来ますか?もし出来るならソースを教えてください
0694デフォルトの名無しさん
NGNGまず主のいっているフレームがブラウザのフレームのことを言っているならすれ違いだ。
http://natto.2ch.net/test/read.cgi?bbs=hp&key=994168119
で聞け。
Java言語の標準ライブラリの
java.awt.Frameクラスやjavax.swing.JFrameの事を言っているなら
説明不足でやりたいことが良く分からん。
0695デフォルトの名無しさん
NGNG勤勉学生だね? がんばって勉強してください。
http://www.ipcs.chuo-u.ac.jp/~hagizawa/WWW/oshietekun.html
0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNG0698デフォルトの名無しさん
NGNG0699高校生
NGNGわかりませんです。JAVASCRIPTではできないような気がするのですが、
HTMLを2つに分けて1つにアプレットをおいてもう1つのページの
クリック状況をを監視したい(ここにはアプレットもスクリプトも無しで)という内容なのですが
できる、できないかどうかわかりますか?くれくれ君で申し訳ないですが
せめて役に立つ書籍などありましたらお願いします。
0700デフォルトの名無しさん
NGNG否応なしに監視できます。ただし、動的接続機構にしないとだめです。
0701デフォルトの名無しさん
NGNG実装したことは無いので嘘があるかもしれんけど
1)Frame1にFormボタンを付ける、ハイパーリンクでもいけるかも
2)サーバー側にGET,POST,PUTに応答できるプログラムを用意する
3)Frame2のAppletにその情報を送る
1)のハイパーリンクにサーバースクリプトの位置+実際のリンク先URLに
すりゃいいような。
0702デフォルトの名無しさん
NGNGもうちょっと具体的にどんな感じの物を作りたいのか書いたら?
0703高校生
NGNGパワーポイントをオンラインブロードキャストじゃなくて
JAVAを使いクリック情報をサーバーに送ってクライアント側の
IEでフレーム分割内で開かれたPPTのスライドショウに同期したい
のです。だから2つに分ける必要があると思いました。
とにかく何か手がかりが見つかると思うのでやってみます。
ありがとうございました
0704デフォルトの名無しさん
NGNGテキストフィールドとボタンがあったとして、
テキストフィールドにFocusListener、ボタンには
ActionListenerをaddしてあるとします。
この時、フォーカスがテキストフィールドにある状態で
ボタンを押下した場合、FocusListenerのfocusLost()と
ActionListenerのactionPerformed()が動作しますが、
この2つの順番は保証されますか?
実際に動かしてみると常にfocusLost()が先に呼ばれている
ようには見えるのだけど・・。
0705705
NGNGJDKのことをおききします。
http://www.ecs.cst.nihon-u.ac.jp/~mizocchi/b_java/jdkmeth.html
に書いてあるとおりに設定したつもりですが、
コマンドプロンプトで、
javac ***.java
とすると、
コマンドまたはファイル名が正しくありません.
と出ます。
やはり環境設定が間違っているのでしょうか。ちなみに、
AUTOEXEC.BAT
は
SET windir=C:\WINDOWS
SET winbootdir=C:\WINDOWS
SET COMSPEC=C:\WINDOWS\COMMAND.COM
SET PROMPT=$p$g
SET TEMP=C:\WINDOWS\TEMP
SET TMP=C:\WINDOWS\TEMP
SET PATH=C:\perl\bin;C:\WINDOWS;C:\WINDOWS\COMMAND;C:\Perl\bin;;C:\latex\bin;C:\JOK\bin
SET TEXMFMAIN=c:/latex/share/texmf
SET TEXMFCNF=c:/latex/share/texmf/web2c
SET CLASSPATH =.
になっています・・・。
0706デフォルトの名無しさん
NGNG↑
C:\JDK\bin じゃねーの?
0707705
NGNG0708デフォルトの名無しさん
NGNG0709705
NGNG逝ってきます。
0710デフォルトの名無しさん
NGNG・・・PPT?って、もしかしてOffice?
ブロードキャストなんたらって、もしかしてofficeが自分で
投げてるの?それって、転送データのフォーマットって公開
されてるの?あるいは、自分で調べるか?
Javaでやるのは遠い道のりのような気がするが、最近変なものを
Sunが作ったので、使って見ると良いかもしれない。
なんとその名もCOM-Javaブリッジ。(・・・あのSunがそんなもの
を作るようになったのね。と思わないか?)
Sunのディベロッパーズコミュニティかどこだかにおちてるはずだ
から使ってみそ。
0712デフォルトの名無しさん
NGNGPPTはPowerPointの拡張子
0713デフォルトの名無しさん
NGNGdir C:\JOK\bin\javac.exe
で確かめれ
つーかパスを通し方くらい理解しろ
0714デフォルトの名無しさん
NGNGもしあるならば参考サイトを教えてくれるとうれしいです。
0715デフォルトの名無しさん
NGNGJavaとJavaScriptの連携方法(LiveConnect)は下記参照。
ttp://lance.harvey.co.jp/javascript/js20.html
もともとネスケの機能だけどIEもある程度使える。
互換性が怪しいけど単純にJavaScriptを呼び出すくらいなら動く。
JavaScriptからクッキーを扱う方法はWeb板で聞け
0716デフォルトの名無しさん
NGNG早速試してみます。
0717デフォルトの名無しさん
NGNG0718デフォルトの名無しさん
NGNG"変数"の型なら宣言文を見るべし。
"変数に代入されているインスタンス"の型なら、"変数名.getClass()"だ。
0719717
NGNGclass Kata{
public static void main(String args[]){
のargs[0]ってstring型ですよね
0720デフォルトの名無しさん
NGNG違う。(java.lang.)String
0721デフォルトの名無しさん
NGNGリフレクションで可能な事は可能です。
Class.forName("クラス名").getField("フィールド名").getType().getName()
とか。
0723デフォルトの名無しさん
NGNGclass ThreadX extends Thread {
Calendar d;
int h,m,s;
public void run(){
while(true){
try{
Thread.sleep(1000);
}
catch(InterruptedException ex){
ex.printStackTrace();
}
h = d.get(Calendar.HOUR_OF_DAY);
m = d.get(Calendar.MINUTE);
s = d.get(Calendar.SECOND);
System.out.println(h + ":" + m + ":" + s);
}
}
}
class clock {
public static void main(String args[]){
ThreadX tx = new ThreadX();
tx.start();
}
}
一秒ごとに時刻を表示させたいんですけど、何がいけないんでしょうか?
0724デフォルトの名無しさん
NGNG例外ならスタックトレースをコピペしろ。
0725デフォルトの名無しさん
NGNGpublicなクラスが必要。
Calendar dがnull。
0726723
NGNGなるほど。
d = Calendar.getInstance();
を加えたら、うまくいきました。
お騒がせいたしました。
0727725
NGNGちっと勘違い。鬱。
0728704
NGNG0729デフォルトの名無しさん
NGNGwindowsの終了時にプログラムも終了するようにしたいんですけど
JavaからWindowsの終了を検出する方法ってあります?
なにもしなくてもwindowsが終了させてくれるかと思ったんですが、
win98では「プログラムからの応答がありません」っていうダイアログがでて、終了してくれません。
0730ジャバーバリアン
NGNG透過が失われてしまいますが、どのようにしたら透過を保てますか?
よろしくおねがいします。
ダブルバッファも待ちもしてませんが・・・
import java.applet.*;
import java.awt.*;
public class test extends Applet{
int MONA_IMAGE_COUNT = 9;
Image loadImage;
Image kaniImage[] = new Image[MONA_IMAGE_COUNT];
Image wki;
Graphics wkg;
public void init() {
loadImage = getImage(getDocumentBase(), "mona.gif");
for (int cc = 0; cc < MONA_IMAGE_COUNT; cc++) {
wki = createImage(20, 20);
wkg = wki.getGraphics();
wkg.drawImage(loadImage, 0, 0, 20, 20, cc*20, 0, (cc+1)*20, 20, this);
kaniImage[cc] = wki;
}
}
public void paint(Graphics g){
g.fillRect(0, 0, 480, 360);
for (int cc = 0; cc < 9; cc++) {
g.drawImage(kaniImage[cc], cc*25 + 5, 35*cc, this);
}
}
}
0731デフォルトの名無しさん
NGNG0732デフォルトの名無しさん
NGNGJNI使ってWin32APIでも呼び出せば?
0733デフォルトの名無しさん
NGNGとりあえずjava.awt.CropImageFilterつかって
Image image = createImage(new FilteredImageSource(loadImage.getSource(), new CropImageFilter(x, y, w, h));
かな。
Component.createImage(int, int)で返るImageってアルファチャンネル持ってないんだよね。
透過色も使えないみたいだし。
結局みんなBufferedImageのTYPE_INT_ARGB使ってるのかな?
誰かもっといい方法教えてくだされ。
0734デフォルトの名無しさん
NGNGjavaw とか使えば?
0735730
NGNGありがとうございます。
ImageFilterは難しくなるので、分割しないでそのまま、
範囲絞って描画することにしました。
というか、アフォな質問すみませんでした。
0736デフォルトの名無しさん
NGNGなんて前時代的な。
0737729
NGNGjviewでやってたんで、wjviewにしたら終了するようになりました。
ただ、wjviewってwin98に標準でついてないみたいですね。
wjview.exeも一緒に渡せばいいんだけど。
0738MRJ 野郎
NGNGその人に質問したいのですが、スクロールバーを作って表示させ
て、ずっと矢印を押してると落ちません?
前からずっと思ってたんですけど。
みなさんどうですか?
0739717
NGNG変数の型を知るほうほうってないんですか?
718 名前:デフォルトの名無しさん 投稿日:2001/08/01(水) 22:57
>>717
"変数"の型なら宣言文を見るべし。
"変数に代入されているインスタンス"の型なら、"変数名.getClass()"だ。
719 名前:717 投稿日:2001/08/02(木) 00:06
>>718
class Kata{
public static void main(String args[]){
のargs[0]ってstring型ですよね
720 名前:デフォルトの名無しさん 投稿日:2001/08/02(木) 00:08
>>719
違う。(java.lang.)String
721 名前:デフォルトの名無しさん 投稿日:2001/08/02(木) 01:01
>>717
リフレクションで可能な事は可能です。
Class.forName("クラス名").getField("フィールド名").getType().getName()
とか。
>>718,720,721
どうも有り難うございました。
0740デフォルトの名無しさん
NGNGCocoonで勉強しようと思ったら2なんてものがあったんで。
1と2って結構違うんですかね
新鮮情報お願いします
0741デフォルトの名無しさん
NGNGコンソールに出力する文字を必ず決められた位置から表示させるメソッドみたいなの
ありますか?
例えば
abc 12345 5
dd 11 6
みたいな感じで、それぞれ変数の値がどんな桁でも左そろえ、右そろえを
したいんです。
お願いします。
0742デフォルトの名無しさん
NGNG間を空白で埋めてたんですが。
0743デフォルトの名無しさん
NGNGで空白一個になるよ。
0744デフォルトの名無しさん
NGNG0745デフォルトの名無しさん
NGNGhttp://www.braju.com/
この辺はどう?
0746デフォルトの名無しさん
NGNG本当に出来るかは分からんが。
0747デフォルトの名無しさん
NGNGsprintfに似たようなことがある程度できるよ。
コレじゃだめっすか?
0748デフォルトの名無しさん
NGNG0750デフォルトの名無しさん
NGNGFileInputStreamじゃできないよねえ?
0751デフォルトの名無しさん
NGNG0752デフォルトの名無しさん
NGNG0753デフォルトの名無しさん
NGNG無理なんです。Javaでは。VCに乗り換えましょう。
0754デフォルトの名無しさん
NGNGFile#mkdirs()
0755デフォルトの名無しさん
NGNG0756デフォルトの名無しさん
NGNGフォルダは作れないがディレクトリなら作れる。
java.io.File#mkdir()
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/io/File.html#mkdir()
0757デフォルトの名無しさん
NGNGAre you Okey?
0758デフォルトの名無しさん
NGNGマイコンピュータやコントロールパネルやゴミ箱がディレクトリだと?
0759デフォルトの名無しさん
NGNG揚げ足君発見
0760デフォルトの名無しさん
NGNG0761デフォルトの名無しさん
NGNG特定のピクセルの色を取得する方法がわかりません。
というよりそもそもどうやって画像を扱えばいいのかわかりません。
GraphicsクラスとImageクラスを使って円なんかを表示させる方法はわかったのですが…
0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNGhttp://www.wakhok.ac.jp/~tatsuo/kougi98/7shuu/kougi.html
http://www.mars.dti.ne.jp/~torao/program/graphics/filter.html
0764デフォルトの名無しさん
NGNGBufferedReaderで読んでBufferedWriterで書くの?
なんか途中でデータが失われる(謎
0765デフォルトの名無しさん
NGNGファイルクローズしないで main() 抜けてんじゃない?
0767デフォルトの名無しさん
NGNGhttp://java.sun.com/j2se/1.3/ja/docs/ja/api/java/awt/image/PixelGrabber.html
0768デフォルトの名無しさん
NGNG表示されるはずのパネルが表示されないって
どういうことなんでしょうか?
0769デフォルトの名無しさん
NGNGFrame.show()した後でパネルをaddしてるとそうなると思う。
部品を動的に貼り付けたときは表示させるにはinvalidate(), validate()が必要 [j-h-b:26377]
http://java-house.etl.go.jp/ml/topics/topics.html#core-awt-container
0770デフォルトの名無しさん
NGNGお!!
出た!!!
サンクスです。
0771デフォルトの名無しさん
NGNGそんなことできますか?
0772デフォルトの名無しさん
NGNGComponent.setForeground(Color c)
で設定できる。
LabelはComponentのサブクラス。
0773デフォルトの名無しさん
NGNG遅くなってすみません。
色、変わりました。
ありがとうございました。
0774デフォルトの名無しさん
NGNGやっぱ「JAVAバーチャルマシン」よ「JAVA仮想マシン仕様」っすか?
0775774
NGNG「JAVAバーチャルマシン」と「JAVA仮想マシン仕様」っすか?
です.
0776デフォルトの名無しさん
NGNGとりあえず"The JavaTM Virtual Machine Specification"。タダだから。
ftp://ftp.javasoft.com/docs/specs/vmspec.2nded.html.zip
これ見ながらjavapの出力コード追っかけてみるのがよろしいかと。
0777デフォルトの名無しさん
NGNGsocketを相手側から閉じてもOP_READでひっかかりません(selectから戻ってこない)。
例外も起こりません。どうやって検出するのが正しいんでしょう?
0778デフォルトの名無しさん
NGNG他のビット試してみた?
0779デフォルトの名無しさん
NGNG試してみます。
ただ、OP_READには以下のように説明があるので、正しいはずなんですが・・・
If the selector detects that the corresponding channel is ready for
reading, has reached end-of-stream, has been remotely shut down for
further reading, or has an error pending, then ...
0780デフォルトの名無しさん
NGNGWindows2000だと出てこないんだよね。なんでなんだろう?
Windows2000でJava consoleに出す方法ってありませんか?
0781デフォルトの名無しさん
NGNG出るよ?
0783780
NGNGieより新しいバージョンのJavaSDKを入れればいいということなのだろうか?
0784デフォルトの名無しさん
NGNGclass B extends A
class C extedns C
というクラスがあります
クラスAのメソッド m1 をクラスBでオーバライドしています。
クラスCでも必ずm1を実装させたいです。
実装を強制させるインターフェースを作って、それを
クラスAとクラスBとクラスCにimplementsするのってアイデアはどうでしょうか?
あまり美しいやり方じゃない気がするんですが・・
0785デフォルトの名無しさん
NGNGんなことで悩むようなら、面倒だからm1のロジックを実装している
小さなクラス作ってコンポジションにしろよ。
0786779
NGNGどのビットを立てても select から戻りませんでした。
β版とはいえ、こんな単純なので動作しないとは思えないんだけど・・・
0787デフォルトの名無しさん
NGNG返してくれないのですが、もっと細かく刻ませることはできないでしょうか?
0789787
NGNGちなみにこんな感じ。
997371459566
997371459586
997371459616
997371459626
997371459646
997371459666
997371459686
997371459707
997371459727
997371459747
997371459767
0790デフォルトの名無しさん
NGNGたしか 10〜20[m sec] くらいまでだよ。嫌なら Sun か HP, RS/6000
でも買いなはれ。
0791デフォルトの名無しさん
NGNGそうなの?
AT互換機で10nsec単位で計測してるんだけど、(RTLinux使用)
これってどうやってうのかな?
0792デフォルトの名無しさん
NGNGThread.sleep(int)はやたらと精度が高い気がする。
誤差がほとんど1ms以下におさまってるっぽい。
ちなみにcurrentTimeMillisの誤差はこちらでも最大約10ms。
0793787
NGNGあれ? AT互換機ってRTC積んでて1ms単位で時間取得できると
思うんですが・・・。
Javaの実装の問題じゃないんですかね?
やりたいのはフレームレートの固定化です。10ms単位でしかとれない
なら50フレーム/secにすればいいんですが・・・。
0794デフォルトの名無しさん
NGNG大学時代の計測でぶち当たった。
# だったはずだが、ネットも MSDN も見つからない...
0795デフォルトの名無しさん
NGNG0796794
NGNGだれか英語ページの検索求む。
http://plaza4.mbn.or.jp/~chan_home/win32/mmtimer.html
> 環境にもよりますが100ミリ秒以下くらいになると、イン
> ターバルをどれだけ短く設定してもほとんど変わりません。
>(通常、どんなに高性能なマシンであっても1/18秒(約55
> ミリ秒)が限界だとされています。)
http://hp.vector.co.jp/authors/VA016164/P-Mon/VB5/ReadMe.Txt
> 更新間隔は500〜30000ミリ秒の範囲で設定可能です。
> ※システムタイマーの精度(55ミリ秒)に依存します。
0797787
NGNG計測できた記憶があります。
WinでもOKなはずです。API使っても計測できますし。
参考リンク
http://www1.odn.ne.jp/synsyr/prog_t1.html
0798794
NGNG保証される精度が 50msec くらいで限界という意味です。
0799794
NGNG0800デフォルトの名無しさん
NGNGsleepしてnotifyするだけの別スレッド作って
メインのスレッドを定期的に起こさせるってのはどう?
sleepの精度が高ければの話だけど。
0801デフォルトの名無しさん
NGNGOSのスケジューラーに依存する
98/Meだと10ms単位だったと思う
0802OS素人
NGNG高精度クロックとやらはどうやって時間を測ってるの?
0803デフォルトの名無しさん
NGNG0804デフォルトの名無しさん
NGNG0805デフォルトの名無しさん
NGNGほとんど実行環境依存になるし
0806こんなの初めてだ
NGNGダイアログやテキストボックスのアルファベットが、
斜体に成ってしまうという現象に困っています(SDK1.3,SDK1.3.1環境共に)
とりあえず、SDKの両方を再インストールしたのですが、
やっぱり斜体のままでした。
どなたかこんな現象を聞いたことのある方いませんか?
これ、一体何だろう???
0807806
NGNG0808806
NGNG0809デフォルトの名無しさん
NGNG何の何がどうなった?
0810806
NGNGすみません。詳しく書くとこんな感じです。
win2000(sp2)上でJBuilder4を使っています。
今日JBuilderを立ち上げた時に、画面のエディター部分・メニューバー部分を除いた画面各所で、
アルファベットなどのASCII文字が全て斜体(イタリック)で表示されるようになってしまいました。
(設定の各ダイアログにまでこうなっています。)
※漢字・ひらがななど全角文字は斜体にはなっていません。
最初は、JBuilderの設定だと思っていたのですが、
JBuilderからJavaプログラム(swingを使ったJavaアプリケーション)を動かすと、
そこでも同様に、swingコンポーネント上のテキストのうち、
アルファベットなどのASCII文字が全て斜体(イタリック)で表示されるようになっていました。
JBuilder4に付属のJava1.3.0のSwing周りがおかしくなってるのか?と思って、
JDK1.3.1を使う設定にしているForteなどを立ち上げ、Swingを用いるJavaアプリケーションを見ると、
そこでも何故か同様の現象が起きていました。
そこで、JBuilder4・JDK1.3.1共に、再インストールしましたが、
状況は変わりませんでした。
「このパソコンに何か自分はしただろうか?」と思い浮かべると、
この現象が起きるようになった直前に、JDKのあるドライブにデフラグをかけています。
タイミング的に、原因になりそうな操作がこれくらいしか思いつきません。
(デフラグが原因でJavaがおかしくなるとは考えにくいのですが)
しかし、他のWindowsアプリケーション(IEやEXCELなどなど)に、
ASCII文字が斜体になるようなことは起きていません。
ネットで調べてみたのですが、このようなSwing上のASCII文字が斜体になってしまう
という現象についての記述が見つかりませんでした。
で、困ってしまって、こちらに書き込んだ次第です。
(長文スミマセン、、、、、、)
0811ポンコツ
NGNGチャットのサンプルどこかにありませんか?
0812デフォルトの名無しさん
NGNG0813デフォルトの名無しさん
NGNG0814デフォルトの名無しさん
NGNGJDK1.3は問題ないが1.3.1はclassic(1.2以前)って判断されるけど。
0815デフォルトの名無しさん
NGNG0816デフォルトの名無しさん
NGNG0817名無しさん
NGNGSystem.out.println(Integer.parseInt("1010101111000101", 2));
System.out.println(Integer.parseInt("101010111100010111000100000101", 2));
System.out.println(Integer.parseInt("1010100111100010111000100000101", 2));
System.out.println(Integer.parseInt("10101011101100010111000100000101", 2));
上記3つはうまくいったが最後のがうまく行きません・・・。
32桁を越える2進数の変換はどうしたら良いのやら。
0818名無しさん
NGNG自己レス
・・・Long型つかって解決。アホか俺。
0819774
NGNGレスありがとうございます
0820デフォルトの名無しさん
NGNG0821デフォルトの名無しさん
NGNG英語版使ったら?
0823初心者1号
NGNG/A/B/C.class というファイルがあって、
/A/B/D.jar を実行して、
その C を Class.forName (String) で読み込める様にしたい、
例えば、Class cls = Class.forName ("C"); の様にしたい
のですが、どうすれば良いでしょうか?
単純にやってもダメみたいなので・・・・。
パスを追加する手続きが必要かなと思うのですがどうも分かりません。
よろしくお願いします。
0824823
NGNG下さい。つまり、"C.class" の部分は変わると考えて下さい。
ですから、コンパイル時に決定はできないんです・・・・。
0825デフォルトの名無しさん
NGNGマニフェストファイルにC.classファイルへのクラスパス
を記述して、JAR作る時に取り込む。
0826823
NGNGレスありがとうございます。
ええとですね、アプリケーションが動作している時にいわば「動的」に
生成したいので、そういった方法が欲しいのですが・・・・。
可能なんでしょうか?Jar ファイルに含めちゃうと簡単なんですが、
外にあるとやり方が分からなくって・・・・。
0827823
NGNGC.class のファイルの場所は分からないものとして下さい。
ですから、C.class のファイルの場所を渡して、その Class を作成
するという事がしたいのです。
0828夏厨
NGNGデバック=機械語になおす
コンパイル=実行する
でいいんですか?
0829gt;gt;828
NGNGcom・pile[kmpil] 資料を集める
0830デフォルトの名無しさん
NGNG0831なる厨
NGNG0832デフォルトの名無しさん
NGNG0833デフォルトの名無しさん
NGNGんでわ、java.net.URLClassLoaderを作って、
loadClass("クラス名")でロードですな。
0834デフォルトの名無しさん
NGNG面倒ですみません。
0835デフォルトの名無しさん
NGNGじゃあ、自分でjava.lang.ClassLoaderのサブクラス作る
しかないぞ。というか、いい加減自分で調べろ。
0836夏厨
NGNG教えてくださいm(__)m
0837デフォルトの名無しさん
NGNGそのくらい自分で調べなよ。
http://yougo.ascii24.com/gh/
0838デフォルトの名無しさん
NGNGバグをとること
コンパイル
実行可能にすること
大雑把にこんな感じ。大雑把過ぎるけど。
0839デフォルトの名無しさん
NGNGSystem.out.print("教えてくれて有り難う。");
0840デフォルトの名無しさん
NGNG改行してほしいなぁ
0841デフォルトの名無しさん
NGNGttp://www.amazon.co.jp/exec/obidos/tg/detail/glance/-/books/4062606119/qid=997659805/ref=sr_sp_re_1_7/249-2431184-5725918
アマゾンでコンパイラって調べたら出てきた。
まじで目を疑った。
(゚Д゚)ハア? って感じ
スレ違いだけど・・・
0842デフォルトの名無しさん
NGNGアセンブラもあるから心配するな。目も疑わなくていいぞ。
オレも最初は幻覚かと思ったけどな。
0843ほれ
NGNGhttp://www.amazon.co.jp/exec/obidos/tg/detail/glance/-/books/4062606186/qid=997660355/ref=sr_sp_re_1_9/249-2004238-8961116
0844デフォルトの名無しさん
NGNGワラタ
スーダラって何よ?(ワラ
0847839
NGNGSystem.out.print("\n教えてくれて有り難う\n");
0848デフォルトの名無しさん
NGNG2進が16進いまいち理解できないっす。
いちおうヤフーで検索してみたけど、意味不明な説明のHPばっかでたんですが
なんとか16進は理解できたんですが
2進はさっぱりです。
どうかぼくにおせーてください。
0849デフォルトの名無しさん
NGNGこれで何とかならない?
2進数、10進数、16進数
http://www.asahi-net.or.jp/~ax2s-kmtn/bdh.html
0850848
NGNGURLセンキュウです
なんとなく、理解できました。
理解できたかどうか試すために
2進と16進の問題を出してくださいm(__)m
0851ほれ
NGNGhttp://www.asahi-net.or.jp/~rc4t-ishr/kensiro.html
2進数を勉強するにはここから入るのが一番わかりやすい。
頑張れ。
0852Java厨房
NGNGJavaウィザードの皆様、どうかご教示くださいませ。
<<sizeof演算子がないJavaでレコードの読み書きはどうされてますか?>>
CとかC++だったら
class(もしくは typedef struct ) BankRecord{
public:
int No; //個人番号
char [14] KanjiName; //氏名
double Kingaku; //口座金額
};
・
void hogeccho::hogehoge()
{
・
・
BankRecord *p;
p = new BankRecord();
fread(p,sizeof(BankRecord),1,fp);
↑
で、↑のところでpにデータが読み込まれるでしょ。でわJavaだったらどうするのでしょうか?
Vectorクラスのsize()メソッドもレコードサイズを指定せにゃならんし。
ファイルをseekさせるには、クラスメンバのサイズ合計を全て「肉眼で確認して」増分をseekせよ!
という事なんでしょっか?(メンバが100ぐらいあるclassだったらどうするんでしょうか?)
0853デフォルトの名無しさん
NGNGC++でもそういう書き方は怖くてできない。
すこしコンパイルオプションを変更したり、コードを書き換えたり
しただけで動かなくなる可能性がある。
0854デフォルトの名無しさん
NGNGシリアライズについて勉強してはどうか。
0855デフォルトの名無しさん
NGNGObjectOutputStreamとObjectInputStreamではどう?
0856Java厨房
NGNGありがとうございます。
自分は厨房(しかもプログラムは本業ではない)なのでファイルのread()とwrite()で
それぞれデータメンバの処理を書くと、「readでは入っているけれどwriteでは入って
いない」という事になりかねず、またデータメンバが増えたときにも対応が面倒なの
でC/C++ではクラスへのポインタを直接読むことをし続けています。
シリアライズ、ObjectOutputStream・・・・ですか・・・。
しばらく修行してみます。( ;´Д`)
0857デフォルトの名無しさん
NGNG修行なんかいらん。オブジェクト指向万歳。
import java.io.*;
public class Hoge implements Serializable{
public int val = 10000;
public String name = "hoge";
public static void main(String args[]){
ObjectOutputStream out = new ObjectOutputStream(
new FileOutputStream(new File("hoge.dat"));
out.writeObject(new Hoge());
out.close();
ObjectInputStream in = new ObjectInputStream(
new FileInputStream(new File("hoge.dat"));
Hoge obj = (Hoge)in.readObject();
in.close();
System.out.println(obj.name +" "+obj.val);
}
}
0858Java厨房
NGNGありがとうございます。ありがとうございます。
ありがとうございます。ありがとうございます。
ありがとうございます。ありがとうございます。
ありがとうございます。ありがとうございます。
ありがとうございます。ありがとうございます。
ありがとうございます。ありがとうございます。
ありがとうございます。ありがとうございます。
ありがとうございます。ありがとうございます。
ありがとうございます。ありがとうございます。
ありがとうございます。ありがとうございます。
ありがとうございます。ありがとうございます。
new FileOutputStream(new File("hoge.dat"));
out.writeObject(new Hoge());
out.close();
ここらへんに感動!やったぁー!!
ついに我々は神の技術を手に入れたよー!BorlandC++5.0で戦いつづける
俺に、救世主が現れた。
明日から俺の新しい戦いが始まります。有り難うございました!!
0859+--+
NGNGなりますよ。
0860デフォルトの名無しさん
NGNGSerializeは便利だけど、その代わり読み書き時には、
全てのインスタンス変数の内容とともに、内部で動的な型情報を
残らず読み書きするので、非常に冗長なデータになるぞ。
また、インスタンス変数にSerializableなオブジェクト参照が
あった場合、その中まで全部Serialzeしていく(ディープコピー
のようなもの)ので、気をつけないと大量のメモリコストと、
マーシャリングコストを払う事になる。
まあ、最近はXMLなどという冗長この上ないデータフォーマットが
流行るくらいだから、ストレージやメモリの節約なんか考えなくて
いいってことなんだろうけど。
0861デフォルトの名無しさん
NGNGなるべくフリーだとうれしい!
0862Java厨房
NGNGうおぉー。とりあえず有り難うございます。
今、俺の頭の中には熱いものが煮えたぎっているのでしばらく立ってから
考えようと思ってます。
で、try{}catch(){}を付け加えてコンソールに
hoge 10000
と出すことができました!!
万歳!!万歳!!万歳!!万歳!!万歳!!万歳!!万歳!!万歳!!万歳!!
0863デフォルトの名無しさん
NGNG0864ネタシンシャ
NGNG0865ほれ
NGNGJBuilder5
補完もしてくれるしプロジェクトも管理してくれる。
コンパイルまでしてくれるしなんとデバッグ機能つき。
0866デフォルトの名無しさん
NGNG(又はJDK1.4のMemoryMappedFile)を併用すれば、高速な
永続化オブジェクトI/Oの仕組みが単純なものなら簡単に書ける。
ファイルI/Oを自前では使いこなせない、なんでもかんでもDB使って、
DB毎の導入コストと特殊な仕様に振り回されつづけるうちの会社の
基地外アホ親父ドモも、流石にここまでファイル操作が簡単になれば、
自分でファイル入出力するようになって…くれないかなあ…
0867デフォルトの名無しさん
NGNG0868名無しさん
NGNG0869名無し
NGNGとりあえず自分で探そう。
でも>>865に賛成。
http://www.borland.co.jp/
0870デフォルトの名無しさん
NGNGファイル操作をするプログラムで、*.closeの文を挿入しないとファイルに文字を書くことができませんが、これは具体的にどういう操作を行っているからそうなるのでしょうか?
0871デフォルトの名無しさん
NGNGcloseする直前までは、I/Oバッファのメモリ上に書きこんだだけ。
沢山書き込んでバッファがあふれるか、closeが呼び出されること
で実行されるバッファフラッシュという動作によって初めて、I/O
バッファに書き込んであったデータがストレージデバイスに書き
込まれる。
ディスクに書くという操作は、メモリ操作より遥かに遅いうえに、
書き込み準備のディスクのシークとかも物凄く遅いので、書き込み
はなるべくまとめてやって、見かけの処理性能をあげましょうという
発想。
0872デフォルトの名無しさん
NGNGなるほど〜〜すごくよくわかりました!!これからも御ひいきに。
0873デフォルトの名無しさん
NGNG0874デフォルトの名無しさん
NGNGでも、彼、モンゴル人だから、、、
0875デフォルトの名無しさん
NGNGモンゴル?
0876デフォルトの名無しさん
NGNG「見かけの」は外すべきだと思うなぁ。
0877デフォルトの名無しさん
NGNGもの?プログラム内ではハードコーティングじゃなく登録してある名前を使えば
いいってそういうことだよね?
EJBってさらによく分かってないんだけどMTSにCOM登録するようなもの?
進んでる人アンサーよろしく
0878デフォルトの名無しさん
NGNG0879デフォルトの名無しさん
NGNGhttp://manning.spindoczine.com/sbe/files/uts2/Chapter11html/Chapter11.htm
何かは役立つかも
0880ぐは
NGNG0881878
NGNGありがとう
さっそくみてみます。
0882ざこ
NGNG(何故21にならないのか)さっぱり分かりません。どなたか教えてちょ。
public class Sample2
{
public static void main(String args[])
{
char a = 'a';
char b = 'b';
int c;
c = a + b;
System.out.println(c);
System.out.println(Character.getNumericValue(a));
System.out.println(Character.getNumericValue(b));
}
}
実行結果
195
10
11
0883デフォルトの名無しさん
NGNGSystem.out.println( b );
でどうなる?
0884みんながんばれ!
NGNGgetNumericValue()で返されるのは、Unicode数値
代入の際の型変換(char→int)では、ASCII文字コードの数値になるラシーヨ
http://www.e-words.ne.jp/page.asp?p=r-ascii
0885横レス
NGNGSystem.out.println((int)b);
で97、98のはず。
0886ざこ
NGNGえ?実行結果ですか?
実行結果
195
a
b
と、相変わらずcは195ですが・・・
0887ざこ
NGNG>882、883
ASCII文字コード(97と98)での計算結果が195と
言う事だったのですね
みなさん、ご親切にありがとうございました
0888ざこ
NGNG上は884と885です
08891
NGNGJava相談室 Part4
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=997791189
0890蛇足
NGNG>ASCII文字コード(97と98)での計算結果が195
これがUNICODEの計算結果で、
Character.getNumericValue()が返すUNICODE数値は、
UNICODEとは別もの
半角数字やローマ字は、ASCIIとUNICODEでは同じにな
っているんだって
882がやりたかったのは、多分
int c = Character.getNumericValue('a')+
Character.getNumericValue('b');
System.out.println(c);
ではない?
■ このスレッドは過去ログ倉庫に格納されています