1 :
デフォルトの名無しさん :
04/07/02 03:16
2 :
デフォルトの名無しさん :04/07/02 03:16
http://www.wikiroom.com/java/ Wikiの方を更新してみました。1時間近く書けて更新してみました。
EclipseやAntのことをちょっと加え、関連スレッドへのリンクを増やし、
path変数の説明にUNIX系OSでの設定方法を追加してみました。
何か間違いがあれば修正するか知らせるなりしてください。
4 :
デフォルトの名無しさん :04/07/02 07:26
>>3 ありがとう。とってもいいかんじ。
次の
>>1 には、
"次スレを建てるひとはwikiの更新を"などの文言を追加してもいいかもしれない。
このところずっと、wikiの更新や執筆は、
ほとんど俺一人でやっていたから不備だらけだった。
おかげでだいぶ体裁が整って、とても嬉しい。
JAVAでメッセージキューを使う件
>>880 >キュー自体はCommons-Collectionsの
> org.apache.commons.collections.Buffer
>使えばできるし。
>別にメンテナンスもWebでやっていいと思うし。
>なんか、JNIとか全く使わずにできる気がするけど。
>MQ自体をJavaでやればいいだろ。
>普通のJMSは他の言語からでも簡単にキューできるようになってる。
>
http://java.sun.com/products/jms/ >MessageDrivenBean(J2EE)でも可。というかMessageDrivenBeanはJMSの
>メッセージ処理側そのもの。
いろいろご意見ありがとうございます。JMSは使えそうですね、検討してみます。
JNIも含めいろいろ試してみたいと思います。
初心者にはカーナビソフト開発はできません。
9 :
デフォルトの名無しさん :04/07/02 16:18
前スレで「やさしいJava」で勉強しててインターフェイスがわからないってあったけど、あの本のあんな書き方ではインターフェイスがわからないのは当たり前だね。 サンプルも適当ではないし、そもそも書いてる本人がインターフェイスわかってないような書き方だし。 あの本での抽象クラス・インターフェイスの説明は、単なる構文の説明で、使い方はまったくわからないね。
10 :
デフォルトの名無しさん :04/07/02 16:25
すみません。xdocletなるものを試してみようとおもうんですが、インターネット上の記事で以下のところを読み
つまっています。
/////////////////////////////////////////////////
●XDocletのインストール
http://sourceforge.net/project/showfiles.php?group_id=31602から 、XDoclet-bin-1.2b2.zipをダウンロードしてください。C:\xdocletディレクトリを作成し、このディレクトリに解凍してください。
///////////////////////////////////////
ダウンロードしてきて、C:\xdocletというフォルダを作成したんですが、
このディレクトリに解凍する方法がわかりません。コマンドプロンプトからどのように
うてばよいんでしょうか?
がんばれ。
13 :
デフォルトの名無しさん :04/07/02 16:34
ネットでしらべたけど、わからん。 いつもはLhaca+つかってるから、勝手に解凍してくれる。指定したフォルダに解凍するには やはり、コマンドプロンプトをつかうんでしょ? 方法が全然わからん。
14 :
デフォルトの名無しさん :04/07/02 16:35
教えてくれてもいいと思う。。
15 :
デフォルトの名無しさん :04/07/02 16:36
Noahとか
インターフェイスって、個人&(構造化java||main一発)のうちはなんのメリットもないからな
一発目から酷い質問だな
勝手な憶測って、理解できない奴の定番なんだな
>>16 いや、とりあえず、用意されているインターフェイスが使えるようになる必要はある。
まあ、アプリケーション作るときにインターフェイスを作ることは、あまりないだろうけど。
とりあえず java.util.Collections#sort(java.util.List) または java.util.Collections#sort(java.util.List, java.util.Comparator) あたりを使わせる、というのはどうだろ? 「リストに入れた文字列を好きな順序で並び替えてみましょう」って課題与えて。
穴兄弟は同じ穴に入れる
22 :
デフォルトの名無しさん :04/07/02 16:52
C:\xdocletにXDoclet-bin-1.2b2.zipをコピーして、そこで解凍ソフトを使って 解凍したんだけど、それでいいのかな?
23 :
デフォルトの名無しさん :04/07/02 16:53
PC初心者板ではそれでOKっていわれたけど、なんか信じがたい。 フォルダの構成がC:\xdoclet\xdoclet-bin-1.2.1\xdoclet-1.2.1なんていうまわりくどい構成に なっているんだけど、これで大丈夫?
>>20 それだと「クラスでいいじゃん」てことになる。
それだったら Comparable の方がいい。
>>23 アーカイブ名からはじまってれば解凍ソフトのせいってのが考えられるが、
そうでないなら分からない。本に書いてあるだろう。
>>24-25 どうもありがとうございます。
なんとか、build.xmlファイルの記述とあわせて考えたら、うまくできました。
一応、テストプログラムもうまくできました。ありがとうございました。
インターフェイスの前に、フレームワークの理解に苦しむと思う
>インターフェイスの前に、フレームワークの理解に苦しむと思う 順番逆じゃね?インターフェースをよく理解していればフレームワークが どういうこと意図してるかよくわかるよ。strutsのソースとか読むと。
29 :
デフォルトの名無しさん :04/07/02 19:01
今晩はよろしくお願いしまうす。 JDialog を継承してるクラスに 呼び出し側の、フレームを渡します。 class Dialogko extends JDialog { Fram oya; Dialogko(Frame oya){ super(oya,true); //ここで、oyaのフレームをインスタンスに入れて、 this.oya = oya; } void Jikou(){ //このときoyaのメソッドは実行できないのですが。 //そういうものなのでしょうか。 oya.Jikou2(); } }
Frame クラスに Jikou2 などというメソッドはない。だから実行できない。 もし oya が、Frame を継承した自作クラス(例としてMyFrame としておく)のインスタンスであるなら、 こうすればいい。 class Dialogko extends JDialog { MyFrame oya; Dialogko(MyFrame oya){ super(oya, true); //MyFrame extends Frame なので Dialog(Frame, boolean) が呼べる this.oya = oya; } void Jikou(){ oya.Jikou2(); } } ちなみにメソッド名は小文字からはじめること。 今回はいいけど、時によっては一瞬混乱する。
実際のインスタンスがどうあれ、変数の型が合わないと、 コンパイラにとってはメソッドが呼べないように思われるから、通らない。 だから、変数の型は、あらかじめ必要なものにしておかなければならない。 ただし、キャストでインスタンスが何かを明示してもよい。 これならコンパイルは通る(実行時に型が合うことの保証は、プログラマが責任を持つ) ((MyFrame)oya).Jikou2(); なお、今回の場合は Component に親子関係があるから、変数 oya を用意せず、これでもいい。 ((MyFrame)getParent()).Jikou2(); ただし、初心者のうちは、あまりお勧めできない。 多用するようになると、設計が悪くなる。 コレクション関係など、必要なときだけにしておいた方がよい。
早々に回答を頂、ありがとうございます。
>>30 >Frame クラスに Jikou2 などというメソッドはない。だから実行できない
なるほど型が判別できないでいたのですね。
ありがとうございます。
ためさせていただきました。できました。
>>31 ありがとうございます。
親切な説明で理解できました。
コンパイルと通りました。
またよろしくお願いいたします。
それから、メソッドの最初小文字、気をつけます。 ほんとにありがとうございました。
34 :
デフォルトの名無しさん :04/07/02 21:00
多重継承がないのって、不便じゃないですか?
他重軽傷は混乱のもと。 ないほうがすっきりするし、オブゼクト試行的だ。
>>34 不便するほど多重継承を多用しまくってたのか?
きのう、アプレットで絵をかいた。 そのときにたしか、 Runnableインターフェースをimplementした。
「{がありません」といわれた
class Hoge extends Frame, TimerTask, WindowAdapter {
>>28 ある程度理解したうえでならそうだと思う。が、漏れが云わんとしたことは
初めてインターフェイスを学ぶ者が、フレームワークから理解しなければならないとしたら
英語の勉強させるのに、ドイツ語の教科書渡すようなもんだ。ということ
↑ドイツ語で書かれた英語の教科書ってことな。別に何語でもいいんだが。
43 :
デフォルトの名無しさん :04/07/03 01:15
antで条件判定するのに条件ごとにtargetを複数作ってantcallして 、ってすげぇ面倒くさいんですが、スマートなやり方ないすかね? スクリプト言語のオプションを入れずに標準版ですませるやり方ねぇかな。
>>41 > 初めてインターフェイスを学ぶ者が、フレームワークから理解しなければならないとしたら
そんなことはないから心配ない。
前スレの856さん、857さんありがとうございました。 「-cp .」 を加えることで解決しました。 ;C:\j2sdk1.4.2_04\binを環境変数のPATHに加えても上手くいかない場合があるんですね。
http://pc5.2ch.net/test/read.cgi/tech/1087815219/853 > 外部からjavaを動かす時に「set CLA〜」
環境変数をセットできないよそのマシンでクラスファイルを実行させたいのなら、
実行可能Jarファイルを作って、そのJarファイルの中にマニフェストファイルを収め、
そのマニフェストファイルでクラスパスを指定するのもいいかもしれない。
>>45 というか、環境変数のクラスパスと環境変数のパスは別物、偽物、嘘物、逆物だ。
この二つを混同すると地獄の火の中に投げ込むぞ。
あと環境変数のクラスパスは、明示的に設定していないときは、
デフォルトで、カレントディレクトリをクラスパスに設定したことになる。
故に、前スレ853であなたが明示的に指定していたクラスパスは、少々疑問。
48 :
デフォルトの名無しさん :04/07/03 08:44
サーバサイドの場合、マニフェストではなく、Apache AntとかTomcatの設定で どうにかしてしまうものだが。
すみませんがよろしくお願いします。 テキスト入力式JDialog で入力された数値を 別のJMenuItemから開く別のJDialog のラベルとして 表示させるにはどうしたらいいでしょうか? JDialogのactionPerformedの中で設定した数値は何故か メインフレームのactionPerformedの中でも反映されているのに 別Dialogにラベルとして数値を貼り付けるときは、 メインフレームのグローバル変数を取ってしまい変更できません 何かいい解決策はないでしょうか?
何もわからぬ初心者によって複雑怪奇に作られたであろうソースのかけらもはらずに、 解決策を求められても困る。 >テキスト入力式JDialog で入力された数値 >JDialog のラベル >JDialogのactionPerformedの中で設定した数値 >メインフレームのactionPerformedの中でも反映されている >ラベルとして数値を貼り付ける >メインフレームのグローバル変数 みょーな用語とよろしくない簡略表現のオンパレード。 プログラミングというものを根本的に誤解しているのではあるまいか。 とりあえず、ここでの共通言語は Java によるソースコードだと言っておきたい。 現時点では 「軽々に GUI に手を出す前にクラスとインスタンスとフィールドとメソッドとスコープについてしっかり理解せよ」 としか授けられないな。
メインフレームってことはCOBOLだな 間 違 い な い
メインフレームって考え方はBCBやDelphさわったからわからないでもないが それ以外のところが意味不明
お聞きしたいのですが 「太鼓の達人」のように サイトからシナリオをDLしてきて、それをアプリ本体が受け取り スクラッチパッドに格納したいのですが 手順はどのようにすればいいのでしょうか? iアプリで考えております。 あと505iだと30kが制限とありますが プログラム本体の容量ですか?それとも画像などのリソース含むですか?
@サイトからシナリオをDLしてくる Aそれをアプリ本体が受け取る Bスクラッチパッドに格納する という手順
56 :
デフォルトの名無しさん :04/07/03 13:18
57 :
デフォルトの名無しさん :04/07/03 15:32
Javaでリストみたいなクラスってないですか? list.add(xxx)で勝手にメモリ拡張してくれる可変長配列みたいなの。
java.util探そう。
59 :
デフォルトの名無しさん :04/07/03 15:33
/\___/ヽ ヽ / ::::::::::::::::\ つ . | ,,-‐‐ ‐‐-、 .:::| わ | 、_(o)_,: _(o)_, :::|ぁぁ . | ::< .::|あぁ \ /( [三] )ヽ ::/ああ /`ー‐--‐‐―´\ぁあ java.util
60 :
デフォルトの名無しさん :04/07/03 15:41
javaでゲームを作っているんですが 画像(自機)を旋回させるにはどうしたらいいでしょうか?
>62 AffinTransformクラスのrotateメソッドを使うんでしょうか? rotateメソッドが何をするのかよくわからないんですが・・・; 引数にラジアンをとってラジアン分回転するんですか?
リアルタイム性が欲しいのならあらかじめ回転させたイメージ作った方がいいよ 回転させるキャラのサイズ&数&フレームレートによっては実用にならない
65 :
デフォルトの名無しさん :04/07/03 19:07
最近フレームワーク関連のスレが消えかかっているが みんな飽きたの?
66 :
デフォルトの名無しさん :04/07/03 19:33
Aglets使っている方居ますか? agletを起動させると以下の警告が出てきます。ドメイン名がないという趣旨のようです。 [Warning: The hostname seems not having domain name. Please try -resolve option to resolve the fully qualified hostname or use -domain option to manually specify the domain name.] agletの起動コマンドは以下のとおりをためしてみました。aglets.propsは初期のままです。 agletsd -f ..\cnf\aglets.props agletsd -f ..\cnf\aglets.props -resolve agletsd -f ..\cnf\aglets.props -domain TRIM 結果は全て同じでした。 この状態で、agletエージェントをディスパッチ(ホストへエージェントを送りこむ)と以下のようなエラーが出てきます。 access denied (com.ibm.aglets.security.AgletPermission aglet_key dispatch) OS:Windows2000 コンピュータ名:TRIM aglets-2.0.2 jdk1.4.2_04 環境変数は問題なく通っているようです。
67 :
デフォルトの名無しさん :04/07/03 19:56
Javaでシューティングゲームを作っています。 現在、キーボードで操作しているのですが、 USB接続のコントローラーで操作する事はできますか?
69 :
デフォルトの名無しさん :04/07/03 22:22
無名局所クラスから、自分を包含してるメソッドのローカル変数を 参照する時、そのローカル変数がfinal属性だとインスタンス参照変数でも 可能ですが、メソッドローカル変数をfinal属性にした時は、静的領域に 格納されるという事なんでしょうか? (C言語でいうstaticローカル変数になるって事なんですか?)
>>69 なんで「無名局所クラス」と限定するのかがわからん。
で、静的領域っていうのがなんなのかもわからん。
ただ値の解決ができるっていうだけだと思うが。
72 :
デフォルトの名無しさん :04/07/03 23:20
73 :
デフォルトの名無しさん :04/07/03 23:21
Javapediaの日本語版つくれないかな? って思うんだが。 2chねらーだけでWikiで独自に作るってのもありかな?
74 :
デフォルトの名無しさん :04/07/03 23:38
>>70 void A() {
final JLabel label=new JLabel();
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
label.setIcon(new ImageIcon("aaa.jpg"));
}
});
}
上記で言うと、labelは、メソッドAが呼び出された時にヒープ領域に
初めて割り当てられてメソッド終了と共に消滅するので、つまり
Aが実行されてない時は存在しないはずです。
しかし局所クラスのactionPerformedは、Aが実行されてない時でも
関係なく呼び出されます。
その時はlabelは存在しないはずです。それでもactionPerformedは、labelが
finalだと参照できてしまいます。何故なんでしょうか?
静的領域とは、クラスがロードされた時から存在する固定領域の事です。
クラス変数と同じような場所です。
>>74 なんで、「ヒープ領域に割り当てられて」とか「静的領域は〜固定領域の事です」とか、自分で仮定・定義したものについて、この場合はどうなるか、とか人に聞くの?
>>75 僕が定義した訳じゃありませんが。。。
静的領域ってのは僕が間違って言った言葉だったので訂正しただけです。
>>74 つまり、ローカル変数にfinalをつけると、クラス変数と同じ領域に保存されるか、と。
基本型であれば最適化の結果どこにも保存されない可能性もなきにしもあらず、なので、知ったこっちゃない、という答えでいいですか?
ぶっちゃけ言うと、 ローカル変数のfinal指定はどういう意味を持つのか? それは、JAVA言語規定のどこに記されてるのか? って事だろ。
ローカル変数のfinal指定は ・値が代入されたあとは、それ以外の値を代入することができない。 という意味でしかない(これは仕様)。 ただし内部クラスから参照する場合はそのfinalの値は ・内部クラスのフィールド に保存される(これは実装)。 具体的にはコンパイラが ・内部クラスにフィールドを自動作成 ・内部クラスに作成したフィールドに値を設定するコンストラクタを自動作成 といったことを行なう。
80 :
デフォルトの名無しさん :04/07/04 00:17
>>79 ありがとうございます。
そういう情報って、どこに書いてあるのでしょうか?
>>80 仕様の範囲は仕様書を見ればわかる。
実装の範囲はソースを見たりクラスファイルを javap -c してみたり。
>>75 >>自分で仮定・定義したものについて、この場合はどうなるか、
>>とか人に聞くの?
なんかアレだな。分からないのならわざわざ頓珍漢な事を書くなよ。
まるっきり入門レベルじゃないか。
83 :
デフォルトの名無しさん :04/07/04 00:45
つうか答える気無いなら 説教なんかしない我慢も必要だなおまえ等
説教じゃなくて、無知さ故のイチャモンだろ。
>>80 今回の仕様は、JavaVM Specificationかな。Java仮想機械の仕様。
Java言語の各種定数は、各クラスのconstant poolという領域に記憶される。
>>85 今回の奴って constant pool と関係あるのか?
constant poolにあるから、A()が実行されていないときでも、 静的に存在してるってことだろ
>>87 静的に存在って……
> final JLabel label=new JLabel();
の右辺「new JLabel()」は定数式じゃないから、
A() を二回呼んだら JLabel のインスタンスが二つ作られるんだけど。
>>85 Virtualを仮想を訳すのはいい加減に(ry
>>85 Constant Pool におかれる情報は
文字列リテラル、クラス名、フィールド名、メソッド名、メソッドのシグネチャなどであって
インスタンス自体がおかれるわけではありません。
91 :
デフォルトの名無しさん :04/07/04 14:36
文字列をbase64エンコードするには、どうすればいいのでしょうか?
92 :
デフォルトの名無しさん :04/07/04 14:39
JavaMailのAPIを使うっていう方法があるが Base64の仕組み調べれば意外と簡単だよ
93 :
デフォルトの名無しさん :04/07/04 14:54
マジでJavapediaの日本語版っぽいのないかな?
>>1 のwikiにオリジナルJava事典つくっちゃうか?
よし、作っちゃうぞ、とりあえず最初は適当に
>>93 Javapediaって何?
JavaのWiki?
>>94 しょっぱなからデタラメ書いてくれて、ありがとう。
ゴミになってしまうどころか、すでにゴミです。
ゴミを生かして再生するのも我らの力よ
98 :
デフォルトの名無しさん :04/07/04 15:25
質問です。
ttp://www.hellohiro.com/ftp.htm このサイトのFTPプログラムを走らせてみたのですが、
アップロードの辺りでプログラムの反応がない(whileで回っている?)状態になってしまいます。
しかし、Eclipseでデバッグしながらだと、きちんとアップロードされます。
これは何が原因なのでしょうか?もし、他の方が普通にできるのであれば私の環境の問題かと…
よろしくお願いします。
>>94 書き始めたGJだけど、どうしたいのかわからないよ
1語で1頁使うもんなんじゃないのか
100 :
デフォルトの名無しさん :04/07/04 15:28
>>99 なるようになるさ。
思いついたことを適当に書いていけばいい。
それがWikiというものだから。
辞典よいうより事典だからね。
ノウハウを自分の好きなようにそこに列挙してみるんだよ。
Javapedia日本語版がでるまで俺たちだけで適当にJava事典をつくるもよし
102 :
デフォルトの名無しさん :04/07/04 15:46
103 :
デフォルトの名無しさん :04/07/04 16:33
104 :
デフォルトの名無しさん :04/07/04 16:50
ねぇ。できるかどうかだけ聞きたいんだけどさ。 今度、EJBのクライアントのjarファイルをくばりたいんだけど、 その中に、クラスファイルやらがたくさんはいってるんだけど、実行時に そのクラスファイルにクラスパスを指定したいわけ。 マニフェストファイルにクラスバスをかいたりしたら、うまく実行できる? できるかどうかだけ、教えてくれればいいよ。方法は自分でしらべるから。
>>98 漏れもそのサイトのソケット編を試したときに同じようになった
どうもPrintWriterが悪いようだが、知識不足なんで理由は不明
>>104 jarのマニフェストにクラスパスが書けるかという質問なら、Yes
>>106 そうです、そうです。それを聞きたかったのです。
方法は確か、どっかでみかけたので、検索して調べようとおもいます。
なんしろできるときいてほっとしました。ありがとうございました。
108 :
デフォルトの名無しさん :04/07/04 17:10
Javaでシューティングゲームを作っています。 現在、キーボードで操作しているのですが、 USB接続のコントローラーで操作する事はできますか?
>>98 今、ソケット編の方やってみたら普通に動いた(FTPは揚げるとこないんでスマンが。。)
昨日OSごと再インストールしたのがよかったのかな?一応、環境あげときまつ
旧
Windows XP Pro、ノートンアンチウィルス2004、J2SE 1.4_04
現在はノートンなしで稼働中 ←これか?
通信関係のソフトつくるのに、ノートンは邪魔。
111 :
デフォルトの名無しさん :04/07/04 18:50
repaint(); if(jan.ch == 1){ img = img_win; n++; } else if(jan.ch == 0) img = img_lose; else if(jan.ch == 2){ img = img_aiko; l--; } sleep(1000); repaint(); sleep(100); 上のような感じで、一度画像を表示して、ちょっと間をおいて違う画像を 表示したいのですが、上のように書くとうまくいきません。。 ちなみにsleepはwait関数を使っています。 どうしたら上手くいくでしょうか???
>>111 うまくいかないというのはどういう風にうまく行かないんだ?
それからimg_aikoの画像うpしなさい なんか気になる
113 :
デフォルトの名無しさん :04/07/04 19:15
>>112 あいこって、じゃんけんのあいこなんですが。。。
えっと最初のrepaint()である画像が表示されないまま、
次のrepaintで次の画像が表示されてしまうんです。。。
111のコードをUIスレッドで走らせてない?
>>112 >あいこって、じゃんけんのあいこなんですが。。。
す、すまん img_loseはローザ(外人)でimg_aikoはあいこの画像だと思ってた
ところでAWTなのか
116 :
デフォルトの名無しさん :04/07/04 19:31
>>114 UIスレッドって何でしょう。。。(汗
>>115 AWTもわからないです、スマソ。。
何のことでしょう???
>>116 repaint()ってのは描画をするメソッドじゃなくて描画を
お願いするメソッド。でもそのお願いをきいてくれる仕組みは
今まさに111のコードを実行しているからお願いを
聞いてくれない。次のrepaintでも事情は同じでお願いが
たまるだけ。111のコードがすべて終わって初めて手が空き
たまった描画のお願いをできるだけ迅速に処理する。だから111の
意図したとおりには動かない。
118 :
デフォルトの名無しさん :04/07/04 19:40
>>105 ,109
ども。PrintWriterが怪しいですか。もう少しいじってみます。
ついでにノートンもなしにしてみます。ありがとうございました。
119 :
デフォルトの名無しさん :04/07/04 19:42
>>117 グサ―(;゜Д゜)→
どうしたらいいでしょうか!?
120げっとグサー
>>116 >>119 あー、そこまで判っていないのなら、
paintComponents()の中身などを、現象を再現できるほど短くして、
そのうえで、ここにコピペしてもらったほうが早いかも知れない。
本かなにかを丸写しして、それを改造中?
ならば、そこまで判っていないのも仕方がないかもしれないが。
>>117 がいうように、複数のrapaint()メソッドは、
都合によって一度にまとめられることがあるよ。
wikiといえば、
>>1 のwikiの管理人はどこにいったのだろう。
元々はスレッドの保管のためにホームページを作ったとスレに書いていたのだが、
その肝心の保管サイトはずっと作られないまま、気がついたらNot Foundになってしまった。
http://kutipatti.fc2web.com/index.html もしまだwikiを更新してくれているのなら、
2chの過去ログ倉庫の閲覧が自由にできないいまこそ、
過去ログ保管サイトを作って欲しいのだが。
wikiのほうも設置者にしかできないことは色々あると思うのだが。
123 :
デフォルトの名無しさん :04/07/04 20:30
>121 paintComponents()ってなんでしょ?? paint()でいいのかな? それなら public void paint(Graphics g){ g.drawImage(img, getInsets().left, getInsets().top, this); } だけですけど。。
124 :
デフォルトの名無しさん :04/07/04 20:31
java swingのGUI外観(ボタンなど)が気に入らないのですが どのように解決すればいいでしょうか?
126 :
デフォルトの名無しさん :04/07/04 20:34
何のためのPLAFやねん!
>>123 paintComponentsの方が推奨されてるらしいぞ。
グラフィック描画するだけならどっちでもいいと思うんだけど。
129 :
デフォルトの名無しさん :04/07/04 20:53
プロパティファイルから読み込むテストをしているんですが、 java.io.FileNotFoundException: test.properties (指定されたファイルが見つかりません。 が発生して、読み込むことができません。 プロパティファイルは同じフォルダにおいてるし、指定する名前を同じ なのに。。他になにか理由がありましたら、ご教授お願いします。
130 :
デフォルトの名無しさん :04/07/04 20:56
プロパティファイルは同じフォルダにおいてるし、指定する名前を同じ なのに。。 ↓ プロパティファイルは実行ファイルと同じフォルダにおいてるし、 指定するプロパティファイルの名前は同じであるんですが。 InputStream inputStream = new FileInputStream(new File("test.properties")); Properties prop = new Properties(); prop.load(inputStream);
131 :
デフォルトの名無しさん :04/07/04 20:58
>>128 で、これからどうしたらいいかわかります??
http://clones.bomberman.info/bombomann/ ↑このボンバーマンクローンはJavaで書かれているみたいなのですが、
どういうライブラリを使っているか分かる方教えてくださいませんか。
Jadで逆コンパイルしてみると、zeep.engine.*; というゲーム用ライブラリっぽいのを
使っているようなのですが、ググっても引っかからない・・・。
もしくはJavaで使える手ごろなゲーム用ライブラリを知っている方は教えてくださいませんか。
SDL for JavaはWindows用バインディングがなくって、まだ自力で書けるほど力量がないもので。
134 :
デフォルトの名無しさん :04/07/04 21:05
すみません。できました。 プロパティファイルを同じフォルダにおいてることが問題だったようです。 ネットのサイトには、実行ファイルと同じフォルダに格納すると書いていたのですが。。 プロジェクトの直下に置きましたら、うまくいきました。
>>133 作者のメールアドレスから察するに、zeepパッケージ以下は自作コードのようだが
136 :
デフォルトの名無しさん :04/07/04 21:29
質問! Javaの入門書は一通り理解した。 次にオイラは何をすればいいんでしょう? なんつーか、こうもっと実用的な勉強がしたいんだけど。
>>136 参考までにどういう入門書を読んだか書名さらしてよ。
Javaの絵本(SE社) Javaプログラミング入門(秀和システム)
139 :
デフォルトの名無しさん :04/07/04 21:34
めんどい
140 :
デフォルトの名無しさん :04/07/04 21:34
JAVAにディレクティブはあるのでしょうか? 例えば、 static char[] code={'a', 'b', 'c', 〜〜 と a から z まで延々と定義したいのですが、いちいち書くのは 面倒です。実行レベルじゃなくてコンパイルレベルでの代入文を 簡略化するにはどうすればいいのでしょうか?
141 :
デフォルトの名無しさん :04/07/04 21:36
メソッド書いて呼び出す。
>>123 Swingでは、paint()ではなく、paintComponetn()を使ったほうがいいのではなかったかな。
考えられる原因として、複数回のrepaint()が一回にまとめられた以外に、
lmgがまだ作成されていないということも。。
原因が後者なら、メディアトラッカーなどを利用するという解決策など。
paint()メソッドが何回呼び出されているかは、
コンソールに文字でも表示させれば手軽に調べられてよいのではないでしょうかね。
>>124 ここを読んで自前のテーマを作成してみるという手も。
Creating a Custom Look and Feel
http://java.sun.com/products/jfc/tsc/articles/sce/ >>134 実行用のclassファイルと、プロパティファイルを同じディレクトリに置いても問題はないが?
故に真の問題は、別のことであるようにおもうが。
>>138 リファクタリングと、結城の書いたデザインパターン本でも読んでみればいいんじゃないでしょうか。
145 :
デフォルトの名無しさん :04/07/04 21:51
>>143 レスありがとうございます。
>実行用のclassファイルと、プロパティファイルを同じディレクトリに置いても問題はないが?
>故に真の問題は、別のことであるようにおもうが。
実行用のclassクラスファイルとプロパティファイルは同じディレクトリに
置いています。何か原因が考えられますでしょうしょうか?
>>135 どうもありがとうございます。
確かにメールアドレスと同じですね。
ううむ、ということはJavaだけでゲームに必要な速度が出るって事ですね。
音声だけdsound.dllってのでDirectSoundを呼び出しているってことですね。たぶん。
>>138 書け!書いて書いて書きまくれ!で、書け。そしたら書け。
本読むより宿題スレの課題でもこなしてたほうが、実用的な知識が身につくってもんだ
>>143 多分、質問者はIDEつかっているんじゃないかな。
たとえばEclipseだとclassが生成されるフォルダやsrcが存在する
フォルダをプロパティで設定すると、それらのフォルダは実行時の
カレントディレクトリにはならない。デフォルトではプロジェクト
直下になるので134の状態と一致する。
>>145 そのclassファイルがパッケージ化されたもの等で、
javaコマンドの実行が、classファイルとは別のところから行われる場合は、
当然プロパティファイルを配置するディレクトリも、Javaコマンドの実行場所に合わせて変更しなければならないが。
>>129-130 の情報だけでは、これ以上の回答をなすにはデータ不足。
>>148 ああ、そうかもしれない。サンクス。
XMLのNodeやNodeList以下をすべてタグつきの素のXMLで出力するにはどうしたら良いのでしょうか? JAXPです. Documentの子要素になるように工夫するのでしょうか? ElementとNodeの違いも良く分からないし・・・
Element, Attr, Text, CDATASection等々を束ねられるのがNodeな。 質問の回答はパス
152 :
デフォルトの名無しさん :04/07/04 22:20
>>148 .149
>質問者はIDEつかっているんじゃないかな。
>たとえばEclipseだとclassが生成されるフォルダやsrcが存在する
>フォルダをプロパティで設定すると、それらのフォルダは実行時の
>カレントディレクトリにはならない。デフォルトではプロジェクト
>直下になるので134の状態と一致する。
おっしゃるとおり、えくりぷすを使ってます。
ためしに、実際に、コマンドプロンプトを使って、そのフォルダに移ってから、
ファイルを実行してみようと思っているのですが、そのフォルダに
移れないでいます。。よくこういうことがあるんですが、うち間違いとかで
なく、ちゃんとコピーしたものを貼り付けて、cdしようとしているのですが、「ディレクトリ名の指定が違います。」とメッセージが返されます。
たとえば、このフォルダに降りていって、実行したいと考えていますが、
C:\eclipse\workspace\JavaTest\properties_test0704
eclipseまでしか移動することができなくて、workspaceに移動できないでいます。
なにか原因がありますか?
何度もすみません。
>>150 >Documentの子要素になるように工夫する
ソレガヨイと思われ。Documentを新しく生成して、ルートノードをきみが
取り出したいノードにすればよし。後はシリアライズ一発。
書いて、書いて、カキまくることにしました。 男は汗かいて、マスかいてGO〜 立派になったら帰ってきマス
>>152 コマンドプロンプトで cdと空白一個うった状態で、
エクスプローラから目的のフォルダをコマンドプロンプトに
ドラッグアンドドロップしてごらん。そしてEnterを押す。
>>154 書いて書いてカキまくってふとまた「これでいいんだろうか、おれ」
とか立ち止まることがあったら、「Effective Java」読んでみ。
それでうなずいたり、いや違うだろと論評できるようになったら
それなりのレベルには達してる。
157 :
デフォルトの名無しさん :04/07/04 22:32
>>155 ありがとうございます。でも、それはすでにためしているんですよね。
それでも、同じエラーが出ます。「ディレクトリ名の指定が違います。」
だから、フォルダ名のうち間違いとかそういう問題でないきがします。
それに、XPのHomeEditionを使っているのですが、コマンドプロンプトで
マウスで範囲を選択して、Enterを押したら、コピーできるはずなんですが、
それも効いてないみたいで。そもそも範囲を指定するためのドラッグができない。。
>>157 コマンドプロンプトからalt+space -> E -> K
すでにスレ違い。あとさ、エラーメッセージそうなるか?
「指定されたパスが見つかりません。」じゃないのか?
159 :
デフォルトの名無しさん :04/07/04 22:42
>>158 スレ違いですね。。(その方法で、コピーはうまくできました。)
cd workspace を入力して、
Enter押した後のエラーメッセージは、
「ディレクトリの指定が違います。」
です。なにかおかしいでしょうか?
ふつうのコマンドプロンプトを使っています。
winキー+R → commandを入力してEnterで現れるコマンドプロンプトです。
>>159 それ以上ここで質問する気があるなら、
dir c:\eclipse を実行して結果をそのままコピペ
するくらいの配慮は欲しい。
>>154 む。ガンガレ
ある程度書けるようになったら、アルゴリズム本でも読むといい
C向けの本が多いが、java使いでも読める程度の内容なんで臆せず挑め
Cも覚えて2度ウマーかもしれんしな
>>157 フォルダー名のどっかにスペースでも入ってるんじゃないか?ダブルクォートで囲んでみれ
あと、タブキーでフォルダー名の保管が利くから、めんどくさがらずに普通に入力シル!
あ、あと、WinXPをはじめとするNT系のコマンドインタプリタは commandではなくcmdであることは基礎知識として知っておいたほうが いいね。
すまん、160=162
164 :
デフォルトの名無しさん :04/07/04 22:58
すみません。移動することができました! >commandではなくcmdであることは基礎知識として知っておいたほうが いいね。 上に従い、新たにプロンプトを起動してcdしてみたところ、 すんなりとできました。そういう問題だったのですか。 あと、cd aaa(存在しないディレクトリ) を入力して、 Enter押した後のエラーメッセージは、 「ディレクトリの指定が違います。」 ではなくて、 「指定されたパスが見つかりません。」であることも確認しました。 使用するコマンドプロンプトが違っていたということですか。
String str = new String("ほげ"); と String str = "ほげ"; は実行時にどのような差があるのでしょうか? String str = new String("ほげ");は無駄な動きがあると聞いていますが、 具体的にどのような動きになっているのでしょう?
やってしまいましたね
>>165 いいかげん、スレが変わるたびに繰り返されるこの質問にウンザリ気味な今日この頃・・・
"new"を使うと、毎回必ず新しいインスタンスが生成される。
String str = "ほげ"; の場合は、文字列リテラルはメモリ上のある領域にプールされた
ものが使い回される。
わざとだからね
169 :
デフォルトの名無しさん :04/07/05 01:11
Stringはタブー
Javaにはポインタがない、と聞いてたのですが、NullPointerExceptionというエラーがでて、ポインターと書いてありました。 ポインターがあるようなきがするのですが。
Cでいうポインタはないですが日常用語で言うポインタはあります。
つまりクリトリスの事ですね
イクリプスとどちらがキモチイイですか?
>>171 日常ではポインタという言葉つかいません。
あの、赤いレーザーがでるやつでしょうか?
ポインタには「指し示すもの」以外の意味はありません。
CVSサーバを立ててEclipse(2.1.2)で作っているclassファイルのバージョン管理をしてみようと思っているのですが 現在自由になる環境がWin2KのPC1台しかありません。 そこでCVSNT(2.0.46)をインストールして、リポジトリを作成しましてコマンドプロンプトからユーザを作成しました。 Eclipseのリポジトリーロケーションから設定して終了したところ以下のエラーが出てしまいます。 @ITの構築方法を紹介しているページ等色々見て回ったのですが解決しないので ご存知の方がいらっしゃったら対処方法をご教授ください。 妥当性検査不能 ロケーションの検査中にエラー”CVSNTリポジトリー :'pserver:cvsusr@locaohost:/cvsrep'はリポジトリー接頭部を使用するように構成されます。 ただし、CVSNTはこのモードではリソースパスを正しく伝えるとは限りません。 その結果、いくつかの特殊なEclipseCVS操作が失敗します。 Eclipse CVSクライアントの完全な機能を使用したい場合は、リポジトリー接頭部を使用不可にしてください"
>>177 cygwinのCVS使ったほうが確実だと思うけど、CVSNT使いたいんなら
eclipse.orgにあるFAQに注意点がいろいろ書いてあるよ。
>>178 即レスありがとうございます。
書き込んだ後も調べていたらEclipseとCVSNTの相性ってあんまりよくないみたいですね・・・
インストーラがついてて簡単そうに見えたりしてCVSNT使っちゃいましたが
cygwinの方を試してみます。ありがとうございました
180 :
デフォルトの名無しさん :04/07/05 07:23
すみません、ちょっと質問なんですが、 ネストした非staticメンバクラス でprivateで定義したフィールドは 外側のクラスからアクセスできますか?
182 :
デフォルトの名無しさん :04/07/05 07:44
>>181 ありがとうございます。
eclipseでエラーメッセージが出てこなかったのですけど、
不安だったもので…
184 :
デフォルトの名無しさん :04/07/05 09:10
interfaceの存在意義って何なんでしょうか? インタフェースを継承したクラスにおいて、インタフェースに記述されているメソッドを、 実装し忘れることがない、という保険の意味で良いのでしょうか?
>>185 これもうんざり。あきた。
本の例はクズだから、標準 API で実践してからもっかいこい。
>実装し忘れることがない 明らかに前スレも呼んでるだろ。荒らし目的で頻出質問出すのはやめましょう。
ひどい、ひどすぎる。本気で質問してるのに・・・。初めてなのに。 ウザイと思うならスルーすれば良いじゃん。 誰もがあなた達のように常駐してるわけじゃないよ。 一体何様のつもり? と少し思ったけれど、標準API(本?)と前スレに書いてあるって事ですね。 ありがとうございました。
>>189 クラスやインターフェイスの存在意味は、オブジェクト指向の中にあって、javaの中に見出すことはできない。
本気で理解したいのなら、別途オブジェクト指向を理解する必要がある
一応、主な用法だけ挙げとくと、
強要・保障:メソッド・フィールドの実装が保障される。〜の実装を強要する
多重継承 : 同じインターフェイスを継承していれば、インターフェイスを介してメソッド・フィールドにアクセスできる
マーカー: 実装済みなどを表すフラグ
>>189 ウザイのはクソみたいな例を挙げる本であって、君じゃない。
君の質問は、クソを原因に、生み出されるべくして生み出された副産物。
「標準API」というのは、各OS向け Java 実行環境で互いに共通の、
「これを基本に使いましょう」として用意されてるクラス群のことだ。
String や System などももちろん含まれる。
(PC、PDA、携帯の各間だと少し変わるが、主要部分はほぼ同様)
クラスだけでなく、もちろんインタフェース定義も含まれており、
特定のインタフェースを実装したクラスを対象にしているクラス
(メソッドの引数の型がインタフェースになっているなど)も多数存在する。
勉強を進めていけば、標準API 中のインタフェースを実装しなければならない段階が必ず訪れるし、
そのときになれば、存在意義が途端にわかる。
また、自作のインタフェースを定義しなければならないことは当分ないだろう。
本の例には「自作」の域を出ていないものがあり、
ゆえに、ほとんどインタフェースにする意味のない、理解もしがたいソースでしかない。
194 :
デフォルトの名無しさん :04/07/05 14:45
>>193 おぉ、なんか解った気がする
あなたはいい人だ。
195 :
デフォルトの名無しさん :04/07/05 14:51
藻前らよ。 J2SE1.4.2_05がリリースされたみたいですよ。
196 :
デフォルトの名無しさん :04/07/05 14:55
現在JSP使ってるんですが質問があります。 WEBアプリケーションでダイアログをクライアントに表示する方法ってなんかありますか? SWINGじゃやっぱりサーバーに表示されて無理っぽいので。 参考になるページか資料等お教えいただけないでしょうか。
>>196 ダイアログ?
Alert Windowsみたいなのか?
だったらJSPとかSwingでなくJavaScriptだけでもできてしまうが。
どうしてもJavaを使うならAppletまたはJavaWebStartと併用してしまうのがよろしいかと。
そのなかでSwinかAWTどちらかは使うことにはなるが。
>>196 <jsp:embed>とか使って棚、Appletを呼び出し、結局、あのディレクトリにJavaユーティリテイクラスを置いてだな、
SwingまたはAWTを使って棚(ry
またはJavaWebStartとして<a href="なんとか.jnlp">クリックするとダイアログが表示されるよ</a>
みたいなのを作ってjnlpファイルを用意しておくんだよ
199 :
デフォルトの名無しさん :04/07/05 15:02
>>197 仕様上Javaじゃなきゃできないような確認なんです。
やっぱりアプレットになるんでしょうか。
そちら方面調べてやってみます。
>199 サーバ側の情報をJSPでscriptにわたしてあげれば別にできるんじゃないの? っていうかWEBアプリのことわかってないでしょ?
201 :
デフォルトの名無しさん :04/07/05 15:38
>>200 だからそれが不可能だから悩んでるんです。
それでできるんなら最初からそれでやってます。
>サーバ側の情報をJSPでscriptにわたしてあげれば これが不可能な分けないだろ。 簡単にできるぞ。
203 :
デフォルトの名無しさん :04/07/05 15:42
>>202 だから、今作ってるWEBアプリの仕様上の理由で無理なんですって。
>>202 >だからそれが不可能だから悩んでるんです。
不可能なのはあなたが無知だからでしょ。そうそう軽々に不可能とか言っちゃダメ。
情報技術において「不可能」というのは「仕様で決まってる」とか「そもそもそういう仕様ではない」ときに使う言葉。
はっきり言えば「可能」。あちこちのサイトで実現させてる(手法としてお勧めではないけど)
JSPから入った奴の例に漏れず、わかっちょらんようだね。
JSP/サーブレット というのは、HTTP のみを通じてユーザとやりとりしている。
基本的に、クライアントには HTML や画像しか送れないんだよ。
要するに、新聞紙を一枚送ってるようなもんだ。
HTTP がなんだかぐらいは分かっていて欲しいんだが、分かってないならそこから勉強した方がいい。
JSP として書いたソースは、最終的に作り出される一枚紙を作るためのソースに過ぎない。
紙を作る課程が実行されるのはあくまでサーバ側だから、
ソース中で swing なんか使おうものなら、サーバ側のデスクトップ環境にダイアログが出るのは当然。
これが JSP まわりの基本的な仕組みだが、分かってないならちゃんと勉強した方がいい。
"ダイアログを出せない" と言うのは JSP 固有のものじゃなくて、
HTTP / HTML の仕様に沿ってるからに過ぎない。
それでもとにかく無理矢理やるには HTTP の本道から外れたことをしなきゃならない。
つまり、「この紙を開くときこれこれをしろ」と、HTML のすみっちょに書いて、ブラウザにこっそり命令する。
だから、こういう外れたことに対応しているブラウザを使う必要がある。
早い話が、JavaScript とか Applet とかを使うなら、
ブラウザの種類・バージョン・ユーザの実行環境・設定によって振る舞いが微妙に変わる。
ユーザによっては、どうやったってダイアログが出ない状況であることもある。
結局、間違いない方法は、ダイアログっぽい HTML を、form タグで表現すること。
また、ダイアログで例えば OK/Cancel とか Yes/No を聞くならば、
それをまた HTTP で JSP 側に返してやらなきゃならない。
これも、HTML が分かってないことには、設計は難しい。分かってないなら、そっから勉強した方がいい。
仕様上の理由ってのも、微妙なところだ。 無理と思いこんでるだけかもしれんしな。 切羽詰まってないなら、一晩寝て明日考えてみるとうまい回避策とか出るかもしれんぞ。
レス番間違いね。
>>201 ないし
>>203 でした。
>>203 どういう仕様で不可能なのか言ってごらんよ。
>SWINGじゃやっぱりサーバーに表示されて無理っぽいので。
なんて言ってる時点で、全容を把握してないのは丸分かりなんだけど。
207 :
デフォルトの名無しさん :04/07/05 16:03
>>206 そもそもJSPやサーブレットは使わずほかの業務でも共通で使えるように設置された
共通用のユーティリティークラスでやれといわれている。
仕様変更してほしいといってるが通るかどうかわからん。
そもそも設計したのは私じゃない。
208 :
デフォルトの名無しさん :04/07/05 16:05
ジャバってクリップボード使えますか?
>>207 JavaScript が禁止されてるわけじゃないんでしょ? それならまだしも。
あなたの書いていることから導かれる答えは、
JSP でユーティリティクラスと対話して、
HTML ないし JavaScript でユーザと対話する
これだけの話じゃない。
別に
>>200 ,
>>202 の言ってることとは矛盾してない。
211 :
デフォルトの名無しさん :04/07/05 16:14
>>207 >そもそもJSPやサーブレットは使わずほかの業務でも共通で使えるように設置された
>共通用のユーティリティークラスでやれといわれている。
なのに
>>196 で
>現在JSP使ってるんですが質問があります。
>WEBアプリケーションでダイアログをクライアントに表示する方法ってなんかありますか?
って聞いてる。
アホかと。バカかと。
初めからSWINGかAWTで全部やれ。
>>211 いやたぶん、日本語がまずいだけ。
JSPやサーブレット「に限らず」ほかの業務でも共通で使えるように設置された
の意と思われ。
JSP/サーブレット入門者のよくある状況
・サーバで実行されることを分かってない
・サーバでコンパイルされることを分かってない
・どの時点でコンパイルされるのか分かってない
・System.out の出力先がサーバであることをわかってない
・awt/swing などの GUI の表示先がサーバであることをわかってない
・ユーザに渡るのが単なる HTML であることを分かってない
・HTTP が何だか分かってない GET / POST も違いなんか知らない
・アプリケーションなんか作ったことない
・JSP = Java の基本スタイルだと思ってる
おまけで
・Cookie が何だか知らない
・JavaScript なんか触ったこともない
・CGI/SSI なんか当然のように知らない
分かってませんでした・・・と恥じ入ってフェードアウトしたり、そもそも反応が返ってこない例はよく見る。
それで「ついでに教えて下さい」というのは全然構わない(スレ違い・板違いなことが多いが)
知らない・分からないということを自覚せず、
言われてることを理解できてないのにひとりでキレるというのは初めて見たかも。
>>199 >
>>197 > 仕様上Javaじゃなきゃできないような確認なんです。
> やっぱりアプレットになるんでしょうか。
あふぉいえ。AppletだけでなくAWT/SwingでもできるぞJavaWebStartを使えばな。
ダウンロードされてから実行もの
HTMLの表示, JavaApplet, JavaWebStart, Flash, JavaScript, VRML
ダウンロードされるまえにサーバ上で実行されるもの
JSP, Servlet, CGI/SSI, ColdFusion, ASP, ASP.NET, PHP
ということを
>>196 は理解しているよな?
これをよめば理解できるだろう。
おそらく196は自分が何をわかってないかわかってないんだろうな。 かわいそうに。
216 :
デフォルトの名無しさん :04/07/05 17:31
217 :
デフォルトの名無しさん :04/07/05 18:04
C++のプログラムを移植しています。 htonl()に相当する機能はありますか?
クライアントの情報取得しない限りは、サーバー側で対応可能だと思うんだけどね。 「共通用のユーティリティークラス」が足をひっぱってるとみたぞ。 Commonsに信頼性が高い柔軟なのが全部用意されてたりして。
219 :
デフォルトの名無しさん :04/07/05 19:10
オマイら、お疲れ様です。 へなちょこPGのオイラは今日も残業も無く早くも自宅です。 SwingつかってGUIプログラミングの勉強がしたいんですが 課題を思いつきません。 初心者に難しくもなく、かつ簡単過ぎでもない良い課題があったら 是非、教えて下さい。おながいします。
>>219 zip の階層構造と各ファイルの名前・パス・サイズの情報、内容(特に画像)のプレビューができるアプリケーション
もちろん File 選択からも開けるようにし、できれば DnD もできるようにする
使うもの:
JTree, JTable, JSplitPane, JScrollPane,
java.util.zip.*, DnD 関連のもろもろ、ImageIO, などなど
これができないぐらいの初心者だったらチュートリアルでもなぞっとけ
つか PG と名乗っていいかどうか疑問
なんか、自分がこんだけ知ってるんだ、って言ってるだけみたいな人がいますね。 GUI構築のプログラムはツール使って、やりたいことに専念するほうがいいです。 いまのとこ、GUI構築ツールとして気軽に使えるのはNetBeansってことで。 最初はJTableのセルに画像表示したり、セルの項目をJComboBoxで選べるようにしたりするのがいい。
レス、サンクスです。 初心者なんですが、なんとか頑張りたいと思いマス。 NetBeansも名前だけ聞き覚えがある感じで。 とりあえずググっときます。 けっこー課題考えるのってムズかしいですね。。 > 最初はJTableのセルに画像表示したり、セルの項目をJComboBoxで選べるようにしたりするのがいい。 参考にさせてもらいます!
>なんか、自分がこんだけ知ってるんだ、って言ってるだけみたいな人がいますね。
俺のことか? よく読んでみな。そんな大層なものじゃない。
エディタじゃない、単なるビューワだし。
応用のきかなそうな知識は DnD くらい、その実装も「できれば」と書いてある。
>>223 普段どっかで見かけてるものをそのまま再現する方がいいと思って書いた。
わかるとこから長いスパンでやっていったらいい。
zip がアレなら、最初は或るディレクトリの中のファイル一覧、でも別にいいし。
>最初はJTableのセルに画像表示したり、セルの項目をJComboBoxで選べるようにしたりするのがいい。
JTable に関して言えば、これよりもっと簡単だ。
ただし上記を実現するためには Renderer, Editor ちうのが必要で、
JTable を使いこなすには大変重要な知識だ。
お手軽さもあり、カスタマイズして使うのもよしで いまのところ無料でGUI構築はNetBeansが頭一つ抜けてるからなぁ まずはNetBeansになれることから デフォの環境だと使いにくいと思うのでカスタマイズするべし 最初はide.cfgいじるところからかな
226 :
デフォルトの名無しさん :04/07/05 21:05
>>219 いや、NetBeansよりもEclipseをおすすめする。
GUIプラグインでSwingアプリを作れ
妙にzipにこだわるね
>>217 htonl()とはどういうライブラリの関数なんだか。
>>226 いまのところVEは使い物にならない
そしてVE以外はお察し
有料ツールならいいのあるようだが今は無料の話だしな
コンポーネントガシガシ作るような人はNetbeansが楽だとおもわれ
230 :
デフォルトの名無しさん :04/07/05 21:34
>>229 でも、作られるコードが嫌なんだよな
if else if else if …
>>230 何も考えずに扱うJBuilderよりだいぶましと考えれば。
そういやVEってpackとかはき出してくれる?
setSizeみてびっくりした記憶がある。
これじゃぁ使い物になるはずがないよなぁと。
232 :
デフォルトの名無しさん :04/07/05 22:05
j2sdkダウソできないのはおれだけでつか?
>>233 おれ。
sunからj2sdk落とせなかったんだが、自己解決。津田塾大ミラーから落とせますた。
235 :
デフォルトの名無しさん :04/07/05 22:21
Cで構造体で扱っていたデータがあります。 サイズは48バイトでchar配列にしてネットワークに流していました。 これをJavaで行うとするとクラスにしてシリアライズでしょうか?
>>235 クラス作って、通信はRMI。シリアライズとかは環境任せ。
>>230 吐き出すコードはある程度カスタマイズできるし。
JBuilderの方が使いやすくて無料版もあるとはいえ、登録して郵送待ちなんてやってられない。
238 :
デフォルトの名無しさん :04/07/05 22:54
>>326 RMIについて調べてみます。
フィールドだけのクラスを作ってシリアライスしてみたのですがバイト配列に突っ込むとサイズが127バイトになります。
48バイトとの差分は何が入ってるのでしょうか?
>>238 オブジェクトの型情報とか、JRMPのプロトコルメッセージとか、、
いろいろオーバーヘッドあるんだよ。
受け取る側が変わらないなら、byte[]でソケットに流せ。
複雑なデータでなければバイト配列なんかでもいいと思うけどね。
ぶっちゃけエンコード・デコードさえできればなんでもいい。
>>235 ,236
241 :
デフォルトの名無しさん :04/07/05 23:09
ところで、
>>221 位からの流れもよくわかんないような素人な漏れは
まずは標準APIを使い倒すような訓練からすべきなんでしょうか?
WebアプリからはいったんでStrutsでもやってみようかなと思ってたりしたんですが・・・
>>241 ListあたりやReader/Writerが使えないなら。
いろいろやるならGUIまわりやRMIも。
リモートオブジェクトは大切だからな。
でも、Strutsはとりあえずやっとけ。
>>242 レスdくすです。
List,Hash,Reader/Writerあたりはよく使ってます。
Struts挑戦してある程度ものにしてGUIやRMIも勉強していきますね。
ありがとうございました。
byte[]配列で処理します。 ありがとうございました。
245 :
デフォルトの名無しさん :04/07/05 23:35
すみません。技術的な質問ではないんですが、 一度Javaプログラマとして何も知らんところから就職してサーブレットやら JSPやらEJBのプロジェクトに派遣されました。もちろん、会社の出した経歴書は 詐欺みたいなもんです。半年でやめました。 それから、2年間サーブレットやらJSPやらEJBやら本という本を買いまくり 本の出てるレベルなら大概理解したつもりです。 自分でも何個かプログラムをくみました。 しかし、いかんせんGUIなどはあまりしりません。ネットワークとかも知りません。 こんなんで就職して大丈夫ですか?
>>245 しばらくはServlet/JSPプログラマで食ってける。
でももって2、3年だと思う。
JSPベースのシステム開発は旬を過ぎている。
企業ユーザはWebアプリなんか望んでいない。
J2EEでWebアプリというソリューションは、開発側
の都合でしかない。
>>245 中小の人売り系ソフト屋なんて大体そんなもんじゃないかなぁ
うちの新人は、System.out.println();を4月までわかってなかったが
今、案件でJSPとServletとか詳細設計からやってるよw
GUIなんて勿論しらないし、pingやipconfigすら使ったことないずぶの素人だよ
本で勉強するより、現場でソース盗んで見たり、
納期に終われて死に物狂いでやればすぐ書けるようになる
教えてもらいやすい人脈作り等、むしろ社会ではそっちのが大事かとw
>>246 しばらく、食っていけるんですか。それ以上が必要なわけなんですね。
大変貴重な意見でありがたいです。なにしろ自分ひとりでやっていると
全然、PGの人たちの仕事の中身とかわからないので。。
とりあえず、2、3年は良いということなので、再就職してから道を考えればよいですね。
ありがとうございます。
>>247 そんなもんなんですか??僕の時は客先はめちゃくちゃ怒ってましたよ。
僕みたいな人もたくさんいるんですね。僕の会社くらいかとおもいました。あんな無茶を
させるのは。
入ってから修行の方が手っ取り早いかもしれないんですね。そっち方面のやりかたも
考えて見ます。ありがとうございました。
たびたび初心者です。 Swingを使ったGUIの勉強しようと思って色々と調べたんですが EclipseでSWTとかの方がいいんでしょうか? さっきアドバイスを貰ってからはNetBeansでSwingでいこう思ってたんですが 色々と迷いが。 Webを調べれば調べるほどどっちにしようか迷ってしまって。 VEがVisual Editorであるということもさっき分かりました。 んで飯食いながら練習課題も考えていたんですが DataBaseビューワのようなものを作ることに決めました。 PostgreSQLの勉強もしたかったんで一石二鳥狙ってきます。
>>247 > 本で勉強するより、現場でソース盗んで見たり、
> 納期に終われて死に物狂いでやればすぐ書けるようになる
やっつけで、とりあえず動くものをでっち上げるならね。
勉強してない人は、ライブラリ使えばいいものを自分で作ったり
そもそも作らなくていいものを作ったり
適当に作ってださなくていいバグだして、徹夜して修正してがんばって仕事してるフリしたりする。
>>250 >やっつけで、とりあえず動くものをでっち上げるならね。
>勉強してない人は、ライブラリ使えばいいものを自分で作ったり
うーん、そんなつもりで書いたんじゃないけどね。
向上心があればさ、案件終わった後にソースを持ち帰ってレビューしてもらったりすれば成長するじゃない
逆に向上心がないと、どんな仕事やったってどんな会社いったってサボるだろうし同じだと思うけどね。
漏れも社会に一旦出て会社辞めてバイトしながら溜めた金はたいて学校通いなおして今PGしてるからさ
納期のない生活とある生活&責任感だと成長が違うかなっていいたかっただけなんよ
ってスレ違いっぽいんでこの位で・・・
まぁ
>>245 タソガンガレ
>>251 > 納期のない生活とある生活&責任感だと成長が違うかなっていいたかっただけなんよ
いい会社なら、言うことないんだけどね。
向上心ないやつでも向上心もつようになるし。
だめな会社なら、目も当てられない。
勉強する時間も取れないし、創意工夫も認められない、っていう職場もざらだと聞く。
環境が悪いと、向上心なくなるし。
>>219 初心者がSWTをやるのは*激しく*お勧めしない。
どうでもいいがデータベースはDatabaseで一単語だ。
>>252 ありがとございます!
ポンと背中を押してもらえると見る前に跳べそうです。
最後のリンク英語ですね…
とりあえずNetBeans/Swingからがんばります。
逝ってきます。
ま、リンクのURLみればわかる通り、日本人にわかりやすい英語で書いてある。
257 :
デフォルトの名無しさん :04/07/06 00:28
めんどい
>>257 なんか、タイミングがおかしいが、最近はやってるの?
259 :
デフォルトの名無しさん :04/07/06 00:38
>>246 >
>>245 > しばらくはServlet/JSPプログラマで食ってける。
> でももって2、3年だと思う。
2, 3年という推測はどういう計算で出たのだろう?
JSPベースというのも何か変では無かろうかと。
WebServicesではまだまだ上手でないかと。
J2EE関連に加えJava関係でさらに何かを学べば強力な需要がみえてくるかと思われ。
>>260 それなりのタイミングで出てくるから、脳内スクリプトかな。
もし、253あたりに出てたら、キレそうだ。
>>217 ない。というか不要です。
Javaのlongは全プラットフォーム共通でbig endianなので、
ホストオーダがbig endianかlittle endianかを意識する必要はありません。
ネットワークオーダはbig endian(と思う)なので、変換の必要はないかと。
私自身Javaでネットワークプログラミングってやったことないのでちょっと怪しいかもしれませんが。
>>259 Webアプリケーションがダメなんじゃなくて、HTMLによる
クライアントという存在に未来がないといっているだけです。
>>263 ブラウザが無くなる、と。
もしくはJavaがほとんどの環境にインストールされる、と。
使う人が限られた社内システムだとブラウザベースのアプリケーションは不要な気がするけどね。
リッチクライアントだと巷では言われてるが、 クライアントを別途作らなければならないのがつらいとこだな
リッチじゃない奴がリッチクライアントなんか作れるもんか。 金をくれぇ
>>265 結局Webアプリにしても、ロジック側とウェブ側は別になるから、あまり変わりない。
>>262 > Javaのlongは全プラットフォーム共通でbig endianなので、
嘘を書くな。Java の long/int/short には endian の概念は無い。
自力で big endian か little endian になるように byte[] に配置したりするだけ。
DataInput/DataOutput とかでは big endian で入出力する事になってるし、
NIOでは Buffer にエンディアンを指定できるけどね。
厳密な話をしないと、怒られるってことですね。
別に厳密でなくてもいいけど、
>>262 のはハッキリと嘘を書いてるから。
JavaでCookieに書き込みってできますかねぇ?
RMI のリモートオブジェクトがどこの VM のものか調べる方法はないですか? あるいは、公開しているリモートオブジェクトに接続しているマシンを知る方法でもいいのですが。
274 :
デフォルトの名無しさん :04/07/06 09:27
>>274 文脈から想像するに、
「VE以外のプラグインの完成度は察してくれ(良いものではない)」
ってことだろ?
また煽り厨か
GUIエディタってのは結局統一しないとダメだからな 開発者間でバラバラじゃ使い物にならない そしてVEだけが今注目されていてVE以外ドキュメントが少ない・・・ というわけではなくてVE以外商用はダメとか品質的に使い物にならないのが正解 VEもまだまだβだしな 総合的に見てもGUIエディタは NetBeans>JBuilder>Eclipse だろう JBuilderは扱いやすさとかトップクラスなので試す分にはいいが 生成されるコードを意識してないとボーランドのライブラリが入り込んで JBuilder以外でそのままコンパイル通らなくなるのだけ注意 NetBeansは自動生成されたコードが保護されるので初心者にこそ勧めたいが 最初のIDEのカスタマイズでくじけそうになりそうだしなぁ デフォのままだと一番使いにくいかもしれない
>>277 VEがベータ? バージョンが0.5になっただけでベータ扱いかい?
あれはβ品質
281 :
れいちゃん :04/07/06 14:39
jspの変数の値をjavascriptで拾いたいのですが、どうすればよいですか!?
>>281 JavaScript生成部分に埋め込み。
みんなIDE何使ってるの?
>>284 Eclipseを使ってる。
最初はAnt + 秀丸とかviだったか2chでEclipseの存在を知り途中から切り替えた
>>277-280 0.5.0はWSADからほとんどそのまま持ってきてるからSwingのとこは
IBMのリリースレベルには達しているはずだけどSWTがだめだめ。
1.0milestoneはR3.0対応で手を入れている。
で、どっちにしてもやっぱベータ。
と思うんだけど、WSADしかつかったことないからな、おれ。
使用頻度の高い順にNetBeans、JBuilder、Eclipseかな。 JBuilderは過去の資産があるために単純に捨てられないが徐々にNetBeansに 移行している。ただし、データベースエクスプローラがらくちんだったり WEBアプリの設定はJBuilderのほうが容易で一長一短といったところだが 無料で手に入るNetBeansは新規のプロジェクト立ち上げ時やテスト的なものや 教育などで導入しやすい。 まぁ、この点だけならEclipseも同じだがセットアップの手間がEclipseは少しあるかな。 俺の仕事は業務系なのでwebアプリはここ1,2年減っていてリッチクライアントが かわりにのびているので自然とNetBeans使うという状況になっている。 SWTはリッチクライアントとしては使いにくいこと、業務系で多用するテーブルが 作りにくいことで自然と使わなくなる。 コードだけ書くようならEclipseがいいだろうね。 テキストエディタ+SDKだった人は移行しやすいはずだけど、正直その程度で 間に合ってる人なら(効率的に失礼ながら)本当に仕事で使っていたとは思えないので どのIDEでもいい希ガス。 NetBeansは取っつきにくさはトップクラスかもしれないがなれてくるとそれなりにいい という感じ。JBuilderはとっつきやすさは段違いでその点でEclipseやNetBeansは 大きく後れを取る。
>>288 eclipseはVAJの反動がかなりきているような。
VAJはファイルシステムを意識しない(というか存在
しない)クラス検索・リポジトリ・バージョン管理システムの
三点セットとか、それを支える独自VMとか、イベントの取り回しまで
GUIエディタでどうこうできるとか、かなり使い始めのハードルは
低かったと思う。
でもEclipseになったら最低限
パッケージ名とディレクトリ構造の関係とか、
CVSとかJDKの使い方とかはしらないと駄目だね。
まあどれも最低限の知識ではあるけれど。
そのかわり中身が見えていろいろできて
かなりよくなった。
Eclipse自体やVEとかTomcat連携とかでもそうだけど、それぞれを知ってる人向けだと思った。 EclipseでJava開発するには、Javaの知識が他のIDEに比べて必要だし、VE使うにはSwingの知識が必要だし、Tomcat連携するにはTomcatの知識が必要だし、といった具合。 それぞれの知識があるなら使いやすい。 つまり、勉強のために使う環境ではないな、と。 Eclipseもとっつきにくい。
逆に、あんまりいれたりだしたりだと勉強にならないと思うよ
メモ帳+SDKで十分じゃねぇの?
>>290 逆に知らないで使えてしまう方が後々問題が大きくなるような気がするけど・・・
294 :
デフォルトの名無しさん :04/07/06 16:01
Eclipseが流行っているときに このスレにはなぜかJBuilserやNetBeansマンセーが多いことに驚いた。 しかもEclipseがとっつきにくいという意見にも驚いた。 自分にとってすごくとっつきやすいEclipseがそう思われているとは驚きでありまする。 Eclipseを使う以前はエディタ + Antだけで済ましていただけにかなりの驚きですぞこれは。
SunはVBなみの開発環境の次は、実行環境 に手を出してもいいだろ。 VBとちがってコマンドプロンプトの使い方 から覚えるのはかわいそうだなあとこのスレ 見ててたまに思う。OSのサービスとして クラスのリポジトリサービスを動かして クラスブラウザでごにょごにょできるとか そういう初学者向けのJavaの実行系 があってもいいと思う。
>>294 いや、エディタ + Antで済ませることができてれば、Eclipseは十分だよ。
>>293 VBみたいに隠しまくってるわけじゃないから、使ってるうちにわかるし。
Eclipseはメニュー構成がよくないので、最初から感覚的に使う、というのは難しい。
>>292 そのメモ帳がコード補完してくれるならね。
っていうか、コンパイルのたびにVM起動するから時間かかるし。
EclipseやらNetBeansやら、Java製IDEだとコンパイル一瞬。
エディタ使いとかいっても、メモ帳からemacsみたいなシンクウェアまであるから 侮れない。 全然関係ないがメモ帳で勉強し始めて拡張子の.txtに気付かないってパターンを 最近見なくなった気がする。気のせい?
>>300 見なくなっただけかと。
まあ、最近の雑誌の入門記事は、「Eclipseで始める」になってるものが多いから、そこでは躓かないのかな。
漏れは、emacs&meadow派だな IDEの方が何かと便利そうだが、体が受け付けないw 困ったもんだ
ところでちょっと質問です java1.4.1から1.4.2-05に入れ替えたらappletviewerの動作がおかしくなったような とりあえず動くのだが、メニューの再起動で止まるし、再読込で落ちる jarファイルの中の画像・音声ファイルは読んでくれない ブラウザでは問題なく動く。OSはME これは不具合なのかな。それとも1.4.2からこういうものになったのかな?
Meという時点で、あぁ仕方ないねぇ、と無条件に思ってしまう。 1.4.2_05の不具合で2000でも同様かもしれないんだけどね。
Meマンセー
>>303 手元のWinXPと1.4.2_05で、
メニューの再起動でエクセプション出すことがある、
再読み込みでウィンドウが消える、プロセスが落ちてはいない、
のを確認しますた。バグってるね。
ウィンドウズ処方箋。。。 最近は appletviewer のことまで載ってるのか
>>294 Eclipseはどう考えてもIBMの宣伝のおかげで広まったと思うぞ
去年はかなり宣伝にお金かけたとおもわれ
しかし、EclipseVisualEditorの登場のおかげでJavaでもVBのようにやっと
GUI開発環境ができたとか平気で書いている本が多いのを見ると
ボーランドとかsunとかかわいそうになってくるな
if文の条件式でこんなことがしたいのですが if( a == null ) aがnullの時はnullpointerexceptionがでてしまいます。 どうすればいいでしょうか。
>>310 どんなウィルスにやられたのかは知らないけれど
キ印は芯でください。
>>312 どんなウィルスにやられたのかは知らないけれど
キ印は芯でください。
>>310 if( a == null ) { //こんなとこでは絶対出ません
a.hoeMethod(); // ここで出てるだけじゃないの?
}
あぁ、そうです。ごめんなさい。 if( a.hogeMethod() == null ) { で出てます。
>>315 hogeMethod()の中を見るという発想は出てこなかったの?
317 :
デフォルトの名無しさん :04/07/06 23:28
>>309 >
>>294 > Eclipseはどう考えてもIBMの宣伝のおかげで広まったと思うぞ
> 去年はかなり宣伝にお金かけたとおもわれ
宣伝よりも軽さ、リファクタリング、テストファーストなどExtreme Programmingを実践しやすい環境を
タダで、しかもオープンソースで手に入れられる、優れたプラグイン拡張に加え、他の言語の開発もできる、
ゲームでもビジネスソフトとしてもなんにでも使えることが広がったきっかけになったんだと思うぞ。
>>315 普通はこうだろ
if( a != nul l){
a.hogeMethod();
} else {
//aは使わないまたはインスタンス化
}
それか
try {
a.hogeMethod();
} catch (NullPointerException e){
//aをインスタンス化してから何かする処理
} finally{
//何か。
}
>>316 hogeMethod の中で起きたなら、
if 文のとこは stackTrace の終端にはならない。
うおー難しいです。
>>320 さんのtryで頑張ってみます。
>>317 最初に広まったのは軽さと宣伝。
定着させたのは優れたコード支援。
機能的にはリファクタリングを除けばNetBeansで可能だし、オープンソースじゃなければJBuilderも同じ。
J2SE1.3のクソ重いSwingのときにアノ軽さはインパクトがあった。
1.4.2でSwingが速くなった今は速度的な優位性はなくなったけど、抜きん出たコード支援が開発者を離さない。
めったに使わないリファクタリングより、ローカルヒストリーから得られる安心感がでかいと思う。
リファクタリングがキラーファンクションなら、「NetBeans4.0でEclipseの牙城も崩れるか」という話がでてもおかしくない。
>>323 ていうかEclipseを宣伝してもあまり儲からない気がするが。
むしろIBMの目的はJavaプログラマを増やすことだけだったんじゃないかと。
>>323 いやキラーはExtreme Programmingをしやすい環境、
プラグインの拡張性、開発のしやすさだと思う。
はっきりいって起動のキビキビさ。つまりSWTの力
挙動だ、まあいいよなどうでも 所詮俺は薄汚れたどぶネズミだから。 ミッキーと同じで
>>324 IBMが元をとるのは、これからだよ。
これから2年くらい見てればわかる。
>>325 JBuilderなんかは、早くからプラグインのユーザー側での開発に力入れてたんだけどね。
しょせんボーだからか。
XPってユニットテストとリファクタリングとCVS?
共通の処理と固有の処理がある クラスをたくさん用意したいんですけど(100個ぐらい) どうすればいいんでしょうか? 抽象クラス作ってその継承クラスをたくさん作るしかないですか?
>333 設計というかVCからの移植なんで変えられない。。。 扱うデータは文字列だけなんだけど。。。
>>334 > 設計というかVCからの移植なんで変えられない。。。
じゃあそのとおりにすればいいのに。
VCでクラスたくさん作ってるなら、設計変えられないならJavaでもクラスたくさん作るしかないだろ。
>>332 異なる手続きはどう転がしたところで異なる手続きとして実装するしかないっしょ。
水平展開に持ち込めれば、それはクラス設計完了状態だとおもっていんでない
かい。多分orz
適当に抽出したりデザパタ使って整理するとかできるかもしれんけど、ソース
ミシテもらわねば、こっちはどうすりゃええかわからんゼヨ。
AspectJの出番かな。
>335さん、336さん ありがとうございます。 そうですか、 手続き型で組まれてたものを -> JAVAで作るからなるべくオブジェクト指向で組む てことだったんですが やっぱ設計に問題があるのかもしれません
>>323 細かいところは3.6で多少よくなったけどねぇ
見た目が大きく変わってSystemLAFを使うようになったのも影響でかい
単純にオープンソースでプラグインでjava以外も開発可能ってだけなら
NetBeansでもかなり前からやってることだし
ただ、JavaStudio売る気まんまんだったのかまったく宣伝してこなかったから
かなりの差が付いたと思われ
1.4.2からNetBeansがsdkのダウンロードページにについたのは面白いけどね
NetBeans4の目玉はリファクタリングよりEJB開発を標準装備のところかな
その領域はいままでは有償製品かわないとダメだったからね
棲み分けとしては
Eclipseがプラグインでいろいろいじれる反面取っつきにくさがあって
NetBeansが標準でGUIエディット、WEBアプリ、(今後)EJB対応で、
JBuilderが取っつきにくさはまったくないもののGUIエディット以外は有償
というところかな
なんにせよ競争が無くなるとまずいと思うのでみんながんばってくれと
>>338 設計は変えられる、ってことだよね?
まず、「Javaだからオブジェクト指向」という考えを改めるべき。
VCでやってたんなら、VCの段階でオブジェクト指向でできるはずだ。
Javaで組めばオブジェクト指向になる、みたいな幻想を感じる。
実際はオブジェクト指向の勉強をしなければオブジェクト指向にはならない。
ということで、根本から考えを変えつつ、憂鬱本、Javaデザインパターン徹底攻略、くらいから勉強を始めれ。
>>339 ボーランドは、稼ぎ頭のJBuilderがこけたらやばいよねぇ。
NetBeans4は、Webサービスも作れるという噂でちょっと期待。
実際は、Antベースのプロジェクトシステムの柔軟性がカギになると思われ。
使い心地がまるで変わってて移行しにくいから、ある種のカケだね。
ただし、構築手順のカスタマイズがうまいことできれば、ある程度のシェア奪えるかも。
質問です。 100から200までの数字のうち素数を探すというプログラムなんですが 以下のコードだと素数がひとつも見つかりません。 宜しくお願いいたします。 class Primes100To200 { public static void main(String args[]) { int i, j; boolean prime = true; for( i = 100; i <= 200; i++) { for( j = 2; j <= i / 2; j++) if( (i % j) == 0) prime = false; if( prime == true ) System.out.println( + i + " is a prime."); } } }
>>342 改行するなら中括弧使え。
バグのもとだ。
丸投げするなら宿題スレへ行け。
荒れるもとだ。
デバッガ使え くだらんハマリのもとだ。 デバッガ使い方知らんなら、脳内デバッガ使え。 ただし変数の内容は紙に書きながら、確認しろ。 そんでiを3ループくらいまわしてみろ。
変数の宣言の仕方も一助。 必要ないスコープに持っていかない事。極力内側の {} 内におく。
ありがとうございました。 解決はしてませんが参考になります。 デバッガのことを勉強してみます。
>>346 NetBeansかEclipse使え。
IDEつかったほうがデバッガ直より楽という意味だろ
>>332 デザインパターンの勉強でもしてくれ。
そうすればわかる。まずはGoFから。結城浩の本でも読んでな
>>339 詳しいな。Eclipse以外はろくに使ってないのでよくわからなかった。
NetBeansスレにそういうネタをレポートして暮れよ
>>350 それだったらJUnitでテストケースクラスを作らせた方がいいかと思われ。
EclipseにもJUnitはついているけれども。
NetBeansは知らないけどついているかと。
>>352 NetBeansスレとか特定の環境のスレで比較だしたら下手をすれば荒れる気がする
他にJBuilderも使ってるからIDEの違いはよくわかるよ
そしてEclipseだけが出来が飛び抜けていいわけではないということも
だからこそIBMの宣伝がうまいなぁというところもよくわかる
それでも本とか見るとEclipse一色なのはなんでだろー
得意不得意あるんだから他のIDEも載せればいいのに
「必ずしもいいものが流行るわけではない」という言葉を思い出した
>>353 質問のレベルを考えるとUnitTestのほうのコーディングでミスしそうに見えないか?
あとJUnitはJBuilderにもNetBeansにもついてるぞ
まぁ、標準でついてなくても使えるけどな
355 :
デフォルトの名無しさん :04/07/07 10:14
InputStreamからデータを読み込む時に、配列をバッファーに しないですむやり方ってあるのでしょうか? また、InputStream内のデータのサイズを知る方法は 何かないのでしょうか?(実際に読み込む以外で)
java.net.URLやjava.net.URLConnectionを使ってインターネットに アクセスする際、methodをPOSTにすることは可能でしょうか。
>>355 > InputStreamからデータを読み込む時に、配列をバッファーに
> しないですむやり方ってあるのでしょうか?
java.io.InputStream#read() を使って1バイトづつ読み込む。
> また、InputStream内のデータのサイズを知る方法は
基本的には無い。
>357 >基本的には無い。 はい。じゃあ応用は?
>>358 java.io.File#length() 使ってファイルの大きさを見る、等々。
Java超初心者です。(以前VBの開発経験が少しありますが) NetBeansを入れて勉強しようと思っているのですが、 インストール後、早速コード入力した際に 各クラスの説明?の表示が英語となっています。 これを日本語にすることはできますか? (APIリファレンスをインポートすればいいのかなと思いつつ 何処からどのようにすればいいのか路頭に迷っている状態です) よろしくお願いします
JBuilder使えよお前ら!
>359
そうなんですか?例えばURLを
http:// 〜/〜.html?a=100&b=200
みたいに書いてアクセスしたら、METHODがGETになっていました。
どうすればPOSTにできるのですか?
いやそれPOSTじゃないだろ POSTってのはURLでいれこむものじゃないぞ
>>363 ぐぐれば見つかるよ
あとこの処理いらねえじゃんと思って削ると動かなくなったりするから気をつけろ
ググる以前に
>>363 の動作はgetメソッドで正しいのに
postは?という時点で間違ってる
>>363 はまずhttp自体調べた方がいい
postとgetが分かってないように見える
>366 なんでGETが正しくてPOSTが間違っていると言える? そうは言ってない?
本当はGETだけど、あえてPOSTにしたいってことだろ?
>365 どうも。解決しました。 >364さん、>366さんには意味が伝わらなかったようで。 すいませんね。
371 :
デフォルトの名無しさん :04/07/07 14:58
>>370 ページはEUCだな。
Javaの方もそれに合わせればいいよ。
早速返事していただきありがとうございます。
URLはい以下のように読み込んでいるんです。
URL url = new URL("
http://money.www.infoseek.co.jp/ ");
BufferedReader in = new BufferedReader( new InputStreamReader(url.openStream()));
これをJava内でEUCで表示するというのは
具体的にどうすればいいんでしょう?
よろしくお願いします。
373 :
デフォルトの名無しさん :04/07/07 15:20
>>372 InputStreamReaderにキャラクターセットを引数にできるコンストラクタがあるので、
そこでEUCを指定しろ。
しろじゃねーだろ
解決しました。 本当にありがとうございます。
376 :
デフォルトの名無しさん :04/07/07 17:43
>>342 半日たったのに誰も答えないとは。。。
for( i = 100; i <= 200; i++) {
boolean prime = true; ← これをここに移動してください。
for( j = 2; j <= i / 2; j++)
if( (i % j) == 0) prime = false;
if( prime == true )
System.out.println( + i + " is a prime.");
}
>>376 ご苦労さん。いかにも宿題くさいので「自分でやれ」と思った人ばっかだったんだろう。
>>377 実はネタだと思ってる人も結構居ると思われ。俺もそーだし。
いや。別に悪気はないんだよ。煽る気とかも。
でも失礼だが、
>>363 には笑った。。
>>361 これはソースのコメントからの注釈なので、APIリファレンスは関係ない。
日本語でコメントが書いてあるソースを引っ張ってきてどうこうするはず。
>>353 テストケース作っても、「素数が出ません、どうしたらいいでしょうか?」でおわる。
>>376 なるほど。prime が false から true に戻らないようになってたわけですね。
いぢくってたら別のコードができて結局解決したんですが
何故
>>342 がダメかわからずじまいだったので大変助かりました。
ありがとうございました。
>>377 宿題っていうか独習Javaの課題です。
まわりに聞ける人が誰もいないので苦労してます。。。
今日はEclipseをインストールしてみたものの使い方がほとんどわからず。
精進します。
WinAPIのGetKeyStateみたいに 現在のキー情報を取得するAPIはありますか?
385 :
デフォルトの名無しさん :04/07/07 22:26
これから仕事で、JAI(Advanced Image)を使用するのですが 日本語ページまたは書籍でわかりやすいものは ありますでしょうか?
↑間違えました。 Java Advanced Imaging です。
>>354 >
>>352 > NetBeansスレとか特定の環境のスレで比較だしたら下手をすれば荒れる気がする
比較するのにちょうどいいスレがあるぞ。
【Java】NetBeans vs Eclipse【IDE】
http://pc5.2ch.net/test/read.cgi/tech/1029407008/ > 他にJBuilderも使ってるからIDEの違いはよくわかるよ
> そしてEclipseだけが出来が飛び抜けていいわけではないということも
> だからこそIBMの宣伝がうまいなぁというところもよくわかる
>
> それでも本とか見るとEclipse一色なのはなんでだろー
> 得意不得意あるんだから他のIDEも載せればいいのに
> 「必ずしもいいものが流行るわけではない」という言葉を思い出した
軽いのとプラグインの豊富さが売りなんではないかな。
MP3プレーヤープラグインとか、ゲーム関係のプラグインとか。
JBuilderの人気が下がってしまったのは高いからだと思う。下位の無料版は
同じ無料のEclipseに比べて機能が足りてない気がする。
それとオープンソースでないところも人気低下の要因かな。
それから、EclipseがVisualWorksにそっくりなところかな。由来を知って普及した、みたいな。
それとインストールにインストーラを使わないのもポイントかな。
Unix使っている人から支持されるにはインストーラ依存は避けないといけない。
>
>>353 > 質問のレベルを考えるとUnitTestのほうのコーディングでミスしそうに見えないか?
それもそうだが。脳内ルールを決めておけば大丈夫だ。変数で置き換えずに
マジックナンバーをなるべく使う。ループは使わずなるべき展開して書くというルールを。
あとはスペルチェックのようなコーディング規約を守っているかどうかをチェックするツールがあればどうにかなると思う。
>>362 近頃のJBuilderの利点を教えてくれ
>>382 エラストネスのふるいアルゴリズムでチェックじゃいかん?
よく考えたら遅すぎて実際に走らせた方がはやいなあw
図書館とかにありそうな素数表をスキャナ+OCRで読みとるか
ネット上で見つけた素数表を使ってTestCaseクラスを正規表現を使い回しながら
自動生成してしまえばええんちゃう?
>>388 ・無料版でも商用利用可になった
・Struts関連の機能(ExadelのStrutsStudioみたいなやつ)
・近頃のSwingはそこそこ実用に耐えうる(JBuilderに限らず)
俺、無料版持ってるけど(某ランドから郵送されてきた)今のところこれくらいかな。
ただ登録がクソめんどいんで萎え。結局Eclipseに戻る。
>>383 >
>>376 > なるほど。prime が false から true に戻らないようになってたわけですね。
> いぢくってたら別のコードができて結局解決したんですが
> 何故
>>342 がダメかわからずじまいだったので大変助かりました。
> ありがとうございました。
>
>>377 > 宿題っていうか独習Javaの課題です。
> まわりに聞ける人が誰もいないので苦労してます。。。
>
> 今日はEclipseをインストールしてみたものの使い方がほとんどわからず。
> 精進します。
http://www.eclipsewiki.net/eclipse/ ここでも読めばわかるよ。
ついでに誰か、EclipseにもこういうWikiサイトがあるなら、JBUilderやNetBeans用にもこういうWikiサイト
とかないか?あったら教えて
>>390 俺もそれで萎えたことがある。
で、そのときは結局秀丸 or vi + Apache Antで満足していた。
当時のマイマシンではJBuilderは重すぎて、さらにJ2SEが重複するわ
Javaソースファイルを勝手に関連つけされるわ、
J2EEなどの高機能を使いたければ三十ウン万払えだとかで萎えた。
学生にはきついな。ある研究室ではとうとうJBuilderのアップデート購入をやめてしまったそうだ。
バージョン3くらいから7くらいまでアップデートしながら30万費やして研究費でかっていたらしい、が
教授もさすがに嫌になってやめてしまったようだ。
394 :
デフォルトの名無しさん :04/07/08 00:32
配列をバイナリサーチする関数はありますが、 配列を線形サーチする関数はないのでしょうか?
線形サーチってただの for ループだろ。
>>387 死滅スレと同じでそこ論争というより宗教でおわるからな
JBuilderの無料版で商用利用できるのはいいのだが
登録が面倒で結局使わなくなる
指摘しているとおり気軽にインストールして試すというのができないのが問題かと
NetBeansもWin版だけでもzipアーカイブ、jarインストーラ、exeインストーラと
選べるのがいいところだしね
手軽にセットアップするならzip展開だけで終わるし、インストーラがないと
ダメという人も多いしね
ちなみに一番下のものでもEclipseが苦手とするGUIエディタがあるので
単純には比較できないぞ
かわりにWEBアプリを扱うと中位製品が必要で上位製品でWEBサービス
といったところだが体系としては悪くない
EclipseやNetBeansが無料でwebアプリ作れるのがすごいだけ
軽さに関してはNetBeans3.6で重いと思ったことはない
Eclipseのほうがやや軽いと思うがもう問題になることはないね
3.5以前はそれはそれはもう重くて呆れるほどだったが
今のところ使い分けとしてはやはり
リッチクライアントなどGUI中心 NetBeans>JBuilder>Eclipse
WEBアプリ中心 Eclipse>NetBeans>JBuilder
初心者でも扱えるか JBuilder>NetBeans>Eclipse
だろうね
399 :
デフォルトの名無しさん :04/07/08 01:24
プログラミングについて質問させてください。率直に聞きます。 Javaに未来はありますか?C/C++,javaにちょっとさわったくらいでなんも わからないのでバカな質問してるかもしれません。 もし詳しく勉強するならC/C++とjavaもしくは他の言語、どれを学んだら 将来的に使えるんでしょうか?
>>399 バカな質問というか、バカが質問しているな。
401 :
デフォルトの名無しさん :04/07/08 01:45
Javaがサーバサイドのアプリに強い理由を教えてください
>>401 パソコンで開発してサーバーで動かすことができるから。
変なバグがでない仕組みがあるから。
データベースを賢く扱うしくみがあるから。
>>399 言語だけ勉強するならなんでもいっしょ。
Javaを勉強すると、構文やオブジェクト指向みたいな言語のこと以外に、データベースやらWebアプリやら広い範囲が勉強できるので将来的に使える。
>>393 「マニア的 なところを減らし」というところが、すごく遠まわしにEclipseを批判してると思う。
public class L32 { public static void main(String [] args) { String color; Lucky myLucky = new Lucky(); color = myLucky.getColor(); System.out.println( color ); } }
public class Lucky { int ransu; String kekka; String getColor() { ransu = (int)(Math.random() * 6); switch (ransu) { case 0: kekka = "赤"; break; case 1: kekka = "黄"; break; case 2: kekka = "青"; break; case 3: kekka = "緑"; break; case 4: kekka = "黒"; break; case 5: kekka = "白"; break; } return kekka; } }
409 :
デフォルトの名無しさん :04/07/08 12:05
Math.sin(Math.toRadians(180))は0になるべきだと思うのですが、 実際は1.2246467991473532E-16になってしまうんですが、どうしてでしょうか?
ちなみにsin・cosのアルゴリズムは角度の絶対値が大きくなると誤差も大きくなるから、0〜π/2までの範囲に正規化するほうが良い。 って、あれ?内部で勝手にやってるのかな。 気になったらソース見て。
413 :
デフォルトの名無しさん :04/07/08 13:24
JavaでCPU使用率を取得する方法って無いですか?
414 :
デフォルトの名無しさん :04/07/08 15:10
どこのクラスからこのメソッドがの呼び出されたのか調べたいのですがどうすればいいでしょうか?
>>414 1.4だったら new Throwable().getStackTrace() で調べる。
1.5だったら Thread.currentThread().getStackTract() で調べる。
どちらでも無かったら泣く。
>>414 わざと例外を起こして StackTrace を取り出す
あとなんだっけ ちゃんとした方法があったはずだけどバカチンなので忘れちゃった
新環境で増えたAPI だったか標準API以外の方法だったか
420 :
デフォルトの名無しさん :04/07/08 16:20
public void 2ch(){ StackTraceElement[] moe =new Throwable().getStackTrace(); System.out.println("TRACE"+STE[1].getClassName()); } でメソッド2chの呼び出しクラスがわかりました。 ありがとうごじゃいます。
これからjavaやります。よろしく。
いきなりですが、 JDK1.4.2_03 、 Tomcat5.0.18 、 Eclipse2.1.2 の組み合わせて開発しようと思いますが、どうですか? てゆーか本にそう載ってたので。 Eclipseの中で便利なエディタがあるようなのですが、それは使わないで秀丸で作った方がいいですか?
>>424 初心者はまず、本に書いてあるとおりにやった方がいいよ。
最初はいわれたとおり、書いてあるとおりにやって、意味がわかってきたらアレンジするくらいでいい。
守破離って奴。
いきなりすいません if (e.getActionCommand().equals("A") ) このあとに起こるアクションとして動かそうとするものが まずy座標に+50されてすぐにy座標に−50されるというものを作りたいのですがうまくいきません どうすればいいのでしょうか?ご教授お願いします。
427 :
デフォルトの名無しさん :04/07/08 18:59
多次元配列について質問です。 上位配列に値を指定して下位配列をメソッドに渡すことはできますが、その逆は可能でしょうか? 例: int a[][] = new int[2][2]; method(a[0]); とすると、method()にはa[0][0]〜a[0][1]を1次元配列として渡すことが可能。 同じようにmethod()にa[0][0]〜a[1][0]を1次元配列として渡したい。 以上よろしくお願いします。
java2Dに関して勉強したいのですがjava2Dのことを詳しく書いている 和書はありますか?洋書はひっかかるんですが英語が苦手なので・・・
Java2Dはひっかかるところってあるっけ? 普通にAPIみるだけでいいような VolatileImageやBufferedStrategyでバッファ用意しておけば ちゃんとハードウェアアクセラレーションも一部ながら効くし
>>426 ぜんぜん意味がわかんない。とりあえず該当箇所のコードを全部さらせ
>>427 同じように、というのなら無理
素直に新しい1次元配列にコピーして渡せ
431 :
デフォルトの名無しさん :04/07/08 19:44
javax.mail.internet.MimeMessage のgetSubject()でsubjectをとると正しくエンコードされてない メールの文字が文字化けしてしまって困ってます。 こういう場合はどうすればいいのでしょうか? いい案があれば教えてください
>>426 「y座標」とか「すぐ」とかいうのはあなたの頭の中でついてる名前や状態であって、
同じような名前や状態で表現できるものでよければ何でも書いてあげられるけど。
y+=50; y-=50;
これじゃだめでしょ?
>いきなりすいません
もっともだ。
>>427 やはり無理ですか。1次元配列に変換して渡すことにします。
レスありがとうございました。
>>431 正しくエンコードされてないんだから、
もはや、完全復元は諦めて、コードの傾向から正しいエンコードを予想するしかないでしょう。
そんなの Java とは全く関係ない話題のように思うんですけど。
>>428 クライアントサイド向けの技術は探すのは難しいね。
2D にもいろいろあるけど Shape とか Glyph とか Stroke とか Affine 変換とかかな?
API を全部弄くってみるしかないんじゃない?
そんなに複雑なもんでもないよ。
>>424 初心者がいきなり Tomcat か・・・なんか一抹の不安があるな。
とりあえずこのスレだけ、一回全部眺めてから取り組んでくれ。
眺めるだけでいいから。
>>424 本があるならそれに従えば?
NetBeansなら、Tomcat使うときのインストールが楽だからいいとは思うけど。
NetBeansだけインストールすればTomcat含まれてるから。
秀丸 + コマンドプロンプトは本質的じゃないところでつまづくので、勧めない。
438 :
デフォルトの名無しさん :04/07/08 20:34
>>434 getSubjectを使うとデコードされてしまってて
???!N・・・みたいな感じになってしまうんですが、
そのまま取得するにはどうしたらいいでしょうか?
>>439 ということは返ってきた
?N???G?C?^???X????
って文字列をそのままgetbyteで変換すればOKなんでしょうか?
いろんなパターンを試してみましたけど、ことごとくダメでした・・・
>>440 >いろんなパターンを試してみましたけど、
? のとこが '?' になりきってないかぎり、
16進でダンプしてみれば大体分かると思うんだが。
>>441 ↓こんな感じで出してみましたけど????になってます
どうすればいいんでしょうか?
--------------
HexDumpEncoder hexDump = new HexDumpEncoder();
byte buf[] = new byte[message.getSubject().length()];
message.getSubject().getBytes(0, message.getSubject().length(), buf, 0);
System.out.println("byte dump test:");
System.out.println(hexDump.encodeBuffer(buf));
--------------
byte dump test:
0000: 3F 4E 3F 3F 3F 47 3F 43 3F 5E 3F 3F 3F 58 3F 3F ?N???G?C?^???X??
0010: 3F 3F ??
--------------
>>442 getBytes(...)するときにエンコーディング
指定ができていないからだめ。デフォルトエンコーディング
を想定して再エンコーディングされてしまう。
そもそもこの形式のgetBytes(...)はdeprecatedだから使うべきではない。
使うならgetBytes("iso-8859-1")だね。ただこれも現在のiso-8859-1
エンコーダの実装が8bitスルーであることに依存しているから「絶対に
きれいなコードか」と言われるとこたえに困るけど。
>>443 ↓であってます?結果は変わらずでした
--------------
HexDumpEncoder hexDump = new HexDumpEncoder();
byte buf[] = new byte[message.getSubject().length()];
buf = message.getSubject().getBytes("iso-8859-1");
System.out.println("byte dump test:");
System.out.println(hexDump.encodeBuffer(buf));
--------------
byte dump test:
0000: 3F 4E 3F 3F 3F 47 3F 43 3F 5E 3F 3F 3F 58 3F 3F ?N???G?C?^???X??
0010: 3F 3F ??
--------------
>>444 失礼、最初のgetBytes(...)の仕様は正しくはデフォルトエンコーディング
ではなくて、charの16bitのうち強制的に下位8bitだけ出力だね。で、これの結果と、
実質的に無変換なエンコーディング指定のgetBytes("iso-8859-1")の結果が同じって
ことはgetSubject()じゃとれないって感じがする。少なくともgetSubject()した
時点では上位8bitは落ちているわけだから。
MimeMessage#contentってヘッダもrawのまま保持しているのかな。
してるなら継承して中身みるのもいいかも。
ところで
>>444 のメールデータって自分で作ったテスト用のデータで中身わかってんだよね?
>>445 中身はわかってます。
継承して中身を見る・・・ですか。
今日はこの辺にしときます。ありがとうございました〜。
ちなみにいじってるのはJakartaのJames2.2.0です。
MLのとこで文字化けするんですよね・・・件名を処理するときに
化けちゃうようで。
>>446 なかみわかってんなら、444の時点でそれがrawデータになっていないって
自分で判断つくはずなんだが...
とりあえずMimeMessageつくるまえのエンコーディングまわりで
すでに間違えているに+1.
メールのサブジェクトに日本語使うのは仕様上は不可だから 仕様どおりの実装だとしたら読めないのもある意味仕方ない。
449 :
デフォルトの名無しさん :04/07/09 09:04
おぉ!発見記念あげカキコ スマソ;
450 :
デフォルトの名無しさん :04/07/09 10:53
教えてください。 作成したクラスが大量のメモリを消費するため、VMに割り当てるヒープを増加したいと思いました。 java -Xmx 256…… のように書いてみましたが、サイズの指定が不正、というようなメッセージが返ってくるだけで、うまくいきません。 数値を変えたりmをつけたりしてみましたが駄目です。 正しい指定方法ってどんな書式なんでしょう……?
-Xmxn メモリ割り当てプールの最大サイズをバイト数で指定します。 指定する値は、2M バイトより大きい 1024 の倍数にしなければなりません。 キロバイトを指定するには、文字 k または K を付けます。 メガバイトを指定するには、文字 m または M を付けます。 既定値は 64M バイトです。 次に例を示します。 -Xmx83886080 -Xmx81920k -Xmx80m
>>450 java -Xmx256 -Xms64
453 :
デフォルトの名無しさん :04/07/09 11:12
JavaBeanってDelphiでいう非可視コンポーネントみたいなものなんですか? 質問の意味がわからない人はシカトでもいいです。気長に待ちます。
455 :
デフォルトの名無しさん :04/07/09 11:32
knoppix で、 Java の .jar のプログラムを起動するにはどうしたら良いのですか? クリックすると、解凍しようとしてしまいます。
456 :
デフォルトの名無しさん :04/07/09 11:32
1000以下の完全数(nの約数のうち、n以外のものの総和)を全て出力する Javaプログラムを作りたいのですが、いいアルゴリズムはないでしょうか。
>>455 jar ファイルの使い方の例:(manifest がちゃんと入ってる場合)
% java -jar Hoge.jar
ダブルクリックして上記のコマンドを自動で実行させるやりかたは、
knoppix のスレで聞いたほうが間違いない。半ばスレ違いだし私は無知。
>>456 アルゴリズムの話はスレ違い。私は無知。
>>456 「当たり前」のアルゴリズムならこうなるが。
「いい」アルゴリズムをここで聞いてもしょうがない。
public class Kan {
public static void main(String[] args) {
for (int i=1; i<=1000; i++) {
int sum = 0;
for (int j=1; j<i; j++) {
if (i%j == 0) {
sum += j;
}
}
if (sum == i) {
System.out.println(i);
}
}
}
}
とにもかくにも、夏休みってことで。。。
え、もう夏休み?
スペースが入らないんですね……。 ありがとうございました、無事に起動できました。
イベントドリブン・プログラムを作成し、 コンパイル後アプレットビューアにて起動させると、 Start: アプレットは初期化されていません。 と表示されて動きません。どうすればいいですか?
>>462 例外の詳細を調べるなど、問題を切り詰めて対処する。
>>465 「切り分ける」と「突き詰める」の合成語だよ!多重継承!
問題を突き分けろ
426です。 public void paint(Graphics gr){ super.paint(gr); gr.drawImage(img1, x,y, ch_w,ch_h, null); } public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("UP") ) {y -= 0;} if (e.getActionCommand().equals("DOWN") ) {y += 10;} if (e.getActionCommand().equals("RIGHT") ){x += 10;} if (e.getActionCommand().equals("LEFT") ) {x -= 10;} if (e.getActionCommand().equals("A") ) {y -= 50; y += 50;} } } で今現在「右」「左」「上」「下」「A」ボタンを製作しました。 で、それぞれの方向ボタンを押すとその方向にイメージが動くようにして Aボタンを押すとジャンプ、つまり上にあがり下に下がるという動き をつけたいのですがうまくいきません。どうすればいいんでしょうか?
なんでもいいからゲームプログラムの本を買ってくる
>>468 それはアルゴリズムの話であってjavaの話じゃない
好きなように実装しろ
もしそのジャンプの動きが把握できてないのならゲーム製作板にいてきいてみろ
正直ここでつまずくようだとゲームどころかプログラム向いてないかもしれん
Thread を立てて、新たな動きを指示する部分と、 実際に座標を変更する部分とを分けなければならない。 最終的に何を完成させるつもりかしらないけど、 勉強するより先に設計・コーディングはじめちゃうんだったら、遠回りは覚悟しないとだめだよ。
>>468 そういう場合、
y -= 50;
これをやってから一回表示更新、
y += 50;
これで表示更新、しないと
動きが見えないよ。
調べてがんばってみます。 どうもありがとうございました。
474 :
デフォルトの名無しさん :04/07/09 16:06
Javaを勉強しようとおもいインストールをしました。最初は1.5をインストールし エラーがでたので1.4.2_05をインストールしました。しかし同じエラーがでます。 どうしたらよいでしょうか? エラー内容は以下のとおりです。 java.lang.NullPointerException at java.util.Hashtable.put(Compiled Code) at java.util.zip.ZipFile.readCEN(Compiled Code) at java.util.zip.ZipFile.<init>(ZipFile.java:61) at java.util.zip.ZipFile.<init>(ZipFile.java:71) at sun.tools.java.ClassPath.<init>(Compiled Code) at sun.tools.javac.Main.compile(Compiled Code) at sun.tools.javac.Main.main(Main.java:465)
ソースコードは public class HelloWorld { public static void main( String args[] ) { System.out.println("Hello World!"); } } です。
という、質問が他サイトにあり、全然解決できそうもないので こちらで私が変わりに質問しました。 ということで私は質問者ではないのですが、質問者さんのはフォルダサイズが20MBくらい 正常のインストール時(私が試したもの)より小さいです。
エラーがいつ出るのかくらい書けよ・・・ OSもわからんし。
OSはWindows2000です。 エラーはコンパイル時にでます。 すみません。
rt.jar がおかしいと思うんだけどどうだろう。 どうやったらそんな中途半端なインストールができるのか分からんが。
僕もそうおもったんですが。。
とりあえず、ちゃんとダウンロードしてインストールしる。
ダウンロード先まで事細かに説明して、インストールしてもらったんですが。。 かなり細かく説明しました。多分OSかインストーラが壊れてしまっとると思います。 あー、もういいや。人のことだし。。 もし分かる人がいたら答えておいてください。時々覗きにきますんで。
インストール先じゃない?問題は。ドライブの容量が足りてないとか。
ドライブの容量か。。聞いときますね。ありがとう。 私、帰宅しますんで。夜ならレスみれます。
Windowsだとテンポラリーファイル名を取得するAPIがありますが、JAVAではどうしたら いいでしょうか?
>>485 System.getProperty("java.io.tmpdir");
>>485 File.createTempFile
Tomcat 4.1.30 なんですが、どこかのディレクトリにあった index.html を間違って 別のディレクトリに移動してしまいました。 元のディレクトリに戻したいんですが…… ↓中身はこんなやつです。 <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="GENERATOR" content="Mozilla/4.61 [en] (WinNT; I) [Netscape]"> <meta name="Author" content="Anil K. Vijendran"> <title>JSP Examples</title> <!-- Copyright (c) 1999 The Apache Software Foundation. All rights reserved. --> </head>
>>489 自己レス
webapps/jsp ですね…
\Tomcat 4.1\webapps\examples\jsp
J2SE1.4系のアプレットで、SSHクライアントを作成したいと思ってるのですが、 セキュアコネクション系のAPIはオプション実装のようです。 SSHコネクションを実現するような、フリーでオープンソースなライブラリはありますか?
JSSEって1.4には同梱だったはずだが。
CSVファイルの入出力をしたいんですが、JAVAではどういうふうにやるのがスマートですか?
すきなようにやれ
496 :
デフォルトの名無しさん :04/07/10 01:00
punlic abstract class CVSRecord { private String separator=null; private List items=null; public CVSRecord(){ this.separator=","; items=new ArrayList(); } public CVSRecord(String separator){ if(separator==null||"".equals(separator)){ throw new IllegalArgumentException(); } this.separator=separator; items=new ArrayList(); } public CVSRecord(int size,String separator){ if(separator==null||"".equals(separator)||size<1){ throw new IllegalArgumentException(); } this.separator=separator; items=new ArrayList(size); } public abstract void setItem(List list); public abstract String getRecord(); public abstract void setRecord(String record); public abstract void setRecord(String[] recordItems); ・・・・ }
497 :
デフォルトの名無しさん :04/07/10 01:34
>>409 奥村晴彦の「Javaによるアルゴリズム辞典」を読め。
誤差について書いてある。
そしてsinの誤差を減らす方法も載っている。
>>409 そういえばsin(PI)が0になってないところを見ると
>>411 に書いたような正規化は行われてないみたいだね。
499 :
デフォルトの名無しさん :04/07/10 01:55
つうか、分数を分数のまま扱える計算って出来ないのか?
500 :
デフォルトの名無しさん :04/07/10 01:57
つうか、誰か分数を表すクラスを開発すればいいじゃん かんたんだろ?こんな感じ class Bunsu{ private int bunsi; private int bunbo; ... } とうぜん分母分子は、1とその数以外の最大公約数がなくなるまで消すように
>>499 org.apache.commons.lang.math.Fraction
ひまなら自分でつくれ。
502 :
デフォルトの名無しさん :04/07/10 02:09
それは、commonsもつかわず、自分でも作らずってことか。
PrintWriterでファイルを開いて、ファイルポインタを最後に移動するには?
505 :
デフォルトの名無しさん :04/07/10 02:11
moveLastIndex(File file)
506 :
デフォルトの名無しさん :04/07/10 02:12
>>506 既存のファイルを開くと、ポインタは先頭にあるみたい。
508 :
デフォルトの名無しさん :04/07/10 02:16
あれそうなの? 開いた時点で中身からっぽになるのではないの? 勉強します
509 :
デフォルトの名無しさん :04/07/10 02:17
つうか、ランダムアクセスだなそれやりたいのなら
FileWriter使えよ・・・
これでできた! PrintWriter pw = new PrintWriter( new FileOutputStream( filename, true) );
514 :
デフォルトの名無しさん :04/07/10 13:16
>>512 おい!追記書き込みしたいなら最初からそう言え!
結果的に希望したとおりになったとしても
追記書き込みとファイルポインタを最後に移動したいっていうのは違うからな
>>504 読んだら追記書き込み以外に想像できない
はい、おつかれさん
HTMLに時間を変数で埋め込みたいんだけど如何すれば良い? ちなみにこっちの言う時間って言うのは0:00とかじゃ無くて1970年1月1日からの秒数ね HTMLのソースで、 1,時間を取得する。 2,[1]で取得した秒数を[2]で出力する。 ってな感じ?
519 :
デフォルトの名無しさん :04/07/10 16:36
こんにちは。 コンテナをベースにTextFieldやBottunを配置した、 セットもののコンポーネントを作成しました。 これをBeanとしてJBuilderで簡単に配置できるようにしたのですが、ベースが コンテナなので別のコンポーネントを上に置くことが出来てしまいます。 コンテナに後から追加できないようにするにはどうすればよいでしょうか。 ご存知の方、ご教授宜しくお願いいたします。
<%= System.currentTimeMillis() %>
>>520 おい、そいつをちゃんと割れよ。
日付管理するならCalendarクラスを使うのもありだと思うが
>>518 の説明だけ見るとJava関係ないんじゃねぇのって思えるんだが
思いっきりHTMLのソースって言ってるし
まぁ思い思いに答えたらいいんじゃないかな 混乱している奴がそれ以上に混乱しても、別に誰も困らないし
デバッグのためにPrint文を埋め込みたいのですが, #ifdefとかDebug.write()とか,Javaに無いですよね. Javaでは,どうするのが定石なんでしょうか?
HTMLからJavaやJSPを呼び出すのに、FORM以外の方法はありますか? もしそれができるとしたら、パラメータの受け渡しはどのように?
>>526 1.4 以降なら assert。
それ以前ならレベルを debug とか warning とかに指定してロガーに出力するか
static final boolean DEBUG みたいなクラス変数つくって if(DEBUG){ ... } するとか。
>>528 ,
>>529 ありがとうございます.
そうですね,調べてみると,DEBUGという変数をfinalで入れるのが良いようですね.
assertという方法もあるんですね.
ありがとうございました.
>>529 assetとログを同列に見てるバカ発見。
あせっと?あせっとって何?
>>532 ちなみに、メソッドが正しい引数で呼び出されているか確認するのがassertで、実行状況を表示するのがログね。
java.util.logging.Logger.global.fine("うまく動いてる");
みたいな感じでログ出すようにしておいて、デバッグ時は
java.util.logging.Logger.global.setLabel(java.util.logging.Level.FINE)
とかやっておく
>>532 static final DEBUGはもう流行らないからやめた方がいいよ
>>535 > ちなみに、メソッドが正しい引数で呼び出されているか確認するのがassertで
それ以外の用途にも使うぞ。嘘はいかんな。
> java.util.logging.Logger.global.setLabel(java.util.logging.Level.FINE) setLabel?
>>537 他の用途に使わない、とは書いてないんだが。
>>529 みたいな、1.4以降ならassertでそれ以前ならロガー、みたいな明らかな誤りの方が問題だろ。
Jakarta Commons HttpClient 2.0を使用しています。 HttpClient client = new HttpClient(); client.setConnectionTimeout(180*1000); method = new GetMethod(url); client.executeMethod(method); 最後のexecuteMethodで、まれに実行の制御が戻ってこない場合があります。 executeMethodを強制的に中断するには、どうすれば良いでしょうか?
>他の用途に使わない、とは書いてないんだが。 つまらん弁解だ。 >みたいな明らかな誤りの方が問題だろ。 スペルミスよりマシかもな。
Tomcat/4.1.30で、インクルードしたJSPを呼ぶのに <jsp:include page="xxxxxx.jsp?PARAM1=1&PARAM2=2" /> としたら org.apache.jasper.JasperException: /jsp/wwww.jsp(38,0) JSP ファイル "xxxxxx.jsp?PARAM1=1&PARAM2=2" が見つかりません 同じディレクトリに置いてあるのになんで?
>>541 >>みたいな明らかな誤りの方が問題だろ。
>スペルミスよりマシかもな。
んなこたーない。
初心者で恐縮ですが教えてくださいm(_ _)m int[] num = {12,15,18} のように生成した配列を System.out.pritln(num) で表示させようとしたら、文字化けというか変な値が出てきてしまったのですが 上の配列を 12 15 18 のように表示させるにはどうしたらいいのでしょう?
>>542 jsp:includeではURLに直接パラメータを付加できない。パラメータを付加したい場合は
<jsp:include page="xxxxxx.jsp">
<jsp:param name="PARAM1" value="1" />
<jsp:param name="PARAM2" value="2" />
</jsp:include>
とする。
542の方法で動作してしまうコンテナも世の中には存在するが、JSP仕様は上記の通り。
>>545 System.out.println(num[0] + " " + num[1] + " " + num[2] );
>>545 for (int i; i < num.length; i++) {
System.out.print(num[i] + " ");
}
System.out.print("\n");
>>546 おおおお!そうだったのか!さんくすこ!
>545 for(int i = 0; i < num.length; i++){ System.out.pritln(num[i]); }
>547>548 かぶったすまん。
553 :
デフォルトの名無しさん :04/07/11 00:41
JListのアイテムのイメージが選択された時に、薄いグレーみたいなので フィルターをかけてるようにしたいのですが、イメージ画像の輝度を 下げたりとか、何かの色と合成するにはどのクラスを使えばいいのでしょうか?
>>552 System.out.println(Arrays.asList(num));
なら1行だぞ。邪道だが。
>>555 こいつはArrays#asListの引数がObject[]でなければならないことを知らないらしい。
というか回答するなら最低限試してから答えろ。
557 :
デフォルトの名無しさん :04/07/11 02:16
卒研でjavaでIアプリを作ることになりました。 Iアプリを作るにはどういった学習方法を取ればいいですか? 本を何冊か読んだのですが、さっぱり分かりません・・・ 当方javaは全くの初心者です。 何かいいアドバイスがあればよろしくお願いします。
>>557 googleで調べたりすれば
それなりに詳しく書いてるサイトとかあるよ。
その読んだっていう本に書いてあるソースを写すなりして
とりあえずプログラムしてみることからじゃない?
楽してプログラムなんてできるもんじゃないですよ
まぁがんがれ
つうか、しょうもない卒業研究だな・・・ これが4年制大学のだったら、驚きだ。
>>558 ありがとうございます。やってみます。頑張ります
>>559 4年制です・・・超低学歴です
Stringで、@T_o~ とかが含まれていると文字化けして !) になるんですが、 どうしたらいいですか?
>>562 文字化けしないよ。
もしかしてShift_JIS、MS932問題か?
>>524 普通にjavaと関連有るんじゃないかな?
右クリック禁止とか、HTMLに埋め込むし
<Script Language="JavaScript">
<!--
if(document.layers)document.captureEvents(Event.MOUSEDOWN);
document.onmouseclick = migiclick;
function migiclick(a){
if (navigator.appName.charAt(0)=="M") {
if (event.button == 2) { alert("右クリック禁止"); }
}
if (navigator.appName.charAt(0) == "N") {
if (a.which == 3) { alert("右クリック禁止"); }
}
return false;}
//-->
</script>
>>564 をみてこのスレの住人のほとんどがこう思った。
や っ ぱ り …
>>565 やっぱり・・・選挙行かないと駄目ですか?(w
そうだね
ぜんぶ、日本の戦後教育のせいだよね。
これは吊りなのかーーーーーーーーーーーーー
Javaで10桁以上の小数点付きの四則演算は BigDecimalクラスのメソッド使えばOKでしょうか?
>>571 細かいこときにしなければ、doubleでいいと思うが。
10進変換の丸め誤差が気にならなければdoubleでいいと思うが
熊ー
そのアバウトな計算はどういった時に使うんだ
10進での誤差が気にならないとき。
クマーッ
そのアバウトな計算はどういった時に使うんだ
580 :
名無しさん@そうだ選挙に行こう :04/07/11 15:07
JAVAなどのオブジェクト指向言語はC言語などの 一般的な手続き型言語に比べてどのようなメリットが 考えられるのでしょうか?
581 :
名無しさん@そうだ選挙に行こう :04/07/11 15:12
JavaServletを使ったWebアプリケーションを作ってますが、 ユーザが半角かなを使用するので、困っています。 半角かなを全角かなに変換するにはどうすれば良いのでしょうか?
>>579 厳密な精度が求められるとき以外
クマーッ
>>580 頭がいい人ががんばれば、バカにもプログラムが組みやすくなる。
>>581 if(ch == 'ア') ch = 'ア';
>>579 縦横2軸のグラフ上にプロットする点の座標計算とか。
丸め誤差あったところでピクセルに変換すればどうせ一緒だし。
>>585 拡大縮小するのかによっては使い物にならないと思われ。
重箱のすみほじほじ
金の計算以外で、測定精度が10桁もないときは、doubleで十分。
>>572 いいから BigDecimal 使っとけ。
大切なお金の計算に double 使って誤差出しまくったことがある漏れが言うんだから間違いない。
on_
591 :
名無しさん@そうだ選挙に行こう :04/07/11 15:56
>>584 ありがとうございます。確かに、if(ch == 'ア') ch = 'ア';
でもできますが、これを50個以上並べるよりも
なにか、スマートな方法はないでしょうか?
>>590 大切な金の計算にdouble使うのがバカなだけ。
そんなバカに間違いないといわれたところで。。。
>>563 > もしかしてShift_JIS、MS932問題か?
調べたところ、そのようです。
テキストを扱う場合、どのようにするのが汎用的でしょうか?
スーパークラスの変数で、サブクラスのオブジェクトが 使えるっていう意味が分からないです。 サブクラスの中なら、スーパークラスの変数、メソッドが 全部含んでるから、逆ならわかるんだけど。 スーパークラスのとこだけ使えるってこと? 誰かわかりやすい例えで教えて。
>>596 public void paint(Graphics g){
((Graphics2D)g).rotate(2);
}
>>596 Object obj = "もじれつ";
System.out.println(obj.toString()); // String クラスも当然 toString() メソッド持ってるから問題ない
Integer hoge = obj; //仮に君の言う通り「逆」にこれができたとして
System.out.println(hoge.intValue()); //どうなってほしいの?
>>599 誤差がでないっていってるわけじゃなくて、十分っていってるだけ。
それをいうなら、BigDecimalだろうがなんだろうが、誤差はでる。
>>590 double使ってもいいけど、丸め誤差と有効桁数がちゃんと把握していればいい
それを考えるのは大変なことだが
doubleはまだいいほうだよ
俺はfloat使ってたコード見たとき目が飛び出るかと思った
整数に代入して値がずれるとかあほなこと言ってたからみてみたら・・・もうね
ほんの少しの値で有効桁数オーバーするからねぇ
>>595 <%@ page language="java" contentType="text/html;charset=ここを何にするかという話です" %>
>>602 ほとんどの場合、double以上の精度は問題にならんから。
金の計算以外。
>>603 最初から言えよ。Windows-31J
JSP/サーブレット入門者のよくある状況 ・JSP = Java の基本スタイルだと思ってる
JSP/サーブレット知ったかぶりのよくある状況 読解力がないのを他人のせいにする
へたくそ
宿題ってか、課題研究なんですけど、 javaでルータの設定値を取得することって出来ますか?
>>610 telnet や http など、TCP/IP で取得できるなら、できる。
自宅のルータの設定変えて再起動する JSP+Bean 作りましたが何か?
別に何も。
>>611-612 すみませんが、どういう感じで取得するのか教えていただけないでしょうか?
設定の更新の仕方も教えて下さい。
>>615-616 スレ違い。マニュアル読むかメーカーさんに聞いて、
分からない用語・単語を全部解決してからもっかい来てください。
随分前にもこんな質問あったな。毎年同じ子とやらせてる教授がどこかにいるんだな(エロイ変換ミス)
HttpClientは捨てて、java.net.URLを使うように改造しました。 が、(恐らく)java.net.URL#openStream()で同様にハングアップすることがあるようです。 中断する方法はあるでしょうか?
サーブレットクラスのメソッドをHTMLから呼ぶにはどうしたら? パラメータの渡し方は?
621 :
名無しさん@そうだ選挙に行こう :04/07/11 18:39
>>621 JSPからだろうが、サーブレットからだろうが、通常のクラスから呼び出す場合とかわらん。
Sun ONE Studio 4 Community Editionをインストールできません。 インストールを開始すると下記のようなエラーが出て先に進みません。 解決方法をご存知でしたら教えて下さい。 Error in instrustions. Invalid jvm file name specified in LAUNCH. Invalid specification. Line number (4)
624 :
名無しさん@そうだ選挙に行こう :04/07/11 19:11
>>622 JSPの中で new とかやっていいの?
>>624 >やっていいの?
やってだめ、ってのはどういう状況のことを言うんだ。
626 :
名無しさん@そうだ選挙に行こう :04/07/11 19:31
>>625 > やってだめ、ってのはどういう状況のことを言うんだ。
初心者大歓迎というのはどういう意味なんだ。
>>623 そんなもん、いまさらインストールしてどうするの?
NetBeansにしとけ。
>>626 放置せずにとことん対話を継続するという意味です。
>>627 さんありがとうございます。
携帯のiアプリが作りたくて、色々HPを探してました。
NetBeansっての探してみます。
>>630 iアプリやるなら、Eclipse使え。
おー
>>630 さんありがとうございます。
Eclipseっての探してみます。
別に携帯のJavaならどっちでもかまわんよ 初心者っぽいから携帯以外を始めた時のことを考えて俺はNetBeansを押してみるか
>>633 っていうか、DoJaプラグインって、NetBeansに組み込めるの?
Docomoが推奨している環境にSunOneStudioがあるからな 今で言えばNetBeansだし 問題は1.3.1しか動作保証してないからNetBeansでやろうと思ったら 3.51あたりに戻さないとダメだな どっちにしろSDKさえ動けばいいからどうでもいいが
>>635 SunOneStdio4ってNetBeans3.4ってことだからなぁ。
3.5.1にしても、動くの?
637 :
デフォルトの名無しさん :04/07/11 22:57
教えれ。 Tomcat/4.1.30 でサーブレット実行時にエラーがでた。 java.lang.NullPointerException at MessageBoard.doPost(messagboard.java:41) ←こりゃソースの行数か?
>>637 そのとおり。そのソース読め。読むのがいやなら貼れ。
640 :
デフォルトの名無しさん :04/07/11 23:06
>>638 while ( iter.hasNext() ) {
貼ってやったぞ。
641 :
デフォルトの名無しさん :04/07/11 23:08
おまえら、おちつけ。 質問は、スタックトレースの数字がソースの行数かどうか、だけだぞ。
>>591 IBMがICU4Jっていう文字列周りのオープンソースライブラリ
を出しているからそういうのを使う手もあり。
>>610 Webブラウザやtelnetによる設定方法を使うやり方は当然ルーターの
機種に依存した方法になるよなあ。UPnP使えばポートマッピングとか
規格にある範囲内なら取得・変更できるけどね。他に仮定ないの?
あるなら宿題スレにコピペして質問しなおしたら?
645 :
デフォルトの名無しさん :04/07/11 23:12
>>642 iterはIteratorだ。初期値はnull。
フォームの中身を見てるとこなんだが、うまくいくときと実行エラーになるときがある。
ファイルサイズがでかいとダメらしい。
ファイルサイズじゃないや。メッセージのバイト数だな。
647 :
デフォルトの名無しさん :04/07/11 23:17
>>526 > デバッグのためにPrint文を埋め込みたいのですが,
> #ifdefとかDebug.write()とか,Javaに無いですよね.
>
> Javaでは,どうするのが定石なんでしょうか?
Jakarta Velocityを使う。
そうすれば #ifdefを使える。
あのさー、 UNIXのM4マクロをプリプロセッサ代わりに使うって人いたりする?
>>645 どこかのタイミングでiterを作っておいてあるはずだが、場合によって
そこを通ってないってだけの話しだな。デバッガで追え。イジョ。
あとはどうにもナランから自分でなんとかしろ。
そういう人がVelocityみたいなものに乗り換えることってあるのかな。
質問したと思ったらPCのグラボが逝ってレスできなくなっちゃいますた(つД`) 一括で申し訳ありませんがレス下さった皆様ありがとうございます。 BigDecimalの使い方覚えてやってみます。
>>637 の
messagboard.java
に激しくツッコミたい
655 :
デフォルトの名無しさん :04/07/12 00:05
タグみたいな単語?、あれの事何て言うんですか? 調べたいのでヒットするキーワード教えて下さい 例えば‥setSizeとかmenuとか
>>655 HTMLタグのことか?
XML用語では「要素」と呼ぶ。
658 :
デフォルトの名無しさん :04/07/12 00:14
>>656 自習がてらお小遣い帖アプリでも作ろうと思ってて・・・
おまいそんなんに10桁もいらんだろとかは言わないで下さいorz
sinとかcosとか出てこないぽでつ(つД`)
ついでの機能で銀行の利息とか計算しようかなと思っていたので
>>660 いいなぁ、doubleで誤差が問題になるお小遣いw
>>636 NetBeans3.6は1.4.1以上必須だったっけ
3.5あたりは1.3系でも動いたような・・・?
マルチで荒らし依頼とはいい度胸だな。おまえが制裁されろ。
サーブレットでdoPostとdoGetでまったく同じ処理をさせたいんだけど、どうするのが簡単?
>>665 doPostとdoGetから同じ共通処理を書いたメソッドを呼ぶ
日本語変だが気にするなorz
>>665 doPost()がdoGet()を呼ぶ。
>>665 doPost()の中身をdoGet()にコピペ
>>663 とりあえず、3.6が入ってる状態だと、CE4が入ってませんっていわれた。
あと、わざわざ古いバージョン使わせてNetBeansいやーん、ってなるのもなんかいやだ。
3.5.1から3.6でかなりよくなったからね。
>>665 doPostのときGETメソッドでリダイレクト
>>677 671にした。
んで、サーブレットの処理を中断して終了するにはどうするのよ?
>>678 そんなん処理によるだろ。うt−か質問が曖昧すぎ。
System.exit()でもよんどけ阿呆
>>678 どう考えてもお前の方が悪い。
こんな質問ではアドバイスできん。
ジエンもたいへんだな。(・∀・)
>>679 それだと、コンテナも停止する罠
・・・って、ことになると大変だからコンテナは System.exit() を
受け付けない設定になっていることが多い。
686 :
デフォルトの名無しさん :04/07/12 09:55
@InputStream系とOutputStream系のクラスは、ファイナライザで 自動的にclose()してくれるんですか? AFileとFileInputStreamで作成したBufferedOutputStreamを閉じると 先の二つも同時にclose()してくれるのですか?
>>686 OutputStreamに書き出してcloseしなかったら、書き込みは無効になる。
よって、かってにcloseされるわけではない。
そもそもFileにはcloseなんてないし、FileInputStreamとBufferedOutputStreamには関係がない。
>>686 > ファイナライザで自動的にclose()してくれるんですか?
一般的には close() しない。
FileInputStream と FileOutputStream だけが例外的に close() する。
> BufferedOutputStreamを閉じると先の二つも同時にclose()してくれるのですか?
例えば BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("filename")) とかしてれば
bos.close(); で new FileOutputStream("filename") も close() される。
> AFileとFileInputStreamで作成したBufferedOutputStreamを閉じると FileInputStream で BufferedOutputStream を作成って出来たっけか?
690 :
デフォルトの名無しさん :04/07/12 10:42
Javaで、C言語でいう printf("%d, %d, %d, %d\n", a, b, c, d); みたいな書式付文字列出力ってどうやるんでしょうか? 今は、 String s = a + "," + b + "," + c + "," + d; みたいにやってるんですが、ダブルコーテーションが多くなってみづらくって・・・。
>>660 基本的に足し算以外では誤差が続発するとみたほうがいいが。
足し算でも何度も加算していると誤差伝搬が生じるが。
数値積分とかな。
692 :
デフォルトの名無しさん :04/07/12 10:45
>>690 Jakartaにそういうクラスがあったような。
それと、J2SE1.5からFormatクラスでそういうことができるようになる。
>>690 java.text.Formatクラスを参照
>>690 java.util.Formatter を使う。 1.5以降じゃないとダメだけど。
>>690 String comma = ",";
String s = a + comma + b + comma + c + comma + d;
(*^ー゚)ノ これでダブルコーテションもなくなって、見やすくなるでそ。
みんな、Javaのバージョンいくつを常用してる&インストールしてるの? 私は1.4.2、1.4.2_03-05をインストールしてあって、05を常用。
697 :
デフォルトの名無しさん :04/07/12 11:06
配列の要素アクセスを高速化できるAPIってないっすかねえ? 配列を使って行列クラスとかを作ると、 とりあえず二重for文そのままつかって左上から右下に向かって計算してしまう。 しかしそれだとpivot操作をしていなので処理速度が遅くなってしまうらしい。 そこでランダムアクセスとかpivot操作などによって高速化できるAPIがあったら使ってみたいなあ。 そんないいAPIないですか?
>>697 > 配列を使って行列クラスとかを作ると、
> とりあえず二重for文そのままつかって左上から右下に向かって計算してしまう。
それはあんたが勝手にしてること。
>>696 最新版1.4.2_05を使ってる。
開発者なら即座にマイナーバージョンアップはすると思うが。
さすがに仕事とかでいきなり1.5にアップグレードとかはしないと思うが。
700 :
デフォルトの名無しさん :04/07/12 11:09
>>698 いや、とりあえずはじめのうちはだれでもそうすると思いますが。
最適化は二の次であるかと。
そこで計算が重いので速くすることができるAPIがあったらいいなあと思いまして。
public class MyFrame extends JFrame implements ActionListener{ private JLabel label = null; private JButton button1 = null; private JButton button2 = null; public MyFrame(){ super("This is Frame"); label = new JLabel("This is label"); Container container = getContentPane(); container.add(label, BorderLayout.SOUTH); JButton button1 = new JButton("This is Button1"); button1.addActionListener(this); JButton button2 = new JButton("This is Button2"); button2.addActionListener(this); container.add(button1,BorderLayout.NORTH); container.add(button2,BorderLayout.CENTER); pack(); } public void actionPerformed(ActionEvent event){ if(event.getSource() == button1 ){ label.setText("Button1 Clicked"); } else if(event.getSource() == button2 ){ label.setText("Button2 Clicked"); } else { label.setText("どっちかわかりません"); } } button1,button2共に"どっちかわかりません"と表示されてしまいます。 if文内がうまくいってないのだと思いますが、わからないので ご教授願います。
>>701 if(event.getSource() == button1 ){
label.setText("Button1 Clicked");
} else if(event.getSource() == button2 ){
label.setText("Button2 Clicked");
}
が実行されるときに button1の中身と button2の中身はどうなっている?
System.out.println("button1 = " + button1);
System.out.println("button2 = " + button22);
とかやりながら調べてみてくれ
>>700 APIじゃなくてアルゴリズムの問題じゃないの
>>703 禿同。アルゴリズムが悪い
>>701 そういった場合は、ボタン1用のリスナーにはボタン1が押されたときの処理を
同様にボタン2には〜、と分けてやれば条件分岐しなくて済む
>>702 button1、button2共にNULLと表示されました。
ローカル変数で同名のものを宣言してしまってる。 button1 = new JButton("This is Button1"); button1.addActionListener(this); button2 = new JButton("This is Button2"); button2.addActionListener(this); こうせい。
>>707 なるほど!無事できました!
ありがとうございます!
みなさん、ありがとうございます。 Formatクラスを調べて試してみようと思います。
>>700 はじめのうちはだれでも、って、別に配列の要素にアクセスするたびに必ずループ書くものでもないし、全データ処理するなら、ループ以上に高速化する方法もない。
711 :
デフォルトの名無しさん :04/07/12 12:30
>>710 そんなことはないですよ。
行列の計算ではpivot操作により
例えば100行100列の行列を100個の10行10列の行列に分割してから
計算した方が速いのですよ。
MATLABという言語がそれを使って行列の計算を速くしているようですよ。
>>703-704 そのアルゴリズムをAPI化したもの、フレームワーク化したものが
ないかを探しているのですよ。
>>711 > 配列の要素アクセスを高速化できるAPIってないっすかねえ
ってことで、行列の計算は特定アルゴリズムの問題。
最初の質問が悪い。
714 :
デフォルトの名無しさん :04/07/12 13:01
あまり697を怒らすなよ。
>>714 なに?バスジャック事件が発生したりする?
>>714-715 怒っていませんしそんなこともしませんが。
私にはそういうことをするには性に合いませんよ。
>>713 そのアルゴリズムを効率よく取り扱えるようにフレームワーク化したものって
いうのもあるので、アルゴリズムだけにとどまらないものもあるのですよ。
それを探していましてね。
>>717 f2jコンバータを使って一体どうするのでしょう?
Fortranコードを使いなさいとでも?
Fortranならいくらでも科学計算系ライブラリありそうだな
>>719 てかさ、、、
>>717 は、matlabの行列演算エンジンlapackの移植版なわけだが。。
あーあ…
なんだ?
726 :
デフォルトの名無しさん :04/07/12 17:57
* ** *** **** ***** ってなるようなプログラムを教えてほしいんだけど
System.out.println("*"); System.out.println("**"); System.out.println("***"); System.out.println("****"); System.out.println("*****");
728 :
デフォルトの名無しさん :04/07/12 18:09
何やらfor文というのでやらなきゃダメなようなのでそれでお願い
for ( int i = 0; i < 1; i++ ) { System.out.println("*"); System.out.println("**"); System.out.println("***"); System.out.println("****"); System.out.println("*****"); }
732 :
デフォルトの名無しさん :04/07/12 18:41
>>722 f2jという文字を見た途端にFortran2Javaコンバータのサイトだ
見覚えがあるなんだなんでそんなもんを提示するんだろうって
真っ先に思ったよ。
そこのサイトをみても、ダウンロードして実際にあけてからでないと
どんなものかわからないわけだし。
それがlapackだと気づくまで
そこにあるリンクをクリックしてもべつのページに飛んでしまい
また自分で探し直すことになる。
734 :
デフォルトの名無しさん :04/07/12 19:33
>>722 っていうかサイト示してくれたのはありがとう、だ。
がしかし、こうかいてあるのに
ilejlapack-0.6.tgz
forJLAPACK source and class files
byKeith Seymour <
[email protected] >, David Doolin <
[email protected] >
size706k
解凍してみるとソースコードが見あたらんですぜ。
やられましたな。
>>730 > for ( int i = 0; i < 1; i++ ) {
ゲラゲラ。
>>722 作者がjarで圧縮していないのもかわっていると思った。
マニフェストは空っぽ。
しかもドキュメントが自作ってのが凄いとおもった。
Javadocを使っていなさそうだ。
画像のリンクがいい加減になっていた。
../imagesにすべきところをimagesになっていた。
>>722 しかも解凍したものをコピーしようとしたらCRCエラーの続出になったよ。
JLPACKで検索したらこんなのがでてきた。
こっちのほうはソースコードがあるのでわし的には興味を引くよ。
http://www.cs.unc.edu/Research/HARPOON/jlapack/ しかしこっちもすごいことになってる。
Javadocコメントはちゃんとかいてあるらしい。
Apache Antを使わずにmakeでコンパイルしていたみたいだ。
Makefileなどのソースをみて辿っていくと JDK1.1.3と書いてあったよ。
時代の流れを感じさせるね。
Cを一通り勉強して次にJAVAを勉強しようとしてるものですが 学習する環境をどうしようか悩んでいます。 Cでは 書籍:オーム社の「C言語によるプログラミング」 環境:Microsoft社の「Visual C++6.0」 でした 今日、翔泳社の「独習Java第2版」を買ってきました。 本書にはJava2 SDKが付属されていたんですが、 コマンドラインだと学習効率が悪いような気がします (エラーやコンパイルのたびにコマンド打つのが・・) コマンドラインで学習していったほうがいいのか Eclipseなどの統合開発環境で学習していったほうがいいのか どなたかアドバイスくれませんか? よろしくお願いします
>>738 > コマンドラインだと学習効率が悪いような気がします
> (エラーやコンパイルのたびにコマンド打つのが・・)
それは学習効率って話じゃなくて、キーボードを打てるかどうかじゃないのか?
バッチファイル作っておきなさいってことでしょ。
>>738 前のコマンド、↑キーで出るぞ。
Win98とかならdoskeyしろ
>>738 > Cを一通り勉強して次にJAVAを勉強しようとしてるものですが
> 学習する環境をどうしようか悩んでいます。
>
> Cでは
> 書籍:オーム社の「C言語によるプログラミング」
> 環境:Microsoft社の「Visual C++6.0」
> でした
>
> 今日、翔泳社の「独習Java第2版」を買ってきました。
>
> 本書にはJava2 SDKが付属されていたんですが、
> コマンドラインだと学習効率が悪いような気がします
> (エラーやコンパイルのたびにコマンド打つのが・・)
そんなあなたにApache Ant。IDEがなくてもコマンドを打つ回数を減らしてくれます。
IDEつかいたければEclipseでいい。CDTプラグインでC/C++プログラミングもできる。
JBuilderやNetBeansを勧めるひともいるけど。そこらへんは宗教戦争になるので
実際に使ってみて自分で確かめて自分で決めてくれ。
Eclipseはリファクタリング、プラグインの豊富さ、軽さインストールの手軽さなどVC++よりも優れている機能がたくさんある。
しかもApache Antの呼び出しもできる。
> コマンドラインで学習していったほうがいいのか
一生に一度くらいはシェルプロンプト(コマンドライン)くらい使った方がいい。
それとApache Antも使ってみるといいよ。
EclipseなどのIDEでやりたくてもできない部分はAntを使って補えばいい。
>>734-737 あたり
ソース付きのライブラリを提示してくれてありがとう、だ が
てめぇで勘違いしたのを転嫁して、説明が悪いとはどういうことか?
なにか勘違いしてそうだから、わざわざ追記しておいたというのに
100歩譲って説明が不十分だったとしても、ソースがついてなかった、解凍出来なかったなど漏れの知るところではない
サポセンと勘違いしてんじゃねぇぞ。と感じさせるね
>>740 バッチファイル使うならならAntで使った方がいいと思う。
>>741 おれだったらcygwinをインストールするけどな。
あとはhistoryコマンドも使ってな。
745 :
デフォルトの名無しさん :04/07/12 20:29
>>745 では、和解ということでw
てか、烈しくスレ違いだからこのへんで。。
747 :
デフォルトの名無しさん :04/07/12 20:47
>>740-742 >>744 さん
レスありがとうございます
いろんなご意見を伺って結局Eclipseで学習してみます
>一生に一度くらいはシェルプロンプト(コマンドライン)くらい使った方がいい。
夢であるPGになれたらこれが必要な機会もあると思うので一度Antというも
のも調べて使ってみます
ほんとうにありがとうございました
おいおい、PGなんぞ夢にするようなもんじゃねーぞ 詳細はマ板へ
8bit時代は夢あったなぁと思い出してしまった スタープログラマという言葉があったくらいだ
電脳土方になるのが夢とは… 生まれ変わったらプログラマにはならないだろうな。
生まれ変わったらグラマーになる(´・ω・`)
ひょっとして、Javaでは制御不可能だったりします?
Java暦3ヶ月な漏れがEclipseのplugin開発(2chブラウザ)を 作れるようになるには、何を勉強すればよいでつか?
>>754 ほかの2chブラウザプラグインのソース
既にあったんですか(つД`) ソース読んできますλ..............
>>753 なわけない。
一般にそういう処理はマルチスレッド化してやればどうとでもできる。
java暦3ヶ月でプラグイン開発するのは無謀としかいいようがない。
>>758 ストリームが帰ってきていれば、別スレッドからcloseすることが可能かな?
とは自分も思ったのですが、肝心のopenStream()でハングアップするため、
行き詰っている状況です。
それとも、中断するための、別の中断方法があるでしょうか?
>>760 HttpClient使用時は、HttpClient#setConnectionTimeout()したのですが、
この現象に対しては効果ありませんでした。T T
>>753 ConnectionTimeoutは鯖への接続に成功するまでのタイムアウト時間。
鯖への接続に成功して以降のタイムアウト時間は別に設定するするようになってる。
そのタイムアウト時間がデフォルトでは無制限になってるのでいつまでたっても
処理が止まったままになる・・・,というだけの話。
>>762 !!!
その設定を行うメソッドの名前をご教示いただけませんでしょか? m(_ _)m
setSoTimeoutとかか?
HttpClient#setTimeout(int newTimeoutInMilliseconds)
>>764 ありがとうございます。リファレンスは穴の開くほど読んだつもりでしたが、
そのメソッドは説明が分けわかめで読み飛ばしていたことを、たった今思い出しました..._| ̄|○
とりあえず、そのメソッドで再試行してみます。
現象がまれにしか起きないので結果はすぐには出せませんが、
何か分かりましたら再度この場でご報告いたします。ありがとうございました。
>>765 おっと、HttpConnection#setSoTimeoutではなく、HttpClient#setTimeoutということですね。
説明を読むと、どちらも同じような機能ぽげですね。ご回答ありがとうございます。
訂正。
>>765 ではなく>766へのレスです。失礼しますた。
771 :
デフォルトの名無しさん :04/07/13 01:28
>>749-750 研究職プログラマだったら夢にするべきだな。
研究しながらプログラミングできるんだからな。
そして将来Javaがロボットに応用できるなら最高だ。
コピーロボットを作ってくれ・・・ 仕事やらせる(・∀・)
>>771 おい、火星探査ロボットはJavaで動いているぞ。
774 :
デフォルトの名無しさん :04/07/13 01:54
【問題】継承、カプセル化、ポリモアフィズムを使ったプログラムを作成しなさい。 題材は何でも構いません。但し、効果的にポリモアフィズムが使用されていること、拡張性があること。 という宿題だ出ているのですが、何か良い例はあえいませんか? ネット上に落ちてないか探しているのですが、良いのが見つかりません。 宜しくお願い致します。
宿題は自分でやれ
class 継承{ //ポリモアフィズム 継承(){ int カプセル化 = 1; } }
コピーのバグで始末書書くのが君の仕事だ(・∀・)
>>772
778 :
デフォルトの名無しさん :04/07/13 08:37
>>773 そだね。
さらにすごいのは
Javaで作られた知的エージェントシステムで構成されたロボットだ。
そのうち二足歩行型ロボットASHIMOなどにもJavaChipが搭載されて(ry
781 :
デフォルトの名無しさん :04/07/13 10:55
すみません、OSはXPで、swingで0x00を文字で表示させると豆腐(□) になってしまいます。でも、NotePadやコマンドプロンプトでは、何も表示されず、文字としても認識されていないようです。 swingでも同じにしたいです。 どうしたらいいですか?
文字として表示できないものを 文字を表示するための Component に渡すのをやめる
>>781 表示する際に \u0000 を \u0020 に置き換えるとか。
import java.util.Vector; public class vectorSample{ public static void main(String args[]){ int num = 5; Vector vector = new Vector(); for (int i = 0;i<num; i++){ vector.add(new Integer(i)); } for(int i = 0; i<vector.size(); i++){ int kazu = (int)vector.get(i); System.out.println(kazu); } } } 11行目のint kazu = (int)vector.get(i); でエラーが出てしまいます。わかる方がいたら、ご教授願います。
>>784 Integer kazu = (Integer)vector.get(i); にしたらどうだ。
「エラー」じゃわからん。コンパイルエラーなんだろ?
今回は見りゃ分かるけどさ。
ちゃんと
・コンパイルエラー/実行時の例外/実行時のエラー/単に思ったとおり動かないだけ
・前3者の場合どういう内容が表示されるのか、後者の場合はどうなってほしいがどうなってしまうのか
この辺をはっきり書こうや。もちろん人に聞く前に読んで理解する。
ところで皆Vectorなんかは古いコレクションてことになってるけど、 新規にアプリケーション作る場合でもよく使う?
>>785 親切にありがとうございます。
これから気をつけさせていただきます。