2
10 :
デフォルトの名無しさん :02/10/11 11:36
Z
うむ、ごくろう。
13 :
デフォルトの名無しさん :02/10/11 11:45
>>1 きわめて乙 でいきなり質問なんですが、 Socket通信で、送信側はデータは送るだけなんですが、 受信側は受け取ったデータを加工する必要があるのです。 で、加工を別スレッドでやらせても取りこぼすんで、 (送信側のほうが性能が良いせいもあります) ウェイトを入れようかなと考えていますが、これってやっぱりまずいですかね? スレッドの優先度をいじったことないのでこれで解決する可能性もありますが、 みなさんどう思いますか?
>>13 Java固有の話ではないため、スレ違い。
通常、通信をやるときは、送信側垂れ流しではなく、何らかの
送受信手順を作って行う。
>>13 取りこぼすってどういう意味だよ。TCP/IP のセッション張った後なら化けや
抜けなんてめったに起きるものじゃない。それともサーバソケット開く前に
クライアントから接続要求が入るって意味か? それはプロトコル設計が悪い。
FTP でも参考にしてくれ。
Java のスレッドプライオリティはあまりあてにならない。
16 :
デフォルトの名無しさん :02/10/11 17:36
JAVAでWeb上のアプレットのデータを取得するプログラムって書けますか? 例えば時間表示しているアプレットがWeb上にあった場合、時間を取得するプログラム をJAVAで書けますか?教えてください。
>>16 そのアプレットが単に「独自のウィンドウへの表示処理だけ」
を行うものであった場合、表示を解析する必要がある。
不可能ではないが、現実的ではない。
そのアプレットが独自にポートを開いていたりして、
時刻を常にパケットとして送り出していたりすると、
なんとかなる。はず。
18 :
デフォルトの名無しさん :02/10/11 19:20
19 :
デフォルトの名無しさん :02/10/11 19:34
ISDNでダウンロードすると時間がかなりかかるんですけど、 何とかしてください。
JDK==Java2SDK
21 :
デフォルトの名無しさん :02/10/11 20:24
Javaでネットゲー作れますか?
作れますよ?
25 :
デフォルトの名無しさん :02/10/11 21:18
誰かYahooの認証(ログイン)をjavaプログラムで実現した方 いらっしゃいますか?クッキーの渡し方がわからなくて困ってます。 教えてください。
26 :
デフォルトの名無しさん :02/10/11 21:32
Windows用のjdk1.3.1_05(j2sdk-1_3_1_05-windows-i586.exe)を導入して jikesでコンパイルすると以下の様なエラーが出ます。 -------ココから---------- Found 1 semantic error compiling "C:/jdk1.3.1_05/src/java/lang/reflect/Proxy.java": 11. import sun.misc.ProxyGenerator; *** Error: The import "sun/misc/ProxyGenerator" is not valid, since it does not name a type in a package. -------ココまで---------- 確かにC:\jdk1.3.1_05\src.jar(1.4ではsrc.zip)にはsun/miscがないのです。 1.2、1.4も調べましたがありません。スタンダードバージョンには無いんでしょうか? エンタープライズJ2EEにはあるんでしょうか?
>>26 src.jarにあるわけがない。
いろいろディレクトリ探してみ。
28 :
デフォルトの名無しさん :02/10/11 21:51
29 :
デフォルトの名無しさん :02/10/11 22:01
大昔VBやってまして、今Javaを勉強中なんですが、VBと違ってコードの配置が難しく感じます。 大雑把ですが、概要はこんな感じで大丈夫でしょうか? 特にコンストラクタ内とmain内で何を宣言すればいいのか迷います。 適当にGUI作ってるのであまり真剣ではないですが、、、、、 class Aaaa{ クラス内で使うオブジェクト作成; クラス内で使う変数宣言; main(){ コンストラクタ呼び出し いろんな式とか分岐とか 関数よんだり } Aaaa(){ AWTやSWINGなどGUI初期設定1 } Aaaa(オーバーロード){AWTやSWINGなどGUI初期設定2 } 関数1(){ この中で使う変数とか } 関数2(){ この中で使う変数とか } リスナー1(マウスアクションとかキーアクションとか) リスナー2(マウスアクションとかキーアクションとか) }
>>1 スレタテおつ~~~~~~~~
>>28 どっかのjarファイルだったっけ。
>>29 VBらしいコードだね。
一応、動かせる。小さいものなら問題ない。
普通は、ある程度分割する。
31 :
コマネチ七誌 :02/10/11 22:08
jkoreってどこでDLすればいいんでふか?(ノ_・、)シクシク
32 :
デフォルトの名無しさん :02/10/11 22:15
rt.jarでした。javaってめんどくさ!
>>31 Googleでもヒットしないんですけど。それ。
むしろ、あんたの書きこみがヒットする。
34 :
デフォルトの名無しさん :02/10/11 22:22
コンポーネントとフレームとウインドウとコンテナの違いってなんでしょうか?
>>34 コンテナは他のコンポーネントを乗っけられる。
コンポーネントはコンテナに乗れる。
フレームとウィンドウは、コンテナとコンポーネントのじっそうだよ。
詳しくはAPIをじ~~~とおっかけていくとわかる。
36 :
デフォルトの名無しさん :02/10/11 23:18
Java使いのみなさんはどんな開発環境使ってるんですか? OSはWindowsです。やはりMeadowですか? お勧めの開発環境教えてください。
私は小さいツールをたくさん組み合わせて構築します。 使うべきはやはり VIM だ。 断 じ て M e a(略
Ant、Cygwin、JUnit、Relaxer、JavaCC、XT、IIOSS、他、の組み合わせ。 ライブラリに頼り切り、ソースの自動生成を使いまくり、 お情け程度にJavaを使って構築する。
40 :
◆5caXvViIjw :02/10/12 01:47
Javaからプログラミングを始めて 最近、入門書を一通り終えた(基本的な構文、awt、swingとか)のですが クラスライブラリのリファレンスを見てもちんぷんかんぷんです。 やっぱりAPIを利用するには、どのパッケージにどのクラスがあって そのクラスにはどんなフィールドやメソッドがあるのかを 覚えたほうがいいんでしょうか。 何か作ってみようと思っても、どこから何を利用すればいいのかわからず 長時間探し続けてると鬱になってきます。 それと、回答者の方々は入門書を一通り終えた後で 次にどんなことをやったのか、よろしければ教えてください。 参考にしたいです。よろしくおねがいします。
>40 デザインパターンやりたまへ。 クラスライブラリやらましてやそのメソッドなんて憶える必要はないと思う。 そんな表層的なことを追ってもスキルはあがらない気がする。 javaでGUI系はあんまりやったことないけど、パターンなどを勉強しながら 経験をつめば、こういうコンポーネントはどっかにある筈?みたいな勘が 働くようになると思う。 世の中には偉い人がいるもので、自分が思いつくような、欲しいライブラリ なんて誰かがすでに作っているのだよ。 くれぐれも車輪の開発はしないようにね♪
>>41 でも車輪の再発明とかってするとしないとでは
その後の理解力とかで かなりの差が出ると思うけど。
ちょっとした疑問なんですけど、 同じオブジェクト名のオブジェクトを2回作ると前に作った方はどうなるんでしょうか? メモリ上に残ったままなのでしょうか? class car { //--- } class sample { public static void main(String args[]) { car car1; car1 = new car(); car1 = new car(); } }
>>42 車輪の再開発するのと、
同じだけの労力をかけて他の事をするのとでは、
前者の方が後々有効だ、とあなたは思うわけなのですね。
>>44 マジレス
目的や手法や対象による。
アルゴリズムやデータ構造を学ぶ場合は、たとえばソートの実装などは勉強になる。
独学で何も参考にせずに開発しても無駄。すでにある教科書を読めばすむこと。
46 :
デフォルトの名無しさん :02/10/12 03:06
>>40 レスありがとうございます。
「車輪の再開発 再発明」は初めて聞く言葉だったので
検索して調べてみましたが、掲示板などでいろんな議論があるみたいですね。
個人的な話ですが、僕は本に載っているサンプルコードは
いまいち理解できない部分があっても、とにかく実際に打って実行することにしています。
でも、これは車輪の再開発とは意味が違うような気もしますけど…
馬鹿にされるかもしれませんが、楽器を弾くのも絵を描くのも
最初は誰かの作品の模倣から始まると思いますし。
とにかく、早く自分でプログラムが組めるようになりたいです。
入門書を一通り終えて、これから何をすればいいのか迷っていたのですが
ここで質問してよかったです。どうもありがとうございました。(長文すいません…)
概ね同意だが、デザインパターンを読んだ後API 仕様を眺めるというのが 最強ではないのか? リスナとかアダプタとかファクトリとかコンテナとか。 Observer,Adapter,Bridge,Factory,Compositeなんかを理解した前後では 印象がまるで変わるし。 あとは Facade,Mediator,Decorator,Iterator,Singleton,State,Strategy は 押さえてほしい。応用技として多用するから。 他のパターンって利用目的がピンポイントだったり基本的すぎるから、 あまり意識してない。(何か見落としてる気がするが・・・ま、いいや)
>>50 あなたはデザパタをお極めになったデザパタ神なんですね(藁
>>44 いや、車輪の再発明ってのは初心者の人とかにはイロイロ勉強になるんだよ。
車輪の再発明って分かってやってるなら自分の作ったものと他人の作ったものを
比較することで自分の作った物の劣っているところが簡単にわかるし、
ソースコードとか考え方とかの違いとかでも勉強になるし。
あと、他人のソースの丸写しでも、いろんな人のソースを
丸写ししてると 似たような意味でイロイロ勉強になるし。
会社の仕事とかで車輪の再発明ばっかやる奴は給料減らしたほうが良いと思うけど。
55 :
デフォルトの名無しさん :02/10/12 09:53
>22 つながりませんが・・.
>>55 >明日、10月12日土曜日は、電気設備点検に伴う停電のため、java-house.jp の
>全サービスが休止します。
>
>休止時間は、12日の早朝から夜遅くまでの予定です。
>
>
>高木 浩光@Java Houseお世話人
だそうです。
明日アクセスしてみれば?
>>44 , 53
概ね(おおむねってこう変換されるんだな)、53に同意。
車の再発明/再開発=あり。軽トラは、ダンプの代わりにならず、その逆も真。
(でも53の言うとおりで、仕事でTomcatを再発明しましたとかはやめたほうが
良いとは思う)
車輪の……ってのは、細かな部品の話に過ぎない。したがって、実は再発明
してもそれほど、労力はかからない(が、枯れた部品を使えという意味も強い)
>>40 なんか、車を再発明するのがいいんじゃないか? 身の回りで今一使いにくい
ソフトを自分なりに作ってみるとか(いきなり大物にかかるのは無理だとは思うが)
と漏れは考えるが、どうかなぁ。
>>40 おまえがアマチュアプログラマだと想定する。
> それと、回答者の方々は入門書を一通り終えた後で
> 次にどんなことをやったのか、よろしければ教えてください。
> 参考にしたいです。よろしくおねがいします。
そういう質問をするならおまえが読んだ入門書のタイトルを書いたほうが
適切な回答が得られる可能性が高いと思う。入門書もピンキリだから。
おれは入門書を終えたばかりのころはその本に書かれている知識だけで
何とか作れるものばかり作ってた。
倉庫番もどき・GIF画像&JPEG画像のスライドショー・ブロック崩し・吉野屋コピペジェネレータ等々。
デザインパターンはある程度プログラミングの経験がないと旨味がわからないと思う。
> 何か作ってみようと思っても、どこから何を利用すればいいのかわからず
という段階なら手を出さなくてもいいんじゃないの。
とりあえずはちっこいプログラムを幾つか作ってみそ。
59 :
デフォルトの名無しさん :02/10/12 11:15
>57 車輪の再開発なんてどっちでもえーのですよ。 必要な人は(勉強で)すればよいし。わかる人には要らないと思う。 例えばjava.util.Mapとか。 Mapの必要性とか、意味がわからない人にとってはソースコード読んでみたり、 ドキュメント見ながら同等の機能をもつクラスを作ってみたりするのも勉強に なるけれど、「お?これは便利だわい」と思うような人は、APIDoc見てるだけで だいたいどんな機能になっているか、どんなソースなのかは予想できる。 まぁただパフォーマンスチューニングとかしてると、そういう内部の動作の把握が 必要になることもあるかもしれないけど、そういうのってjavaの本質では無い気が する。40はそういう段階ではなさそうだし、いずれわかる日も来よう。
つーか毎回開発するプラトホームが違うので車輪の再開発していますが、何か?
デザインパターンってのは大抵のプログラマが経験的に知っているけど 一般に通用する名前の無かった知識に一般に通用する名前付けただけだから、 プログラム経験が浅いときに勉強しても 普通の人に微分積分やらせて チンプンカンプンになるのと同じ様なことになるかもね。
同意。デザインパターンなんぞ初心者の段階で見たって何の役にも立たん。 大量のクラス図にげんなりするだけ。 というわけで初心者本終えたら何でもいいからガンガン作ってプログラムに慣れるべし
>>62 そだね。
後でデザパタ勉強して、今まで作ってきたプログラムを
デザパタを応用して改良するという勉強法の方が楽しいと思う。
それで、そろそろ自分でプログラムを組みたいなぁと思ったのですが
どうやってAPIを利用してソースコードを組み立てているのか
疑問に思い、片っ端からリファレンスを見てもサッパリわからず
>>40 の質問をしました。
そして、デザインパターンというものがあることを教えていただきました。
明日本屋に行って入門書を買ってきます。
>>54 で教えていただいた本もチェックしてきます。
それと平行して、とにかくプログラムを組みまくろうと思います。
皆さんのアドバイスはとても新鮮で参考になりました。
どうもありがとうございました。
インストール前:爆裂拳さんとこのブロック崩しがすんなり動いていた インストール後:ボールがブロックに当たった一瞬、動きが止まる。 遅くなった?なんで?
あ、インストールしたのはj2sdk1.4.1です。
>>66 いろいろ変わったんだYO
起動が遅くなったり、速くなったり、
1.4になってから
小さいアプリケーションは、遅くなったような気がするよ。
大きな( たくさんクラスを使っている )アプリケーションは、
かなり良い動きをするようになった。
アプリケーションによると思うけど。
お答えサンクスです。う~ん、小回りきいた方がいいのになぁ。 っていうかタイミング変わっちゃまずいような気がするんだけど… とりあえずさっき、無事に「hello!!」が表示されるようになりますた(w
大きなアプリケーションは、 1.3のとき、致命的なまでに遅くなってしまうという弱点を持っていたのです。 今後のJavaを考えると、 それに対応しないわけには、いかなかったのでしょう。
72 :
デフォルトの名無しさん :02/10/12 23:03
うちのJavaCC 2.1が吐いたTokenクラスにはbeginLineがありません。 誰が取った!
JavaCCのバージョン上がってたんだ。今2.0だから、ダウンロードしよっと。
75 :
デフォルトの名無しさん :02/10/13 08:41
Javaって、C++で言うテンプレート機能(またはそれに類するもの)って無いんでしょうか? VectorやHashTableで異なるオブジェクトをまとめて格納できるのはいいのですが、取り出すときにコーディングでいちいちキャストしてやらなければいけないのは結構鬱です。 それに、できればIntegerでは無くintに、Booleanではなくbooleanにして戻してやれれば手間も減るし。 ということで、もちろん類似のロジックによる実装でも構いませんので、情報をお持ちの方がいらっしゃればアドバイスをお願い致します。
76 :
デフォルトの名無しさん :02/10/13 08:49
Connectionプーリングについてちょっと質問。 Connection conn = pool.getConnection(); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SQL query"); // ここで結果の処理 conn.close(); 上記のようなコードだと、Statementがcloseされず 保持されたままプールにConnectionが戻されると いうことですよね? つまりResultSetも開かれた まま。きっていいことではないんですよね? もしミスってこんなコードを書いてしまった場合、 どういった不具合が起こる可能性があるのでしょうか?
>>76 アプリケーションサーバ依存。ひょっとしたら conn で使ったリソースを
全部開放してくれてるかもしれないし、たとえば WebSphere + DB2 (CLI)
だと後々「関数の順序エラー」が出る (PreparedStatement の場合)。
>>75 SunでGenericsが公開されています。
追記 上のGenericsは、1.5で導入予定のもので変更が加わる可能性は高いと思われます。 Integerをint、Boolean booleanというのは、これではできない。 他には、プリプロセッサを使うという手があります。 どちらもソースの共有がしづらくなるのが弱点です。
>>77 Thanks.
DriverManager方式に慣れてたから、Statement閉じ忘れには
注意しないとね。
81 :
デフォルトの名無しさん :02/10/13 10:45
Javaで1対1の簡単なビデオチャットを作りたいと思うんですが、 作る事できるのでしょうか?
2chの専用ブラウザを作りたいんだけど Socket sock = new Socket("pc3.2ch.net",80); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(sock.getOutputStream())); bw.write("GET /test/read.cgi/tech/1034303501 HTTP/1.1\n"); bw.write("Host: pc3.2ch.net\n"); bw.write("Connection: close\n\n"); で送ると302エラーが戻ってきます bw.write("GET /tech/index.html HTTP/1.1\n"); にすると正常に取得できます。 なぜでしょう?(スレッド単位の取得はできないの?)
プッ Javaだってよ。
/test/read.cgi/tech/1034303501 は存在しないが /test/read.cgi/tech/1034303501/ は存在する
>>84 そもそもHttpURLConnection使えない理由があるの?
>>82 JMFとかあるからがんばればできそうだね。
>>88 細かな制御が不可能。
UserAgentはオリジナルでいきたい是!とか。
前スレで似たような話題なかったけ。
92 :
デフォルトの名無しさん :02/10/13 17:05
import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class sample extends Applet implements KeyListener{ String str=""; public void init(){ addKeyListener(this); requestFocus(); } public void paint(Graphics g){ g.drawString("hello",200,100); g.drawString(str,200,150); } public void KeyTyped(KeyEvent e){ str=str+e.getKeyChar(); repaint(); } public void KeyPressed(KeyEvent e){ } public void KeyReleased(KeyEvent e){ } } できません。アドバイスよろしくお願いします
93 :
デフォルトの名無しさん :02/10/13 17:11
何ができんの?
94 :
デフォルトの名無しさん :02/10/13 17:13
JAVAをはじめようかC#をはじめようか悩んでいます。 C#はどの環境でも動くけど、JAVAはWindows上でしか動かないと聞いたので、 C#に心が傾いています。 JAVAのメリットって何でしょうか?
96 :
デフォルトの名無しさん :02/10/13 17:24
例外が発生してcatchの中で処理した後、finallyへ行かないで例外が 発生した次のステップから再開するにはどうしたらいいですか?
>>96 try { doSomthing1(); } catch(Exceptino e){ e.printStackTrace(); }
try { doSomthing2(); } catch(Exceptino e){ e.printStackTrace(); }
try { doSomthing3(); } catch(Exceptino e){ e.printStackTrace(); }
なんでそんな馬鹿みたいなことがやりたいのか?
>>94 逆じゃないの?
>>95 意味がよくわからないのですが。
>>97 いえ、C#はNetFrameworkをインストールすればLinuxでもMacOSでも動くと書いてあったので。
>>94 Javaはどのマシンでも動きます(JavaVMの為)これがJavaの最大のメリット
C#はMicroSoft系でしか動きません
C#はexeファイルが作れるのがうれしい(ただし古いwindowsだと動かない可能性がある)
Javaはj2sdkなどのJavaツールをインストールしたマシンでしか動かせないのがイタイ
>>98 釣りか?
JVM(Java Virtual Machine)はMacにもLinuxにも提供されてるけど、.NETFrameworkは
Windowsにしかない。MSが将来的に提供することもないだろう。
monoとかUnix/Linux上に.NET互換の環境を作ろうというオープンソースプロジェクトもあるけど、
まだまだ実用にはならないレベル。
勘違いしてる奴が多いが、.NET Frameworkのうち、標準化されているのはごく一部。
例えばGUI関係のライブラリは全く含まれていない。
理論的には.NET Frameworkを他のOSに移植することは可能のように思える(monoがそれ)が、
最初からmulti-platformが前提のJVMとWindowsで動けばいい.NETとは根本的に違う。
>>96 1.例外の起きそうな処理を一つ一つメソッドで分ける。
2.そのメソッド内で例外を処理する。
なんてのはどうでしょう。
public void do{
some1();
some2();
}
private void some1(){
try {
hoge();
} catch(Exception e){
//例外処理
}
}
103 :
デフォルトの名無しさん :02/10/13 18:12
>>79 今使っているのは1.2なのです……(T_T)
>>81 同じく、実行環境を勝手には弄れないのです……(T_T)
他のところでも少し質問してみたところ「クラスの動的ロードを使えばできるんじゃない?」といわれましたが……それって美味しい?(^^;
いや、動的ロードなんて、JDBC使うときのおまじないとしか思ってなかったので(^^;
動的ロードをどう使えば、
>>75 ができるのでしょうか?
104 :
デフォルトの名無しさん :02/10/13 18:14
>>勘違いしてる奴が多いが、.NET Frameworkのうち、標準化されているのはごく一部。 >>例えばGUI関係のライブラリは全く含まれていない。 激しく意味不明。
>>92 直しといたぞ。
Javaは、大文字小文字を判別する。
KeyTyped、KeyPressed、KeyReleaseメソッドは小文字から始まる。
↓これで試してみ。
javac sample.java
appletviewer sample.java
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
/**
* <applet code="sample" width="400" height="400">
* </applet>
*/
public class sample extends Applet implements KeyListener{
String str="";
public void init(){
addKeyListener(this);
requestFocus();
}
public void paint(Graphics g){
g.drawString("hello",200,100);
g.drawString(str,200,150);
}
public void keyTyped(KeyEvent e){
str=str+e.getKeyChar();
repaint();
}
public void keyPressed(KeyEvent e){}
public void keyReleased(KeyEvent e){}
}
>>103 Genericsは、1.2でも使えなかったけ。
Sunの開発者向けの所でダウンロードして、インストールする必要があるけど。
あとMixJuiceは私の記憶が正しければ、 Javaのソースを生成するような気がした。 実行環境いじらなくても済むんじゃない。 MixJuiceの動作原理 MixJuiceソース → Javaソース → Javaとして実行
委譲した委譲を漏れも委譲しる。 いつになっても中身のあるソフトが出来ない。 それがJava。
109 :
デフォルトの名無しさん :02/10/13 20:38
Appletが動かず弱っています。 j2sdk1.4.1\demo\applets\Animatorにある example1.html起動しても灰色の長方形しか表示されず。 ネット上にあるアプレットはちゃんと動くのですが、 何が原因なのでしょうか?
人格エラー
>>109 環境書いてないけど、IEだろ。
IEで動かそうとしてるね?
112 :
デフォルトの名無しさん :02/10/13 21:04
>>112 ネット上のは、あなたの環境でも動いてくれるように作ってあるのです。
対して、sunのデモは、動くように作られていないのですよ。
とりあえず、Java Plug-Inを有効にしてから、もう一度試してみましょう。
>>113 わかりました。ありがとうございました。
116 :
デフォルトの名無しさん :02/10/13 22:48
JAVAのソースって見れないのでしょうか? Appletとかswingとか
>>116 わざわざ公開しないと見られない。
おとなしくソースを要求するか、クラスふぁいるの逆コンパイルしる
>>90 >細かな制御が不可能。
>UserAgentはオリジナルでいきたい是!とか。
できるってば。
httpurlconnection.setRequestProperty("User-Agent", "iモード");
とか。
>>117 返答ありがとうございます。
ソースを要求というのは公開されていないから公開しろと迫れということでしょうか。
逆コンパイルってなにかいいツールはありますか。
>>119 JODEとか ←Googleってくれ Java2 1.3用
逆コンパイルは、クラスファイルのコンパイラーの種類やら、バージョンやら、
逆コンパイル対策やらで成功しないこともある。
>>94 JAVAはどの環境でも動くといいつつ動かないこともあり、
C#はwindowsでしか動かないといいつつ、
今後他のプラットフォームで動く可能性もあります。
そういう意味でC#のほうが謙虚でございます。
C#と比べてのjavaのメリットは、膨大なコード、FAQ、サイト、
書籍等の資産があること、jakartaプロジェクトがあること、
eclipseの機能がフルに使えること。くらいです。私的には。
eclipseぐらいのideがあるなら、いつでも乗り換えても良いけど、
逆に必要性も特にないわな。
動作速度も今のところどっちもそれほど変わらないしね。
> そういう意味でC#のほうが謙虚でございます。 いろいろな意味で藁
0から引数n-1までの乱数を返すメソッドを作成してみたけど、 毎回同じ値を返すのです。原因ナニ? public int Random_Int(int n) { Random r = new Random(); return((int)(r.nextDouble()*n)); } System.out.println(Random_Int(10));
124 :
デフォルトの名無しさん :02/10/13 23:17
あら名前のとこに昔の名残が。欝だ・・・
>>120 ありがとうございます。
試してみます。
>>121 そろそろスレ違いだ。確かそういう話題のスレがどっかにあった。
>>123 java RandomTest
java RandomTest
java RandomTest
という感じで一回一回繰り返しているとか。
127 :
デフォルトの名無しさん :02/10/13 23:32
どなたかwpeの使い方おしえてくらさい
あ、説明不足でした。 プログラムを「java ファイル名」で実行を繰り返すのではなく、 System.out.println(Random_Int(10)); System.out.println(Random_Int(10)); System.out.println(Random_Int(10)); みたいにプログラム中で数回呼び出すと同じ値が返ってくるんです。
>>123 Random_Int内で毎回new Random()してるのがまずいと思う。
あと0..n-1の整数をランダムに返すのだったらRandomクラスの
nextInt(int n)でよい。
どうでもいいがCっぽいメソッド名は何とかしてほしい。
>>123 Random のデフォルトコンストラクタは現在時刻を乱数初期化シードに使う。
したがって、上記のようなコードでもシードが異なる事が保証されているように
見えるが、実は連続ループで呼び出すと同じ時刻、つまり同じシードが使われて
しまう。これについては下記を実行して見れ。
for(int i=0; i<100; i++){
System.out.println(System.currentTimeMillis());
}
対策は
>>129 の通り、呼び出しごとに Random のインスタンスを作ってるから、
上記の理由で「同じシードの乱数」を使ってしまうことにある。ローカル変数から
インスタンス変数にしてやれば正しく動くだろう。ちなみに int で返すなら下記
でも良いだろう。
return Math.abs(r.nextInt() % n);
これかな、Random APIより ・新しい乱数ジェネレータを作成します。シードは現在時刻をもとに初期化されます。 ・同じミリ秒内に作成された 2 つの Random オブジェクトには、同一シーケンスの乱数があります。 同じ種から生成しているから、同じ乱数になったが正解。 スレッドを生成して、sleep(1000)してみたら、うまく動いたよ。
ケコーン!!
>>127 WPEってなにか教えてください。
Googleしたら、
「WPC EXPO 2002」とか、フラクタル関数系アプリケーションの結果がかえってきたよ。
133 :
デフォルトの名無しさん :02/10/14 00:03
>>105 ありがとうございました。
できました、単純なミスですいません。
なるほど!APIの見方がぜんぜん甘かったです。反省。 多数のアドバイスありがとうございました。
>>131 同ミリ秒じゃだめなんだから1000ミリ秒も末必要なくない?
必要無いんですが手が勝手に動くんです。 sleep ← これを見たら、 sleep(1000) と自動的にやってしまう自分がいる。
ふと疑問に思ったのですが、乱数のシードに時刻が利用されるということは インスタンス変数を使用しても極短い時間で続けてnextDouble()などを 使えばシードも似通った値になるということですよね? つまりそのような場合はシードをその都度変更した方がいいのでしょうか?
>>137 一度インスタンスを生成したら、使いまわしなさい。
Random r = new Random();
double d1 = r.nextDouble();
double d2 = r.nextDouble();
double d3 = r.nextDouble();
>>137 単にseedが時刻を基準とするだけでseedが決まった後は単なる疑似乱数になる。
>>137 「シード」と「シードから生成される擬似乱数」は別物。
ちなみに同一 Random インスタンスの nextXXX() を複数のスレッドから
呼び出すと同じ値を返すことがある。つまりスレッドセーフではない。
にゃる。そうじゃなきゃ使いモノにならないですよね。 どうもありがとうございました!
143 :
デフォルトの名無しさん :02/10/14 01:25
EclipsでStrutsを使った開発をしていますが EasyStrutsでActionとFormを拡張したクラスを自動生成してくれるのはいいのですが そのあとEasyFowardを利用してたのですがなかなかうまく動作できません (つまり、*.doを付けて動作させようとすると動いてくれない) ということでEcripsのEasyStrutsとEasyFowardを使って とりあえず動作させたいので詳しい使い方を知っていたらお願いします (仕事でやっているので、火曜日まで上げないといけないんだよねー(鬱))
144 :
デフォルトの名無しさん :02/10/14 01:28
>>143 あんたJavaHouseにも投げたな(w
おなじ文章が目に飛び込んできた。
\ │ / / ̄\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ─( ゚ ∀ ゚ )< まっかずまっかず! \_/ \_________ / │ \ ∩ ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< まっかずまっかずまっかず! まっかず~~~! . >( ゚∀゚ )/ | / \__________ ________/ | 〈 | | / /\_」 / /\」  ̄ / /
>>145 今度は単発スレ立てないだけまともになったと思うぞ。
前回の降臨はひどかった。
しかも、新規の投稿じゃなくてReplyでかよ、ウザイ奴だな。メーラもOEか…予想通りだな。
でも、こういうのが来ると、どんな反応があるかが楽しみだったりする(ワラ
>>149 ややワラタ。
ていうか、それがあるからこのスレをヲチしてるわけだが。
いいからおまえらDelphiつかっとけ。
153 :
デフォルトの名無しさん :02/10/14 03:32
研究室の先輩がのこしたプログラムがあるのですが、これを解読しなければなりません。 しかし量が膨大すぎてどうやって手をつければいいのか迷っています。 何か、他人の書いたプログラムを読むときのコツみたいなのがあればお願いします
>>153 いいからおまえらDelphiつかっとけ
ソースをなめる。
>>153 統合環境とか使えばクラスの関連とか視覚的にわかるよ。
158 :
デフォルトの名無しさん :02/10/14 05:09
単刀直入に質問します。 以下のJavaのリストをC++に書き換えたいのですがやり方が分かりません。 すみません、教えてください! String[] str=new String[10]; str[0]=new String("ABC"); str[1]=new String("DEF"); ・ ・ str[9]=new String("XYZ");
char *str[10]; str[0] = "ABC"; str[1] = "DEF"; ・・ str[9] = "XYZ";
ありがとうございます!! できれば同じStringクラスで書くやり方も知りたいんだけど・・・。
>>153 クラスの継承関係とインターフェイスをみる。
基底クラスと、インターフェイスは、アプリケーション上の役割をあらわす
名前付けがされている。 …といいね。
>>151 なんですか、そのアイドル追っかけスレのは?
そんなスレあったんだ
163 :
デフォルトの名無しさん :02/10/14 10:28
ある選挙の投票 Webアプリを開発しています。 投票終了日時になったら、いろんな処理をするサーブレットを 呼び出したいのですが、特定日時をトリガーとして サーブレットを呼び出す方法はあるのでしょうか? 環境はLinux上でApache + Tomcatです。
164 :
/*Java 1日目*/ :02/10/14 11:44
//文字のフォント、スタイル、サイズの設定 省略 public class Mfont extends Applet{ public void init(){ setBackground(Color.gray); } public void paint(Graphics g){ g.setColor(Color.pink); Font f=new Font("MS ゴシック",Font.ITALIC,20); g.setFont(f); g.drawString("Javaの世界へ、ようこそ!",100,100); } } 文字列の下の行に、同じ文字列を同じフォントで、スタイルは太字、 サイズは40ポイント、文字色は水色で描いてください。 ただし文字列の書き出しの位置の座標はバランスを考えて決めてください。
165 :
デフォルトの名無しさん :02/10/14 12:02
とりあえずJAVAっていうのは危険ですかね? 言語はCOBOLしか出来ない学生です。 JAVAより先にこれを覚えろっていうのがあれば教えてください。
しゅくだいがわからないよ ドラえも~ん
>>163 Tomcatの機能ではできない。
自前での作り込みが必要。
>>163 ,167
JDK1.4 なら TimerTask なんてくらすがあるでよ。
>>163 たとえばフレーム分割して(0,100などで)上のフレームにJavaScriptで定期的or特定の日時に
onSubmit(target:servlet)を呼ぶようにするとかじゃだめ?
172 :
デフォルトの名無しさん :02/10/14 13:32
質問です。 たとえばOracleのPackageを使ってJAVAでプログラムをつくろうとしてます 当方超初心者です。 それで、サンプルをみながらとりあえずコンパイル。。とおもってるのですが どのファイルにそのOracleで使いたいクラスがどのJarファイルに はいってるかわかりません JBuilder等の統合環境が使えないため、簡単な検索方法等ありましたら ぜひおしえていただきたいのですが。。
>>172 先に Oracle のマニュアル見れよ。それとも割れ厨か?
jar tvx hogehoge.jar | grep "oracle\.nantoka\.HogeClass"
174 :
デフォルトの名無しさん :02/10/14 13:40
>>173 それで、むちゃくちゃJarがある場合に、一括してできないかなあと
めんどくさがり厨なのかな(;´Д`)
でもなんかできそうだけど、ツールないのかなあと。
jar tvf *.jar ができりゃいいんですが。。
うーん、簡単にはできそうもないね。 cronから普通(サーブレットではないという意)のJavaプログラムを 実行して後処理をする方がいいのかな。 Javaとは関係ないかもしれないけど、 Yahoo!オークションで終了日時を迎えるとメールが送られてきたり するじゃない。あのトリガーはどうなっているんだろう?
>>174 PerlでもRubyでも入ってないのかあんたの環境。
>>174 Antにそういう機能があるよ。
クラスパス指定に **/*.jarなんてことが出来る。
>>163 のほうは、Java以外でやったほうがいいんじゃない。
バックアップとか、夜間送信なんかでよく、そういうことやるよね。
179 :
デフォルトの名無しさん :02/10/14 16:23
>>177 なるほど。とりあえずAntでそこらのあやしいディレクトリは指定しといて
おけばある程度OKなわけですね。どもでしたーってまだAntを
まったくといっていいほど使いこなしてませんが (;´Д`)
昔の人間としては、印刷したドキュメントがないとつらいので
Antのドキュメントを印刷するしかないのかな。。。
C言語はしってるので、構文とかはすごくとっつきやすいんですが
JAVAの独自のパッケージとか、ここまでうざったいとは。。。
ふつーそんなにディレクトリほらねーんだよっ!@三村といってやりたい
Win のコマンドプロンプトで for %f in (*.jar) do jar tvf %f | grep "oracle/hoge/hage" とか?
182 :
デフォルトの名無しさん :02/10/14 16:57
javaで日本語が表示できないのですがどこをいじればよいのでしょうか。
>>182 できればコードの一部も乗せてくれ。
症状もな。
???????になるとか。
xp 1.4.1です。
>>185 WARNING: Default charset MS932 not supported,using
ISO-8859-1 instead ???
です
>>186 Javaのバージョン1.3までは、WindowsではShift-JISではなくて、
それに類似したMS932という文字コードを使用していました。
バージョン1.4になったときにその辺がかわったはず。
>>175 JMSとか。少なくとも、Servletコンテナでは
非標準の方法でやるしかない。
JBossを使う事を検討してみては?
文字コードをソースの中で「MS932」と直接指定していないのであれば、 私には、解決方法わからないです。
文字コードは変更してないです
191 :
デフォルトの名無しさん :02/10/14 17:22
GridBagConstraints.gridWidth のREMAINDER と RELATIVE の違いがよくわからないのですが。
>>182 J2SDK1.4には、International版と、English版があるけど、
English版をインストールしたんじゃないの?
193 :
デフォルトの名無しさん :02/10/14 17:50
KeyTypedを使えばタイピングソフトってつくれますよね?
>>193 作れる。
一応言うと keyTypedだからね。
195 :
デフォルトの名無しさん :02/10/14 19:15
初心者です。 int x=3; while(x-->0){ System.out.println(x); } この出力結果はどうなるのでつか?
>>195 2
1
0
つーか、何が聞きたいんだ?
>>195 それくらいさぁ、自分でコード書いて実行すりゃ
どうなるか分るじゃん。
せめて、どうして「こんな結果になるの」レベルの
質問にしろよ。
>>195 基本情報処理落ちるぞ。今の時点でそんなこと言ってるようじゃ。
Javaでフレームワーク的なモノを作ろうと思うのですが、 パッケージ名はorg.~にしてもいいんでしょうか? 他にサイトを持たない人用のドメイン的なモノはあるんですか?
>>195 精一杯好意的に考えて、
「++」、 「--」の位置による違いが聞きたいとか?
>>199 Package BOFという団体あり。
たしか、jp.gr.java_conf.xmlあたりもまだ残ってる。
>>199 適当で良い。
ちなみにドメイン登録量は 2 年あたり 7,500円くらいだった。
基本情報は来年の春に受けるから何とかなる x--と--xの違いがよくわからなんだ。 JAVAがインストールできなくて、自分で確かめられなかったので聞いてみますた。 適当に参考書かってくるかー。
>>203 地道にやるがよろし。
>>202 のPackage BOFというのは、ドメインを持たない開発者向けに、
利用可能なパッケージ用の名前を貸してくれるところです。
しばらく、休止していたのが、今年の5月くらいに復活した。
jp.gr.java_conf以下を利用できる。3文字以上。
無料。無料です。
>>205 無料なんですか。って言うか使えとw
とりあえず他の人の迷惑にならないよう、形になったら登録します。
207 :
デフォルトの名無しさん :02/10/14 20:16
サンのJAVA検定ってどの程度の難易度なの? いくつかバージョンがあって、一番下のcertifiedは問題集も出ているけど、ほかのバージョンはどんな問題がでるかさっぱり情報がないので。 よろしくお願いします。
208 :
デフォルトの名無しさん :02/10/14 20:35
すみません。 StringってCloneが再定義されてないのですがプリミティブ型の様に=で複製が作れるのでしょうか?
tukureru
>>209 Stringだけ挙動がみんなと違うことが多いのでややこしいですね。ありがとうございます。
>>208 String strOrg = "ばか";
String strNew = new String( strOrg );
>>208 お待ち!! 「=」は複製か?
^^^^^^
× 208 ○ 209
よく考えたら、String型は Immutable Objectだから、 複製する必要は無いね。
>>214 あ、そうか。そもそも書き換えられる心配ないですからね。
勉強になります。
>>46 遅くなりましたが、答えていただきありがとうございます。
前に作った方は勝手に開放されるんですね。
217 :
デフォルトの名無しさん :02/10/15 08:22
今悩んでいるのですが・・・。 FilteredImageSourceを使って作成したimageを複数重ねたいのですが このままではdrawImage等のGraphicオブジェクトのメソッドが使えないので無理です。 (つまりcreateImage(x,y)で作成されたimageじゃないとdrawImageが使えない) やり方をご存知の片、おられますか?お願いします・・・
219 :
デフォルトの名無しさん :02/10/15 14:05
Javaと直接関係ないかもしれませんが、なにかご存知の方、お助けください。 業務用のシステムをJavaで組んでいる者ですが、 先日まで動いていたJavaのプログラムが、今日になって動かなくなりました。 プログラムを走らせると、 「javaw.exe - アプリケーションエラー」 というメッセージが出て、落ちてしまいます。 全てのJavaプログラムで起こる訳ではなく、業務でつかうフレームワークを使うと落ちます。 どうも起動時に実行される一部のメソッドがネイティブで書かれているようで、そこで落ちているようなのですが、 先日まで元気に動いていたのに・・・と悩んでいます。 開発環境はWin2k。JDK1.3.1。 最後に元気な姿を見てから行った行動は、窓の手付属の不要ファイル掃除機を掛けて、デフラグ後シャットダウン。 なにかご存知の方おられますでしょうか。宜しくお願いします。
>>219 そのまま君の頭もシャットダウンしてください。
>>219 脳にデフラグをかけてみるべきだと思います。
追記します。 別のマシンでは普通に起動しました。
224 :
デフォルトの名無しさん :02/10/15 17:06
225 :
デフォルトの名無しさん :02/10/15 18:45
16進数の数字を10進数に直すプログラムを作ってみたのですが うまくいきません。どこを直したらいいのでしょうか? String a = "cc"; String b = "0x" + a; int c = Integer.valueOf(b, 16).intValue(); System.out.println(c);
226 :
デフォルトの名無しさん :02/10/15 18:48
String b = a;
226さん即答ありがとうございます。 無事に変換することができましたm(- -)m
228 :
デフォルトの名無しさん :02/10/15 19:26
HttpRequest の getParameterValues の返り値は 順番が保証されているのでしょうか? たとえば、 test=0&test=1&test=2&test=3&test=4&test=5 というパラメーターを送信した場合 JSP で String[] str = request.getParameterValues("test"); とすると str[0] ~ str[5] には、それぞれ "0" ~ "5" が 順番に入っていることが保証されるのでしょうか?
>>229 実験の結果順番に入っていたからといって順番に入ることが保証されるわけじゃない。
保証されない実装でも問題がないようにしとくのが玄人っぽくてステキ。
>>230 だからと言って実験もせず仕様も調べず質問はアホだと思われ。
>>232 それは当然だが、実験で保証されることがわかることはない。
じゃあまず当然のことをしよう。
つまり実験ではなく仕様を調べると。
お互い牽制球
そろそろ煽っていい?(w
238 :
デフォルトの名無しさん :02/10/15 20:29
相談なんだが・・・ 英語が全く出来ないのに、Javaやっていて結構知識あるよって人います? 自分英語が全く出来なくてこれから先Javaプログラミング出来るのか心配です。
手軽で、簡単にプログラムが作れるというプログラミングツールを探しています。 何かお勧めの物があれば教えてください。 HSPは何故かエラーが出まくるので嫌です。
242 :
デフォルトの名無しさん :02/10/15 21:27
学生が始めてプログラミングを勉強するには 学生のための入門Javaから始めてもいいでしょうか? (東京電機大学:中村隆一著) すこし簡単過ぎて不安なんですけど。。 また、お勧めの本があれば教えてください。 お願いします。
243 :
デフォルトの名無しさん :02/10/15 21:27
本当に初歩的でつまらない質問ですが・・・ char get = argv[0].charAt(i); としたあとに、If( get == "a")、というふうに,getがaだったら、というif文をつくりたいのですが、どうも比較のところがうまくいきません。 equalsも使えないようなのですが・・・ よろしくおねがいします。
244 :
デフォルトの名無しさん :02/10/15 21:28
'a'
>>242 悩む暇があるならその時間どんな本でもいいから読め。もしくはコード書け。以上。
247 :
デフォルトの名無しさん :02/10/15 21:30
248 :
デフォルトの名無しさん :02/10/15 21:32
240=245
249 :
デフォルトの名無しさん :02/10/15 21:33
>>239 悩む暇あったらとにかくコード書け。以上。
>>248 習うより慣れろ。習うのは慣れてからでも遅くは無い。
才能ある奴は何をやっても伸びるしダメな奴は何をやってもダメ。
言ってること変かい?
>>250 なんとも胃炎が、我流でやると変なクセはつくわな。
252 :
デフォルトの名無しさん :02/10/15 21:38
才能あるやつは何をやっても伸びる? 寝て、飯食って、うんこして、寝て、 飯食って、飯食って、オナニーして寝る生活を繰り返してるやつでも 才能さえあれば伸びるのかい? 馬鹿な事言っちゃいけないよ。努力あっての才能だろ? 言ってること変かい?
>>251 教科書通りに進んで行き着く先はライブラリ厨かOO厨か・・・不憫だぞ。それも。
>>252 ええ、もちろん努力することが前提です。その前提の上であれね。
255 :
デフォルトの名無しさん :02/10/15 22:01
リファレンス以外は読む必要ない。
>>255 しかし、自分の発想には限界があることも知っておくといいと思われ。
,
>>251 変な癖がつくのは1つの環境に固執するから。
だめ上司や教授に押し付けられ手仕方なくってことあるが。
Javaだけでなく複数の言語やアーキテクチャ、(さらには学校や会社やプロジェクト)
を渡り歩いて経験をつむのが理想。
>>257 同意。C、Pascalしか知らなかった私ですが、Perlを使ったら一回り大きくなれました。
今ではJavaでHashやregex使いまくりです。
どうして放置するのでしょうか? 誰も受けた人はいないのでしょうか?
260 :
デフォルトの名無しさん :02/10/15 22:34
>>256 リファレンスだって他人が書いたものだ。
発想の限界っつーのはその時点のもので、
自分で考えること止めたら確かにそこまでだ。
通勤途中の暇つぶし程度に読むのは別だけどね。
>>259 受けた。
バッヂもらったよ!しかも2個!!
>>261 .......
できれば試験内容について教えてほしいのですが。
論文などがあるようですが、どのような内容なのでしょうか?
何か参考になる本があったらそれも教えてください.お願いします。
英語をそんなに恐れることもないのでしょう。 特にリファレンスなどの英語は、そんなに難しい用法やら、比ゆは 使われていません。 慣れれば、英語を勉強したことない人でも、けっこう意味がわかってくるようになりますよ。 いや、ほんとに。
264 :
デフォルトの名無しさん :02/10/16 00:28
サーブレット関係で質問です。 JSPからrequestとresponseをもらってそれを保持するクラスを作って、どこから でも見れるようにしておきます。で、サーブレットは保守ツールみたいなもの にデータを送信し、応答受信のためのスレッドも立てておきます。 応答したタイミングで保持クラスからresponseを取り出して、それをもとに 画面を出したり、遷移させようと思っているのですがうまくいきません。 responseは取り出せているのですが…。printlnで取り出したresponseを 見ると保持する時のものと同じものが入っています。何か分かる方いらっしゃった らどうか教えてください。
>JSPからrequestとresponseをもらって JSPから要求を投げて、サーブレットでrequestとresponseを取得して の間違いです。
>>264 うまくゆく行かない以前にその糞設計をやり直せ。0点
267 :
デフォルトの名無しさん :02/10/16 00:34
質問です。ゲーム作る場合、JSPやサーブレットの知識は必要ですか?
>>267 そのゲームで JSP やサーブレット使うなら。
269 :
デフォルトの名無しさん :02/10/16 00:38
ダウンロードしてのみ利用するゲームの予定なんですけど、 だったら必要ないですよね?
270 :
デフォルトの名無しさん :02/10/16 00:40
269です。 あ、ネットに接続しないで利用するゲームで、という意味です。
超初心者なんですが、 Javaの解説サイトを探しています。 検索すると数が有り過ぎるので、 お勧めを教えて下さい。 (お勉強リンクは中級者向けが多いようでした。)
まぁオレも糞みたいなもんだがな
>>272 「Java Memo」がオススメだ。
URLは、ググって探せ
東芝がやってるサイトかな?
>>274 ググッたら
すごい件数が出てきます(涙
>>276 さん
ありがとうございます。
(*・∀・)つ旦~~ オチャ ドゾー
>>277 お茶はいいから、共に精進せぇ(w
そして、後に続く初心者に、お前のちょっとした知識やメモを伝えてやれ。
俺の先人達が、俺に何の見返りも期待せずに伝えてくれたことを、俺がお前に伝えたように。
・・・URL教えたくれぇで、エラそうなことイッテんじゃぇよ>漏れ
最後の一行に激しく同意
>>278 カコイイ!
伝えられるくらいにがんばります。
o(*・∀・)9
282 :
デフォルトの名無しさん :02/10/16 02:55
カコイイのか?カコイイの・・・か・・・?カコイイよな、うん。
>>281 ありがとう。Eclipseカコイイ!
o(*・∀・)9 ゲームアプレットから作ってみようと思ってます。
なんでもいいんじゃない? 厨房の質問を、煽ってすかしてあしらう香具師もいれば、 URLだけ教えて教えて偉ぶる香具師もいる。 どちらかといえば、後者のほうが、マシだな
285 :
デフォルトの名無しさん :02/10/16 06:23
if(index + pattern.length() < input.length()) {
>>285 なんで文字列置換に再帰呼び出しなんて使ってんの?
288 :
デフォルトの名無しさん :02/10/16 08:17
>>270 確かに必要ないかもしれないが、どうせこんなとこだろ?
「やっても使わない知識は忘れてしまうからやるだけ無駄」ではないか?
それも一理あるが、最低限のことはやっておいて損はないと思う。
つまり、サーブレットやJSPだけで一冊全て、の本は読まなくていいと思うが、
それらがまとめて一冊になった基礎本、入門書本くらいは読んでおくべき
と思うが。
たとえばJavaPressとか・・・
>>288 知ってると知らないの差は大きいよ。それだけ選択できるパーツが増えるのだから。
>>288 朝っぱらから何をそんなに力説しとるんだ。
>>288 >>270 がちょっと分かりにくい言い方を捕捉した位で
そんな嫌味なレスしなくてもいいじゃないか。
つーか雑誌かよ!
292 :
デフォルトの名無しさん :02/10/16 12:26
入門書も、読んで出来るようになったヤシなんて 見たことねーしな。 うら若いのに知ったか用語連発爺婆みたいに、 とてもみっともないことになるよ。
>>292 javaスレを狙ってしょうもないこと書いているようですが嫌な思い出でも?
295 :
デフォルトの名無しさん :02/10/16 13:45
296 :
デフォルトの名無しさん :02/10/16 13:46
298 :
デフォルトの名無しさん :02/10/16 14:10
javaがインストール出来ない・・・
がんばれ
あの、エクスプローラーで見ると既にJavaフォルダーがあって中に「classes」「packages」などがあります これはただjavaを動かすだけの物で、Java2 SDKをDLして開発環境が揃うのですね。
>>301 あれを開発環境というかは諸説ありそうですが。
Java2 SDK Standard Edition Version 1.3(JDK 1.3) J2ME Wireless Toolkit これをDL?
>>301 JDK インストールしなくても IE でアプレットが動くべ。
それようのやつだよ。
>>303 何をする気だ・・・旧バージョン+一緒に使えないツールキット。
最近Javaにさわり始めたばかりの初心者なのですが、いきなり壁にぶつかってしまいました。 よろしくお願いしますm(__)m longという型で扱える数は64bitまでだと思うのですが それ以上の数字を扱おうとしたら、どうすれば良いのでしょうか?
ホントにそんなにデカイ数値を使いたいのか問い詰めたいところだが java.math.BigIntegerかjava.math.BigDecimalあたりを使えばいいんでないの 精度が求められないなら普通にdoubleでもいいかもしらん
>307 お返事、有り難うございます。 恥ずかしながら、本当に始めたばかりで とりあえず足し算とか初歩的な計算をしているんです。 で、壁に・・・ >java.math.BigIntegerかjava.math.BigDecimal あはは。この辺の用語がサパーリわからないです(;´▽`A もう少し勉強しないとだめっすね・・・
309 :
デフォルトの名無しさん :02/10/16 22:51
JDialogの大きさ(縦幅、横幅)を 固定して変えられないようにするには どうすればいいんでしょうか。 幅を変更する矢印←→が出ないようにしたいのですが。。。
310 :
デフォルトの名無しさん :02/10/16 23:13
このスレを見つける前に、他のスレを1つ汚してしまいました。すいません。 Javaの質問なので、ここでします。 Java始めました。 オブジェクト指向は、解説サイトを数時間読んで一応触りは理解したつもりです。 で、 public void paint(Graphics g)っていうメソッド内で myGraphics mg= (myGraphics)g; とキャストして class myGraphics extends Graphics {} と宣言して、 Graphicsクラスにメソッドを1つ追加したクラスを使いたいんですけど、 これをコンパイルすると、 「Graphics() に適合するコンストラクタが class com.nttdocomo.ui.Graphics にはありません。」 というエラーが出るんです。あ、iアプリ作ってます。 この質問文だけで回答を返せる神様はいらっしゃいますか? お願いします。
>>309 setResizable(false);
>>310 extends java.awt.Graphics にしろ
>>311 即答ありがとうございます。
回答戴いたとおり修正しますと
継承したい親クラスはcom.nttdocomo.ui.Graphicsの方であり、
java.awt.Graphicsには無いiアプリ独自のメソッドを他の部分で使用しているため
エラーが増えてしまいました。
コンストラクタをキーワードに解説サイトを廻ってはいるのですがいまだ解決策はわかりません。
しかしながら丁寧なご回答ありがとうございました。
>>313 extends com.nttdocomo.ui.Graphics にするか、
import com.nttdocomo.ui.Graphicsを追加する。
315 :
デフォルトの名無しさん :02/10/16 23:31
};とか書いてあるソースみたんですが、 なぜこんなところにセミコロンがあるのですか? これの意味を教えてください。
>>315 インナークラスだと思う。
本来1行(?)に書かれるものを見やすいように、
複数行に分けてある。
>>314 回答ありがとうございます。
import com.nttdocomo.ui.*;
をしているので、ご指摘の点はおそらく大丈夫だと思います。ごめんなさい。
class myGraphics extends Graphics {
// ここら辺にコンストラクタの宣言が必要…とか、そういうことは関係ないのかな?どうなんだろう(汗)
void drawStringEdge(String str, int color, int x, int y) {
// いろいろ
}
}
import com.nttdocomo.ui.Graphics; を追加すると、同じ名前のクラスがあるときでも、クラスローダが 指定してあるほうのクラスを優先的に見に行く。 最終的にはこう import com.nttdocomo.ui.*; import com.nttdocomo.ui.Graphics; もちろん、extends com.nttdocomo.ui.Graphicsでも良い。
>>318 インポート部分の記述を以下の通りに修正しましたが、同じでした
// パッケージのインポート
import com.nttdocomo.ui.*;
import com.nttdocomo.io.*;
import com.nttdocomo.ui.Graphics;
重ね重ね丁寧にお返事戴き感謝しております。
iアプリは分からんのやけど、com.nttdocomo.ui.GraphicsのAPI ドキュメントみてみ。 コンストラクタはどうなってる?
チョウ初心者の質問ですみません。 form で textareaにすでに何か書かれていて (ご意見をどうぞ)とか そのフィールドをクリックすると あらかじめ記入されていた内容(ご意見をどうぞ)がクリアされる というタグがわかりません。 (リセットボタンは使用せずに) どなたかお教えください。 よろしくお願いします。
>>309 com.nttdocomo.ui.Graphicsのコンストラクタには
protected Graphics()
コンストラクタ。アプリケーションはこのコンストラクタを直接呼んではなりません。
と書いてありました。
ここに質問へ来る前に、317のレスの「// ここら辺…」のところに
myGraphics() {} や、
Graphics() {} とも書いてみたのですが、いずれもエラーが増えただけでした。
>>322 すまん。Give up (W
私の目には問題無いようにしか見えなかったりして。
いや、修行が足りぬようだ。
>>321 それはJavaScriptの話だろ。つうか、textareaのvalueを""に
するだけじゃないの?
>>322 > myGraphics() {} や、
> Graphics() {} とも書いてみたのですが、いずれもエラーが増えただけでした。
この2つはあきらかにおかしい。
protected myGraphics(){}
か、
public myGraphics(){}
にしないと。
というか、そんな事書いてる段階であらゆる事が疑わしくなってきた。
>>323 ,
>>318 いいえ、即答を頂けてこちらも解決に向かう勢いが沸いてきました。
どうもありがとうございました。
もし私がJavaを使いこなせる立場になったら、このような場で
今日の貴方のように入門者の質問に答えられるような人間になりたい。
では、また明日解決策を探すとして、今日はこれにて失礼いたします。
>>324 鋭いご指摘ありがとうございます。
確かに…自分ですら気付いていないミスがあるのかもしれません(汗)
ご指摘頂いた点は、残念ながらprotected、publicとも同じエラーが返ってきました。
>>325 ありがとうございます!
326のレスとは入れ違いで、いまから熟読してみます。
328 :
309です :02/10/17 00:17
>324 お答え、ありがとうございます。 value=""にしてみましたが、ダメでした。 他に方法はありますか?
329 :
デフォルトの名無しさん :02/10/17 00:18
javascriptとjavaは同じなのでしょうか? javascriptを少し拡張したのがjavaなのでしょうか? VBの拡張したのがVCであるのと同じでしょうか?
>>324 JavaとJavaScriptは、似てるところはある。
少なくとも、VB、VCの差分よりは少ない。
VBとVCの関係ってそうだったのか?文法に欠片も似てるところがないような。
>>329 JavaScriptは、名前にJavaって付いてて記述方法もにてるけど、
Javaとは全く別言語。
元々は、NetscapeのLiveScriptってやつだ。
MSのJScriptってのもあるぞ。
VCは、VBの拡張ではなく、まったく別の環境だ。
>>525 読んでみましたが、残念ながら私は解決の糸口を見つけるまでに至りませんでした。
しかし参考になるサイトですね、ありがとうございます。
今日のところは、これにて失礼します。
>>328 <form name="a">
<textarea name="b" cols=10 rows=5>test</textarea>
<input value="test" type="button" onClick="a.b.value = ''">
</form>
ってやったら消えるだろ。次からWeb製作板とかで聞け
>>332 >>310 のメッセージの原因は、もはやソース中で、
new Graphics()
って書いてるとしか考えられん。
>>334 私は、スペルミスか、ライブラリ破損を疑っている。
336 :
デフォルトの名無しさん :02/10/17 00:59
>>336 フォームをsubmitすると、
本サービスは、Microsoft Internet Explorer 4.0 以上のブラウザで御利用頂けます.
その他のブラウザからは御利用になれません. (1001)
って表示したいんですか? (w
309です。 すみませんでした。スレッド違いのようで、失礼しました。 でも、それにもかかわらずお答えいただき、ありがとうございました。
>>336 「サーブレット&JSPで始めるJavaサーバサイドプログラミング」
に似たようなことがのっていたような気がする。
341 :
デフォルトの名無しさん :02/10/17 01:14
質問です。 ある文字列を読み込んで、あるクラスのインスタンスを作る際にインスタンス名を、その文字列と同じ名前にしたいのですが、よい方法はあるでしょうか? 例 String namea = "namae"; Class xxxx = new Class(); ←xxxxの部分を"namae"にしたい
>>341 バージョン1.3でいいのなら、
Objectクラスを継承したJavaソースを生成した後、
com.sun.javac.compiler.v8.Main ←こんな感じだった。
あたりでコンパイルして、
自前で実装したカスタムクラスローダで速攻でロードする。
>341 その必要性が理解できませんが? 実現したいことを言った方がいいかもよ。 より適切な回答が返ってくると思われる。
>>341 どうしてもやりたいなら C のプリプロセッサ使いな。
JavaでPNGをお手軽に作るにはどうするの? JpegならデコーダーがJDKについてるけど。
>>344 Jakarta Antのソースが参考になるぞ(w
349 :
デフォルトの名無しさん :02/10/17 01:30
HTMLのFORMで複数のSUBMITを作った時、サーバ側でどうやって区別してる?
350 :
デフォルトの名無しさん :02/10/17 01:31
programingにかんしては素人ですが・・・ 汎用性という意味で Hyper-talkから移り易い言語ってなんですか?
>>349 それはサーブレットで...って前提なのか? そうでなければ板違いかと。
>>350 なぜJavaスレで...
>>249 親切に解釈してやると、1ページの中に複数の FORM があって、どのフォームから
リクエストされたかをサーブレット側で区別したいということでいいか?
<INPUT TYPE="SUBMIT" NAME="AAA" VALUE="押せ">
<INPUT TYPE="SUBMIT" NAME="BBB" VALUE="押せ">
みたいに SUBMIT に名前を付けてやって、サーブレット側で「AAA という
名前に値が入っているか」「BBB という名前に値が入っているか」という
具合にして押されたボタン (またはフォーム) を特定する。
353 :
デフォルトの名無しさん :02/10/17 01:46
>>351 そうです。サーブレットでってことで。
<INPUT TYPE="SUBMIT" NAME="FOO" VALUE="UPDATE">
<INPUT TYPE="SUBMIT" NAME="BAR" VALUE="DELETE">
としておいて、サーブレットで
if (request.getParameter("FOO") != null) {
}
とかだと、カっこワルイなと。
<INPUT TYPE="SUBMIT" NAME="FOO" VALUE="UPDATE">
<INPUT TYPE="SUBMIT" NAME="FOO" VALUE="DELETE">
とするのも、保守性が悪いかと。
なにかスマートな方法ってないっすかね。
>>353 かっこいい悪いは置いておいて、普通はそうする。
>>348 javax.imageioでいけますた。
標準APIなので安心
M$がJAVAから手を引いた理由が分かってきた。 簡単だがプラットフォーム非依存のソフトに あまり大きなメリットが無かった、という事だ。 アプレットも近い内にランタイムを自分でDLしなければならない ようになる。
>353 複数のSUMITを同一FORMに入れる必要性がわからない。 興味ある。どーゆーこと? 複数のアクションじゃダメなの?
あそ。
>>356 理由は Sun が MS に喧嘩腰だからだよ。
>>357 業務用の Web アプリって組んだことねぇのけ?
まちがえますた・・逝ってきま
レスありがとうございます。今作っているのは、名前を与えてあげたら、その名前の特定のクラスのインスタンスをパカパカつくる、という意味不明のプログラムです。 で、もうひとつ質問おねがいします。 なんか適当にプログラムをつくって、java program xxx yyy zzz という風に実行すると、argv[0]=xxx,argv[1]=yyy,argv[2]=zzz になるんですよね? で、3つ引数を与えたぞ、ということをプログラムに伝えるにはどうしたらよいのですか? 今回の場合だと、プログラムに3、と教えたいのです。 argv.length だと、argv[0]の文字数になっちゃうんですか?
365 :
デフォルトの名無しさん :02/10/17 02:53
>>364 args.length は配列の長さ (この場合 3) と等価。
366 :
デフォルトの名無しさん :02/10/17 07:19
>354 まあ、しょうがないってことだね。 >363 VALUEはボタンのキャプションになるから。
>>364 範囲外例外をキャッチしてみる。と言うのも。
俺は嫌だが。
368 :
デフォルトの名無しさん :02/10/17 15:34
あの・・・エディターで「HelloWorld」と画面に表示されるプログラムをコピペをして 端子を「HelloWorld.java」として保存して「jdk1.3.1_05」のフォルダーに入れて MS-DOSプロンプトで C:WINDOWS>cd \jdk1.3.1_05 フォルダーを移動して C:\jdk1.3.1_05>javac HelloWorld.java コマンド、又はファイル名が違います。 これはどこが間違っているのですか? ディレクトにはHelloWorld.classも出来てません・・・
369 :
デフォルトの名無しさん :02/10/17 15:37
このプログラムです。 public class HelloWorld { public static void main( String[] args ) { System.out.println( "Hello World" ); } }
C:\jdk1.3.1_05>bin\javac HelloWorld.java
>>368 PATH に C:\jdk1.3.1_05\bin が含まれてない。
372 :
ありがとう :02/10/17 16:05
>>370 >>371 ありがとう、HelloWorld.classがちゃんと出来ました。
C:\jdk1.3.1_05>bin\javac HelloWorld.java
binフォルダー内のjavacを使ってコンパイルするからbinが必要だったのですね。
>>372 C:\jdk1.3.1_05\bin\javac.exe、java.exeにPATH通しとけ。
最初のFrameでボタンを押したときに、 表示している画像を切り替えてから次の Frameを最大化状態で表示したいのですが、 画像が切り替わらずに次のFrameが表示されてしまいます。 いろいろ調べてみたけど、paint()が終わったときを 通知するイベントも無いみたいですし・・・ どうやったら、画像を切り替えて、描写されたあとに、 次のFrameを表示という風に出来るのでしょうか? ちなみにSleepも意味なかったです。
update
>>374 > いろいろ調べてみたけど、paint()が終わったときを
> 通知するイベントも無いみたいですし・・・
ないなら自分で足せばいい
>>376 簡単に足せるようなタイミングで起こるイベント
じゃ無いと思うんですけど・・・・
>>378 う~ん・・
実際は、オセロゲームで2手目ごとにある動画を再生する
というアプリを作ってるのです。
オセロの画面はもちろんフルスクリーン、んで動画もフルスクリーンで
再生させてます。
んで、2手目を打ったあとにはさまれた石の色を変えてから動画を
再生したいが、実際は、クリックしたらそのままオセロの画面が止まって
動画が再生されるという問題が起きてます。
sleepしても、画面が止まっている時間が延びるだけだし、
repaintしても変わらず・・・・
ん~、あとは描写完了のイベントを受け取ったりとかするしかな
いかなぁと思った次第です。
質問いいですか? 今日からjavaを勉強しようと本を買ったんですけど、よく見たら 『本書はHTMLをひととおり学んで、手書きでwebページを書ける 読者を対象』と書いてありました。 自分はまったくの無知なんですがやはり違う本のほうがいいでしょうか? レシートはまだあるんですよね。
Frameを継承したクラスのpaint()でsuper.paint()呼び出して そのあとに表示完了のイベント通知のコードを足すとか。 paint()呼び出しと実際に表示が変わるまでにはタイムラグがあるかも とかいうんだったら、実際に表示が変わったか調べる別スレッドを起こして そいつから表示完了のイベント通知するとか。
>>380 だから読んで理解できればそれでいいだろう。
って言うか立ち読みして結構わかるから買ってきたんだろう?
背表紙のタイトルと値段だけで本を選んだのならお前はアホだ。
そもそも、本はその性質上レシートがあろうが無かろうが返品は受け付けてもらえないぞ。
>>382 いやタイトルと値段で決めたわけではないんですけどね。 ちなみに本の名前は「10日で覚えるjava script入門教室」です。 別に10日で覚えたいわけでなくペラペラ見たらカラーで わかりやすそうだと思ったのです。 「独習java」って本にしようかとおもったんですが、なんか 小難しそうで・・・
違う本にした方がいいですね 名前は似ててもjavascriptとjavaはマッタク別物ですから
>>384 そうなんですか。そんなことも知らないくらい無知です。 今電話したら返品は無理だけど交換ならいいとのことでした。 というわけで違う本にしてきます。 もしよければオススメの本ってありますか?
386 :
デフォルトの名無しさん :02/10/17 19:20
>>385 その小難しそうな「独習java」ってのにしときなさい。
>>385 結城さんの本がいいんじゃない?
プログラミング初めてそうだし、、、
「独習java」はやめたほうがいいと思われ。
>>387 黙ってろ。今からプログラミング始めようという奴の自分で本を選ぶと言う自主性を潰して何になると言うのだ。
その本屋に「Java言語プログラミングレッスン」があるならそれがいいかも。 結城さんは面白いひとです。(2ちゃんねらだし) 無ければ「独習java」ってのが、私の知っている入門書の中ではまともなほうです。 練習問題さえ飛ばさなきゃ、一通り理解できると思います。
390 :
デフォルトの名無しさん :02/10/17 21:56
質問です!おねがいします。 いま、大学の研究で CUP というjavaで動く構文解析のプログラムを使おうとしています。で、これがうまく実行できません。 ダウンロードしてきたファイルを、/hoem/ken/cup というフォルダに解凍しました。 このフォルダにはいくつかのファイルと、gnuwin,winnt,java_cup,という3つのフォルダがあります。 さらに、java_cupの中には、*.java,*.classなどがあり、さらに runtime というフォルダがあり、さらにそのフォルダの中にも、いくつかの *.java,*.class があります。 で、その cup のHPにはインストール方法などが書かれていなく、英語のHPなのですが、どうやら java java_cup.Main < filename で cup という構文解析ソフトが起動することがわかりました。 というわけで、.bashrc に PATH=$PATH:/home/ken/j2sdk1.4.1/bin:/home/ken/JFlex/bin:/home/ken/cup CLASSPATH=.:/home/ken/cup: などという風に書き加えました。で、これで起動するかなとおもい、適当な場所から上の実行式を入力したのですが、実行できませんでした。 しかし、/home/ken/cup に移動し、上の実行式を入力すると、なぜか起動しました。 おそらくパスやクラスパスの設定がおかしいのだと思いますが、私にはどこがまちがっているのかわかりません。 ということで、よろしくおねがいします。 長々と、失礼しました。
↑ちなみにOSはバインリナックスです!
>>390 実行できなかったときのメッセージを示してもらわないと答えようが無い。
>>391 適当なディレクトリにはクラスパスが通ってない
カレントディレクトリにはクラスパスが通っている
今のカレントディレクトリである適当なディレクトリには目的のclassファイルはない
移動後のカレントディレクトリには目的のclassファイルがある
395 :
デフォルトの名無しさん :02/10/17 22:08
>>390 解凍なんかしないでダウンロードしたファイルそのままクラスパスに指定したら(藁)。
s/389/390/
ちなみにZIPね。
>>392 [ken@yahoobb228016030 ken]$ java java_cup.Main < test.cup
Exception in thread "main" java.lang.NoClassDefFoundError: java_cup/Main
です。ちなみにkenでログインして,/home/ken から実行してみました。
>>394 つまり,/home/ken にはクラスパスが通っていないということでしょうか!?
>>395 解凍しなくてもいけるんですか!?
ダウンロードしてきたのは、java_cup_v10k.tar.gz というファイルで、zip じゃないんですけど、いけますでしょうか??
399 :
デフォルトの名無しさん :02/10/17 23:44
スーパークラスのstaticメソッドをオーバーライドして、 サブクラスで非staticメソッドを定義するとコンパイルエラーになりますが、 スーパークラスの非staticメソッドをオーバーライドして、 サブクラスでstaticメソッドを定義して、コンパイルが通るようになりますか。
>>399 死ね糞マルチ。試せと言うのが聞こえんのか?
401 :
デフォルトの名無しさん :02/10/17 23:47
>>398 /hokuto/ken から実行してみ
>>399 無理。まず、宣言できるかどうかは別にして
クラス(static)メソッド -> インスタンス(非static)メソッド とか
インスタンス(非static)メソッド -> クラス(static)メソッド とかは
オーバーライドできません。
インスタンスメソッドだと暗黙の引数 this が渡されたりするけど
クラスメソッドでは渡されない、等々根本的に違うので
オーバーライドできたら大問題なのだな。
>>401 んー、実にありがたいレスありがとうございます。
結局私はjavaで構文解析、字句解析、最終的にはコンパイラを作りたいのですが、なにかcup以外に有名なコンパイラコンパイラ用のソフトってありますでしょうか?
404 :
デフォルトの名無しさん :02/10/18 00:01
402さま、大変感謝します。
>>403 cupってなんだ?解説きぼん。
たとえば、JavaCCとか
>>402 マルチに回答。甘やかしすぎ。
お前の自己満足はこの板にとっての不利益となる。
cupというのは構文解析のソフトです。 私がしたいのは、スクリプト言語?もどきを作ることで、独自の文法にそったプログラムを入力すると、その意味を解釈してくれて、java言語に変換してくれる、みたいな感じです。 大学の卒研なんですけど、煮詰まってます・・
javaCCよさげですね!
スクリプト -> バイトコード -> VMに読ませて実行 ぐらいだったら案外簡単かも…
412 :
デフォルトの名無しさん :02/10/18 00:12
フォントについて困っています。どなたか助けてください。 以下のコードを実行すると、私のPCでは3つとも同じフォントで表示 されてしまいます。基本的なフォントばかりなので、インストールされて いないということもないと思うのですが、どこか間違ってるのでしょうか? G.setFont(new Font("TimesRoman",Font.ITALIC,120)); G.setColor(Color.blue); G.drawString("Java Application",100,240); G.setFont(new Font("Helvetica",Font.BOLD,100)); G.setColor(Color.cyan); G.drawString("Java Application",100,400); G.setFont(new Font("Courier",Font.PLAIN,80)); G.setColor(Color.magenta); G.drawString("Java Application",100,520); ちなみに色やサイズ、ボールド・イタリックはきちんと表示されております。 よろしくお願いいたします。
413 :
デフォルトの名無しさん :02/10/18 00:13
久しぶりにアプレット作ってるんだが、標準 AWT でダブルクリックを判断する 機能ってなかったよな。んで MouseListener#mouseClicked() が押された ときのタイムスタンプ保存して、直前に押されてから何ミリ秒以内なら、という 具合にやろうとしているんだが、システムのダブルクリックの時間 (ユーザが 設定した時間) なんて取れたっけ?
int count = e.getClickCount(); if (count == 2){ // ダブルクリック }
>>412 "SansSerif", "Serif", "Monospaced" とかは?
>>414 あ、あれ、そんなんあったんか…
俺の中の GUI は JDK 1.0 の頃で止まっとるわ。
>>415 な、何か、"Serif"だけ違うフォントで表示されました!
何で?? 他のフォントはインストールされてないの?
ますます持って訳がわかりません。(シクシク
>>418 たしか Sun JDK 1.1 以降は "TimesRoman", "Helvetica" なんかはサポート
してなくて、その代わりに "Serif", "SansSerif" になったと記憶するが。
IE の MS JVM ならどちらも OK だけど。
所詮おまえらはSunに依存した物しか作れないわけだが。
ボタン押したときにもうひとつ作った.classファイルの実行仕方を 教えてください。 void jMenuItem1_actionPerformed(ActionEvent e) { ここにどのように書けばいいのでしょうか?
>>419 亀レスすみません。うーん、ダメなんですかねぇ。
JDK1.3.1ベースの本に載ってたサンプルコードで、私は1.4.0の環境で
実行してるんですが。。。
レスありがとうございました。オヤスミナサイ。
424 :
デフォルトの名無しさん :02/10/18 02:37
Libretto L5にJ2SDK 1.4.1xを入れるとアプリを終わらせた後の クリーンナップ処理中に100%固まるんだけど…そういう人いますか?(ちなみに1.4.0xはOK) Bug Paradeを見ていると、「ATI Mobility」が原因っぽいし… デスクトップ、Linuxノートで環境を統一したいのに…鬱だ
>>423 String[] fontList = Toolkit.getDefaultToolkit().getFontList();
for(int i=0; i<fontList.length; i++){
System.out.println(fontList[i]);
}
で利用可能なフォントをすべて表示して見れ。
>>422 なぜかわからんが、それを見て、VBを想像した。
>>422 addActionListener(ActionListener);
独習javaはやめれ~ くそ本しか執筆出来ない武藤健志が書いた本だがね
>>390 source $HOME/.bashrc
あるいは再起動。
それでもだめなら.bashrcのどこかが間違ってる。
430 :
デフォルトの名無しさん :02/10/18 15:11
age
431 :
デフォルトの名無しさん :02/10/18 15:19
j2sdk1.4.1をインストールしたのですが javacが使えません? OSはWIN2000です javaと入力するとコマンド一覧?が表示されているので インストールはできていると思います。
>>431 そんな漠然とした情報だけで何を答えろと?
「体調が悪い」としか言わない患者に処方箋が出せるか?
433 :
デフォルトの名無しさん :02/10/18 15:35
434 :
デフォルトの名無しさん :02/10/18 15:36
>>432 説明が下手なのは認めるけど・・
'javac'は、内部コマンドまたは外部コマンド...
バッチファイルとして認識されていません。
とおっしゃってます。
435 :
デフォルトの名無しさん :02/10/18 15:37
>>434 まず SET PATH=%PATH%;C:\j2sdk1.4.1\bin と打て。それ以降 javac が
使えるようになる。
java.exe はあらかじめパスの通った C:\WINNT (C:\WINNT\System32 だったか)
にコピーされる。
437 :
デフォルトの名無しさん :02/10/18 15:46
438 :
デフォルトの名無しさん :02/10/18 16:06
>>436 435=431
てっきりシステムのプロパティから環境変数を
編集するのかと思って考え込んじまって時間がかかりました。
(いじるのが怖かった)
少しネットで調べて・・
そのままDOS窓で入力すればいいのですね。
どうもでした使えるようになりました
ありがとうございました。
439 :
デフォルトの名無しさん :02/10/18 16:23
LinuxでJavaプログラムをしています。 GUIアプリケーションで文字列のフォントを決める際に、 "Font font = new Font("Serif", Font.ITALIC, 20);" って感じで打ったのに、イタリックで表示できませんでした。 試しにWindowsでやったら、うまくいきました。 Linuxでは、何か設定が必要なのでしょうか?
1.4じゃないとやばいんですか?
ドコモのiアプリ開発サイトには「安定性のある1,3」を使えと書いてあるね。
Javaアプレットとアプリケーションは全く違う物ですか?家にはアプレットの本しかありません。 Javaアプリケーションを勉強して2chブラウザー・iアプリ・ゲームを作りたいと夢多き房です。
444 :
デフォルトの名無しさん :02/10/18 16:44
オシリスキーって何もんですか?
445 :
デフォルトの名無しさん :02/10/18 16:50
446 :
デフォルトの名無しさん :02/10/18 16:52
>>443 JavaアプレットはWebブラウザ上で実行されますが、WindowアプリケーションはWebブラウザを用いないウィンドウ形式のものです。
447 :
デフォルトの名無しさん :02/10/18 17:35
448 :
デフォルトの名無しさん :02/10/18 19:04
リスナーてなんですか? 初心者なもんでわかりやすくおねがいします。
449 :
デフォルトの名無しさん :02/10/18 19:05
メッセージを聞いてくれるの。
二次元配列を使用するのと一次元配列を 二次元のように使用するのとどちらが軽い?
>>451 生成しなくちゃいけないオブジェクトの数数えてみたら?純粋に。
和英翻訳システムを作ろうと思うのですが、 手本になるようなものを知りませんか? 形態素解析ツールには「茶筅」を使う予定です。 よろしくお願いします。
>>425 getFontList();が推奨されないメソッドになっていてちょっと苦労しましたが、
getAvailableFontFamilyNames();で取得できました。
なるほど、"Times New Roman"なんかが使えるんですね。
解決しました。ありがとうございました!
>>453 JavaHouseのホームページへGO! トップページだ
457 :
デフォルトの名無しさん :02/10/18 22:55
ド素人です。すいません。 Javaアプレットでジグソーパズルが簡単に作れると聞き、 ジグソーパズルを置いてあるHPから素材等をダウンロードし、 試しにPC上で再現してみましたが、どうもうまくいきません。 画像はバラバラになり、組合わせることができます。 が、タイムを計る部分がうまく再現されません。 因みにダウンロードしたのは、 JigControl.class JigDialog.class JigDialogHigh.class JigPiece.class KiamaJigsaw.class あとはhtml、ピースのgif画像、パズルの原画となるjpg画像。 パソコンはMacです。 うまく再現されないのは何かが足りないと思うのですが、 何が足りないのでしょうか。よろしくお願いします。
>>451 どちらが遅くても気にするな。配列は結局のところ性能は良い。
むしろ、他の個所を速くせよ。
>>457 それだけではどこからダウンロードしたか、わからんぞ。
私は元々のJavaプログラムが、Mac上での動きをサポートしていないのが原因では
無いかと考えた。
環境依存のJavaも結構あったりする。
>>459 レスありがとうございます。
ダウンロードというか、ジグソーパズルを貼ってあるHPから、
勝手に部品を落としただけです。
ジグソーパズルの作り方を詳しく説明してあるところを見つけられず、
あれこれ推測した挙げ句、適当にとってきたものです。
一応、部品は揃っているはずなのでいいとは思うのですが。
Mac上でのサポートの件ですが、試しに自分のHP上に乗せてみました。
が、パズルのピースを読みに行く時点で突然ブラウザが終了してしまうのです。
もし、どなたかジグソーパズルの作り方を説明してあるHPをご存じでしたら、
教えていただけませんか。クレクレ君ですみません。
>>461 ありがとうございます。
さっそく、チェックしにいきます。
>>462 まず、根本的に必要な情報をすべて出せ。
お前の言うジグソーパズルの部品とか言うヤツはSunやそれに準ずる有名な団体が出しており
誰もがツーカーで理解できるほど一般的なものなのか?違うだろう?
相手が必要な情報すら提示できない。それじゃプログラムなんか出来ないぞ。
464 :
某JAVA房 :02/10/19 02:34
はじめまして。某JAVA房です。 ある理由(決して悪用のためではない)で、どうしてもアプレットを読み込んだクライアント端末のIPアドレス(プライベートアドレス) を取得したいのですが、127.0.0.1というブロードキャストアドレスしか取得できません。 どうにかなりませんか?ほんとに困ってます。ちなみにクライアントのブラウザはIE5以降となります。 やっぱIEである限り無理? InetAddress address = InetAddress.getLocalHost(); String s = address.getHostName();
466 :
某JAVA房 :02/10/19 02:46
そのWebサーバはapacheとかのサーバじゃなくて、Javaで書いた単純なhttpサーバ なんです(オライリーの『Javaネットワークプログラミング引用』)。正直そのソースコードの 内容がサパーリで・・・。たすけてくだせー。
>>466 でも IPアドレス使って何するつもりか知らんが
自力で何とかすれ。クライアントのコントロールが
出来るならセキュリティポリシー弄れば良いだけっしょ。
クライアントのコントロールはできない状況です。それができれば苦労しない んだが。
>>464 接続先のサーバ側で Socket#getInetAddress() 使えばクライアントの
アドレスが取れるだろ。それを鯖から送ってやれ。串使われてたら死亡だが。
swingで質問です。 親フレームであるJFrameからJDialogをmodalで呼び出します。 当然そのJDialogはモーダルなのでDialogが終了するまで親フレームには移動できませんね。 しかし時たま、そのJDialogが親フレームの後ろに隠れてしまうことがあります。 こうなってしまうと、どうあがいてもタスクマネージャで強制終了せざるをえなくなります。 対処法はどうすればいいのでしょうか?
そんなの知るかw
自分で考えろ
473 :
デフォルトの名無しさん :02/10/19 09:58
>>470 違うバージョンのJAVAを使うか、
もしくは、JDialogを使わないアプローチを考える。、
>>464 >127.0.0.1というブロードキャストアドレスしか
TCP/IPのお勉強からやり直し。だと思われ。
すみません。ループバックデバイスの間違いでした。
476 :
デフォルトの名無しさん :02/10/19 13:40
>>470 alt+tabでswingアプリにフォーカスすれば、
ダイアログがもういちど上にくる
そんなに自分の書き込みに対するレスが気になるの? ちょっと自意識過剰な感じ。 実は鏡を見るのが大好きでしょ? 他人の評判を気にするでしょ? 正直、かわいい性格だと思うよ v
所詮貴様らは供給された基底クラスがなければ何も出来ないわけだが。
●●●●●●●●「オセロさえ納期内に作れない=OO役立たず 」祭り●●●●●●● /| | |_____ΦΦΦΦΦΦΦΦΦΦΦ||ΦΦΦ | | | ̄ ̄ ̄ /| || | | | / /|TTTTTT TTTTTTTTTT||TTTTT | /\ | /|/|/|^^^^^^ |三三| ^^^^^^^^^^^||^^^^^^^ | / / |// / /| | / / |_|/|/|/|/| | / / |文|/ // / |/ /. _.| ̄|/|/|/ Λ_Λ /|\/ / / |/ / (___) /| / / /ヽ /〔 非OO 〕〕つ | | ̄| | |ヽ/l `/二二ヽ | | |/| |__|/ Λ_Λ / /(_) | |/| |/ ( ´∀`) (_) Λ_Λ | | |/ // / ^ ̄]゚ (` ) | |/ ゚/ ̄ ̄_ヽ ⊂〔〔 非OO 〕
自演コテハン一回氏ね マジで
484 :
デフォルトの名無しさん :02/10/19 17:26
ガイシュツだったら申し訳ないんだけど、例えば import java.util.*; import java.sql.*; (中略) Date d = new Date(0); とか書くと java.util.Dateとjava.sql.Dateのどっちが生成されるか 仕様で決ってんの?それとも実装依存?
486 :
デフォルトの名無しさん :02/10/19 17:39
>>485 うお、エラー出るんだ(w
前通ったような気がしてたんだが…スマソ
487 :
デフォルトの名無しさん :02/10/19 17:39
java使いの人はどんな環境でやっているの?やっぱりJBuilderですか?
>>484 仕様によりコンパイルエラー。
import java.util.*;
import java.sql.*;
な場合は
java.util.Date d = new java.util.Date(0);
java.sql.Date d = new java.sql.Date(0);
とかパッケージまで書かないとダメ。
他には java.util.List と java.awt.List とか。
489 :
デフォルトの名無しさん :02/10/19 17:42
これでもよさげ。 import java.util.*; import java.sql.*; import java.util.Date; Date d = new Date(0);
>>487 これから使うなら Eclipse だろう。
漏れは IDEA 派だが。。。
>>487 やっぱりってなんだよ・・・JBuilder使ってますが。
>>490 SWING使えるGUIエディタ搭載された?
>>492 GUI は脳内で構築します。
ウィジェット一通り覚えちゃえばポトペタ要らないと思った。
(いや、たまに使うけどさ。。。)
それよりもコードの海を泳げる機能がついている方が作業効率が上がる。
>>493 単純なものなら脳内構築もできようが、複雑なものはちょっと...
>>494 漏れはややこしいのはどんどんクラス/インナークラスにしちゃうから。
本の内容にもよる。 だけど1.4覚えておいた方がよいかも。
>>497 そんな劇的に変わったっけ?
ソース互換はありそうな予感。
>>498 Swing系だったらかなり。
特にフォーカス周りが。
なんかインストール後123と456をたすっていう簡単な プログラムを実行しても作動しないのです。 本が古いのか設定画面の画像とかがwin95か98なので、 よくわからず適当インストールしたのがいけないのかと 思いまして。 ならどうせなら1.4か1.3.1 05をDLしなおしたほうが いいのでしょうか。 スタートラインにすら立てないのが情けないです。
エクセルでXLSファイルを開きたいのですがどうすればいいのでしょうか?
502 :
デフォルトの名無しさん :02/10/19 19:00
板違いでしたかもしれません どこで聞けばいいでしょうか 初心者なので全然わからないのです。すいません
504 :
デフォルトの名無しさん :02/10/19 19:11
FreeBSDでJDK弄るならやっぱりSUNで1.3.1のソースを落としてこないと駄目ですか? いちいちユーザー登録しないと駄目ですか?
505 :
超超初心者 :02/10/19 19:15
なんかちょっと方向性違う気がしないでもないですが Javaを使うことによって会社が得られる利益とかって何なんですか? ってかJavaってどんな物?
Javaは先行きが暗い Rubyにしろ
>>505 >会社が得られる利益
金。
>ってかJavaってどんな物?
プログラミング言語+実行環境。
509 :
デフォルトの名無しさん :02/10/19 20:51
構文解析木みたいなものをつくりたいのですが、どのような方法があるでしょうか? javaCCで構文解析し、たくさんの文字列を解析できたのですが、これらの親子関係をツリーな感じであらわしたいのです。 javaCCにも構文解析木を作る機能があるらしいのですが、使い方がわからなかったので、一般的にはどうやってるのでしょうか? よろしくおねがいします。
510 :
デフォルトの名無しさん :02/10/19 21:07
>>509 デザインパターンの一種、Compositeパターンで、という
のが基本的かと。
XML/DOM APIをまねするのがいちばん簡単そうですね。
511 :
デフォルトの名無しさん :02/10/19 21:11
>>505 メリット:会社の売りにすることができます「うちはJavaでサーバー
サイド開発をこなせる会社です。是非うちに発注を!」
デメリット:生兵法のくせにエキスパートを気取るJava厨が会社に
大量跋扈することになります。私もJavaプログラマですが、コイツ
ラの会話はきいていてむかつきます。
「EJBが~」「Jiniって~」「OOAが、OODが~」「XMLを~」
細部を全く理解していないアホのくせにえらそうに語るなテメエラ。
513 :
デフォルトの名無しさん :02/10/19 21:37
独習javaで勉強してる初心者です。 P158の結果が何故2つとも 11 12 13 14 15 になるかわかりません。 どなたかご教授していただけませんか? class ArrayArgument { public static void main(String args[]) { int x[] = { 11, 12, 13, 14, 15 }; display(x); change(x); display(x); } public static void change(int x[]) { int y[] = { 21, 22, 23, 24, 25 }; x = y; } public static void display(int x[]) { for (int i = 0; i < x.length; i++) System.out.print(x[i] + " "); System.out.println(""); } }
>>504 あれって ユーザ登録必要だっけか?
FreeBSD用 JDK1.3 は未だに互換テストに合格してないらしく
バイナリ配布不可の状態が続いてるみたいなので、
JDK1.3 使いたければ ソースが必要。
バイナリ配布されてるのは 1.1.8 かな?
>>513 change(int x[])メソッドには、
int x[] = { 11, 12, 13, 14, 15 };の 「アドレス値のコピー」が
渡されているのです。
コピーを置き換えても、本体は変化しないわけです。
参照は少し説明がむずかしい…今度の新人研修、私がする予定なのに…
516 :
デフォルトの名無しさん :02/10/19 21:55
517 :
デフォルトの名無しさん :02/10/19 22:03
>>515 さんレスありがとうございます
本には基本データは引数のコピーが渡され、
配列、オブジェクトは参照だけがコピーされると書いてある。
サパーリワカンネ。。。
なんとなくここ大事な予感。
なんか説明してるHPなどないですかねぇ。。。
>>517 ちなみに、こんな感じにすると結果がかわる。
class ArrayArgument {
int x[] = { 11, 12, 13, 14, 15 }; //←ここに移動
public static void main(String args[]) {
//int x[] = { 11, 12, 13, 14, 15 }; //←ここから
display(x);
change(x);
display(x);
}
public static void change(int x[]) {
int y[] = { 21, 22, 23, 24, 25 };
x = y;
}
public static void display(int x[]) {
for (int i = 0; i < x.length; i++)
System.out.print(x[i] + " ");
System.out.println("");
}
}
どのオブジェクトがデータを(論理的に)もっているか考えましょう。
>>517 遠回りしてCのポインタを勉強するってのはどうよ?
520 :
デフォルトの名無しさん :02/10/19 22:23
>>518 レス再びサンクス。
しかし、コンパイルエラーがでる。。
staticでない変数xをstaticコンテキストから参照することができんと。
で2行目を
static int x[]={11,12,13,14,15};
としても、
結果が変わらないんですけど...
2つとも11 12 13 14 15になる。。。
521 :
デフォルトの名無しさん :02/10/19 22:28
>>519 情報thx
Cのポインタと関係あるのか。。
今はちょいと時間ないのです。
時間があればな。。
>>520 試しもしないで送って済まん。
change(int x[]) を change()に変更してくれ。
メソッド宣言と、main(String[] arg)内の2ヵ所。
523 :
デフォルトの名無しさん :02/10/19 22:39
>510 512 516 ありがとうございます。jjtreeを試してみるといいっぽいですね。 がんばります!
524 :
デフォルトの名無しさん :02/10/19 22:43
>>522 レスくださっただけでも感謝してます。
で結果が変わったのだが、ますますワカンネ。
とりあえず、参照っていう意味も曖昧になってきました。。
525 :
デフォルトの名無しさん :02/10/19 22:49
「変数」は「参照」が存在している場所を見ている。(「参照」の中身を見ていない) 「変数」はスコープの中だけで有効 public static void change(int x[]) { は、 public static void change(int y[]) { って書ける。つまり、change(int x[])のなかにいる 変数xと、mainの中にいる変数xはそれぞれ別の人。 最初のx[]ってのはまどわすためのワナだよ。
527 :
デフォルトの名無しさん :02/10/19 23:48
>>526 レスサンクス!
class CallByValue {
public static void main(String args[]) {
int i = 5;
int j[] = { 1, 2, 3, 4 };
StringBuffer sb = new StringBuffer("abcde");
display(i, j, sb);
a(i, j, sb);
display(i, j, sb);
}
static void a(int i, int j[], StringBuffer sb) {
i = 7;
j[0] = 11;
sb.append("fghij");
}
static void display(int i, int j[], StringBuffer sb) {
System.out.println(i);
for (int index = 0; index < j.length; index++)
System.out.print(j[index] + " ");
System.out.println("");
System.out.println(sb);
}
}
↑だと、mainの中のint iとa(int i)が別のものだとわかる。
でも何故↑だと、j[0]=11が適用されるかってことです。
>>513 だと適用されないのに。。。
長レススマヌ。
528 :
デフォルトの名無しさん :02/10/19 23:52
ツリー形式の掲示板を作る場合にどうすればいいでしょうか? 書き込み内容はデータベースに持たせようと思うんですけど、テーブル構成とかプログラムの上手い書き方とか教えていただけませんでしょうか?
> でも何故↑だと、j[0]=11が適用されるかってことです。 j[0]=11; ってのは、変数jが見てる先の参照に対する操作。で、参照の状態を変えてる。 j = {0, 1, 2,}; って書くと、これは、変数jへの操作になる。で、変数が見てる先を変える。
>>528 MVC
これでツリーだろうがスレッドだろうが思いのまま。
親ノードが誰かをレコードに記録しておけば再帰的に引っ張ってこれる気がする。
>>530 親ノードの情報をもっておくのは分かるんですが、例えば
parent
|
+-- child1
| |
| +-- child1-1
| | |
| | +-- child1-1-1
| | |
| | +-- child1-1-2
| |
| +-- child1-2
|
+-- child2
とかでデータベースからレコードを取って JSP に渡す場合、Bean とかってどんな構造になりますか?
この上手い構造がイマイチ思いつかないんです。
なんか凄くパフォーマンスが悪くなりそうな気がして…。
ご教授くださいませ。
書きこみ └レス━レス━レス━レス マスター ├書きこみ ├書きこみ └書きこみ
兄弟関係をリストにでもすれば? 親に長男の居所を聞いて、長男に次男(or長男の長男)の居所を聞いて、、 ってたどればすぐ並べられるでしょ
つーかテーブルに親IDでインデックスかければ 何も考えんでいい気がするが
536 :
デフォルトの名無しさん :02/10/20 00:55
メソッドの引数について質問してた者です。 レス遅くなりました。色々試してたもので。。。スマヌ。 引数が基本データ型の場合、値がコピーされるだけなので、 値がメソッド内でいくら変更してもmainメソッドにはわからない。 引数が、配列やオブジェクトの場合、参照先が変わるので mainメソッドにはわからない。 ってことでいいですか?
>>536 基本データ型は合ってる。
参照の方は、微妙(?)に違うような、あってるような。
でも、自分でいろいろと試しているのは良いことです。
宣言している配列の中身を変更するようなことも試していますか?
int x[] = {11,12,13,14,15};
x[2] = 20;
>>528 RDB でツリー構成するのは難しいぞ。汎用機時代のどこかの本で定番設計を
見た覚えがあるが、文字だけで説明すんのは無理。てかスレ違い。親子 ID
だけ持ってりゃ動くだろなんて素人設計すんなよ。
539 :
デフォルトの名無しさん :02/10/20 01:53
>>536 変数にはいってるのは、配列やオブジェクトじゃなくて、「ヒープに
アロケートされているオブジェクトまたは配列オブジェクトに対する
参照(Cでいうところのポインタ)」です。
引数で飛んでいくのは参照のコピー(おそらく内部的には「参照の値
のコピー」)。参照が指し示しているオブジェクトは、コピー元とコ
ピー先でおなじだから、オブジェクト参照を引数で何かに渡すと、
渡した先で行ったオブジェクトの内部状態の変更はそのまま関数呼び
元で引数に渡した参照が指し示しているオブジェクトに反映されます
よ。
・・・・文章で書くとワケワカランね。初心者用参考書読むほうがハヤイYO!
540 :
デフォルトの名無しさん :02/10/20 01:59
>>538 親に対して子が1対多だから、普通に子レコードが親レコードIDも
ってるテーブル一個あればいいだけじゃない?
検索が遅くなるっていっても、掲示板のレコード数程度じゃたいした
ことにならんでしょ?
汎用機で仕事で起こすようなデータベースなんかにこれやったら
検索遅すぎて死ぬだろうケドネ。もし速度的に問題あるようなら、
ツリーのルートレコードIDをカラムに追加して、それにインデッ
クス張って、検索時はルートレコードIDで1ツリー分まとめ取り
してからクライアント側で解析すればいいと思われ。
>>539 熱のこもった講義ですな。
個人的には、
「メソッド呼んだら、引数に渡したオブジェクトが変化する」
と言うようなプログラムを書くことが既に間違いだと思う。
void change(int[] x)でxをいじるのではなく、
int[] change(int[] x)でxを使って計算したint[]配列を返すように
すればいい。
>>539 のような知識は後々身に付ければいい。Javaの試験取りたいなら
別だが。
>>540 まぁ使われようによっていろいろある。ルートだけじゃなくてあるノードの
上位に存在するすべての ID を個別レコードとして格納しておけば、特定
ノード以下を一括検索したり一括削除できるし。Java なら Hashtable に
ID ぶち込んでツリー作って、それを BLOB カラムに格納して、ID から
それが所属する BLOB 取れるようにテーブル作るとかするとか (どの道
再帰的に SQL 投げまくる事になるか)。
>>541 確かに、初心者相手にお勧めしないのほうがよいのかもね。
ただ、間違いって認識はまずいよ。Visitorパターンとか知って
るかい?オブジェクトを渡してその中身を変更してもらうのは、
OOPするときの常套手段ですお。
コレをするとデータとロジックの分離をきれいに行えますです、
ハイ。
544 :
デフォルトの名無しさん :02/10/20 02:26
>>542 結局、「そのツリーをどのように使うつもりなのか、検索/更新に
どの程度の負荷があるのか、システム実装者の技量はどの程度か」
がはっきりわからんと、最適な方法は見えてこない、ということで
よいでしょうか(藁
「あるノードのすべての子孫を1回のselectで引く」 ってのは難しそうだな(Javaの話題ではないが)
546 :
デフォルトの名無しさん :02/10/20 02:32
>>545 そこを工夫するのがエンジニアリングですお。
例えば、ノードIDの命名規則を工夫して、LIKEで取ってくると
いう荒技が・・・
AAA
-AAA.AAA
-AAA.BBB
-AAA.BBB.AAA
-AAA.BBB.BBB
とかにして、AAA%とかAAA.BBB%でLIKEで取るとか。
>>543 541 が言っているのは、Fortran のような
「ルーチンに引数としてデータを渡すとデータを加工してくれる」
書き方ではなく、
「引数としてオブジェクトを渡すと、その情報を参照して仕事をし、結果のオブジェクトを返す」
書き方(考え方)にしようということかと。
536 の理解の段階ではそのくらいで十分でしょ。
そうか、まともなインデックス張れてればパス文字列もありかな 。。なんか騙されてる気もするが。。
RDB でツリー作る話はパフォーマンスまで考えるとかなり専門的になるので
そろそろスレ違いということで。
>>545 あるノードの上位に存在するノードをすべてレコードとして保存して
おくしかないかな。
550 :
デフォルトの名無しさん :02/10/20 02:38
>>548 リソースが要求に対して潤沢であることがおおい
最近の環境では、テヌキは基本でそ(藁
>>550 DB 設計に関してだけは手抜くと半年後システム全体が死ぬ可能性が
あるんで辞めたほうがよろしいかと。
552 :
デフォルトの名無しさん :02/10/20 02:47
>>551 そりゃモチロンそうです。
私の話は一般論ではなくて、今回の問題を解決する話ッス。
2chをRDB使って作るというなら、こんなことしちゃダメ
ですな。
553 :
デフォルトの名無しさん :02/10/20 04:19
皆さんレスありがとうございました。
完璧にはわかっていませんがある程度は理解できました。
>>537 x[0]は11、x[1]は12、x[2]は20、x[3]は14、x[4]は15ですね?
これでハズシテタラごめん。
>>539 初心者本さがしてみます。
何か↑にそんなレスあったから。
>>541 熱のこもった講義皆さんに感謝してます。
行く行くは試験受けてみたいですね。
貴様らは所詮アドレスの演算やアドレス値の代入が出来ないわけだが。 よってレジスタ参照とメモリ参照の区別もつかないわけだが。
555 :
デフォルトの名無しさん :02/10/20 05:03
Cのcursesライブラリみたいのってjavaでありますかね?
>>555 さぁ?
OS依存ライブラリ作らないと実現できないうえに
GUI のライブラリが標準装備されてるから必要ないって考えかも。
貴様らのVMはおもいっきりOS依存。
どうもしません。
完
>>554 そう言うのを気にする必要がないのがVMの長所でありマルチプラットフォームの所以です。
サーブレットとかJSPからCGIを呼び出すにはどうしたらええでしょうか? イメージ的には getRequestDispatcher().foward("hoge.cgi"); のようなことがやりたいです。 hoge.cgiには、サーブレットから値を渡す必要ないですが、ブラウザから渡されたものは 引き継ぎたいです。
補足 CGIの実行自体はRuntime#execで出来ると思うてます。
>>562 JavaからCGIと言う規格でCGI準拠のプログラムを呼び出せばいい。
CGIとてただのプログラム/スクリプトなのでそのまま実行してどうにか標準出力を得ればよし。
>>564 CGIプログラムの出力を得てそのままJspWriterにprintlnしても、text/htmlとかがついてますよね?
昔JavaからCGIがわからなくて暗号化して渡してたな・・・。
サンプルソースかライブラリ、ないかねぇ
>>567 URLエンコードで検索すれば法則性はわかると思われ。
>>562 Tomcat なら CGI サーブレットがあるので、そいつ経由で CGI が使える
ようになっていれば forward も可能。だめなら Runtime#exec,
Process#getInputStream で標準出力を取り出してヘッダけずって取得。
>>569 CGIServlet.javaのソースが参考になりそうです。
どもでした。
みなさん、ありがとうございました。 そうか、RDB でツリーをやるのは難しいのか。 私の技量はたいしたこと無いです。 もうちょっとあがいてみようと思います。 # この質問にあったスレってどこにありました?
Javaで半角カタカナをひらがなに変換する方法はありますか?
>>555 jcursesってのがsourceforge.netにあるよ
574 :
デフォルトの名無しさん :02/10/20 18:30
すいません、何かどうしても下の問題解けなくて… 教えていただけないしょうか デシベルdB=10logX(例えばXは出力電力/入力電力)がよく科学技術で用いられるが、 何デシベルがどのようなX(出力の入力に対する倍率にもなる)に対応するプログラムを作れ、ってネタなんですが、、 その実行結果として 0dB->1.0 1dB->1.2589254117941673 略 9dB->7.943282347242816 10dB->10.0 になるのらしいですが、 自分がやれば 0dB->-Infinity 1dB->0.0 2dB->0.693147805599453 略 10dB->2.302585092994046 になってしまいます //Nanika.java public class Nanika{ public static void main(String a[]){ for(int dB=0;dB<=10;dB++) System.out.println(""+dB+"dB->"+Math.log((double)dB)); } } やはりprintln以降が間違えてるのでしょうか、、、 おながいします
常用対数と自然対数
System.out.println(""+dB+"dB->"+Math.pow(10, dB/10));
578 :
デフォルトの名無しさん :02/10/20 18:52
>>576 実行結果が0~9dBまでが1.0で、10dBが10.0に…
System.out.println(""+dB+"dB->"+Math.pow(10, dB/10.0));
580 :
お願いいたします。 :02/10/20 20:30
JButtonを、Enterキーで操作するにはどうすればよいのでしょうか。 (Enterキーを押すと、ボタンを押したように動作させたい) setMnemonic(int mnemonic) を使ってみたのですが、全く反応しませんです。 よろしくお願いいたします。
>>580 ActionMapとInputMapを使う。
setMnemonic(int mnemonic) は、どうやらメニューアイテムに対するショートカットのようですね。 と、ここまでしか分かりません。どうかよろしく愛の手を。
>>580 おまえさんが変な事書くから戸惑ってしまったよ。
そのメソッドは、
「ALTキー」を 押 し な が ら なら、反応させるものだ。
Enterキー単独で反応させたいなら、EventListenerを使うしかない。
584 :
デフォルトの名無しさん :02/10/20 21:03
GNUのgzipとGZIPOutputStreamとで出力サイズが違うのは どうしてなんでしょうか?(ファイルネーム以外で)
>>586 違うものだからじゃないかな?どうだろ?
588 :
デフォルトの名無しさん :02/10/20 22:37
すみません。初心者的な質問なのですがよろしいでしょうか。 JListで選択の変更をListSelectoinListenerのvalueChangedでうけて処理しているのですが、 一度何かを詮索すると2回呼び出されているのですがなぜでしょうか? 1度だけ処理したいのですがどうすればいいのでしょうか?
>>586 gaipって圧縮率いくつか選択できるよね?
591 :
デフォルトの名無しさん :02/10/20 23:01
>>588 ListSelectionEventのgetValueIsAdjusting()を調べて見よ
画像描画はどのクラスを使えば一番効率いいん?
596 :
デフォルトの名無しさん :02/10/20 23:37
JList list = new JList(); list.addListSelectionListener(new ListSelectionListener(){ public void valueChanged(ListSelectionEvent lse){ if(lse.getValueIsAdjusting()){ // 処理 } } }); でいけたと思う。
>>594 線を描いての描画?J2SE?
JLabelに一票。JFrameは描画がちらつくような気がする。
599 :
デフォルトの名無しさん :02/10/21 00:48
javaの初心者です。ヨロシクです。 それで質問なんですが、 TextFieldに1や2といったdoubleやintの数値を入れたいのですが、 マニュアルにはsetText(string t)と書いてあり、実際に入れようとしても型違いなのでエラーになってしまいます。 またTextFieldからgetTextした値をdoubleやintの数値で取ってきたいのですが これもやはり無理ですた。 私はTextFieldに入った値で練習用計算機を作っているのですがどうやったら TextField内の値をntやdoubleで扱えるのでしょうか?教えてください。おながいします。
とりあえず600
double value = 123.456; String num = Double.toString(value); value = Double.valueOf(num).doubleValue();
調べてみたところ、
GNUのgzip -> 自前のdeflate
GZIPOutputStream -> zlibのdeflate
ということで、gzipのdeflateとzlibのdeflateの違いっぽいです。
なので、zlibをつかったgzip圧縮ツールとは同じサイズになるようです。
>>595 ワラタ
604 :
デフォルトの名無しさん :02/10/21 04:48
javaとc言語で配列の通信をしたいんですが 参考になるようなページなどがあれば教えてください。
605 :
デフォルトの名無しさん :02/10/21 05:11
ふと疑問に思ったことが。 すべてのクラスを辿っていくとobjectクラスにつきあたるというじゃないですか。 で、なんか自分でなんかのクラスをつくるじゃないですか。 そんで、たとえば何かのオブジェクトを入れたら、ある処理を施されて、オブジェクトが帰ってくる、機能を持ってるクラス。 で、そのオブジェクトの入り口と出口を method( Object object ) ていう風にしたら、どんなクラスのオブジェクト入れてもオッケーっていうことですか? いや、初心者なんですけど、気になって。
606 :
デフォルトの名無しさん :02/10/21 05:25
>>605 そうですよ。
そういうメソッドをPublicで定義した場合、メソッド内部の処理が
「引数がObjectならなに入れてもいい」ように作ってありますよ、
という意思表明になるよ。
Object型を引数に取るようなメソッドは、自分はあまり作らないけどね。
折角のコンパイル時型チェック機構の利点を捨ててまで、えられるものは
普通はないよ。
607 :
デフォルトの名無しさん :02/10/21 05:28
>>604 JDK では JNI 使って zlib <-> Deflater, Inflater とかやってる。
609 :
デフォルトの名無しさん :02/10/21 05:34
java、c間でのソケットプログラミングが よくわからないので参考になるような資料 ありませんか?
611 :
デフォルトの名無しさん :02/10/21 05:38
>>609 Socketでググればええやん。
javaのコアAPIのソケットは、バークレーソケットインターフェイス
の簡単なラッパーでしかないから、基本で難しいことなんか何もない
ぞ。(微調整できないけど)とりあえずTCPでソケットするやり方自体
を分かってれば、勉強なんかいらん。トライアンドエラーちょっとくり
返すだけ。
・・・それがワカランというのなら、それはベースになる知識が足りないから。
612 :
デフォルトの名無しさん :02/10/21 05:40
>>608 しまった、プロセス間通信じゃなかったのか、スマン。
613 :
デフォルトの名無しさん :02/10/21 06:21
勉強不足でした。出直して来ます。
>>605 聞いテ
引数に this を入れるメソドってよくありますよね。ちょっと驚愕します
勝手にいじくられるんじゃないかと(java初心者です)
例えば Thread のインスタンス作成時にコンストラクタに与えるthis。
そういえば俺(this)は Runnable を実装していたんだ、と。
Thread のインスタンスからいじくられるのは run() だけか。
なんかインターフェイスって言い得て妙
電波を受信しました
617 :
デフォルトの名無しさん :02/10/21 16:40
JAVAの勉強を始めようと思い、SDK1.4.1をSUNのサイトからDLして インストールしたのですが、JAVA Web Startをクリックした途端 エラーが出て再起動してしまいます。詳細不明のデバイスエラーらしいですが… 何度インストールしなおしても同じ現象が起こります。 どなたか原因をご存じないでしょうか?OSはXPproです。
>>617 グラフィックカードか なんかでトラブってたよーな。
>>617 1.4.1 は ATI のグラフィックカードと相性が悪いので
しばらくは 1.4.0 を使うがよろし。
621 :
デフォルトの名無しさん :02/10/21 17:57
初心者です ¦¦この半角記号が打てないので プログラムを書くのに困っています。 キーボードの右下の¦のキーを押しても¥が出てくるだけです どうすれば、英数半角でこの記号が打てるようになるのか 教えてください
>>621 622が不親切だから丁寧に教えてやろう
(1) a || b : aまたはb
(2) !(!a && !b) : 『「aでない」かつ「bでない」』でない
(1)と(2)は等価だ。
a b (1) (2)
--------------
t t (t) (t)
t f (t) (t)
f f (f) (f)
f t (t) (t)
t: true
f: false
だから||なんか必要ない。
アホだw
オイラ厨房なんだけどjabaやりたいいんでどいやったら出来るんですか?
JavaHouseというところは今でもありますか?
>621はシェルでパイプが使いたくなったら、どうするんだろ・・・
628 :
デフォルトの名無しさん :02/10/21 19:50
AWTコンポーネントを思ってるように配置できなくて悩んでます。 BorderLayoutのWestにPanel1を配置し、 CenterにPanel2を配置しました。 さらに、Panel1にButtonを好きな位置に配置したくて、 Panel.setLayout(null); こんな感じでnullレイアウトにして、 Panel.add(Button); Button.setLocation(0,100); ボタンをPanelの(0,100)に配置されるようにプログラムを組みました。 しかし、実行してみるとボタンは表示されていませんでした。 どうやったらボタンをパネルの好きな位置に配置できるのですか?
629 :
mokorikomo :02/10/21 19:54
これからはジャバしてください,っていうコマーシャルが今かかった.
>>628 訂正です。Panel1がPanelになってました。
Panel1.setLayout(null);
こんな感じでnullレイアウトにして、
Panel1.add(Button);
Button.setLocation(0,100);
どれを落とせばjavaが出来るんですか? ネタじゃあないんでマジレスお願いします。
い、いや・・・ 全部は・・・キツイです・・・。
JRE と SDK どっちですか?
解りました。SDKはいらないんですね?
今日はいったいどうしたんだ(w お遊びモードなのか?真面目に答えてはいけない日なのか?
>>639 答えってのは質問に相応しいものになる。
JavaのDOMでXMLプログラミングしたいんですが、お勧め本ありませんか? 本屋で物色したりぐぐったりしても、よさげなのが見つからなくて。
気のせいか、どのJava & XML はどの本もみんな 中身は一緒。 ・・・・・いや、気のせいだって、きっと。
>>642 そんなこというなよ!!
でも、でも、、、正しいような気がする。
・・・・いや、木の精だって、きっと。
全力で下げる。
JDOM使っとけ
>>641 なぜかPHPのAPIヘルプで覚えた。
DOMとかSAXは各言語仕様が似てていいやね。
>>644 あん?xcreseに決まってんだろボケ。
RELAXER 使っとけ。
JDK1.4から加わったjavax.print.*でテキスト文書をプリントアウトしようと思 うんだけど"invalid flavor" てExceptionが返ってくる・・・ PDFも同様。これって結局プリンタドライバーの問題? GIF画像ならプリントアウトできるんだけど、SunのSampleは誤字が多いし いざ紹介されているサイト見ても触る神に祟りなしとばかりに画像出力ば っか。 海外サイト行っても同じ問題で苦しんでいる人が多いみたいだし・・・ 誰かまともに使えた人います?
現在Swingでオセロゲームを作ってるんですが、ちょっと 問題が生じています。 現在、はさまれたものをひっくり返す部分を作ってます。 動作としては、はさまれた間の石をひとつずつアニメーションしながら ひっくり返すというものです。 発生した問題としては、すべての石がひっくり返ったあとに、 指定(クリック)されたセルに石が置かれます。 望む動作としては、石がおかれてからはさまれた石をひとつずつひっくり 返したいのです。 ちょっと、原因がわからず困ってます。 ひとつずつひっくり返すという処理を別スレッドを作って そいつにやらせているので、Swingに任せてるpaint()処理 がそのスレッドが終了した時点で呼ばれているのかな? と思い、石をおく処理も別スレッドにして動かしたんですけど やはり、はさまれた石をすべてひっくり返したあとに、石が置かれます ん~いったい何が原因になってるんでしょうか???
>>650 ダメよダメダメdead lock~♪
ダメよダメダメdead lock~♪
スレッド作るの~好きなあ・な・た♪
ちゃんとわかって使ってね~♪
って言うか再帰的に順次めくっていけばいいじゃん。
>>650 どうせめくり中は入力受け付けないんだろうから。
void reverse(Vector targets)
{
Iterator v = targets.iterator();
for(int i = 0; i < ANIME_FRAMES;i++)
{
while(v.hasNext())
{
Integer l = (Integer)v.next();
ChangeGraph(koma[l.intValue()],ANIM_GRAPH[i]);
}
update();
}
}
こんなんじゃダメ?
俺、Java3ヶ月してるけど、スレッドなんて使ったことない。 オセロごときでスレッドなんて使うの?アニメーションならタイマ割り込み使うわな。 ・初期化 { ・自分のルーチン ・描画 ・相手のルーチン ・描画 ・判定 } 終了 でいいと思うが・・・。
↑アホ
655 :
デフォルトの名無しさん :02/10/22 11:32
やっと練習用の自作計算機作りますた。 けどここで質問です。 アプリケーションで作ったのですけどVBのようにランタイムやら何やら固めて 配布用にするツールはありますでしょうか? javaが入ってない環境やいちいちDOS窓から実行なんてしないといけないのは ちーと使い勝手が悪いです。 んなので教えてください。おながいします。
ちなみにJbuilderとかvisual Jとか全く使ってませんので。 金無いのでSDKのみで作りますた。
>>655 今、君は最も重要な作業をしてるぞ。なおかつその作業は、
将来の君のソフトウェア開発に対する思想を決定づけるものだよ。
ツライのは解るが、「SDK+エディタ+コンソール」この環境が苦にならなければ、
先々、いい技術者になれる可能性があるぞ。
統合開発環境に頼ってしまうと、いわゆるブビ厨に代表される、
それがないと何も出来ないアホウになってしまう。
今の状況を、むしろ楽しめ。
出来る技術者なら、だれもが通った道だ。
>>657 配布物を利用する人の利便を考えてるんじゃねーの?
つか
>>655 統合環境を求めてないし。
>>657 お褒めいただいてありがとです。
私はいつも新しい言語やるときはまず計算機からってことでやっとります。
delphiしかりVBしかり。
でもそんな難しくなかったですよ。>Java
一応仕事で別の言語やってたから(今プー)
基本は知ってるのであとはjdbc:odbcとかでDBにつないで
SQLコマンドぶち込めるツールとかつくろうかなとか思ってたり、
FTPのツール作ってみようかなとか思ってみたり。。。。。
ただ固めるのができましぇん。
>>658 >配布物を利用する人の利便を考えてるんじゃねーの?
そのとおりです。
つーかテスト用で作ったので一応固めたいつーだけなんですが(藁
他環境で使えるのを確認して一応テストを閉めたいのでふ。
>>660 一般的には jar + 起動用スクリプトとか。
あとはフリーのネイティブコンパイラ使ってみるとか、
(gcj とか jet とか)
>>661 起動用スクリプトってbatファイルでも作るちゅーことでしょうか?
これはすでに作って使ってます。
jarって言うのはよくわかりません。飯食べてから確認してみます。
ちなみにこれってexe見たいにワンクリックで起動するものなんですか?
あと関係ないのですがsageた方がいいの?
InstallAnywhereとか使えるんじゃない。 他には、Delphi持ってるなら、JREダウンロード支援からセットアップからしてくれる.exe作るとか。
>InstallAnywhere //既製品買う金無いです >Delphi持ってるなら //昔やってて今持って無いです。 JREダウンロード支援からセットアップからしてくれる.exe作るとか。 //コレダ! では飯くってからバイト(11月まで飛込み営業 //午前中サボり)逝ってきます。
>>657 VBが厨発生の温床になってるのはなにも統合環境のせいじゃないよ。
DelphiやってたらJavaも似てるから入りやすいでしょう。
IDEで全て賄えるならそれが一番いい。何も時代をさかのぼることは無い。
いろんな考えがあるけどね。
jarアーカイブはJREかJDKが入ってればexeみたいに起動できるよ。 利便性を求めるなら、JavaWebStartってのもアリかな。
とりあえずみなさんありがとうございます。 私糞つまんないバイト逝ってきますので、また後々ご報告します。
668 :
デフォルトの名無しさん :02/10/22 12:56
>>622 ,
>>623 ありがとうございます。でも本当は、¦¦が打てるキー設定ができるのが一番いいのですが
ここで躓いていてもしょうがないので、しばらくそれで凌いでみます。
669 :
bloom :02/10/22 12:58
勉強してて疑問に思ったので質問させてください。 int a[] = {1,2,3,4,5}; int b, b=a; System.out.println(b[3]); 本にはこのとき、画面にはa[3]の値である4が表示されると 書いてあるのですがどうしてですか?
>>668 かわいそうに・・・
誰からもまともに答えて貰えなかったんだね(藁
つーか、ネタだよね?
[0][1][2][3][4] 1 2 3 4 5
Graphicsについて質問です。 以前のシステムではJDialogを継承したAというクラスをNewで生成し、setVisible(true)で ダイアログを表示させたののち、クラスA内のあるメソッドでGraphicsオブジェクトをあつかう処理をしていました。 その後、このクラスの処理を何も継承していない自作クラスBで行おうとしました。 しかし、createImageが使えなくなりました。急いでクラスBにJDialogを継承させ解決したんですが こんどはGraphicsを宣言する部分でNullPointerExceptionが発生してしまいました・・・。 クラスAとクラスBの違いはただ、ダイアログを生成しているかしていないかの違いです。 (BはただJDialogを継承しているだけ) なぜGraphicsオブジェクトを生成しようとすると例外が出るの!? 馬鹿でゴメン・・・だれかHELP!
どうやらフレームが生きていないクラスではGraphicsオブジェクトは 作れないみたいなんで、諦めました。
675 :
デフォルトの名無しさん :02/10/22 14:48
TextFieldに入れた文字を右寄せにするには?
>>674 以前にもこの話題がありましたが、Component を off screen で使った場合、
createImage, size, insets, getGraphics などのメソッドの返値は、null
になってしまいます。
必ず、show してから、得るようにしてください。
>>672 えーとよくわかんないんですが・・・
あともひとつ質問。
なんでもいいからプログラムを勉強する場合、ブラインドタッチは
必須ですか?
>>651 >>652 レスありがとうございます
現在は、652さんのような感じでやってます。
アニメーション用のImage配列と表示するJLabelを
与えたReverseAnimator implements Runnable クラスを作って
それを別スレッドで、ひとつずつのひっくり返す石に対して
呼び出しています。描写はGraphicsをとってきて
g.drawImage()しています。
んで、オセロの石を置くメソッドでも同様にこのクラスに
置いた石のImageをひとつだけ渡して、スレッドで動かしているんですが、
どういうわけか、石を置く処理のほうがひっくり返す処理よりあとに
描写されてしまいます。
651さんのおっしゃったようにデッドロックを起こしているのでしょうか?
なんか、石がないところに石の無い画像を配置したら うまくいきました。なんでだろう? 最初からLabelにIconをセットしておいてからそれを変えるのと 必要なときにIconをセットするのとでは何がちがうのだろう???
>int b; int b[];の間違いでは? >なんでもいいからプログラムを勉強する場合、ブラインドタッチは >必須ですか? ブラインドタッチ? 何がなんでもいいの? ワラタよ
このスレって煽りなくていいね。 みんな和気藹々とやってて見てて楽しそう。
684 :
デフォルトの名無しさん :02/10/22 16:12
javaでGUIを扱うのってAWTとSWINGの他に もうひとつあったような気がしたのですが、 思い出せません。 どなたか教えてください。
SWT
WFC
WWE
WWF
( ´,_ゝ`)
UWF
>670 配列は0から始まるんだよ int a[] = {1,2,3,4,5}; は a[0] = 1; a[1] = 2; a[2] = 3; a[3] = 4; a[4] = 5;
プラットフォームが64bitになったら、intをlongに変えた方が良いんでしょうか?
KKC
DQN
696 :
デフォルトの名無しさん :02/10/22 21:53
すいまそん。JAVAでエクセルのデータを操作することはできないでしょうか? できるのならやり方を教えてください.よろしこ。
>>692 ああなるほど。ありがとです。 新しい質問です。MS-DOSプロンプトなんですが、これって 一度表示したらもう上のほうって戻れないんですか? エラー20もでて、なんかシンボルを解釈処理できません、 とか出たんですが上の1つめのミスがなにかとか見たいんですが 戻れないので見れません。 どうすればいいですか?
>>701 O S を 変 え る ! !
・・冗談です。
リダイレクト、ツール、自分でプログラム内の出力先を変えるなど、
いろいろ手はございます。
>>701 FAQにそういうのがあったのを思い出した。
>>702、703 ありがとうです。FAQにありました。 で、どうもよくわからんのですが入力文字が無効といわれました。 nt a[][] = new int[9][9]; int i,j; for (i = 1; i <= 9; i++) { for(j = 1; j <= 9; j++) { a[i - 1][j - 1] = i * j; } と、こんな感じなんですが、エラー結果のとき i と j にチェックが つきます。今までと同じ本通りに書いてるのに今回はなぜか エラーが出ます。どうすればいいんでしょうか?
>>704 ntはintだろうと善意に解釈するとして、
}が足りない。
あ、いや省略したんですよ。全文は、 public class Sample21 { public static void main(String args[]) { int a[][] = new int[9][9]; // 配列を宣言しメモリを確保する。 int i,j; // 配列の要素に値を格納する。 for (i = 1; i <= 9; i++) { for(j = 1; j <= 9; j++) { a[i - 1][j - 1] = i * j; //九九の値を格納する。 } } // 配列の要素の値を表示する。 for(i = 1; i <= 9; i++) { for(j = 1; j <= 9;j++) { System.out.print(a[i - 1][j - 1] + ","); } System.out.print('\n'); } } } こんなんです。
>>706 もコンパイルとおった。
int i,j;
↑ここの全角に気オつけろ。
んー全角ではないんですけどねぇ。 よくわかりません。 こーいうときってとりあえず無視してすすでもいいですかね? それとも原因を解明したほうがいいんでしょうか?
>>709 全角スペースじゃなかった?intの前の空白
コピペしたら、そのせいで、int型の「i」と「j」が認識できなくて、
その後の「i」「j」の使用個所全てでエラーがでたのよ。
>>710 あーほんとだ! そういえばTabキー押す前に間違えてスペース押した覚えが ある。そんとき全角になってたのかー。 こんなことでエラーになるんですね、って勉強してておもったんですが プログラムって1文字でも違うと作動しないからこわいです。 707さんありがとうです。たすかりました!
>>697 すげーおもしろい。いままでにも OLE を取り扱うライブラリとかは
いくつかあったけど、これは、Javaから直接 Excel(.xls) が
読み書きできるんだねー。サーバーサイドで利用してみようかな。
横井与次郎とかいう人がJava&XML本をたくさん書いてるのでそれでいいですか?
714 :
デフォルトの名無しさん :02/10/23 05:12
Vectorにいろんなクラスのオブジェクトを詰め込んで、get(int index)で、要素を取り出そうとおもうのですが、そのときObjectクラスとして帰ってくるんですよね。 そんで、String str = (String)vector.get(index);みたいなかんじで、(String)のようにキャスト?してやらなければならないんですよね? ですが、Vectorにはいろんなクラスのオブジェクトが入っているので、どういうふうにキャストしてあげたらいいのかわかりません。 ベクターの要素のクラスを調べるメソッドでもあるんでしょうか?それとも、はじめからなんでもかんでもベクターに詰め込むなという感じでしょうか? よろしくです。
>はじめからなんでもかんでもベクターに詰め込むなという感じでしょうか? こちらが正解だと思う。 どうしても、 >いろんなクラスのオブジェクト を入れて使用するなら、 「instanceof」キーワードでjava.lang.ClassCastExceptionを防ぎましょう。
>>715 せめてObject以外の共通の基底クラスじゃないと・・・ね。
tomcat4.0の環境で簡単な掲示板を作っています。 書き込みデータをnews.datに読み込んで処理するのですが Linuxでこれを FileInputStream("/tmp/news.dat"); とするとうまくいくのですが、W2Kで動作するのには どのようにパスを書けばいいのですか? よろしくお願いします。
そういや最近Vector使ってないなぁ。
>>714 何でも入るからって無理していろんなもの入れなくていいんだよ。
>>717 String tmpdirSuffix = System.getProperty("java.io.tmpdir");
String fileName = tmpdirSuffix + File.separator + "news.dat";
…でダメか?
s/Suffix/Prefix/…(;´Д`)
>>719 ありがとうございます。
とりあえずファイルの場所さえ気にしなければ
フルパス書けば大丈夫みたいでした。
すみません。
int[]やImageを簡単に複製できるメソッドない?
>>722 int[] だったら clone() できるけど。
サンクス
726 :
>>599 :02/10/23 18:16
昨日、テスト用の計算機を作って配布用にexe実行のようにできるようにしたいと
言っていた
>>599 でございまふ。
一応
jar cvf ***.jar ****.class ****.class
つーコマンドでjarファイルを作れますた。
ですが
java -jar ****.jar
とコマンド打って実行しようとしても、
Filed to load Main-Class manifest attribute from ***.jar
と出てきて実行できませんです。
プロバティ見るとこのファイル自体javawに関連付けられているようですが、
もしやこの点がおかしいのではないかなとか思っちゃってまふ。
どうぞ固めたjarファイルを実行させるのをお助けねがいまふ。
727 :
>>599 :02/10/23 18:18
メインクラスのマニュフェストがロードできない。。。。。。マニュフェスト?
>>599 Main-Class manifest jarで検索しる!
730 :
>>599 :02/10/23 18:23
manifest を日本語でいうと何だろう
明示 とか言われても全然意味フメだよな
>>731 manifest
【@】マニフェスト,【変化】
《動》manifests | manifesting | manifested,
【大学入試】,
《名》乗客名簿,指示ビラ,生産指示(票),
《形》明らかな,
《他動》明らかにする,明白な,
《自動》(幽霊が)現れる,明白に示す,明示する,発揮する
by 英辞郎
734 :
>>599 :02/10/23 18:48
うまくいきますた。
マニュフェストファイルの1行目の改行が無かっただけですた。
>>733 ビラかよ!!
735 :
>>599 :02/10/23 18:50
んでさらに問題。 私はさる(猿)人にこれを見せようと仮定しまふ。 こいつはJavaもわかりませぬ。 んでそいつの環境にもしJVMが入ってなかった場合このジャーファイルは実行できますでしょうか?
対象が人語を解さない場合、実行は無理だろうな。
737 :
>>599 :02/10/23 18:56
>>736 やはり・・・・・・・・・
んまぁXP以外はVMが入ってるって事を過程してよしとしますか。。。鬱
んじゃいろいろありがとございますた。
>>737 ちなみに XP 以外に入っていると仮定される
Microsoft製 JVMでは java -jar はできません。
jview -cp xxx.jar xxx.Main みたいに 指定しないとダメ。
JDK 1.1.4 レベルだから そのままでは Swing 不可、
JDK 1.2 以降に追加されたAPI不可とか。
素直に JRE 入れさせたほうが吉。
740 :
>>599 :02/10/23 19:05
>素直に JRE 入れさせたほうが吉。 //死ぬほど無理 一応Swing使わずにAWTのみで製作しますた(どっちでもよかったんだけどね) こちらの環境はJDK2の1.40でふ。一切ツール使ってませんです。
741 :
デフォルトの名無しさん :02/10/23 20:33
確かWinNativeのEXEを吐くJAVAコンパイラが有った筈・・・ と横から口出ししてにげまふ :-)
743 :
publicさん :02/10/23 20:36
OPERAかOPEN.ORG入れればついでにJDK入りませんか?それでもだめ?
>>743 Netscape 6.0以降でも チェックはずさないと JREインストするね。
OPERA ってのは JDK インストールしちゃうんだ…
ところで OPEN.ORG ってなんだ?
745 :
デフォルトの名無しさん :02/10/23 20:49
確かC MAGAZINEで診た気が・・・
>>742 VISUALCAFEですねWIN32になりますね。ただ相手の環境でWIN32を実行できるのでせうか?
:-(
746 :
publicさん :02/10/23 21:06
OPERAはJDK(JRE)必須というかないと動かない? OPEN.ORGはEXCEL,WORDなどOFFICE互換(JDK(JRE)必須)だったと? ↑さんはROBECODEやってますか?
何で全部大文字で書くの?
大文字なだけじゃなくて間違いも多いんですが。 ROBECODE -> RoboCode OPEN.ORG -> OpenOffice JDK(JRE)必須 -> JRE必須 (Operaに関しては推測だが、30MBもある JDKが必須ってのは考えにくい)
749 :
publicさん :02/10/23 21:39
>>746 OPEN.ORG→OPENOFFICE.ORG
>>747 携帯の変換は結構面倒臭いのです
(-_-;
OpenOffice.orgだって。 大文字小文字も考慮できねぇDQNどもだな。 商標問題が起きたときに困るぞ(w
752 :
デフォルトの名無しさん :02/10/23 21:50
ご指摘通りです JREだけで動きますね>>OPERA スペルミス>>RoboCode 環境設定でJRE,JDKどちらを使うかで勘違いしてました。
質問。SunのサイトではJDK⊃JRE SDKって感じになってるんですが。
<丶`A´>
756 :
デフォルトの名無しさん :02/10/23 22:15
>>753 JDK=JRE(コアAPIランタイム+クラスライブラリ)
+コンパイラその他のツール+ドキュメント+コアAPIソースコード
WinでJDKインストールしようとすると、JDKインストールした
ディレクトリと、もう一つ別の位置に、2個のJREをインストールするん
だけどね。(おそらくレジストリ登録対象のランタイムにするため)
757 :
デフォルトの名無しさん :02/10/23 22:51
質問なのですが、txtファイル等に 商品名 価格 A x B y ・ ・ ・ ・ ・ ・ といったデータベースがあるなかで、 その中から決まった文字列を検索したら 一致する商品名全ての 行を検出するプログラムをsdk2のみで くむことは出来るでしょうか? わかりにくい質問ですみません。
できる
できそう
761 :
デフォルトの名無しさん :02/10/23 23:05
>758-759 速レスありがとうございます。 エート、なにで検索すればいいのでしょうか? 独習JAVAという本を持っているのですが 解らなかったものでネットで調べて見ようと思うので よろしくおねがいします
で、でそう
FileReader(またはFileInputStream)とString#indexOf(String)でも見てみて
一行ずつデータが分かれているのならjava.lang.StringのAPIをよ~く見ましょう。 ある決まりにそってデータが分かれているのなら、正規表現当たりを。
>>760-764 みなさんありがとうございます!
課題が明日まででテンパってて
叩かれるのを覚悟で質問したのですが・・
とりあえず頑張って見ます。
平和だな~
768 :
デフォルトの名無しさん :02/10/24 01:14
一応自分なりに考えてみた結果 下のようになったのですが、ifの条件の部分が わからないっす。tf1、ta1はTextField、TextAreaでDataBase.txtが データベースファイルです。これだけ考えてこれしか出来ませんでした・・ ぱっとみでいいので根本的に間違っていましたら 御指摘してもらえますか? bt.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ try{ BufferedReader br=new BufferedReader(new FileReader(DataBase.txt)); int n=1; String s=""; While((s=br.readLine())!=null){ if(?=tf1.getText()){ ta1.setText(ta.getText()+n+":+s+"\n"); } n++; } br.close(); } catch(IOException ie){ System.exit(1)
String keyword = tf1.getText(); StringBuffer content = new StringBuffer(); LineNumberReader in = null; try{ in = new LineNumberReader(new FileReader("hoge.txt")); while(true){ String line = in.readLine(); if(line.indexOf(keyword) >= 0){ content.append(in.getLineNumber() + ": " + line + "\n"); } } } finally { if(in != null) in.close(); } ta1.setText(content.toString());
770 :
デフォルトの名無しさん :02/10/24 01:31
す、す、すごい!神ですか?いやおれのなかで神です! とはいっても初心者の私にはぱっとみではなにやってるか 解らないっすw。ちょっと試してみます。 徹夜覚悟してたのですが寝れそうです! 本当にありがとうございます!
771 :
デフォルトの名無しさん :02/10/24 01:38
Javaアプリケーションのインストーラってどうやって作っているの?
>>769 無限ループを NullPointerException で抜けますか…
わざと? それともいつもこんなコード書いてんの?
773 :
デフォルトの名無しさん :02/10/24 01:41
>>771 Javaアプリなんて、ZIPかなにかで配布して、解凍すればいいだけ
じゃないの?ローカルの環境情報集めたりレジストリいじったりす
る必要あるのか?
774 :
デフォルトの名無しさん :02/10/24 01:42
>>772 String line = null;
while((line = in.readLine())!=null){
//処理
}
これでいいか?
>>772 忘れた。未到達コードでコンパイル通んねぇだろうな。
String line = in.readLine();
if(line == null) break;
>>773 >>776 ありがとSUN
試してみます
VMなんかも入れないといけないから、まとめてできれば便利かなと
期待を裏切られてちょっと(´・ω・`)
>>769 殿
無事コンパイルできました!
なんかfinallの部分でエラーがでたので
消してcatchにしてしまいました。
あとは
>>769 のプログラムのifの上に
>>775 のif(line==null) break;を加えたらコンパイル
通りました!なぜそれで通ったのか解らないのですがw
>>772 氏の指摘の意味も
解らないですし、ひたすら勉強っすね。
最後に本当にたすかりました!ありがとうです!
780 :
ナナシアター.swf :02/10/24 02:27
JAVAの基本参考書を一通り読み終えた者ですが、 これから何かつくってみようと思います。 そこで初心者はどんなものから作ったらレヴェルが上がるでしょうか? 何かアドバイスくださいm(__)m
>>780 ふつうに「こんなもんあったらいいな」と思ったツールとか、自分の
興味のあるもの。
782 :
ナナシアター.swf :02/10/24 02:32
>>781 JAVAで掲示板やカウンタは作れますか?
>>782 できるぞ。
Servlet/JSPなどのサーバサイドJavaを勉強しる。
784 :
ナナシアター.swf :02/10/24 04:48
>>783 サンクスコ
これから勉強に励みたいと思います!
おーしっ!やるぞ!!
>>783 でも、サーブレット使わせてくれる無料もしくはプロバイダのスペースは激しく少ないな。
これから使おうと思ってるんだけど JAR使ったらクラスパスの必要はないの? java -jar hoge.jar だけでいいの?
>>786 >だけでいいの?
あとEnter押すだけでは?
クラスパスにはjarも指定できるけどね。
ちと、条件文 if(a>0) で疑問。 Cの場合、aが0では真にならないけどJavaの場合は真になるんだよね? CのソースをJavaで動かしたら結果が変わったが。。。 俺の勘違いかな???
>>788 JavaもC言語と同じで
a==0 のとき
偽 (0<a)
真 (0<=a)
です。
気をつけないといけないのは
例えば unsigned int をエラーが出るからといって
unsigned を削った場合とかは (0<a)は すなわち (0!=a) なわけで。
>例えば unsigned int をエラーが出るからといって >unsigned を削った場合とかは (0<a)は すなわち (0!=a) なわけで。 サンクス
791 :
デフォルトの名無しさん :02/10/24 14:49
TreeModel model = new AmbientTreeModel( List ); JTree view = new JTree(model); JFrame frame = new JFrame("AmbientTreeView"); frame.getContentPane().add(new JScrollPane(view)); てなかんじで木を作ってswingで表示させてるんですが、実行すると木が閉じた状態(もともとファイルディレクトリのプログラムを改造したものなので、エクスプローラーを起動した直後にフォルダがまだ開いてないような状態)になっています。 木を開いた状態(すぺての木の要素が表示されている状態)で起動させるようにするにはどうすればよいのでしょうか?
>>791 JTree#expandPath(TreePath path)
JTree#expandRow(int row)
じゃダメか?
793 :
デフォルトの名無しさん :02/10/24 15:30
これからJAVAをはじめたいと思っています。 まずお聞きしたいのですが、Visual Studio.NETでは開発できませんか? 前のVer6の時はできたと思うのですが。。。 また、できないとすると何を入手すればよいのでしょうか?
>>793 VisualStudioでは、昔からJavaの開発は出来ません。
J++というJavaに良くにたものはありましたが。今はJ#でしょう。
Javaやりたいなら、VSは捨てることですな。
Eclipse / Forte / JBuilderあたりを導入しましょう。
すいません。ここはsage進行でしたか。
>>794 さんありがとうございます。
また質問ですいませんが、日本語メニュー・ヘルプ付き開発環境となると、
ボーランドのJBuilderしかないでしょうかね。
>>795 開発始めたら、頻繁にヘルプなんて見る?
日本語メニューだったら、Eclipse/Forteも使えるよ。
いくつか環境試して、自分に会うモノを選べばいい。
JBuilderもいいけど、重いね。
>>795 さん
ヘルプは関数の使い方とか知る場合に見れれば良いなと思って書きました。
ところで、今ソフマップに電話して、JAVAソフトはどんなのがあるか
聞いたところ、MSのVisualJも勧められたんですが、これはダメなんですか?
799 :
助けてください :02/10/24 16:58
助けてください!! Jdkのパスをとおす為に「autoexec.bat」をいじりました。 元々は「SET PATH=c:\PROGRA??\ATOK13????」とか書いてある所に 「c:jdk1.3.1_05\bin;」とつずけて入力すればよかったのですが、 新たに「SET PATH=c:jdk1.3.1_05\bin;」としてしまいました つまり、 SET PATH=c:\PROGRA??\ATOK13??? SET PATH=c:jdk1.3.1_05\bin; こんな感じにしてしまったのです。 このミスにきずかず再起動した所、確か「c:windowが見つかりません」と 表示され、それ以降DOSモードのままです。 WIN98です。 そこで「c:\>autoexec.bat」と入力したら 「SET PATH=c:\PROGRA??\ATOK13????」 「SET PATH=c:jdk1.3.1_05\bin;」 NLSFUNCは既に組み込まれています。 コマンドまたはファイル名が違います。 と表示されます。 どうすれば元に戻りますか?お願いします。
801 :
デフォルトの名無しさん :02/10/24 17:09
>797,800 そもそもJBuilder付属のJDKドキュメントは英語。 どの開発環境にしろ日本語版のドキュメントを落とした方がいいのは 間違いなし。 JBuilder買うことは否定しない(持ってるし) ただ、フリーの環境もそれなりに良いので ソフトの重さに自分とマシンが耐えられるかは 一度調べたほうが良いかも。
802 :
デフォルトの名無しさん :02/10/24 17:22
>>799 edit autoexec.bat
でDosから編集できたような気がする。
> SET PATH=c:jdk1.3.1_05\bin;
これを削除して再起動だな
804 :
助けてください :02/10/24 17:30
>>803 「edit autoexec.bat 」と入力しても「コマンドまたはファイル名が違います
と怒られてしまいます。
そういえばVisualJなら持ってるんですけど、 やっぱりJBuilderやEclipseでないと勉強できないですか?
それはもうしぬしかないね
807 :
デフォルトの名無しさん :02/10/24 17:38
VJだとJDK1.1.x+α だから、世間で使われているのより バージョンが古い。 # 今はJDK1.3/JDK1.4が主流か
そうなんですか。 やっぱり初心者にはJBuilder買うしかなさそうですね。
>803 2004年01月にMicrosoftから見捨てられる事が確定している、Microsoft VMでしか動かないJ++か、JDK1.1.4レベルのJavaからJNIとRMIなどを抜いたものなら覚えられます。
>804 今、起動しているPCでautoexec.batを作って フロッピーからコピーするとか
>>804 そっかパスを上書きしたんだっけ
c:\windows\command\edit autoexec.bat
これでどう?
こんどから、パックアップを取っといた方がいいよ
>806 サポートがないとインストールもできないヤシならば別ですが、店で買うよりも、 JBuilder、Eclipse、Forte、NetBeansをダウンロードした方が早いし安いと思います。 JBuilderの場合、商用開発の場合はSE以上が必要ですが、初心者がJavaを覚える為に使うのであればまず問題はないでしょう。
>>805 まぁ、買うも買わぬも君の自由。
情報収集した後は、
自ら考えて自ら行動せぇよ。
>>813 さん
JBuilderってDLできるんですか?
自分で探してみた限りではアップデータしか見つけられませんでした。。。
どこにあるのか教えては貰えないでしょうか。。。(もう人に頼るのは無理かな)
816 :
助けてください :02/10/24 18:12
c:\windows\command\edit autoexec.bat と入力したらautoexec.batの中身が出てきて余計なPATHを消しました。 それでこのファイルを上書き保存にして「終了」 Dosモードの画面に戻って「c:\>win」と入力しても「コマンド又はファイル名が違います」 これでいいのですか?
818 :
デフォルトの名無しさん :02/10/24 18:17
Borland→JBuilder Sun→Fort nige
819 :
デフォルトの名無しさん :02/10/24 18:20
学校系なら図書館、学部生に それか日経かCマガバック難波
>>812 ありがとう、完全復旧しました。
いやー、一時はどうなることかと思いました。
ほんとに、ありがとうございました。
821 :
デフォルトの名無しさん :02/10/24 18:36
JUnit でブラックボックステストやってるんだけど、クラスの private フィールドに 外から値を設定する方法ってどうやるんだっけ? リフレクション使って、何とかプレ ビレッジを何とか… 忘れちゃったよ~。
public class X{ private int xxx = 0; } というクラスがあった場合、 X x = new X(); Field xxx = x.getClass().getDeclaredField("xxx"); xxx.setAccessible(true); xxx.set(x, new Integer(100)); で private フィールドに値が代入でけました。
>>824 Integer value = xxx.get(x); で取れるでしょ。
>>825 ども,知らなかったのでついでに聞いてみました.
827 :
デフォルトの名無しさん :02/10/24 20:19
携帯用のJavaアプリの製作を解説しているサイトはありますか?
servletの質問もここでいいのですか?
ちっとはググれよ、オメーラ
>>830 よっぽど検索のやりかたを知らないんだな。
Java以前の問題だぞ。
>>831 そうくると思いました。
是非検索のいいほうほうを教えてください。
aspのcookieをservletのsessionで保持して、別のaspに渡す方法は
どういうキーワードで検索すれば 正しいものがでてくるのでしょうか?
えらっそうに 俺様の質問を聞いてびびるなよ~
わざわざservletとaspを連携させるなんて誰もやらないので 検索してもhitしないんです
>>828 ASP ⇔ Servlet 間で受け渡ししたいのは、Cookie の文字列なのかそれに
関連付けられたセッションのオブジェクトなのかはっきりせれ。
まぁ多分サーブレットがデータベースに保存した値を ASP から取り出すような
ことだと思うが。
ASP<->Servletか。 手っ取り早く、URLのクエリ文字列にくっつけちまえ(w
>>837 おお、レス有難うございます。
私もいまいち把握で着てないのですが、もともと
1) giko.asp → mona.asp
で存在(完成)していたものを
2) giko.asp → servlet → mona.asp
と、間にかませたいんです。
状態は(2)なんですけど、動きとしてはあたかも(1)のような動きをさせたいんですが、
どうもservlet と mona.aspは 7~8回程度お互いを呼び合ってるような感じなんです。
servletにブラウザの振りをさせたいのですが、mona.asp には何を渡せばいいのでしょうか・・・
説明が下手でごめんなさい
>>838 もうすでに物凄い数くっついてるのでそれはチョット・・・
>>841 思いっきりcookie文字列登録してるだけかと。
>>842 そうなんですか。道理で動かないはずですね(ワラ
ヘッダ見たら mona.asp が毎度毎度Set-Cookie してこようとするので
なんとかして giko.aspからもらったcookieを mona.aspに読ませたいのですが・・・
845 :
デフォルトの名無しさん :02/10/24 22:28
Windowsで作っているのですが、プログラムを実行するときにコマンドプロンプトが表示されないようにするのはどうしたらいいのでしょうか?
>>845 jar のマニフェストに main 指定しとけ。
>>845 jarファイルにまとめて,マニフェストファイルにmain指定する.
javawがjarファイルに関連付けされてるなら,
jarファイルダブルクリックで(゚д゚)ウマー
環境パスの設定がおかしいらしく、 コンパイル後に実行すると、 Exception in thread "main" java.lang.NoClassDefFoundError:ファイル名 となります。 しかし、 java -classpath . ファイル名 とすると実行されます。 Win98なのでjavapath.batを作成して SET PATH="%PATH%";C:\JDK1.3.1_01\BIN と書いているのですが、今まで通りに何故か出来なくなってしまいました。 さっぱり解らなくなってしまいました。助けてください。
クラスパスにカレントディレクトリを追加しる
CLASSPATH .;~ 最初の .; が大事
昔、某アドビのアプリケーションにクラスパスを勝手に書き換えられて、 原因不明で、OSの再インストールをしたことがあったのを思い出した。
色々ありがとうございます。 java ファイル名 だけでは実行は出来ないのでしょうか? 前は出来ていた気がしたのですが…
>>853 何らかの原因でCLASSPATHが書きかえられたから。
autoexec.batか、あなたの用意したそのjavapath.batの
set CLASSPATH=…… ←この行に
set CLASSPATH=.;%CLASSPATH%; ←てな感じでクラスパスを追加する。
855 :
デフォルトの名無しさん :02/10/25 00:44
C:\autoexec.bat に、set CLASSPATH=.... ってのがあるでしょ。そこにカレントディレクトリをついかしる
856 :
デフォルトの名無しさん :02/10/25 00:47
APIドキュメント読んでたら混乱してしまいました。 教えてください。 データベースから取得した日付と時間それぞれ java.sql.Date と java.sql.Time から、この日付と時間を含んだ java.util.Date オブジェクトを生成したいのですが、どのようにすれば よいのでしょうか?
857 :
デフォルトの名無しさん :02/10/25 00:50
Javaでlzhファイルを展開させるにはどうしたらよいのでしょうか? 標準にはありませんし、どこから手をつけていいのか分からない状態です。 どなたか知ってる方がいたら教えてください。
Calenderかな? 業務では、APサーバーにまかせきりになって、忘れてきてるかも。
勘違いです。すまそ
>>857 lha.exeの作者にコンタクト取れば資料もらえるチックだよ?
DBの表のようなオブジェクトを持たせたいんだけど その場合は、HashMapでput(key, Object) というふうにしてObjectのなかにいくつか属性を持たせるようなのが 簡単に思いつくんだけど、 パフォーマンスの点などでもっといい方法ないでしょうか? 考えてるのは key: String value: String attr1: int attr2: int なデータ型で複数レコード持たせたいんです。
>>864 ある商用APサーバでは、
カスタムのデータコンテナクラスに
リフレクションで簡単にデータを渡せるようになってた。
>>865 商用APサーバは使わないんです。
それに使ったことないんですけどリフレクションって遅いんですよね?
それぞれの列を参照してレコードを返したいんで、
それでパフォーマンス出すのであれば
各列ごとにMapを作ったほうがいいんですかね。
>>864 > というふうにしてObjectのなかにいくつか属性を持たせるようなのが
> 簡単に思いつくんだけど、
> パフォーマンスの点などでもっといい方法ないでしょうか?
で、どうしてそれのパフォーマンスが不満なの?
パフォーマンスを考えるなら、全体から見たその部分の処理時間を見ないと。
単に、1つ1つの処理を全て速くしようとするのはアフォ。
>>865 > 各列ごとにMapを作ったほうがいいんですかね。
んなこたーない。
参照系が多いなら、immutableなObjectで、
private final String value;
private final int attr1;
private final int attr2;
public Hoge(String value, int attr1, int attr2)
みたいなクラスを作って、Mapに格納すればいい(更新するときは、newして格納しなおす)。
更新が多いなら、finalにせずに、各変数値を変更可能にした方がいい。
869 :
デフォルトの名無しさん :02/10/25 01:56
>>864 つーかそういう用途でスピードを稼ぐためにハッシュテーブルがあるんだと認識してるが。
どうしてもというならそのアプリのデータの統計情報でチューニングしたMapの実装を組むんだろうが
それ以前にやることはいっぱいあるだろ普通。
もしメモリに乗り切らないくらい全体がでかいならそれこそDB使えよ。
870 :
デフォルトの名無しさん :02/10/25 02:03
なんで巷には、ハッシュテーブルが遅いと思ってるバカが おおいんでしょうか。ハッシュテーブルが内部でなにやっ てるかも知らないような素人が、なんでソフトでメシ食える のか不思議です。
いろいろありがとうございます。 確かにおっしゃるとおりパフォーマンスに関して 細かい部分だけ気にしたところでしょうがないんだけど 結構、キモになりそうな部分なんで 組む前にいいアイデアないかなと・・・ 出直してきます。
872 :
デフォルトの名無しさん :02/10/25 02:09
>>871 keyにいれとくオブジェクトクラスの、hashCode()とequals()を
チューニングしてHashMap使うのが、一番楽でつよ。
873 :
デフォルトの名無しさん :02/10/25 02:18
>>871 それから、データコレクションの中身がJavaヒープからはみ出すサイズ
になりそうなら、各種Referenceクラスを利用して、一定サイズのブロ
ックごとにオンメモリキャッシュ(実体は二次記憶上のファイル)なん
かにするとええかもね。
ストレージングにはSerializable、Externalizableあたりを使うとか、
XMLにするとか、RDBMSにおいといてJDBCでやり取りするとか・・・
細かいチューニング以前に、全体の構成についていろいろ考えることが
ありそうでつよ。
874 :
デフォルトの名無しさん :02/10/25 02:20
jarファイルを作る際にイメージファイルなどを含めることってできるのでしょうか? できるなら、ディレクトリ構成と呼び出し方はどのようにしたらいいのでしょうか? 色々試したのですがパッケージ指定していることもありわからない状況です。 どなたかご教授願います。
875 :
デフォルトの名無しさん :02/10/25 02:25
>>874 Class#getResource(String)でURLオブジェクトとれるから、それを使って
引っ張り出せ。jar内部でのクラスファイルからの相対パスを渡してやればよし。
>>874 たとえば、パッケージfooのクラスbarの中で"image/baz.png"を呼び出していたとすると、
./---image/---baz.png
|
`-foo/---bar.class
って感じになるのが基本かと。
多分、相対パス指定はclassファイルからの相対パスではなく、
javaコマンドを実行したディレクトリからの相対パスで判断するんだった気がする。
なるほど。 普通に相対パスを指定すると、jarの外側を参照しちゃうんので困ってたんです。 それでやってみます。
878 :
デフォルトの名無しさん :02/10/25 02:31
>>876 JARの中身をこういうパス構成にして
foo/Bar.class
foo/Image/baz.png
呼び出しは
java.io.InputStream in =
foo.Bar.class.getResource("Image/baz.png").openStream();
こうじゃなかったべか?
>>878 ああいや、もっと単純に
Icon icon = new ImageIcon("image/baz.png");
とかやるばやい。
880 :
デフォルトの名無しさん :02/10/25 04:50
文字列からエスケープ文字(\rとか\nとか)を除去する方法があれば教えてください。 一応文字列から文字列の置換のルーチンは作ったので、丹念に一つづつ消していけば医院ですが、もーすこしエレガントな方法が無いものかと思いまして……。 よろしくお願いします(拝)
>>880 あるけど・・・。
でも結局ほかのプログラムも、その「文字列から文字列の置換のルーチン」
ってのと同じことをしてるだろうから、そのルーチンつかったら。
g/[\r\n]/s/// ↑合ってる?
\nや\rはプラットフォーム依存でつ
>>874 jar uvf ahoaho.jar hogehoge.jpeg
Javaで#defineする方法っってある?
>>886 Java用のプリプロセッサ使うとか。
Java言語仕様の範囲内では不可能。
888 :
デフォルトの名無しさん :02/10/25 09:42
889 :
デフォルトの名無しさん :02/10/25 10:27
はじめまして皆様。 社外の業者の提供するアプリケーションを 会社のPCにインストールすることになったのですが、 そのアプリケーションはJRE1.3.1を必要とすると言われました。 たまたまほかのアプリケーションを使うためにJRE1.3.1を インストールしてあったのですが、 それでは動かないかもしれないので業者AのWebサイトから JRE1.3.1をダウンロードするようにと言われました。 (つづきます)
890 :
デフォルトの名無しさん :02/10/25 10:27
(つづきです) 業者には、同じバージョンのJREを一台のPCに 2つインストールして使い分けることができるから、 既存のものを上書きすることもないと言われました。 そこで気がかりなことがあります。 ほんとうに2つのJREを存在させることができるのかどうかです。 (2つのアプリケーションはそれぞれ違うJREを同時に使います) また、今回の業者からのリクエストみたいなことは よくあることなんでしょうか。 よろしくお願いします。
891 :
デフォルトの名無しさん :02/10/25 10:33
>889-890 くらすぱす張れば全然大丈夫だよ。 MSのVBとかと違うから。いたってシンプルよ。
CLASSPATH の問題だろーか?
893 :
デフォルトの名無しさん :02/10/25 10:42
プログラミングをしたことない 無知の人間がiアプリを作りたいと思っています。 まず、何から勉強すればよいですか?
895 :
デフォルトの名無しさん :02/10/25 10:44
891さんありがとうございます。 くらすぱすというのはソースコードの中で張るものでしょうか、 それともWindows(2000pro)上の設定で指定できるものでしょうか。 また、Windowsのレジストリを見てみたのですが、 既に"Software/JavaSoft/JRE"には1.3.1というキーが存在しており、 業者の提供するJRE1.3.1をインストールしたら上書きされるのでは ないかと心配しています。 それと、業者の提供するJREを使用しなければいけない、 というところが気になるのですが、 Javaのアプリケーションを使用する場合には よくあることなのでしょうか。
>>895 クラスパスについて少しくらい検索すればどうですか?
って言うか素直に追加料金払って業者にやってもらえば?
>895あーごめんなさい。くらすぱすじゃないでし。
>874 相対パスでなく直接指定しる! Icon icon = new ImageIcon("/image/baz.png"); とかだな。 先頭の"/"無だと、jp.co.hogehoge.Foo.class からアクセスするとクラスパス内の "/jp/co/hogehoge/baz.png" を読もうとするが、"/"アリなら"/image/baz.png"を読む。
>>898 jarファイルの中のルートがそれになるの?
>>889 問題ない。
問題ないけど、JREをいっぱい入れる必要性もあんましない。
>>895 >>Javaのアプリケーションを使用する場合には
>>よくあることなのでしょうか。
ある。
ClasspathとかJVMはアプリケーションごとに適当にバッチファイルとかで設定するので、
レジストリとかは(あんまり)関係ないはず。多分。
>899 なる。
>895 さっきは、ウソ書いちゃったので取り敢えずレスしました。 書き逃げになっちゃうので、ちょっと補足。 くらすぱす→ぱすです。 同時にJREが違うアプリを動かしたいなら、 別々の場所にインストールして 完全なパス名を使ってJavaランタイムを起動すれば良いかと。 業者が提供するJREを強制されている理由は、ちょっとわかんないです。
>>901 JVM毎に違った CLASSPATH 設定する理由が良くわからんのですが。
>>904 だって、ライブラリの非互換性で死んだりもするっしょ。
906 :
デフォルトの名無しさん :02/10/25 11:15
Cってタダで出来るでしょ? メモちょうとフリーのコンパイラダウンロードして。 Javaもタダで出来ますか?
908 :
デフォルトの名無しさん :02/10/25 11:22
>>907 今勉強しようとして聞いているんですが何か?
>>905 ライブラリの非互換って??
アプリの使用するライブラリなら
アプリの起動時に適切に設定されるんだろうし…
910 :
895です :02/10/25 11:30
>クラスパスについて少しくらい検索すればどうですか? >って言うか素直に追加料金払って業者にやってもらえば? 私の説明が足りなかったかもしれません。 今回インストールするアプリケーションは、 業者Aのシステムを利用するためにインストールするもので、 基本的にユーザのセルフインストールの形態なのだそうです。 問題になっているのは、 既にインストールしてほかのアプリケーションで使用しているJREと 同じバージョンのJREを業者AのWebサイトからダウンロードして インストールしなければいけないということです。 その際に既存のJREが上書きされることを避けたいのです。 (業者Aの提供するJREが既存のアプリケーションで 正常に利用できるかわからないため) ところで、JREというのはこのように業者から 提供されるものを使用しても問題ないのでしょうか。 (バックドア、トロイなど)
911 :
デフォルトの名無しさん :02/10/25 11:43
StringTokenizerで分解したTokenを 配列にしたいのですが方法はどうしたら? 例えばI am a man.だったら Stirng a[0]=I,a[1]=am,a[3]=a,a[4]=man.のように。
>>911 while( st.hasMoreTokens() ) arraylist.add( st.nextToken() );
String[] array = arraylist.toArray(new String[arraylist.size()]);
とかやるとか。
オー!!こんなに短い時間で・・・ サンクス子
914 :
デフォルトの名無しさん :02/10/25 12:03
>>910 JREってVMとjava.*の事だろ
バージョンが同じなら同じだよ。
>>914 Swingをカスタマイズしてるとか、
1.3系 だと自社製JIT搭載してる(そのためにJREにも手を入れてる)
とかじゃないか?
917 :
デフォルトの名無しさん :02/10/25 12:23
>916 あはは、ワロタ 初心者大歓迎スレだからイイのでは。
>>917 初心者!=馬鹿
自分で向上する努力する気無い奴が名乗る称号ではないですわ
>>918 なんか「初心者」という称号にミョーなコダワリがあるみたい。
ワレこそは「真の初心者」とか思ってる人?
920 :
hiloshi ◆W2li6n5Xa6 :02/10/25 12:50
>>916 今は勉強してるんじゃねーよ
勉強するために必要な事を聞いてるんだろ
あふぉか
だいたい2Chなんかにきてるような奴らに
本気で聞いてると思ってんか?
先生気分のはげどもが
楽しいでつかぁ?
はは
>>920 ああ、師ねスレ立てたあほか。大変だな。
922 :
895です :02/10/25 13:01
質問しているJREを1台のPCに2つインストールする件ですが、
回答ありがとうございました。
とりあえず、業者にはなぜ業者の提供するJREを使う必要があるかを
再度確認した上で、判断をしようと思います。
>>915 そうですか。JREがカスタマイズされている可能性もあるわけですね。
そうなると、やはりカスタマイズされたものをインストールする
ことで、これまで動いていたほかのJavaアプリケーションに
不具合が出る可能性もあるわけですね・・・
それでは。
>>910 JREの問題は、インストール時にディレクトリ分けたらいいだけのこと。
それを強要する業者も業者だが、目くじら立てて拒否する必要もあんましない。
そのアプリケーションをインストールしてあるディレクトリの下にでも適当にいれといたら?
924 :
デフォルトの名無しさん :02/10/25 13:33
>>881 りゃうかいです。マジメに置換するでち(T_T)
まぁ、他に取り除かなけりゃいけないのは(
>>884 見れば)\tくらいのもんっすかね。
\\や\'、\"は残しとかなきゃいけないし
String s2 = s1.replaceAll("\\t|\\n|\\r", ""); じゃ不満なのか?
GIFを読み込むときにたまに画像が壊れるんだけどなんで?
今、Servletを使用して、 バッチ処理を行っています。 バッチ処理は少々時間がかかります。 従って、串からタイムアウトエラーが返り、 処理結果を表示させることができません。 なので処理終了したら担当者に処理結果 をメールを送信しています。 Servletが呼ばれた段階で、キックされた というレスポンスを返すコードを書いても、 バッチ処理が終了後にレスポンスされる様です。 バッチ処理を行うServletの最初の段階で キックされたというレスポンスさせたいのですが、 ご存じの方はご教授ください。
>>927 バッチ処理は別のプログラムにやらせてServletはそれを起動するだけ。とか。
929 :
へたれな俺 :02/10/25 18:16
>927 レスポンスが帰るタイミングはHttpServletクラス自体の 後半の方だろうから、先にレスポンスコード書いても無駄なんでは? 【へたれな俺の対応策】 ①httpd.confのTimeout値をメチャ増やす。これ最強(w でも、これは嫌でしょ(w ②別プロセスとして、バッチ処理を動かす。 Process p = Runtime.getRuntime().exec("バッチ処理を動かすこまんど"); 試してないけど、どうかすら? 他にもイイ方法ありそうだけど、どうかすら?
931 :
デフォルトの名無しさん :02/10/25 18:36
javaでwindowsファイルの「作成日時」「更新日時」「アクセス最終日時」 などの属性を変更できますか? java.io.File#setLastModified で更新日時は変更できるようですが・・
>931 できん 「JNI & C/C++その他」とかならできる
>>928-930 どうもありがとうございます。
1.に関しては担当者が使用する
串自体に問題がある為、apacheの設定
を増やしても変わりません。
2.これもコマンド(java バッチクラスの呼び出しクラス)
の終了まで待機します。
>>930 の様にThreadを使ってみます。
934 :
デフォルトの名無しさん :02/10/25 19:04
年末にSUN CERTIFIED WEB COMPONENT DEVELOPERを受験しようと 思っているんですが、8月末に受験申込受付始めたばかりらしく 試験に関する情報がなかなか手に入りません。 オススメ名な本やサイトを知ってる方、もしくは「俺、受験したよ」と 言う方がおられたら是非とも良きアドバイスを・・・
90 年代に今みたいな「Java 使いの COBOLER 可」を予測した アナリストはいますか?
>>935 俺、9月に受験したよ。で、受かった。以上
JDK1.1でDatagramSocketでreceiveのtimeout値って設定できるんでしょうか
>>938 DatagramSocket#setSoTimeout()
>public static void main(string args[]) throws IOException これを日本語に訳すとどうなります?
公の静止の無効のメイン(ストリングargs[])はIOExceptionを投げます。
あの有名で、静かだけど、とりえの無い mainちゃん(本名 string args[年齢不詳])は、IOExceptionを投げるの。
>>941 The invalid main (string args[]) of public stillness gives up IOException.
The invalid main (string args[]) of public stillness gives up IOException. >公の静止の無効のメイン(ストリングargs[])はIOExceptionを放棄します。
>>941 ゴルァッ!!
機械翻訳程度で間違い指摘してないで、おまえも
>>940 の答えを提供汁っ!!!
…おやっ? そういうスレだったけ?
>>944 The invalid main (string args[]) of public stillness abandons IOException.
947 :
デフォルトの名無しさん :02/10/26 01:28
"nobody"権限でApacheを動かして、それとサーブレット コンテナを連携させています。Linux上です。 Webアプリケーションの"/WEB-INF/web.xml"はApacheからでも 読める必要があるため、"604"など一般ユーザ(others)が読めるように パーミッションを設定しなければいけませんよね? web.xmlの中でコネクションプーリングのためのデータベース パスワードが書かれているのですが、一般ユーザが読めてしまうのが 気に入りません。 一般ユーザからweb.xmlを読ませない何かいい方法はないでしょうか?
>>947 サーブレットコンテナ権限のユーザ名とグループ名、一般ユーザのグループ名は?
↓次スレ立ててね
↓
とりあえず立てるわ。今のコピペで良いよね。 連続書き込み規制で書き込み止まったら支援頼む。
甘えるな。
>Servletが呼ばれた段階で、キックされた >というレスポンスを返すコードを書いても、 >バッチ処理が終了後にレスポンスされる様です。 response.flushBuffer(); writer.flush();でもいいな。これでresponseが終了するわけじゃないから、 既に出てるThreadなり、exec()なりは必要。
乙鰈
958 :
デフォルトの名無しさん :02/10/26 14:14
//キーボードから整数を得て計算する。 class Sample14 { public static void main(String args[]) throws IOException { System.out.println("整数を2つ入力してください。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 =br.readLine(); String str2 =br.readLine(); int num1 = Integer.parseInt(str1); int num2 = Integer.parseInt(str2); System.out.println("足し算の結果は"+ (num1+num2) +"です。"); } } どこが違うのか分からない・・・
>>958 ってことは変な値なりエラーメッセージなり出てないのか?
シンボルを解釈出来ません。 >public static void main(String args[]) throws IOException IOException >BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedReader br = new Buffered Input 一度そのjavaファイルをコピペして新しくしても「解釈できません。」 ちなみに、win98でv1.3.1_05
962 :
デフォルトの名無しさん :02/10/26 15:37
import java.io.*; を書け
出来ました・・・ 何か恥ずかしいので、タバコ買ってきます。
>>947 apacheはweb.xmlを読みませんが?
web.xmlを読むのは、tomcatのプロセスのみ。だからtomcatを起動する
ユーザーと、web.xmlの所有者が一緒なら400でOK
965 :
デフォルトの名無しさん :02/10/26 20:40
BMPをJPEG , PINGなどに変換するにはどうすればいいのでしょうか?
970 :
デフォルトの名無しさん :02/10/26 22:29
//大きな型の変数を小さな型の変数に代入する class Samlpe20 { public static void main(String args[]) { double dnum = 160.5; System.out.println("身長は"+ dnum +"です。"); System.out.println("double型の変数をint型の変数に代入します。"); int num = (int)dnum; System.out.println("私の身長は"+ num +"です。"); } } このコードでコンパイルは成功するのですが、実行するとmainが無いと怒られます。
>>970 クラスパスの設定。
後、それキャストいるの?
>>970 Sample14のつぎはSample20で詰まったんか。
参考までにそれなんかの本の例題? 題名教えてよ。
973 :
mokorikomo :02/10/26 22:55
>970 女ですか?
mainが無いって怒られる奴は、いいから
java Hoge
の代わりに
java -cp . Hoge
ってやれ。とにかくやれ。
別に
>>970 に限った話ではなく。
975 :
デフォルトの名無しさん :02/10/26 23:29
class Samlpe20 <-- ここの typo は関係なし?
976 :
デフォルトの名無しさん :02/10/26 23:43
>>971 クラスパスの設定って何ですか?
autoexec.batに「\jdk1.3.1_05\bin ;」こんなんでしたっけ?
それはやりましたよ。
SETPATH=c:\PROGRA~1\ATOK13\JSLIB32;c:\PROGRA~1\BORLAND\CBUILDER\BIN;c:\jdk1.3.1_05\bin;
@ECHO OFF
loadhigh c:\windows\COMMAND\nlsfunc.exe c:\windows\country.sys
\dos\mscdex.exe /D:cdrom001 /L:g
>>972 「やさしいJava」の問題で日本語を少し変えて・・・
>>973 ピチピチです。
うー、何で怒られるのかな?
INSERT CHINKO INTO MANKO
java -classpath %CLASSPATH%;. Sample20 ってやれ。%CLASSPATH% の後ろの ;. が超重要
979 :
mokorikomo :02/10/26 23:52
>975 それかもな.コンパイルはどうやってやったんだ.
980 :
デフォルトの名無しさん :02/10/26 23:52
>976 結婚してください.
できたクラス名が typo で Samlpe20.class なってしまってるのに java Sample20 とやってるのではないか、といってるんだが
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
そろそろ誰か 1000! とかやらないのか?
ご自由にどうぞ。
>>984 まぁそうおっしゃらずに、あなたからどうぞ。
線厨たのしい sage
a
( ´ー`)y-~~
_、_ ( ,_ノ` )
゚・*:.。.ヽ(゚д゚)ノ .。.:*・゚
( ´д)ヒソ(´д`)ヒソ(д` )
( ・∀・)σ)Д`)
┐(´~`)┌
。・゚・(ノД`)・゚・。ウワァァァァン
(*´Д`)ハァハァ
ヽ(`Д´)ノ
( ̄ー ̄) ニヤリ
∧_∧ グッジョブ!! ( ´Д` ) n  ̄ \ ( E) フ /ヽ ヽ_//
∧ ∧∧ ∧ (゚Д゚≡゚Д゚) プルプル |し |つ ⊂__ | し' (( ∩ )) プルプルプル γ'⌒ヽ∧ ∧ し'ゝつ( ゚Д゚)つ
\ │ / / ̄\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ─( ゚ ∀ ゚ )< さいたまさいたま! \_/ \_________ / │ \ ∩ ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< さいたまさいたまさいたま! さいたま~~~! >( ゚∀゚ )/ | / \__________ ________/ | 〈 | | / /\_」 / /\」  ̄ / /
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。