トップページ⇒tech
1001コメント350KB

【初心者】Java質問・相談スレッド72【大歓迎】

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2005/09/23(金) 23:55:33
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/

これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

以下のエラーが表示されて、途方にくれているあなたは、下のページへ。
「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath

前スレッド
【初心者】Java質問・相談スレッド71【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1125991797/

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */

また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/

次スレは>>980あたりでお願いしまする。
0002デフォルトの名無しさん2005/09/23(金) 23:59:22
おk
0003デフォルトの名無しさん2005/09/24(土) 00:15:02
*スレルール*

   ・困ったらグーグル

   ・他人に頼らない

   ・回答は3ヶ月待ち

   ・初心者お断り
0004デフォルトの名無しさん2005/09/24(土) 00:26:25
初心者お断りってことでw書きづらいんですが。。
Javaの実行画面のMS-DOS プロンプトってゆうんですかね、あの黒い画面です
この実行画面の文字をコピーしたいんですが、
右クリック→すべて選択をやると、なかなか成功せず30回くらいやってます。。orz
楽にコピーできる方法ありますか?
0005デフォルトの名無しさん2005/09/24(土) 00:36:54
スレ違い

やりたいことは範囲指定-Enterじゃないの?
0006デフォルトの名無しさん2005/09/24(土) 00:39:03
Enterを押すんですか。。
すべて選択してからCtrl+Cでやっているんですが、
ことごとくコピーに失敗します。。

というかスレ違いとは知らず。。申し訳ないです
0007デフォルトの名無しさん2005/09/24(土) 01:28:22
次スレから以下も追加

            「APIすら読めねえのか。」
                       ∩   っ
                     ,-―――-、
                    ∨∨∨∨.| |
               ⌒     | +_(。) U | |
             (   =  ( `T`    6)
                こ  ,- l ) ̄二ヽ_ノ-、
                 /    ̄|_|_ノ    \
                 |  |    o     |  |
                 |__ |    o      |__|
                (__ |__o___ (-  )
                   |    ∩    |  ̄
                    |__| |__|
          ⌒       (__|  |__)
  ,−、   (     )   __
     \_ ___ /⌒―、ヾ
  / \/# / #  Σ| 〉 ○| ミ         へ、
    ̄ |  |#  / #.人_〉_'±ミ/       ┌―OO
  ――└ ξ_ヾ /
  「初心者っていえば何でも教えてもらえると思ったら大間違いだ。」
0008デフォルトの名無しさん2005/09/24(土) 01:30:16
Apiってなに
0009デフォルトの名無しさん2005/09/24(土) 01:44:26
>>8
思いっきりスレ違いだけど教えてあげる優しさ (´・ω・)っ ttp://www.api.org/
0010デフォルトの名無しさん2005/09/24(土) 04:01:32
読むのは API リファレンスだろう。厨臭い略し方すんな。
つか、初心者お断りなら初心者無視スレでも復活させろよ。>>1
0011やっちゃん ◆jKwdOs3LE2 2005/09/24(土) 11:57:18
eclipseなんですが、最初のヤリ方がよくわかりません。どうやるのですか?パスの設定かな?jcpad入れてると起動しないのですか?
0012デフォルトの名無しさん2005/09/24(土) 12:09:01
最初のヤリ方って何よ?
もう少し詳しく書けよ
0013デフォルトの名無しさん2005/09/24(土) 12:10:04
Javaパースペクティブを出したいんじゃないかな
最初ってリソースパースペクティブだし
0014やっちゃん ◆jKwdOs3LE2 2005/09/24(土) 12:16:02
できました!迷惑かけてスマン
0015デフォルトの名無しさん2005/09/24(土) 12:26:40
*推奨NGネーム*

やっちゃん ◆jKwdOs3LE2
0016デフォルトの名無しさん2005/09/24(土) 13:11:28
最初のやり方
できた方法
すべて謎だ

やっちゃん ◆jKwdOs3LE2
0017デフォルトの名無しさん2005/09/24(土) 18:57:31
vine linux3.1を使用しているのですが、
telnet で他のホストに入って、javacでコンパイルしようとしても、コマンドが認識されません。
自分のホストではいけるのにどうしてでしょうか?
0018デフォルトの名無しさん2005/09/24(土) 19:02:25
パスが通ってないんだろ
0019デフォルトの名無しさん2005/09/24(土) 19:04:22
インストールされていないんだろ
0020デフォルトの名無しさん2005/09/24(土) 19:04:38
パスってどうやって設定するのですか?
0021デフォルトの名無しさん2005/09/24(土) 19:06:53
>>17
スレ違い
他ホストの管理者に聞け
0022デフォルトの名無しさん2005/09/24(土) 21:51:08
あるフォルダのなかにあるファイル名を
全て取得したいのですがどうしたらよいのですか?
ファイル検索ソフトを作ろうとしているのですが。
0023デフォルトの名無しさん2005/09/24(土) 21:59:49
>>22
APIリファレンスを読む。
0024デフォルトの名無しさん2005/09/24(土) 22:10:29
どこを見ればいいのか少しでも勘が働けば
初心者脱出だな
0025デフォルトの名無しさん2005/09/24(土) 22:11:10
java.ioパッケージを探そう
0026デフォルトの名無しさん2005/09/24(土) 22:12:19
>>25
見つかりました
で、これからどうしましょう
0027デフォルトの名無しさん2005/09/24(土) 22:33:24
夜も遅いしとりあえず寝よっか
0028デフォルトの名無しさん2005/09/24(土) 22:39:57
File[] とか listRoots() とか listFiles とか
0029デフォルトの名無しさん2005/09/24(土) 22:55:45
パッケージまで分かっていればクラスの説明をだらだらみてわかるだろうし、そもそも検索すればいくらでも
0030デフォルトの名無しさん2005/09/24(土) 23:21:24
プログラムを書け、間違えても書け、解らなくても書け、指や
手首が痛くなるまで書け、コンパイルなんか通らないでも書け
気合で動かせ、涙でフローチャートを書け、太陽が昇るのを
見ながら書け!
0031デフォルトの名無しさん2005/09/24(土) 23:40:50
>>30 普通これくらいは書き続けるだろ。
http://blogs.sun.com/roller/resources/monma/love_your_job.gif
0032デフォルトの名無しさん2005/09/24(土) 23:52:49
あるインスタンスなオブジェクの中のメソッドが動的に他のメソッドを呼び出すにはどうすればよいでしょうか?
メソッド名をHashMap等に複数入れておいて、それに対応したメソッドを実行したいと思ってます。
よろしくです。
0033デフォルトの名無しさん2005/09/24(土) 23:57:38
>>31 私、プログラマを辞めさせて頂きます。
つ 辞表
0034デフォルトの名無しさん2005/09/25(日) 00:04:34
>>32
クラスをいっぱい作るか、リフレクションでゴニョゴニョするか。

public class Foo {
public static interface Dispatcher {
void dispatch();
}
static Map<String,Dispatcher>dispatcher = new HashMap<String,Dispatcher>();
static {
dispatcher.put("foo", new Dipatcher() { public void dispatch() { foo(); } } );
dispatcher.put("bar", new Dipatcher() { public void dispatch() { bar(); } } );
dispatcher.put("baz", new Dipatcher() { public void dispatch() { baz(); } } );
}
public void foo() { .... };
public void bar() { .... };
public void baz() { .... };
}
0035デフォルトの名無しさん2005/09/25(日) 00:04:48
>>32
SEに転向してよかったと正直思った。
0036デフォルトの名無しさん2005/09/25(日) 00:10:06
わかった。鉄やで書きまくる。
VB→VCと挫折の道をたどってきたが今回は本気なんだ
俺はかならずJAVAマスターになる。
0037デフォルトの名無しさん2005/09/25(日) 00:14:15
>>36
まずはサンボマスターからはじめよう
0038デフォルトの名無しさん2005/09/25(日) 00:17:05
>>36
プロフェッサーにはなれないな
0039322005/09/25(日) 00:25:15
>>34
サンプルありがとう。
Cの関数ポインタかdelegateみたいなのがあればラクなんだろうけど、
やっぱ結構生々しいコード書かないといけないのね。
0040デフォルトの名無しさん2005/09/25(日) 00:30:44
>>39
Javaにもdelegateがあれば便利なんだけど、意地でも実装されることはないんだろうな。
ttp://java.sun.com/docs/white/delegates.html
0041デフォルトの名無しさん2005/09/25(日) 01:11:09
リフレクション使うのが一番楽そうだな
0042デフォルトの名無しさん2005/09/25(日) 01:14:57
なんか魔法を跳ね返せそうだね
0043デフォルトの名無しさん2005/09/25(日) 02:12:45
>>32
StrutsのLookupDispatchActionは、まさにそんな感じのクラス。
実装は、
>>41氏のいわれるように、リフレクションを使った実装
(上位クラスのDispatchAction#dispatchMethod()
でMethod#invoke()をやってる)

ただ、この方法は引数と返値が同じでないとできない。
まぁ、引数・返値ともMapにすれば問題ないんだろうけど、
バグの温床になりそうな・・・
0044322005/09/25(日) 03:18:32
>>43
やはりStrutsとかになるんだなぁ。Strutsすごいなぁ。

自前でMethod#invoke()をやろうとしたら漏れのスキルが足らんので、
サーブレットとは別のインスタンスになってしもた。

やはりJSP+Bean+DBのシンプルな実装って限界があるんだろうか。
生産性を上げるために新技術を学んで学習コストで生産性が落ちる、、
うーん正解が見えにくいなぁ。考え出したら負けなんだろうか。

とりあえずStrutsを勉強します。ありがとう。

0045デフォルトの名無しさん2005/09/25(日) 03:20:25
32のやりたいことをやるためだけにStrutsをやるのは本末転倒のような気がするが。
0046422005/09/25(日) 03:27:02
俺へのレス忘れてるよ
0047デフォルトの名無しさん2005/09/25(日) 03:35:55
>>44
仕事か?
仕事じゃないならStrutsはとばしてJSFとかその先に行ったほうが良いぞ
0048デフォルトの名無しさん2005/09/25(日) 03:53:41
>>40
インナークラスつかえば十分じゃん
とか書かれているような気がするが
なんて書かれているか誰か要約して下さい>エロイ人

たしかに、型さえ一致すればどんなメソッドでも呼び出せるというのは、
Javaの保守的な立場からみると、いい加減に感じる
0049デフォルトの名無しさん2005/09/25(日) 05:54:13
>>39
っつか、>>32 の用途なら delegate あってもなくても大して楽にならんと思われ。
0050デフォルトの名無しさん2005/09/25(日) 12:53:18
ビット演算は速いと聞きますが a &= ~b などと複数の演算を組み合わせても+-の一回の演算より速いのですか?
0051デフォルトの名無しさん2005/09/25(日) 13:05:20
JSPでエラーが合った場合、表示されるエラー行番号が変換後のサーブレットのものみたいなのですが、
これだとJSPのどこでエラーが起こったかすごくわかりずらいです。
エラーがあった場合に、サーブレットの行番号ではなく、JSPファイルの行番号を表示させることはできますか。
0052デフォルトの名無しさん2005/09/25(日) 13:21:58
>>51
JSP2.0を使ってみれば
0053デフォルトの名無しさん2005/09/25(日) 13:47:33
>>32
C言語の関数ポインタをやりたいってことかなって>>39でいってるなorz
同じインターフェース実装したクラスをその処理数用意してHashMapにいれりゃいいんでないの?
リフレクションなんて使わなくていいとおもうけど
Map map=new HashMap();
map.put("methodA",new A());
map.put("methodB",new B());
・・・
((MyIF)map.get("methodA")).do();

interface MyIF {
void do();
}
class A implements MyIF{
void do(){System.out.println("A");
}
class B implements MyIF{
void do(){System.out.println("B");
}
0054デフォルトの名無しさん2005/09/25(日) 14:30:10
関数ポインタが欲しいというやつはインターフェースが分かってないやつ
0055デフォルトの名無しさん2005/09/25(日) 14:41:53
わかってねぇからきいてぇンだろが
0056デフォルトの名無しさん2005/09/25(日) 15:38:43
プッ
0057デフォルトの名無しさん2005/09/25(日) 16:15:04
>>52
回答ありがとうございます。
JSP2.0だとJSPファイルの行番号が表示されるのでしょうか。
またJSP2.0ということは、Tomcat5.0を使えばいいということでしょうか。
0058デフォルトの名無しさん2005/09/25(日) 16:21:11
みんなでJAVAの応援ソング作ろうよ
0059デフォルトの名無しさん2005/09/25(日) 16:21:50
JAVAでネットワークのルーティングプロトコルをシミュレーションするにはどういうフローチャートにしたらよいでしょうか?
0060デフォルトの名無しさん2005/09/25(日) 16:29:25
そんな横文字ばかり並べ立てて
かっこいいつもりか?日本人なら日本人らしくしろ
0061デフォルトの名無しさん2005/09/25(日) 16:37:10
邪刃で電子空間の通信経路規約を模擬実験するにはどういう流れ図にしたらよいでしょうか?
0062デフォルトの名無しさん2005/09/25(日) 21:53:01
JFrameでフルスクリーンモードから戻ってきた際、
setUndecorated(false)とすると以下の例外が発生します。
Exception in thread "AWT-EventQueue-0" java.awt.IllegalComponentStateException: The frame is displayable.

ウィンドウモードに戻るにはどうしたら良いのでしょうか?
0063デフォルトの名無しさん2005/09/25(日) 22:06:34
>>62
java.awt.Component#isDisplayable() が true を返している場合は
setUndecorated()は IllegalComponentStateException を投げるとAPI仕様で決まってる。

表示不能にしてからフレームの装飾を外すしかないと思われ。
具体的にはいったん dispose() して setUndecorated(false) その後 setVisible() で再表示。
0064デフォルトの名無しさん2005/09/25(日) 22:23:26
>>63
バッチシできました。分かりやすい説明ありがとう。
0065デフォルトの名無しさん2005/09/25(日) 22:26:39
つーか、APIマニュアルくらいよんでくれ
0066デフォルトの名無しさん2005/09/25(日) 22:30:24
>>65
うるせーハゲ
0067デフォルトの名無しさん2005/09/25(日) 22:49:09
マニュアル読まずに質問してるほうがアレだな。
0068デフォルトの名無しさん2005/09/25(日) 22:52:52
>>65
ひっこんでろハゲ
0069デフォルトの名無しさん2005/09/25(日) 22:57:08
>>63
dispose() した後、復活できるんか。シランカッタ…
0070デフォルトの名無しさん2005/09/25(日) 22:57:22
javaをダウンロードしようとしたら、インストールパッケージを開くことができませんでした
。パッケージが存在し、アクセスできことを確認してください。
またはアプリケーション ベンダに問い合わせ、このパッケージが有効な
windowsインストーラパッケージであることを確認してください。 というのが
出てきて、ダウンロードできません。どうしたら良いのでしょうか??
0071デフォルトの名無しさん2005/09/25(日) 22:59:58
>>66,68
前スレあたりからでてるへんな人お前か
0072デフォルトの名無しさん2005/09/25(日) 23:00:07
>>69
ノ 何気にトリビアネタだったw
0073デフォルトの名無しさん2005/09/25(日) 23:01:11
>>70
IBM?
0074デフォルトの名無しさん2005/09/25(日) 23:03:37
public void dispose()この Window、そのサブコンポーネントと、その所有されたすべての子によって使用されているすべてのネイティブスクリーンリソースを解放します。
つまり、これらの Component のリソースが破棄され、それらの消費するメモリが OS に戻ります。
Window、そのサブコンポーネントと、その所有されたすべての子は、表示不可能としてマークされます。
Window およびそのサブコンポーネントは、pack または show を呼び出してネイティブリソースを再構築すれば再び表示可能にできます。
再生された Window およびそのサブコンポーネントの状態は、Window が破棄された時点のそれらのオブジェクトの状態と同じです。破棄と再生の間の追加変更は考慮されません。
0075デフォルトの名無しさん2005/09/25(日) 23:03:44
>>70
現在配布停止中
0076デフォルトの名無しさん2005/09/25(日) 23:05:12
>>69
APIリファレンス読め

http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/Window.html#dispose()
> この Window、そのサブコンポーネントと、その所有されたすべての子によって
> 使用されているすべてのネイティブスクリーンリソースを解放します。
> つまり、これらの Component のリソースが破棄され、それらの消費するメモリが OS に戻ります。
> Window、そのサブコンポーネントと、その所有されたすべての子は、表示不可能としてマークされます。

> Window およびそのサブコンポーネントは、pack または show を呼び出して
> ネイティブリソースを再構築すれば再び表示可能にできます。
> 再生された Window およびそのサブコンポーネントの状態は、
> Window が破棄された時点のそれらのオブジェクトの状態と同じです。
> 破棄と再生の間の追加変更は考慮されません。
0077デフォルトの名無しさん2005/09/25(日) 23:05:59
>>76
俺と同じ行動すんなって
0078デフォルトの名無しさん2005/09/25(日) 23:06:51
回答できない奴は来ないでほしい
0079デフォルトの名無しさん2005/09/25(日) 23:08:51
>>78
質問する人間は来るなって事?
0080デフォルトの名無しさん2005/09/25(日) 23:34:14
>>51,>>57
使用するJSPコンテナによる。
Tomcat5.xなら表示されるよ。
0081デフォルトの名無しさん2005/09/25(日) 23:44:47
>>76
読んだ上での書き込みだ ハゲ
0082デフォルトの名無しさん2005/09/25(日) 23:48:53
自分のうんちくを強調したかっただけと思われw
0083前スレ9142005/09/26(月) 00:03:21
・jdk1.5でコンパイルしてSunVMで実行したら正常に動いたのに
  jdk1.1.8でコンパイルしてMSVMで実行したら画像が表示されなくなりテキストエリアの背景が黄色くなった。
  (jdk1.1.8によるコンパイル時、コンパイルエラーは出ていない)
  どうしたらMSVMでも正常に動かせるか教えて欲しい。

TextArea TA = new TextArea("",2,30,1);
Image img;
try{
img = getImage(new URL("http","domain","file address"));
}catch(MalformedURLException e){
}
MediaTracker mt = new MediaTracker(this);
mt.addImage( img, 0);
try {
mt.waitForAll();
} catch (Exception e) { System.out.println("ERROR!!"); }

こうして作ったimgをGraphics.drawImage()で利用しています。
0084322005/09/26(月) 00:10:20
もう少し詳しく言うと、
オフショアに近い人材(CGI屋さん定時組)を集めたWeb系案件を任される事になりましたが、
StrutsなどのJ2EEフレームワークがどれも学習コストが高いので
多少トロくても一定レベルが維持できる枠組みが必要になりました。
(ちなみに有償ツールは使えない状況)

そこでフローだけでも統一できればと思い、
JSP(View) → Sevlet(Controler) → Model(Bean)
な仕組みを極めて学習コストの少ない手法で実現したいと思ってます。

HttpServletを継承した抽象クラスをベースに考えていて、
セッション属性"action"の内容に対応したメソッドを自動的に実行させようとしてます。

jspをいっぱい作ってそこではセッション属性actionをセットし、
前述のクラスを継承したServletに<jsp:forward/>してBeanをブリブリ動せたらと思います。
0085デフォルトの名無しさん2005/09/26(月) 00:15:23
それStrutsが出る前に誰もが考えてやっていた手法だよ
何も知らずにそこまで考え付くのは結構向いているかもしれない
頑張ってください
0086デフォルトの名無しさん2005/09/26(月) 00:26:27
JSPが最初なの?
0087デフォルトの名無しさん2005/09/26(月) 00:31:07
HTMLにリンクする感覚をイメージしたら、そっちのが能動的じゃない?
0088322005/09/26(月) 00:33:26
ServletのメソッドをPerlの関数見立てて「簡単にこう書いて下さい」って指示するつもりっす。
ざっくりと設計までやってクラス単位で作業分担する事になると思います。

環境のセットアップまでは私がやって、例の抽象クラスを継承したソースを開いて
「ここにこれこれの機能が出来るコード書いてください」ってPGに仕事振り出す流れかなぁ。
PL/SE兼任なんでテストは私がやります。
やるまえから鬱になりそうな話だなぁ。
0089デフォルトの名無しさん2005/09/26(月) 00:36:25
>>32
つー話になってくると
DBアクセス部分も固めたほうがよくないか?DBあるのか知らんけど
0090デフォルトの名無しさん2005/09/26(月) 00:37:02
サーブレットなんか学生のアルバイトで十分でしょ
0091デフォルトの名無しさん2005/09/26(月) 00:39:16
>>90
システム的なトランザクションの話になると学生・新人は途端に設計できなくなるからね
JSP・Servlet部分だけならイイケド
0092デフォルトの名無しさん2005/09/26(月) 00:40:20
JVMTIとかJDIとかを使ってVMから各種情報を得ようとしたとします。
そのときVMで動かすクラスファイルはやはり-gオプションをつけてコンパイルした
ものでないとだめなのでしょうか?
-gオプションをつけないと得られない情報があるというだけでは済まされないのでしょうか?
どなたか教えて下さい。
0093322005/09/26(月) 00:41:16
>>89
MySQL4.1が2機レプリケーションで動きます。
過去にB2Bの顧客情報のせたPerlベースのシステムでDB操作だけaxisで実装して
マシン自体を別にしてSOAP on https経由(F/Wで443番しか空けずに)で作った事ありました。

今回も結構ヤバい情報が乗っかるんでDBまわりはSOAP化してラッパクラス叩かせようかと思ってます。

みなさん、親身なアドバイスを頂いて本当にありがとうございます。
0094デフォルトの名無しさん2005/09/26(月) 00:43:39
-gオプションつけてデバッグ情報取得?
何を取得したいのかいまいちよくわかんないんだけど
ロギングとかのことを言っているのか?
もしくはJMXとか?
0095デフォルトの名無しさん2005/09/26(月) 00:47:00
>>94
できるのかわからないですが、実行時状態を取り出すようなことができれば
いいなと思っています。VMWareのスナップショット機能みたいな感じですかね。
後でそれをセットし直して実行すると。
0096デフォルトの名無しさん2005/09/26(月) 00:47:03
>>32
DBサーバが外にあるなら(外にしか置けないもしくは他社のDBサーバ)SOAP HTTPSでもいいけど
鼻っからイントラにあるDBサーバをSOAPにより外に出すことによって逆に危険だと思いませんか?
0097デフォルトの名無しさん2005/09/26(月) 00:47:51
>>95
間違いなくJMXだなそれは
-gデバッグオプションではない
0098デフォルトの名無しさん2005/09/26(月) 00:49:30
>>95
オブジェクトをシリアライズしておくとか・・・
0099デフォルトの名無しさん2005/09/26(月) 00:55:01
>>98
考え方としては近いですね。
ただ、プログラム側には何の変更も加えることなく、VMから内部の状態とか
オブジェクトを取り出したいんです。
こういうことがJVMではできるのでしょうか?
0100デフォルトの名無しさん2005/09/26(月) 00:57:22
内部の状態参照、内部の値変更
JMXなら出来る
ただ、最初はそれなりにプログラムに入り口作る必要あるわな
一回作れば変更はないけど・・・
0101322005/09/26(月) 01:01:24
>>96
んー、あんまり話せないんですけどSOAP=DBが外部ネットワークってわけじゃないですよ。
同じセグメントのローカルネットワークに何箇所か関所としてF/Wを設置してデータの流れる経路を制御しました。
なのでSOAPいってもイントラ内で通信してるだけですよ。

セキュリティに関する意識が非常に低い学生と変わらんようなPGに
DBアカウント教えて部分的な設計とチューニングやってもらう必要があったんで
損害が発生るい

零細企業でJ2EEやろうとしても要件はころころ動くしPGは案件ルール無視とかって
日常茶飯事なんで思い切って物理的な制限をしました。
0102デフォルトの名無しさん2005/09/26(月) 01:02:22
>>100
JBossとかがMBeanだったかな?とかを使ってそういうのをやっているそうですね。
ただ、そういうのもできればやりたくないです。どうにかJVMTIとかJDIで し^−^)
0103832005/09/26(月) 12:34:55
drawImageで (描画開始位置-描画終了位置)<0 となる様に指定する事で反転表示させるのって
MSVMでは出来ない?
0104832005/09/26(月) 12:53:24
自己解決しました。
1.1.8だとpng形式の画像は読み込めないようで、それが原因でした。
テキストエリアは背景色を改めて指定し直す事で対処出来ました。
0105832005/09/26(月) 13:33:27
三連投しちゃいます。
話題が変わりますが、
java2ではURLEncoderに文字コードを指定する事が出来ますが、
1.1.8ではもしかして無理ですか?
EUC_JPとしてエンコードしたいのですが、1.1.8の仕様では文字コードを指定出来ないようだし、
デフォルトでは別の文字コードで変換されているようで。
自前の関数を書くしか無い?
0106922005/09/26(月) 13:38:48
結局、-gオプションをつけてコンパイルされたクラスファイルじゃないと
JVMTIとかJDIは使うことができないという認識でよいのでしょうか。
掘り返しスマソ。よろしくおねがいします。
0107デフォルトの名無しさん2005/09/26(月) 13:39:12
>>105
1.1 の APIリファレンス読めよ。

> To convert a String, each character is examined in turn:
> * The ASCII characters 'a' through 'z', 'A' through 'Z', and '0' through '9' remain the same.
> * The space character ' ' is converted into a plus sign '+'.
> * All other characters are converted into the 3-character string "%xy",
>  where xy is the two-digit hexadecimal representation of the lower 8-bits of the character.
0108デフォルトの名無しさん2005/09/26(月) 14:39:01
コンボボックスのついたダイヤログを表示させるために、
7つの引数を持つshowInputDialogメソッドをしようしました。

このとき、「了解」、「キャンセル」ボタンが作成されたのですが、
「キャンセル」ボタンは作成したくありません。
了解ボタンだけにするには、どうしたらよいのでしょうか?
01091052005/09/26(月) 14:54:53
>>107
そもそもエンコードのアルゴリズムを知らないので
それを読んでも意味が分からないのですが・・。
0110デフォルトの名無しさん2005/09/26(月) 14:58:39
変数の種類について質問です。
intやlongはなんとなくわかるんですが
byteって使う必要あるんでしょうか?なんか本の説明みるかぎりintやlongでいいような気がします。
おなじくshortもいまいち要らない気がします。

同じくfloat doubleは扱える桁が7か16の違いだけみたいですが
これもなぜ分かれてるのでしょうか?doubleだけでいいような気がします。
0111デフォルトの名無しさん2005/09/26(月) 15:00:44
MEで、byte型変数2つを上位・下位ビットとして1つの整数にする処理なのですが

Byte b = new Byte( byteData[i] ); // 下位ビット
intData[i] = Integer.parseInt( b.toString(),16 );
b = new Byte( byteData[i+1] ); // 上位ビット
intData[i] += Integer.parseInt( b.toString(),16 )*16*16;
b = null;

こんな無理矢理感が否めない処理しか思いつかなかったのですが、
もっと気の利いた方法とかありませんでしょうか。
ご指南お願いします。
0112デフォルトの名無しさん2005/09/26(月) 15:06:41
>>108
showInputDialog みたいなメソッド使わずに、自分で
new JOptionPane()、setWantsInput(true)、setSelectionValues()、
とか組み合わせれば良いのでは?
了解ボタンだけ出すには setOptionType(JOptionPane.DEFAULT_OPTION) だっけか?
0113デフォルトの名無しさん2005/09/26(月) 15:09:51
>>110
通信を例にして考えてみてください。
int32ビット・long64ビットに対して、byte8ビットです。
16ビット程度で表現できる値を送るとすると、intは16ビット・longは48ビットも表現できる部分が余ります。
これに対してbyteなら、上位8ビット下位8ビットに分けて送れば、無駄なくきっちりスマートに送れます。
0114デフォルトの名無しさん2005/09/26(月) 15:13:44
>>111
リトルエンディアンで読み込みたいって話?

ビッグエンディアンで読み込んで Short.reverseBytes(); するか
((byteData[i + 1] & 0xFF) << 8) | (byteData[i] & 0xFF)

Byte#toString() は符号付き10進数の文字列に変換するから
> intData[i] = Integer.parseInt( b.toString(),16 );
だとダメなはず。
0115デフォルトの名無しさん2005/09/26(月) 15:13:58
難しいっすね。。
つまり節約みたいな感じでしょうか? 適材適所というか。
0116デフォルトの名無しさん2005/09/26(月) 15:20:04
>>114
Σ(゚Д゚;≡;゚д゚)
byte扱ってるはずなのに、ビット演算失念してました。orzナニヤッテンダ

Short#reverseBytes() はMEには無いようなので、下の演算を試してみます。
ありがとうございました。
0117デフォルトの名無しさん2005/09/26(月) 16:52:56
>>111
NIO使えば?
0118デフォルトの名無しさん2005/09/26(月) 18:20:58
メニューバー使うとかフレームを移動させたり
とかすると画面に灰色が残ったり
メニューバーやラベルの文字が表示されたりされなかったり
するのです。これを普通になるようにするにはどうすればよいのですか?
入門書に書いてるようなものなのですが。
0119デフォルトの名無しさん2005/09/26(月) 18:43:14
>>118
エスパー募集すんなよ。

OS や JDKのバージョンとか実際のソースの内容とか、
他に常駐してるソフトとか情報が全く無いのでは
何が起こってるのかわからんし答えようもない。
0120デフォルトの名無しさん2005/09/26(月) 18:43:32
>>4
メニューバーの「編集」から

>>17
その「他のホスト」にJavaが入ってない可能性あり
0121デフォルトの名無しさん2005/09/26(月) 19:23:37
>>119
OS 窓二千 Ver 1_04 or 1_04_02
C:\の中見たら二つあった
ソースの内容
JFrame f = new JFrame();
JMenuBar jm = new JMenuBar();
(中身)
f.setJMenuBar(jm);
f.show();

中身はただアイテムを定義してaddしてるだけです。
常駐ソフトは特にありません。起動してすぐ実行しても起きました。
0122デフォルトの名無しさん2005/09/26(月) 19:32:15
>>121
1.4.2の後の数字は?
0123デフォルトの名無しさん2005/09/26(月) 19:58:37
>>122
よく見たら
1.4.2と1.4.2_04でした。
すみません。
0124デフォルトの名無しさん2005/09/26(月) 20:07:58
>>121
たぶんオマエのプログラムがダメなんだろ。
とりあえずメニューの使い方はここを参照。
http://java.sun.com/doc/books/tutorial/uiswing/components/menu.html

フレーム移動させると云々、に関してもうちでは全く再現しない。
とりあえず 1.4.2系は 1.4.2_09 が出てるからそれを試せば?

それでもダメなら
・ver で得られる詳細なWindows のバージョン、
・java -version で得られる詳細なJREのバージョン
・ビデオカードとドライバのバージョン
・灰色云々のスクリーンショット
やら諸々用意して BugParade に投稿すれ。
0125デフォルトの名無しさん2005/09/26(月) 20:30:23
実際お前らSwing可視にするときにちゃんと決められた手順スレッドでsetVisible(true)しているか?
0126デフォルトの名無しさん2005/09/26(月) 20:57:25
ファイル圧縮について質問させてください。
サイズの小さいファイルや、
特定のサイズのファイル(13k程度)を対象とした時、
高い確率で、空の圧縮ファイルが作成される事があります。

ログを出力しながら確認すると、このような現象が起きた場合、
圧縮ファイルをcloseする直前では作成されたファイルはサイズがあるのですが、
圧縮ファイルをcloseした直後ではファイルのサイズが0になってしまいます。
また、2台あるサーバの内、1台だけでこの現象が起こっています。

javaのバージョンは1.3です。

何故このような現象が起こってしまうのか、
ご存知の方がいらっしゃいましたら教えていただけないでしょうか。
宜しくお願いします。
0127デフォルトの名無しさん2005/09/26(月) 21:02:33
>>125
まぁゆっくりしてけ

  §
つ 旦
0128デフォルトの名無しさん2005/09/26(月) 21:18:02
>>126
とりあえず、2台のサーバの JRE のバージョンがビルドナンバーまで同じかとか、
実行してるコードが全く同じか、とかを確認すれば?
たぶんどっちかのコードが正しくてどっちかのコードが間違ってるとかいうオチだと思われ。

それでも原因が分らなければ現象が再現する最低限のソースを晒すか、
ソース晒せないなら、物理的に近くにいる人に泣きついたほうが早い。
0129デフォルトの名無しさん2005/09/26(月) 21:25:01
>>121
その(中身)なんだが、
setContentPane(myPane); とかしちゃうとうまくいかないみたいよ。
(勉強不足なので理由は知らない)

getContentPane().setLayout(new BorderLayout());
getContentPane().add(myPane, BorderLayout.CENTER);
して myPane だけに add していったとき、(つまり add( ... , ... .SOUTH) とかもしない)
はじめていい感じになることがある
01301262005/09/26(月) 21:29:44
>>128
今ざっと作成した簡易ソースです。ソース見た感じだとどうでしょう?
//変数宣言部省略
try {
fos = new FileOutputStream(strZipFileName);
zos = new ZipOutputStream(fos);
for (i = 0; i < strFiles.length(); i++) {
fis = new FileInputStream(strFiles[i]);
zent = new ZipEntry(strFiles[i]);
zos.putNextEntry(zent);
while (-1 != (iLen = fis.read(buf))) {
zos.write(buf, 0, iLen);
}
zos.flush();
zos.closeEntry();
fis.close();
}
} catch(Exception e) {
System.err.println(e);
} finally {
try {
zos.close();
fos.close();
} catch(Exception e) {
System.err.println(e);
}
0131デフォルトの名無しさん2005/09/26(月) 21:49:12
>>130
ソース貼るのは良いんだけどさ、これで「空の圧縮ファイル」が出来るって事は確認したの?

あと、strFiles[i] とかで自分の環境にしかないファイルを読み込んでたら
他人の環境で再現できんと思うが。
空の圧縮ファイルが出来るデータを埋め込んでおかんと
(サイズだけが問題なら new byte[問題のサイズ] とかで良いんだし)
0132デフォルトの名無しさん2005/09/26(月) 21:55:20
>>130
> for (i = 0; i < strFiles.length(); i++) {
コンパイルエラー
0133デフォルトの名無しさん2005/09/26(月) 21:57:34
おまえらカッコイイな。ソースとかあっさり書いちゃってさ。
でもあんまりお調子にのるなよ?
あと3ヶ月もしたら俺がNO1だって思い知らせてやるからね。
01341262005/09/26(月) 22:06:58
>>131

> ソース貼るのは良いんだけどさ、これで「空の圧縮ファイル」が出来るって事は確認したの?

確認はしていないです。というより、気軽に動作の確認が出来ない環境なんです。
質問しておいて申し訳ないです。
自分のパソコンで擬似的に簡単な環境を作成して、
動作させても同様な症状は再現しませんでした。

> 空の圧縮ファイルが出来るデータを埋め込んでおかんと

今現在確認できている現象は、
サイズの小さいファイル(1k以下)で高い確率(「絶対」にではなく)で
この症状が起きるということです。
特定のファイルというわけではありません。

特殊な症状のようで、ソースにも間違いはなさそうなので、
今までにこの様にファイルに対してcloseを行ったらサイズが0になった等
似た様な現象を経験した方がいらっしゃらないかなと思いまして。

0135デフォルトの名無しさん2005/09/26(月) 22:07:04
とりあえずNo1は日本にいないんじゃね
01361262005/09/26(月) 22:10:43
>>132

>> for (i = 0; i < strFiles.length(); i++) {
> コンパイルエラー

失礼しました。
for (i = 0; i < strFiles.length; i++) {
0137デフォルトの名無しさん2005/09/26(月) 22:40:22
>>134
close() をした瞬間に同じファイル名で new FileOutputStream() とかしてると、
「close を行ったらサイズが 0 になる」ように見えるかもしれない。
複数のスレッドとか複数のプロセスで同じファイル名使ってたりとかしてないか?

> 圧縮ファイルをcloseする直前では作成されたファイルはサイズがあるのですが、
って書いてあるので、たぶん ZipOutputStream とか圧縮のせいじゃないと思う。
OutputStream では、一般的には一旦出力したデータを削除する方法は無いし
ZipOutputStream は OutputStream にデータを出力してるから。
0138デフォルトの名無しさん2005/09/26(月) 22:49:48
ちと疑問ZipOutputStreamってスレッドセーフだっけ?
0139デフォルトの名無しさん2005/09/26(月) 23:15:47
>>138
write(byte[],int,int) は syncronized されてる。

圧縮に使うバッファは ZipOutputStream 毎に生成されるから
複数の ZipOutputStream を同時に使用しても大丈夫。
0140ぷろぐらま6ヶ月2005/09/27(火) 00:08:42
すいませぬが質問します

文字列の桁数チェックを行おうと思っています。

String Str = "あいう";
int i = Str.length();

で実行すると
iには「3」が格納されてしまいます。
全角だろうが半角だろうが1文字として扱われているようで困っています。
全角は2桁とカウントしたいのですが、良い方法ありませんか?
調べたけどわかりませんねんでした。。。
ご教授お願いします
0141デフォルトの名無しさん2005/09/27(火) 00:22:17
>>130
関係ないかも知れんがクローズ前に ZipOutputStream#finish() を呼べ。
というかまた船頭が多くなってきた悪寒
0142デフォルトの名無しさん2005/09/27(火) 00:22:44
Str.getBytes().length;
0143デフォルトの名無しさん2005/09/27(火) 00:23:39
>>140
調べず書くけどgetBytesして.lengthで取れん?
0144デフォルトの名無しさん2005/09/27(火) 00:23:49
>>140
Str.getBytes().length
0145デフォルトの名無しさん2005/09/27(火) 00:24:55
いいかげんかぶりまくったなこりゃw
0146デフォルトの名無しさん2005/09/27(火) 00:29:12
>>141
ここがお前の尊厳回復の場だから奪わないでって?
0147デフォルトの名無しさん2005/09/27(火) 00:41:48
>>141
関係ないと思われ。
ZipOutputStream#close() 呼んでるなら間接的に close 内で finish 呼んでる。

BufferedOutputStream とかで close 前に flush 呼んでみろってのと同じ。
0148デフォルトの名無しさん2005/09/27(火) 07:14:03
関係ないとは思うけど close 2回は意味ないね
01491182005/09/27(火) 08:32:28
JFrame作ってラベル貼って
showするだけでも同じことが
起こるので、versionを
更新してやってみます。
ちなみにsetcontentPaneは使ってません。
0150162005/09/27(火) 10:48:05
140 です
ご教授ありがとうございます。
試してみましたが、「len()を配列方byte[]で起動できません」とのエラーが出ます。
eclipseで作成しています。
すいません、単純なことなのでしょうか?
01511502005/09/27(火) 10:57:31
150です
すいませんできました。
いつもの癖でlength()としてしまっていました
Str.getBytes().length();
ご迷惑おかけしました。
ありがとうございました。
0152デフォルトの名無しさん2005/09/27(火) 11:04:14
propertiesファイル読み込んだら
コンソールにこんなのが・・・

java.sql.SQLException: I/O例外です。: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=168821248)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))

パスワード、IDはあっている筈なのに
何か足りないのかな?

ちなみに実環境はOracle接続にて

どなたかご教授おながい(つдT)
0153デフォルトの名無しさん2005/09/27(火) 11:11:35
答え書いてあるじゃん

ORA-12505: TNS: リスナーは接続記述子で指定されたSIDを現在認識していません
原因: データベースまたは他のサービスとの接続を確立する要求を、リスナーが受信しました。
リスナーが受信した接続記述子では、リスナーに動的に登録されていないか、
リスナーに対して静的に構成されていないインスタンス(通常はデータベース・インスタンス)の
SIDが指定されていました。これは一時的な状況である可能性があります。
たとえば、リスナーが起動してからデータベース・インスタンスがリスナーに登録されるまでの間などです。
処置:
- 少し待って、もう一度接続してください。

- lsnrctl services <listener name>を実行して、リスナーで現在認識されているインスタンスを確認してください。

- 接続記述子のSIDパラメータで、リスナーに認識されるインスタンスが指定されていることを確認してください。

- listener.logファイルにイベントがあるか確認してください。

0154デフォルトの名無しさん2005/09/27(火) 14:49:10
プログラムの質問してもいいですか?(チョット長いです。。。)
0155デフォルトの名無しさん2005/09/27(火) 14:54:36
駄目です
0156デフォルトの名無しさん2005/09/27(火) 14:57:13
?!の、NOっすか?。。
じゃあ、どこで聞けばいいんでしょう。。(−U−;)
0157デフォルトの名無しさん2005/09/27(火) 15:02:36
>>156
http://www.tbs.co.jp/kodomotel/
0158デフォルトの名無しさん2005/09/27(火) 15:05:23
ちょっと今まじで行っちゃいましたよっ!笑

。。。あの〜。。。 張っちゃいますね。。。:


↓のプログラムは、リカージョンを使ってハノイのタワーの解決法をかいてあります。
このプログラムより短くイタレーションを使ってハノイのタワーの解決法をかきなさい。

public class iteration
{
public static void main(String args[])throws IOException
{
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
int disks=Integer.parseInt(input.readLine());
solveHanoi('A','B','C',disks);
System.out.println("/n/nEXECUTION TERMINATED");
}

public static void solveHanoi(char s, char t, char d, int n)
{
if(n!=0)
{
solveHanoi(s,d,t,n-1);
System.out.println("Move Disk" + n + " From Peg" + s + " to Peg " + d);
solveHanoi(t,s,d,n-1);
}
}
}
0159デフォルトの名無しさん2005/09/27(火) 15:16:13
宿題は宿題スレへどうぞ
01601522005/09/27(火) 16:23:31
調べてみたら、無事につながったけど
struts上でpropertiesファイルでの置くディレクトリが何処だか
わからなくなった・・・

classesでもなさそうだし・・・
0161デフォルトの名無しさん2005/09/27(火) 16:27:06
>>160
ベースネームの設定によるから、一概に何とも言えない。
Struts設定ファイルの<message-resouces>要素のparameter属性の設定値はどうなってる?
01621522005/09/27(火) 16:32:05
>>161
デフォのままでMessageResources。
0163デフォルトの名無しさん2005/09/27(火) 16:37:02
質問失礼します。

catch( StringIndexOutOfBoundsException e )
でエラーを捕まえました。
が、charAt等を多くの場所で使用している為、どこで落ちているか分かりません。

どこで落ちたのか特定したいのですが、どうやれば良いでしょうか?
(「○行目で落ちてる」とか出力できれば最高なのですが、、、)
0164デフォルトの名無しさん2005/09/27(火) 16:43:52
>>162
言っておくが、そこにはデフォルト値なんかないぞ?

parameter="MessageResources"
とあるのなら、
/WEB-INF/classes 直下に MessageResources.properties というファイルを作成する。
日本語ロケール専用ならMessageResources_ja.properties。

java.util.ResourceBundleと同じルールだ。
0165デフォルトの名無しさん2005/09/27(火) 16:44:54
>>163
デバッグモードonでコンパイルして、スタックトレースを出力。
0166デフォルトの名無しさん2005/09/27(火) 16:47:09
簡単にやろうと思ったら、NetbeanとかEclipseの統合開発環境使うのがいちばん。
それでステップ実行すればいいだけ。
01671632005/09/27(火) 16:55:30
ありがとうございました。
01681522005/09/27(火) 17:05:14
>>164
Thanks
解決したのでどうもです。
01691522005/09/27(火) 17:52:59
さっきの続きでまたもう1つ問題が浮上・・・。
読み込ませているはずのOracleのドライバーがどうも読み込んでくれなくて
ClassNotFoundExceptionを吐いてしまってる・・・orz

アドバイスおながいしまつ・・・。;_;
0170デフォルトの名無しさん2005/09/27(火) 17:57:52
tomcatでJNDIに登録してるんなら、server/common/libとかその辺にもclassファイルが無いと動かんな
01711522005/09/27(火) 18:08:40
>>170
現在の状況としては
ただ拡張していないJavaクラスのmainメソッド内→正常に取れる
Action拡張クラス内のexecuteメソッド内     →ClassNotFoundExceptionを吐き出してしまう
0172デフォルトの名無しさん2005/09/27(火) 18:10:29
サーブレットでCSVをダウンロードするようなプログラムを作ってるんですが、
なぜかダウンロードダイアログと同時に真っ白い画面が表示されてしまいます。

元画面→CSV作成クラスはPOSTでリクエストを飛ばしてて、
ヘッダには
res.setContentType( "Application/Octet-Stream-Dummy" );
res.setHeader("Content-Disposition","attachment; filename=\"aaaa.csv\"");
を記述してます。
どこの記述がマズいのでしょうか?
ちなみにブラウザはIE6.0SP2
サーバはXPSP1+Tomcatです。
0173デフォルトの名無しさん2005/09/27(火) 18:17:22
>>172
POSTした結果がCSVファイルだとしたら、サーバからブラウザに返された内容はCSVファイルとしてファイルに保存しますよね
そうしたらブラウザには何が残るでしょうか?
0174デフォルトの名無しさん2005/09/27(火) 18:29:13
真っ白な画面が表示されるって事は、空のCSVファイルが送信されてるんでないの?

原因はキャッシュ設定だと思う。
01751722005/09/27(火) 19:01:23
>>173-174
ちょいと補足というか訂正です。
元画面で検索条件を入力して、それをCSV作成クラスで受け取って
検索条件を元にCSVに出力します。
ヘッダにContentTypeを記述してるのでダウンロードダイアログも上がってくるし
そこで「開く」や「保存」を押すと確かにデータも出力されているのですが、
ダイアログと同時に真っ白な画面も上がってきてしまいます。
その画面のHTMLを見ると
<HTML><HEAD></HTAD><BODY></BODY></HTML>
が勝手に記述されているのですが、
これを書き出してるのは誰なのでしょうか?
0176デフォルトの名無しさん2005/09/27(火) 19:03:20
>>175
IEかな
0177デフォルトの名無しさん2005/09/27(火) 19:28:25
swingをつかったGUIプログラムで
paint関数で文字列を表示したりすると
メニューバーが消えてしまうんですがどうしたらいいでしょうか?
一応マウスでクリックすると描画されるんですが

0178デフォルトの名無しさん2005/09/27(火) 19:29:29
>>177
paint 使うな、paintComponent 使え。
0179デフォルトの名無しさん2005/09/27(火) 19:41:41
>178
速レスありがとうございます
さっそくやってみます
0180デフォルトの名無しさん2005/09/28(水) 00:08:32
log4jを使って、ケースによって別々のファイルにロギングすることはできますか?

プロパティファイルを2つ作って、loggerを2つ作成し、やってみたのですが、
はじめはうまくいってるように見えるのですが、
片方のファイルにログ書き込みが発生すると、以後、
そのファイルのみに書き込まれてしまいます。
0181デフォルトの名無しさん2005/09/28(水) 00:31:57
>>180
何をどうしたのかさっぱりわからんから何とも答えようがないな
01821802005/09/28(水) 00:45:14
えーとですね。

static logger a;
static logger b;
・・・
a = ****.getLogger ("LOGFILE_A");
b = ****.getLogger ("LOGFILE_B");

という感じで定義しておいて、要件に応じて、
a.log (******); もしくは b.log (*****)ってな感じでやりたいんです。
つまり、ログがごっちゃになるのがいやなので、ログファイルA、ログファイルB
と分けたいんです。
01831802005/09/28(水) 00:59:27
log4jをあんま使ったことなくてカンでやったのですが、
ヘマしなければ、なんら問題のないことなのでしょうか。
それとも、log4jの作り上、上記のやり方では2つのログファイルに出力できない
のでしょうか。
0184デフォルトの名無しさん2005/09/28(水) 02:56:48
俺詳しくないんだけど言わせて頂く
まず言うべき部分はaとbの各々の位置関係とかそこらじゃないのかな?

お願いだ、ログはなるべくわけないであげて、頼む。
数箇所にログ吐くシステムに携わった事あるけど、地獄ね
ログを信じられなくなるんだね、驚異的本末転倒。
わけるにしても1箇所だけは全て流してあげてくれないか
0185デフォルトの名無しさん2005/09/28(水) 07:08:02
>>184
そりゃおまいさんの探索能力が無いだk
0186デフォルトの名無しさん2005/09/28(水) 11:08:39
strutsで、SQLの結果を配列形のデータを
JSPに表示するような一例がなかなか見つからずに悶絶中orz

アドバイスおながいしまつ.・゜・(´д`)・゜・.
0187デフォルトの名無しさん2005/09/28(水) 11:15:46
>>186
日本語を勉強してきてくれ
話はそれからだ
0188デフォルトの名無しさん2005/09/28(水) 14:26:47
Java1.1.8を使用してます。
アプリケーションの二重起動を防止したくていろいろ調べたんですが、大体以下の2つの方法があるみたいです。
 1.ロックファイル作成→起動時にファイルの有無を判断
 2.使用しないポートでSocketを作成し、接続→当該ポートへの接続可否を判断

で、2の方法を採ることにしたんですが、エラーが出る場合と出ない場合があり、困っています。
Socketは接続時間の制限などがあるのでしょうか?
コードを載せておきますので、何かアドバイスがあったらお願いします。

 public static void main(String args[]){
   if (appliLockCheck()){
    MainMenu mainmenu = new MainMenu();
   }else{
    System.exit(0);
   }
 }

 public boolean appliLockCheck(){
   try {
    ServerSocket socket = new ServerSocket(3776);
   }catch (BindException exception){
    System.out.println("プログラムは既に開始されています。");
    return false;
   }catch (Exception exception){
    exception.printStackTrace();
    System.out.println("プログラムは既に開始されています。");
    return false;
   }
   return true;
 }
0189デフォルトの名無しさん2005/09/28(水) 15:13:04
>>188
ServerSocket がガベージコレクタに回収されるときに close() されてるとか?
0190デフォルトの名無しさん2005/09/28(水) 15:54:26
サーバーソケットのスコープがおかしいな
0191デフォルトの名無しさん2005/09/28(水) 16:29:19
>>189
ServerSocketがポートを掴んでいる状態で、GCに回収されることがあるんでしょうか?
そうすると、アプリが起動している時は常にServerSocketを参照した状態にすればいい……のか?

>>190
この書き方だと、AppliLock()メソッド内でしかServerSocketが存在しないですよね。。。
で、各画面を表示する時に、必ずServerSocketを作るようにしたんですが、
ServerSocketの作成に失敗する時と成功する時があるようです。
今度はStaticなServerSocketを作って、
アプリ起動時は常にServerSocketが存在するように変えてみたいと思います。
0192デフォルトの名無しさん2005/09/28(水) 16:42:43
>>191
static にする意味無し。
190が書いた意味をもう一度考え直せ。
ServerSocketが何なのかを知っていればすぐわかると思うが。
Socketプログラミングしたことない?
0193デフォルトの名無しさん2005/09/28(水) 16:44:38
>>191
> ServerSocketがポートを掴んでいる状態で、GCに回収されることがあるんでしょうか?
回収されてはいけない、とはどこにも書いてない。
どっからも参照されてないんだから普通は回収されるだろ。

問題はGCに回収された時に close されるか、だけど……
close するとも、絶対に close されないとも書いてないんだよね。SocketImpl の実装次第。
ちなみに、Sun の java.net.PlainSocketImpl の実装では finalize 時に close される。
0194191=1882005/09/28(水) 16:53:14
>>192
良く考えたらStaticで作ったらダメですね。。。
常に存在してたら必ずエラーってことになってしまう。

Socketのプログラミングはしたことないんです、すいません。
APIを見たところ、
・ポートを開いてネットワーク越しの要求を待つ。
・要求があった時に記述された処理をする。
ってことだと思うんですが。

起動時のmainメソッドの中でServerSocketが作られれば、終了まで存在する……?
もう少し考えてみます。
もしヒントがあれば、どうか教えてください。
よろしくお願いします。
01951882005/09/28(水) 16:55:51
>>193
なるほど、ポートを掴んでいようが何しようが、参照されていない以上GCの対象になる、ってことですね。
だとするとあやふやな実装に頼る訳にはいかないです。
ありがとうございました。
0196デフォルトの名無しさん2005/09/28(水) 17:09:32
>>194
> 起動時のmainメソッドの中でServerSocketが作られれば、終了まで存在する……?
しない。

http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/doc-files/AWTThreadIssues.html
0197デフォルトの名無しさん2005/09/28(水) 17:09:56
>>181,191,194
まず最初に提示したソースだが、
そこを見てわかっているかちょっと疑問になる部分があるので
確認をしてみて欲しい

mainメソッドが一番最初に呼ばれるのか?
このmainメソッドがあるクラスをインスタンス化せずに呼んでいる。
これは問題ないとすると、
appliLockCheckメソッドは実はstaticメソッドで無いとおかしい。

まぁ書き方見るとどっかでインスタンス化しているはずなんだよな?

>起動時のmainメソッドの中でServerSocketが作られれば、終了まで存在する……?
このクラスのインスタンスがある限り終了まで存在すればいいすれば、
自ずと何処にどう書けば良いかがわかると思うが。
0198デフォルトの名無しさん2005/09/28(水) 17:11:15
訂正
×このクラスのインスタンスがある限り終了まで存在すればいいすれば
○このクラスのインスタンスがある限り存在すればいいとすれば

失礼しました。
0199デフォルトの名無しさん2005/09/28(水) 17:17:28
> まぁ書き方見るとどっかでインスタンス化しているはずなんだよな?
appliLockCheck に static 付け忘れただけなんでは?
0200デフォルトの名無しさん2005/09/28(水) 17:26:15
200
0201デフォルトの名無しさん2005/09/28(水) 17:31:35
>>199
そうすると、
   if (appliLockCheck()){
は
   if (Hoge.appliLockCheck()){
って書くはず

まぁ、本人じゃないとわからないわけだが。
あ、Warning無視してるのか?
0202デフォルトの名無しさん2005/09/28(水) 17:38:28
>    if (Hoge.appliLockCheck()){
> って書くはず
そんなんコーディング規約依存だろ。

> あ、Warning無視してるのか?
少なくとも javac では警告出ないよ。
0203デフォルトの名無しさん2005/09/28(水) 18:10:24
Struts上でArrayListの中の配列を
JSPで表示しようとすると・・・

javax.servlet.ServletException: どのスコープにもBean DispenseErrorCheckActionForm がありません

と表示されてしまう。

ヒントお願いします。

0204デフォルトの名無しさん2005/09/28(水) 18:12:28
>>203
>ArrayListの中の配列をJSPで表示しようとすると・・・
関係ない情報だね
02052032005/09/28(水) 18:18:17
>>204
ちなみに参考にしていた箇所はここ。
ttp://www.res-system.com/weblog/item/242/catid/31#comment

「iterate」タグ内でループさせて表示させようと思っいるのだが・・・。

筆不精でスマンorz
0206デフォルトの名無しさん2005/09/28(水) 18:44:05
StrutsってJ2EEのフレームワークで
Javaやってる人共通の話題ではないんだよねぇ。
どっか別のスレのほうが適当じゃないかな?

ココなんてどうだろう。
    JAVA+JSP+Struts+Tomcat    
http://pc8.2ch.net/test/read.cgi/tech/1123605954/l50
02072032005/09/28(水) 18:48:51
>>206
豚クス。
そっちのスレのほうがよかったかもね。
ちょっとそこのスレで質問投げてみる。
02081882005/09/28(水) 19:15:11
みなさん、お世話になりました。
>>197 >>199 >>201
staticの付け忘れです。
混乱させてすみません。

で、結論から言ってServerSocketをクラスのStaticメンバ変数にし、
AppliLockCheck()メソッドからポートを掴みに行くことで何とかうまくいきました。

限りなく不正解に近い気もしますが。。。
とにかく、元のコードではAppliLockCheck()メソッドを抜けると
ServerSocketはスコープから外れて死ぬので、
ServerSocketをメンバ変数にして、インスタンス化されている間はServerSocketが生き残る
ようにしなければ、ロック制御はできない。
という風に考えたんですが、どうでしょうか。

あと、直接的な回答ではなく、考えるように誘導してくださった回答者のみなさま、
ありがとうございました。
0209デフォルトの名無しさん2005/09/28(水) 20:08:10
すいませんが、あなたは最初に以下の2つの方法がありますと言って
ファイルロックの方法と、ダミーのサーバソケットを作る方法があるようだといいました
ファイルのロックはいいのですが
サーバソケットを作る方法って結構標準的なやり方なんでしょうか?
どこでそのような情報手に入れたのか詳しく知りたいです
ちょっとびっくりしましたよ
02101882005/09/28(水) 20:18:10
>>209
情報源はGoogle先生です。
「Java 二重起動 防止」とかのキーワードでぐぐったら出てきました。

ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5471&forum=12

とか。
他にも幾つかのページで紹介されていたので、同じことをしようとしている人にとっては
意外とメジャーな方法なのかも知れませんね。
0211デフォルトの名無しさん2005/09/28(水) 20:53:37
そのページ見る限りでは、Preference API(レジストリ)方法選ぶよ俺は
0212デフォルトの名無しさん2005/09/28(水) 21:21:59
バージョンが
>Java1.1.8を使用してます。
だからなぁ。
0213デフォルトの名無しさん2005/09/28(水) 21:46:24
質問です。
AWTのイベントリスナが複数ある場合、片方のイベントが発生したら他のイベントを発生させないようにするには、どうしたらいいでしょう?
ボタンアクションを動かしているときにはマウスイベントは動かさないようにする、といった感じです。
お願いします。
0214デフォルトの名無しさん2005/09/28(水) 21:50:30
>>213
スマートにやるなら
removeListener
ゴリゴリ書きたいのならコールバックメソッドにフラグ制御
0215デフォルトの名無しさん2005/09/28(水) 22:14:38
>>214
ありがとうございます。
removeListenerでやってみます。
自分自身のリスナー、>>213の例ならボタンアクションを動かしてるときにボタンアクションリスナも含めて全部削除しても問題ないんでしょうか。
0216デフォルトの名無しさん2005/09/28(水) 22:33:46
ボタンは setEnabled する方がいいでしょう。
押せるけど別段反応無い、っていうのより、押せないって方が分かりやすくない?
02171802005/09/28(水) 22:59:14
>>184
全く相関関係のないログなので分けました。
多分、log4jは内部情報を一部staticで管理している為の現象と推測しました。
結局、時間(とマニュアル読む気)がなかったのでlog4jの使用はやめました。
0218デフォルトの名無しさん2005/09/28(水) 23:01:47
要ははログ出力レベルを整数とif句で調節してるだけのprintlnだろ?<log4j
悩むくらいなら自分で実装
02191802005/09/28(水) 23:32:23
スピードや、スレッド同期、ログローテートを求められる状況だったので、
定評のあるlog4jにしようと思って・・・途中から意地になってるのもありましたが。
結局、自前で実装しました。(大したことはやってませんが)

ところで別件ですが、

class Foo
{
static private String XXX = "not initialized."; // <-[A]
static private Foo foo = new Foo ();

private Foo ()
{
XXX = "initialized.";
}

static public void Func ()
{
System.out.println (XXX);
}
}

みたいなコードで、
Foo.Func ();
を実行し、
not initialized.
と表示される場合ってあるでしょうか??
0220デフォルトの名無しさん2005/09/28(水) 23:38:26
>>219
あるだろ。

Log4jのことだが
DOMConfigurator.configure()
とかちゃんとやってて出来ないのがわからん。
02211802005/09/28(水) 23:43:37
>>220
え?なぜ??


log4jは、

PropertyConfigurator.configure("a.property"); // 1
・・・
PropertyConfigurator.configure("b.property"); // 2

てな感じでやってました。
2のタイミングで、1の情報が、上書きされてしまったのではと思ってます。
0222デフォルトの名無しさん2005/09/28(水) 23:45:48
ポカーン
0223デフォルトの名無しさん2005/09/29(木) 00:14:54
>>221
まぁプロパティーファイル使ったのならそう書くんだけどさ、
おまえLog4jについて何も調べなかっただろ。
サンプルソース読んでわかった気になってただけだな。

プライオリティごとに別ファイルに出来るんだが、
そういう事までわかってる?本来の使い方とは違うが、それだけでも別ファイルに吐くことが出来るぞ。
02241802005/09/29(木) 00:28:16
>>223
まぁ、図星。

>プライオリティごとに別ファイルに出来るんだが、
>そういう事までわかってる?本来の使い方とは違うが、それだけでも別ファイルに吐くことが出来るぞ。
さんきゅ。
0225デフォルトの名無しさん2005/09/29(木) 02:25:28
>220
219じゃないけど、>219のnot initialized.表示される場合ってありえるの?
屁理屈抜きだとnot initialized表示される場合が思い浮かばないんだけど
しかし219の初期化手段大人気ない感じだね
0226デフォルトの名無しさん2005/09/29(木) 02:29:26
ねぇよ
0227デフォルトの名無しさん2005/09/29(木) 02:35:32
複数スレッドがからんでたらありえるんじゃね?
0228デフォルトの名無しさん2005/09/29(木) 02:43:36
マルチスレッド環境で初期化に失敗するようなヘボ言語なわけねーだろが ヴォケ
0229デフォルトの名無しさん2005/09/29(木) 02:53:49
俺はスタティックイニシャライザじゃないと保証されないって思ってた。
0230デフォルトの名無しさん2005/09/29(木) 03:06:46
>>228
double-checked lockingイディオムとか知ってる?
0231デフォルトの名無しさん2005/09/29(木) 03:20:24
 6:一見関係ありそうで関係ない話を始める
     「ところで、カモノハシが卵を産むのは知っている?」
0232デフォルトの名無しさん2005/09/29(木) 04:39:17
(1)クラスの初期化が終わるまで、クラスオブジェクトはロックされ、
他のスレッドはそのクラスにアクセスできない
(2)ロックが解放されるとき、そのスレッドのキャッシュはメインメモリに書き込まれる
(3)スレッドがはじめての「変数」(記憶領域)にアクセスするときは、メインメモリから読まれる

以上の3点から、初期化したスレッドと異なるスレッドが
(もうそれ以上変わらない)フィールドにアクセスした場合、
正しくアクセスできると思われる。

ダブルチェックの話は、
オブジェクトの保持するデータがまだメインメモリに書き込まれていないのに、
オブジェクトへの参照がメインメモリに書き込まれたときに
(データの書き込みの前後逆転は、最適化の余地のために残されている)、
他のスレッドから、その参照からオブジェクトの保有データにアクセスすると
未初期化状態のものにアクセスできてしまうことを言うのだと思う。
0233デフォルトの名無しさん2005/09/29(木) 07:27:59
数と重さを入力すると、
数*重さ*重さ1ポンドに対しての価格 = 合計価格 が出て、
その合計価格に消費税を足した物を出力(入力した数、重さも一緒に)するというプログラムを作っています。
消費税を、7.25%に設定して、コンパイルしてみたのですが表示は「0.0725%」となってしまいます。
↓にソースを晒すので、どうすれば7.25%と表示されるのかご教授をお願いします。
0234デフォルトの名無しさん2005/09/29(木) 07:32:09
package totalpricepractice;

/**
*合計価格+消費税を表示するプログラムです。
*/
import javax.swing.*;
import java.util.*;
import java.text.*;

public class totalpricesales {
public static void main(String[] args) {

final double taxRate = 7.25 / 100, pricePerLb = 5.99;

double bagWeight, numberofBags, TotalPrice, TotalPriceWithTax;

String strsold, struwob;

DecimalFormat df = new DecimalFormat("0.00");
DecimalFormat df2 = new DecimalFormat("0");
0235デフォルトの名無しさん2005/09/29(木) 07:32:59

strsold = JOptionPane.showInputDialog(null, "売れたバッグの数を入力してください");
struwob = JOptionPane.showInputDialog(null, "バッグの重さを入力してください");

numberofBags = Double.parseDouble(strsold);
bagWeight = Double.parseDouble(struwob);

TotalPrice = bagWeight * numberofBags * pricePerLb;
TotalPriceWithTax = TotalPrice + TotalPrice * taxRate;

System.out.println("The number of bags sold is " +df2.format(numberofBags));
System.out.println("The weight per bag is " +df2.format(bagWeight));
System.out.println("The price per pound is " +pricePerLb);
System.out.println("The sales tax is " +taxRate+ "%");
System.out.println("Total price is " +df.format(TotalPriceWithTax));
}
}
0236デフォルトの名無しさん2005/09/29(木) 07:33:56
売れたバッグの数を32、バッグの重さを5ポンドと入力した場合の出力結果。

The number of bags sold is 32
The weight per bag is 5
The price per pound is 5.99
The sales tax is 0.0725%
Total price is 1027.88
0237デフォルトの名無しさん2005/09/29(木) 07:34:54
>>233
下手な釣り
0238デフォルトの名無しさん2005/09/29(木) 07:36:23
final double taxRate = 7.25 / 100
0239デフォルトの名無しさん2005/09/29(木) 07:47:28
>>238
7.25 / 100 をしないと、%にならないので、
合計価格がとんでもないことになってしまうのです…
0240デフォルトの名無しさん2005/09/29(木) 07:50:51
いやいや釣りじゃなくて本気か?w
taxRateを7.25として使いたければ計算のときに100で割ればいいし
taxRateを0.0725として使いたければ%で表示するときに100掛ければいいじゃん
0241デフォルトの名無しさん2005/09/29(木) 07:57:55
>>240
final double taxRate = 7.25 / 100 という風に、100で割っているのですが、
出力された時に、7.25を100で割った数字が出てくるので、
それを0.0725ではなく、7.25と表示出来るようにしたいのです。
DecimalFormatをいじればどうにかなりそうな気がして、色々やっていたのですが、
いつのまにか朝になっちゃいました・・・orz
0242デフォルトの名無しさん2005/09/29(木) 08:56:36
>>240の言ってること全くわかってねーな
寝た方がいいんじゃねーの
0243デフォルトの名無しさん2005/09/29(木) 09:16:53
>>241
( 'A`) 人('A` ) ナカーマ

いや、いつのまにか朝になっちゃったとこだけな。
0244デフォルトの名無しさん2005/09/29(木) 09:37:30
Javaでの動画再生について質問します。

今はQT for Javaを利用しているのですが、WMP形式の動画が再生できない
ため他のものを使えないという問題があります。
QTの他にはJMFなどがありますが、JMFのページを見てもJMF自体ではWMP
はサポートしていないと書いていました。

WMPは是非サポートしたい形式なのですが、JavaでWMPを再生する方法はな
にかありますか?もし知っている方がいたら教えてください。
0245デフォルトの名無しさん2005/09/29(木) 09:51:58
taxRate * 100
0246デフォルトの名無しさん2005/09/29(木) 10:16:31
質問者じゃないが、つまるところ>219のコードは変な事になる可能性があるってことなのね
class Foo {
static {
//ここでやればいいの?
xxx=null;
}
}
それともFoo#getInstance()みたいなのこしらえて徹底するの?
0247デフォルトの名無しさん2005/09/29(木) 10:25:55
で、double checked locking がこの件にどう関係するかの説明はまだですか?
ダブルチェックとか言いたかっただけと違いますか?
0248デフォルトの名無しさん2005/09/29(木) 10:26:54
めんどくさいからそれでいいや
0249デフォルトの名無しさん2005/09/29(木) 12:43:38
>>246
変なコードのような気がするが
変な事にはならない気がする
0250デフォルトの名無しさん2005/09/29(木) 13:38:53
旧漢字を常用漢字に変換するのは、どうやるのでしょう?
「はしごタカ」を「高」に、など。
0251デフォルトの名無しさん2005/09/29(木) 13:43:40
>>250
変換表を作って1文字ずつ置き換える
0252デフォルトの名無しさん2005/09/29(木) 15:19:34
>>251
�d
0253デフォルトの名無しさん2005/09/29(木) 20:33:42
Log4jについて教えてください。
システム上、ログファイル名を任意にプログラミング上変更する必要があります。
xmlにファイル名を記述するとファイル名が固定になってしまいます。
どのような対処法があるのでしょうか。
宜しくお願いします。
0254デフォルトの名無しさん2005/09/29(木) 20:36:44
自分で Appender を作る。
02551802005/09/29(木) 23:16:38
>>232
解説ありがとうございます。
つまり、Foo.Func()では、
initialized.
と出力されることが保障されるはずですよね。


ダブルチェックについても調べてみたところ、
http://www-6.ibm.com/jp/developerworks/java/020726/j_j-dcl.html
をみつけました。
非常に興味深い話題でけど関係ないなと思いつつ読みましたが、一点気にかかる
ところがありました。

上記HPの"リスト10"に関するものです。

static getInstance() メソッドへの呼び出しが行われるまでは Singleton オブジェクトを作成しないようになっています。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

私の考えでは、リスト10中のSingletonオブジェクトは、プログラムのロード時に1回のみ作成されるもの、と思っていたのですが、
実際は、getInstance()中にて、変数instanceへの参照が発生したときに(1回のみ)初めて作成されるのでしょうか??
0256デフォルトの名無しさん2005/09/30(金) 00:02:06
>>255
getInstance()が呼ばれるまでSingletonクラスはロードされない。
もうちょっと正確に言うと、最初にSingletonクラスで何かしようとするまで
Singletonクラスはロードされない。例えばinstanceof演算子とか。
0257デフォルトの名無しさん2005/09/30(金) 00:07:04
インタフェースとクラスのinstanceofって速度が違うの?
インタフェースでしか使っちゃダメって話聞くけど
02582562005/09/30(金) 00:10:38
すまん。今、自分で試してみたらinstanceofではロードされなかった。VM依存とかある?
Class.forNameならロードされた。あたりまえだけど。
0259デフォルトの名無しさん2005/09/30(金) 00:11:46
> Class.forNameならロードされた。あたりまえだけど。
そらそうだろw
0260デフォルトの名無しさん2005/09/30(金) 00:24:21
最初の参照でロードされる (初期化される) ってのは仕様とかになってたっけか?
クラスローダーの実装如何で JAR の読み込みと同時にロードも出来るし。
JDK 0.9/1.0 とか初期の実装は、クラスから静的に参照されている別クラスも
同時にロードされてたような気がするし。

クラスのアンロードの規定もなんかあったような気がするが忘れた。
static フィールドを持つクラスはアンロードしちゃだめとか何とか。
つーか、適当な話ばっかだな >> 俺
02611802005/09/30(金) 00:30:58
>>256
ありがとうございます。
Singletonクラス自体は、そのプロパティ/メソッドが参照されるまでロードされない。
従って、getInstance()コール時に、ロードされ、その際、Singletonオブジェクトが作成される。
そしてgetInstance()中のコードが実行され、instance変数がリターンされる。
ということですね。納得しました。
02621802005/09/30(金) 00:34:44
>>260
>クラスのアンロードの規定もなんかあったような気がするが忘れた。
>static フィールドを持つクラスはアンロードしちゃだめとか何とか。
おー、ここら辺の話が実に気になりますね〜。
でも、static フィールドを持つクラスをアンロードしちゃう言語なんて、
そもそもstaticっていう言葉の定義自体がちがっちゃう言語なんでしょうね。

0263デフォルトの名無しさん2005/09/30(金) 00:58:31
GIF 形式の出力のサポートはまだなんかね。
0264デフォルトの名無しさん2005/09/30(金) 01:01:06
>>262
1.0だか1.1の頃はstaticフィールドなんか関係なくクラスがアンロードされることがあった。
02651802005/09/30(金) 01:03:06
>>264
マジっすか??
それってバグでしょ??

勉強になりました。
0266デフォルトの名無しさん2005/09/30(金) 01:14:35
>>260
12.7 クラス及びインタフェースのアンロード
http://www.y-adagio.com/public/standards/tr_javalang2/execution.doc.html#74294
> Javaプログラム言語の処理系は,クラスを アンロード(unloaded) してもよい。
> クラス又はインタフェースは,それを定義しているクラスローダが12.6で示されるとおりに
> ガーベジコレクションによって再利用される場合に限り,アンロードしてもよい。
> ブートストラップローダによってロードされるクラス及びインタフェースは,アンロードしてはならない。

って書いてあるけど。
staticフィールド持ってる場合はアンロードしちゃダメってのはどこに書いてあった?
0267デフォルトの名無しさん2005/09/30(金) 01:25:21
>>266
どこに書いてあるかまで明確に覚えてたらそう書いてるよw
多分その下の

・(状態が失われる)静的変数。

とかが頭の片隅にあったんだろう。
0268デフォルトの名無しさん2005/09/30(金) 01:47:39
以下のようなテストプログラム書いて試してみたけど、staticフィールド持っててもアンロードされたぞ。

import java.net.*;
import java.lang.ref.*;
public class test {
  public static void main(String[] args) throws Exception {
    String url = "file:///C:/hogehoge/"; // 最後に / を入れる。test と同じディレクトリはじゃないほうが良いかも?
    Class stype = new URLClassLoader( new URL[]{ new URL( url ) } ).loadClass("Singleton");
    WeakReference s = new WeakReference( stype.getMethod("getInstance", null).invoke(null, null) );
    System.out.println(s.get());
    stype = null; System.gc();
    System.out.println(s.get());
  }
}

//この例では C:/hogehoge/Singleton.javaね
public class Singleton{
  private static Singleton instance = new Singleton();
  private Singleton(){ }
  public static Singleton getInstance(){
    return instance;
  }
}
0269デフォルトの名無しさん2005/09/30(金) 01:58:56
>>267
その部分見ても「staticフィールド持ってる場合はアンロードしちゃダメ」とは読めないんだが。
0270デフォルトの名無しさん2005/09/30(金) 02:11:36
最初からうろ覚え程度の適当話だっつってんのに
なんで鬼の首取ったかのような奴が紛れてんのか。
0271デフォルトの名無しさん2005/09/30(金) 02:21:07
どの初心者スレにも揚げ足を取ることで自己の存在理由を主張しようとする派遣が常駐しています。
0272デフォルトの名無しさん2005/09/30(金) 02:38:14
>>263
Mustang だと ImageIO で GIF 使えるよ。
0273デフォルトの名無しさん2005/09/30(金) 02:56:49
>>241
★★ Java の宿題ここで答えます ★★で聞いた方がいいと思われ。

http://pc8.2ch.net/test/read.cgi/tech/1123639475/l50
0274デフォルトの名無しさん2005/09/30(金) 03:17:59
>>241
new DecimalFormat("0.00%").format(7.25 / 100);
0275デフォルトの名無しさん2005/09/30(金) 03:44:09
Java で作表ソフトを作りたいと思っています。

JTable のようなコントロールを使おうと思ってるんですが、
Windows でいうところのオーナードローみたいなことは
できますか?

罫線とか網掛けとかを表現したいもので。

0276デフォルトの名無しさん2005/09/30(金) 03:50:52
>>275
sunのswingチュートリアルに載ってるよ

>>271
派遣にいじめられたのか?
0277デフォルトの名無しさん2005/09/30(金) 03:56:44
>>275
javax.swing.table.TableCellRenderer 実装する。

http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#renderer
Using Custom Renderers とか参照。
0278デフォルトの名無しさん2005/09/30(金) 05:00:32
>>241
final double taxRate = 7.25 / 100, pricePerLb = 5.99;

DecimalFormat df = new DecimalFormat("0.00");

と先に書いてるんだから、outputの時に

System.out.println("The sales tax is " +df.format(taxRate * 100));

としてやればいい。
0279デフォルトの名無しさん2005/09/30(金) 15:27:27
VMオプションで 「-Xss30m」としても「-Xss10m」としたときと
StackOverflowErrorが起きるまでに呼び出せるmethodの回数が
変わりません。
どのようにしたら回数を増やすことできるのでしょうか?

[環境]
java version "1.5.0_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)
Java HotSpot(TM) Client VM (build 1.5.0_04-b05, mixed mode, sharing)
0280デフォルトの名無しさん2005/09/30(金) 17:16:11
>>279
-Xoss<size> 任意スレッドの最大 Java スタック・サイズを設定します
-Xss<size> 任意スレッドの最大ネイティブ・スタック・サイズを設定します

StackOverFlowを起こすのはJavaスタック
0281デフォルトの名無しさん2005/09/30(金) 18:00:31
JInternalFrame でアプリケーションを作りかけてて、メニューかボタンで
タブブラウザのような UI に切り替えたいんだけど、JInternalFrame の
タイトルバーやボーダーって動的に消す方法ありますか? 何か良い方法ないかな?
0282デフォルトの名無しさん2005/09/30(金) 18:10:17
ちょうど俺も俺なりにつくってるところだ。
各 JPanel を JInternalFrame から剥奪して JTabbedPane に載せかえて、
JDesktopPane ごと差替えればいい

0283デフォルトの名無しさん2005/09/30(金) 18:20:16
>>282
うーん、やっぱりそんな感じになるのかなぁ。俺も途中まで作りかけてて、
CardLayout で JDesktopPane と JTabbedPane を切り替えて、ついで
トップの JPanel を remove→add とか。でも JInternalFrame に仕掛けた
JInternalFrameListener への通知どうしようかとか、JTabbedPane じゃ
タブを消すボタンをどこかに作らなきゃとか、考えてたら、タブ部分だけ
自作して JInternalFrame のタイトルバーと境界線を消して重ねた方が
設計は楽かな、と思ったしだいで。
0284やっちゃん ◆jKwdOs3LE2 2005/09/30(金) 18:38:32
package pka.pkasub;
public class Pk4cls{
public void disp(){System.out.println("ddddd");}
}

パッケージなんですが、これと
package pkb;
public class Pk4prg{
public static void main(String args[]){
pka.pkasub.Pk4cls a=new pka.pkasub.Pk4cls();
a.disp();
}
}
これで、Pk4prg.java:4: パッケージ pka.pkasub は存在しません。
pka.pkasub.Pk4cls a=new pka.pkasub.Pk4cls();
^
Pk4prg.java:4: パッケージ pka.pkasub は存在しません。
pka.pkasub.Pk4cls a=new pka.pkasub.Pk4cls();
^
エラー 2 個
こうなっちゃいます。誰かパッケージのヤリ方教えて下さい
0285やっちゃん ◆jKwdOs3LE2 2005/09/30(金) 18:40:41
解決しましたwwwすみませんでした
0286デフォルトの名無しさん2005/09/30(金) 18:47:15
>>280
「-Xoss」としても「-Xss」としても、両方指定しても変化ありません。

コマンドは例えば下のようにしています。
java -Xss10m Hoge
0287デフォルトの名無しさん2005/09/30(金) 18:54:22
スレ違いかもしれませんが、質問していいでしょうか。
ネットワークのループバックデバイスってwinXPでは標準装備じゃないんでしょうか?
また、この機能はJAVAやCで自作可能なんでしょうか?
0288デフォルトの名無しさん2005/09/30(金) 19:36:15
ワロスw
0289デフォルトの名無しさん2005/09/30(金) 22:27:34
javaではexeが作れないんですか?
0290デフォルトの名無しさん2005/09/30(金) 22:34:40
作れるけど特殊なコンパイラになる。探すが良い。
0291デフォルトの名無しさん2005/09/30(金) 22:35:25
GCJ
0292デフォルトの名無しさん2005/09/30(金) 22:53:52
ループバックデバイスのドライバでもつくるか
02932752005/09/30(金) 23:04:04
>>276-277
勉強になりました。
swing でオーナードローっぽいことできるのは
わかったんですが、swt でも同様のことを可能にする
コントロールありますか?
(教えて君ですみません)
0294デフォルトの名無しさん2005/09/30(金) 23:06:32
eclipseとかってjavaでできてるんですよね。
そういうのもそのGCJって奴で作るんですか?
0295デフォルトの名無しさん2005/09/30(金) 23:09:25
奴はexeの中でjava -jar [option] eclipse.jarみたいなことしてるだけ
多分
0296デフォルトの名無しさん2005/09/30(金) 23:11:17
最近eclipseが使いにくいと思い始めてきた
NetBeansいいよ、個人的に
0297デフォルトの名無しさん2005/09/30(金) 23:13:35
javaでソフト作って配布しても
.jarじゃハァ?ってなりそう
0298デフォルトの名無しさん2005/09/30(金) 23:15:47
>>297
バッチファイル起動でコンソールも出っ放しとかのアプリが氾濫するjavaだからOK
0299デフォルトの名無しさん2005/09/30(金) 23:18:44
画面非表示の透明exeとか使えばいいじゃん。
0300デフォルトの名無しさん2005/09/30(金) 23:20:41
>>299
詳しくお願いします
0301デフォルトの名無しさん2005/09/30(金) 23:23:15
exeからsystem("java -jar SUGEEE.jar");とかしてみたら?
0302デフォルトの名無しさん2005/09/30(金) 23:23:16
linuxのどれか知らないけどgcj使用のeclipseがあるとか
tomcatもネイティブとか聞いたけどどれだろ
0303デフォルトの名無しさん2005/09/30(金) 23:25:49
>>301
つまり別の言語で.jar実行用のプログラムを作れということですか。
0304デフォルトの名無しさん2005/09/30(金) 23:26:39
>.jarじゃハァ?ってなりそう
そんなこと気にするのはJava開発者ぐらいだ

>バッチファイル起動でコンソールも出っ放しとかのアプリが氾濫するjavaだからOK
「氾濫」って悪い意味で使っているのか?
「バッチファイル起動でコンソールも出っ放し」のどこがいけないのか・・・
0305デフォルトの名無しさん2005/09/30(金) 23:27:53
複数ウィンドウ開いてるのにひとつだけゴミ蒔き散らかしてたらヤだろw
0306デフォルトの名無しさん2005/09/30(金) 23:28:30
>>304
exeじゃないと、
ユーザがこれをプログラムだと
認識してくれないということです。
0307デフォルトの名無しさん2005/09/30(金) 23:31:41

ショートカットの名前にexeを付加して下さい
0308デフォルトの名無しさん2005/09/30(金) 23:31:54
>複数ウィンドウ開いてるのにひとつだけゴミ蒔き散らかしてたらヤだろw
たとえがよくわからん
文脈からして「複数ウィンドウ開いてるのに」は関係無さそう
0309デフォルトの名無しさん2005/09/30(金) 23:33:24
>>307
www
0310デフォルトの名無しさん2005/09/30(金) 23:33:42
関係あるだろゴミのつもりで消したらプログラムが終了しましたってなんじゃそりゃ
0311デフォルトの名無しさん2005/09/30(金) 23:33:56
>exeじゃないと、
>ユーザがこれをプログラムだと
>認識してくれないということです。
まったくもって意味が分からん
exeであること、jarであることを一般ユーザにわざわざ見せる必要ないじゃん
0312デフォルトの名無しさん2005/09/30(金) 23:35:41
マジで意味分からん
「ゴミのつもりで消したら」
↑の言いたい事は分かるが、

最初の
「ゴミ蒔き散らかしてたら」
と、つながらない
0313デフォルトの名無しさん2005/09/30(金) 23:37:22
exeはプログラムと知っているけど
ごみウインドウを消すとアプリが落ちることに驚く、スキル不明のパソコンユーザ
0314デフォルトの名無しさん2005/09/30(金) 23:38:15
つながらないって思ってるだけだろw
0315デフォルトの名無しさん2005/09/30(金) 23:41:06
jagoとかexeでごまかしてるな
0316デフォルトの名無しさん2005/09/30(金) 23:42:23
>>313
実際.jarなフリーソフトとかあるんですかね。
てかJavaのフリーソフトってアプレットとEclipseしかしらない
0317デフォルトの名無しさん2005/09/30(金) 23:44:39
>>316
ある。
0318デフォルトの名無しさん2005/09/30(金) 23:47:04
そのjagoってやつがJava製なんですね。
0319デフォルトの名無しさん2005/09/30(金) 23:49:24
物理シミュレーション作ろうと思ってるんですけど、
といっても、おもちゃっぽい感じのですけど、計算量はかなりありそう
Javaじゃやっぱダメですかね
0320デフォルトの名無しさん2005/09/30(金) 23:50:06
>>318
OSネイティブの実行ファイルをJavaを介してGUI化し、その起動に実行ファイルを使う離れ業だったとおもう。
0321デフォルトの名無しさん2005/09/30(金) 23:52:04
よく分からんが凄そう。
0322デフォルトの名無しさん2005/10/01(土) 00:18:43
全くわからんけど凄そう
0323デフォルトの名無しさん2005/10/01(土) 00:23:51
jagoってのは碁を遊ぶゲームで、思考ルーチンは無く、ただのGUIの碁盤。
でもインストーラがあったり、実行ファイルから起動したりする。
そしてgnugoというこれまた実行ファイル形式の碁エンジンをホストにさせて対戦できる。
0324デフォルトの名無しさん2005/10/01(土) 00:24:23
>>319
大丈夫、当分はJavaの限界が来る前にお前の限界に当たるよ
Javaが良いのか悪いのかその時考えれば良い
0325デフォルトの名無しさん2005/10/01(土) 00:25:48
依存性のないCコードならJITに対応できるようにして欲しいな
0326デフォルトの名無しさん2005/10/01(土) 04:11:54
バッチファイルの中で java でなく javaw で起動すればコンソールは出ないだろ?
それとも直接バッチファイルをダブルクリックしたらこれでも出たっけ?
0327デフォルトの名無しさん2005/10/01(土) 09:49:02
ファイル貰ったんですけどどうしたらいいのか分かりません。
そのファイルには拡張子が bat class MF のものが含まれているんですが、
どうしたら実行できますか??
0328窓際に追いやられた素人さん2005/10/01(土) 09:49:50
現在、荒らし対策でクッキーを設定していないと書きこみできないようにしています
ってこのまえ別のスレで書き込もうと思ったらでたんですけどクッキーって何ですか?
0329デフォルトの名無しさん2005/10/01(土) 10:10:32
小麦粉バターとか
0330デフォルトの名無しさん2005/10/01(土) 10:12:28
>>328
ブラウザーがWebサーバより受け取った情報を一時的/永続的に記憶していく方法だな
詳しい事はRFC2109を見ると良い
0331デフォルトの名無しさん2005/10/01(土) 10:23:10
>>289
私はコレ使ってます
ttp://jsmooth.sourceforge.net/
0332デフォルトの名無しさん2005/10/01(土) 11:55:16
>>306
普通のユーザーは拡張子すら気にしませんからー
0333デフォルトの名無しさん2005/10/01(土) 12:17:13
エライ限定的な「普通のユーザ」だな。
0334デフォルトの名無しさん2005/10/01(土) 12:43:39
.NETだとクリックすれば必要なもの全てインストールしてくれるのにね
0335デフォルトの名無しさん2005/10/01(土) 12:50:59
実際Javaで組んだソフトはどうやってリリースするの?
.classファイルを配布するんじゃないんだ・・・
0336デフォルトの名無しさん2005/10/01(土) 13:05:31
拡張子はみえないしね
0337デフォルトの名無しさん2005/10/01(土) 13:39:45
うちはNSISでインストーラー作ってる。起動用ショートカットの登録とか
プライベートJREのインストールとかもやってるから普通のWinアプリとなんら変わらん。
少なくともjar単独配付はVMパラメータの設定とかちゃんと出来ないし実用にはならないね。
JWSは複数環境対応の仕事やったことないしよくわからん。
0338デフォルトの名無しさん2005/10/01(土) 13:43:05
>>335
.class のままで配布するくらいだったら、フツーは jar で固める。
つか、他人がどうやってリリースしてるか参考にしたらよくね?
0339デフォルトの名無しさん2005/10/01(土) 13:50:20
>>337
それが現実的な解だと思う
俺はずっとそうしてきてるが問題が出てない

HDDは確かに食うけどB5ファイルサイズノートでも60GB〜が普通になってきてるし
サイズに関しては文句言われなくなってきた

昔はJREも大分小さかったけどねー
1.4も今見ると5.0に比べてすごく小さいと感じる
0340デフォルトの名無しさん2005/10/01(土) 13:52:50
35才、ダメダメプログラマーです。
今までJSPとサーブレットで開発してきたんだけど、
最近『フレームワーク』『DIコンテナ』『AOP』を使うとかなんとか
上が話しているのを聞きました。
基本的にJAPやサーブレットと全然違うものなんでしょうか。
0341デフォルトの名無しさん2005/10/01(土) 14:01:27
>>340
サーブレットJSPもTomcatとかいろんなサーブレットコンテナの上で動くでしょ?
サーブレットはWEBアプリに特化したフレームワークを提供するコンテナ
つまりすでにフレームワークは触っているということ

DIコンテナはロジック部分のコンテナ
シンプルなEJBだと思っていい

AOPに関しては必要になったとき覚えればいい
コアのロジックに対して使う技術ではないし、なくてもいいmのだと俺は思ってるが

んで、最近EJB3がDIコンテナのようにシンプルなのが追加されてるのが注目されてるところ
DIコンテナは使うライブラリによって操作抱負とかがばらばらでコンテナ依存してしまうのが
問題になyりやすかったけど、EJBということで標準化されればOracleだろうがIBMだろうが
JBossだろうが動く、って話ね
0342デフォルトの名無しさん2005/10/01(土) 15:26:44
>>340
「フレームワーク」は「ライブラリ」と逆の概念
フレームワークは貴方のコードを呼び出し、貴方のコードはライブラリを呼び出す。
JavaのAWT/Swingだってフレームワークで、
例えばいつpaint メソッドが呼び出されるかは自分で制御するわけではない。

フレームワークは、当然ながらそのままでは自分が何を呼び出すべきか分からないので、
予め、なんらかの仕様(インタフェース)を実装したオブジェクトへのアクセス方法を
登録しておく必要がある。

この、仕様と実装の分離という機能を抽出したものが、「DIコンテナ」
(フレームワーク→ユーザ実装、という制御の流れに限定しない)。
「DIコンテナ」は、ここ2,3年流行りっぽい(?)。略して「ダイコン」(大根?)と呼ぶらしい

「AOP」は、アスペクト指向プログラミングの略で、
オブジェクト指向とは互いに”横断”的な関係らしい。

オブジェクト指向は、そのオブジェクトに関連付けられた操作を内部に配置するが、
その操作が固有のオブジェクトには強く関連せず、むしろ、
例えば外部のクラスの静的メソッドを作って、みんなでそれを呼び出せばいいじゃないか、
みたいに感じたら、そこが「AOP」という概念が導入されたきっかけだと思う。

が、むしろ使い方・利用の方法が未成熟であるという話も昔聞いた。
利用方法としてログやプーリングくらいしか、パッと思いつかないし。

私も、35才っぽいダメダメプログラマー
最近、やっと Javaのお仕事貰いました。サーバサイドの仕事は回ってこないし
03433422005/10/01(土) 15:55:39
AOPについての自己レス

呼び出される方でなく、
呼び出す方(場所、方法)を別のところに定義するのがポイント

普通は、
 hogehoge();
と書かなければ、hogehoge は呼び出されないが、
そこを無理やり呼び出す。

扱い方によっては滅茶苦茶になるので、
ロジックに影響を与えないログやプーリングなど以外への
適用方法は思いつかない。

あとのことは識者にお任せ
0344デフォルトの名無しさん2005/10/01(土) 17:28:54
AOPの醍醐味はトランザクションだ!

と自負する
0345デフォルトの名無しさん2005/10/01(土) 17:47:14
DIに関してはJavaでは今後どんどん使われていくと思うよ、デバッグや単純な機能追加にも使えそうな感じ
中間コードを馬鹿にしてきた奴らが驚くような使い方が出来そうw
0346デフォルトの名無しさん2005/10/01(土) 18:09:00
public class Value {

private int count = 0;

public void add() {
int a = count;
a++;
for(int i = 0; i < 1000; i++){
for(int j = 0; j < 1000; j++){
}

}
count = a;
System.out.println("value = " + count);
}
}
0347デフォルトの名無しさん2005/10/01(土) 18:09:30
> DIコンテナはロジック部分のコンテナ
> シンプルなEJBだと思っていい

でたらめもいいところだな
0348デフォルトの名無しさん2005/10/01(土) 18:10:00
public class PrintNunber extends Thread{
private Value obj;

public PrintNunber(Value o) {
obj = o;
}

public void run() {
for(int i = 0; i < 50; i++) {
synchronized(obj){
obj.add();
}
}
}
}
0349デフォルトの名無しさん2005/10/01(土) 18:12:10
こういった場合PrintNumberクラスのフィールドは
スーパークラスであるValue型の変数objということになるんでしょうか?
クラス型の変数というのがいまいち理解できないのでどうか教えてください。
0350デフォルトの名無しさん2005/10/01(土) 18:16:27
> こういった場合PrintNumberクラスのフィールドは
> スーパークラスであるValue型の変数objということになるんでしょうか?
???

> > public class PrintNunber extends Thread{
PrintNumber と Value には継承関係はないみたいだが。
0351デフォルトの名無しさん2005/10/01(土) 18:22:54
ポリシーファイルでCodebaseのURLにjarファイルのパスを与えることはできるのでしょうか?
(一応やってみたら駄目だったのですが、やり方が間違っているかもしれないので一応質問)

教えて下さい。

また、もし駄目だったら、Jarファイル内のクラスにPermissionを適用するにはどうすればよいのでしょう?
(jarファイルの置いてあるディレクトリを指定してみたところ駄目なようでした)
0352デフォルトの名無しさん2005/10/01(土) 18:23:34
>>347
フレームワークも分からない初心者に説明するのに一番わかりやすい説明ではないか?
もしかしていろんな掲示板で暴れるS2の人?
03533492005/10/01(土) 18:25:26
失礼しました。
そういえばそうですね・・・。
ということはどういうことなんでしょう・・・。
Value型というものがあるのでしょうか?
それともクラスVlueのオブジェクト参照なんでしょうか?
0354デフォルトの名無しさん2005/10/01(土) 20:14:40
>>349
かいつまんで言うと、一文字目が大文字はクラス(型)、小文字になったらインスタンス(変数)
0355デフォルトの名無しさん2005/10/01(土) 21:26:58
Javaの入門書を一通り読んだのですが、本を読みながらでも
プログラムを書ける気がしません。今後どのようなことに
重点を置いて勉強すればよいのでしょうか?
あとクラスライブラリのドキュメントがかなり意味不明です。
ドキュメントのための「辞書」的なものはあるのでしょうか?
0356デフォルトの名無しさん2005/10/01(土) 21:35:19
何も考えずにPHPから始めたほうがいい。
ある時、分かるようになるから。
急いでいるならあきらめれ。
0357デフォルトの名無しさん2005/10/01(土) 21:41:26
>356
PHPとはHypertext Preprocessorのことでよいのでしょうか?
0358デフォルトの名無しさん2005/10/01(土) 21:53:39
ぜんぜんおもしろくない
0359デフォルトの名無しさん2005/10/01(土) 22:28:54
なんか足りない
0360デフォルトの名無しさん2005/10/01(土) 23:52:46
>>355
プログラミングの入門書といわれている物の殆どはプログラム言語の文法(プログラムの書き方)については説明するがソフトウェアを作る方法は説明しない

ソフトウェアのライフサイクルを考えるとプログラミング(コーディング)は全体の内の半分にも満たない作業に過ぎない
プログラミングについて一定以上のスキルを得られたと思ったら次は設計手法について勉強をするべき
0361デフォルトの名無しさん2005/10/02(日) 00:07:55
>360
プログラミングができてない人に
「プログラミングについて一定以上のスキルを得られたと思ったら」って話しても
意味なくね?
0362デフォルトの名無しさん2005/10/02(日) 00:22:37
>>361
プログラムを書けないのが設計を(無意識に)できないのかどうかはこちらからは全く解らない
無駄に余計な知識を入れるくらいなら理想論でも設計技法に走ったほうが良くないか?
03633552005/10/02(日) 01:12:04
いろいろすみません。
Javaのプログラミングに関してはフィールド、メッソド
やクラスライブラリの利用など基本的なことは理解しましたが、
その先が見えてこないのです。
0364デフォルトの名無しさん2005/10/02(日) 01:57:07
すみません、既出なのかもしれませんが、
色々検索しても分からないので教えてください。
J2SE SDKをサンのhpからダウンロードしたのですが
インストールできません。なぜでしょうか・・・。
0365デフォルトの名無しさん2005/10/02(日) 02:07:12
その文章だけでは理解不能
0366デフォルトの名無しさん2005/10/02(日) 02:07:48
>>364
あんたの環境がわからないけどダウンロードしたファイルが壊れてるんじゃない?
03673642005/10/02(日) 03:07:46
れすありがとうございます。
ダウンロードしたファイルが壊れてるってことは、
私のダウンロードのやり方がおかしかったってことでしょうか?
また、環境とはなんでしぉうか・・・って、
なさけないしつもんですみません・・・。
デスクトップに表示されているショートカットをダブルクリックしても、
error reading setup initialization file
とでてしまいます。

0368デフォルトの名無しさん2005/10/02(日) 03:51:41
>>367
確実に壊れてると思う
PC内にあるファイルのサイズはダウンロードサイトに書いてある数字と一緒か?
0369 2005/10/02(日) 06:07:17
JEditorPaneじゃなくてdllをつかったIEコンポーネントをウェブブラウザコントロールのライブラリみたいなのが(Swing)で使えるのがあると聞いたことがあるような気がするのですが、もしあるなら名称かそれに関するホームページアドレスを教えていただけないでしょうか。
0370 2005/10/02(日) 06:09:38
すいません、日本語がへたで意味がわかりにくかったです。
IEコンポーネントをJavaプログラムからつかえるようにするライブラリがあると聞いた気がするのです。Swingから。
0371デフォルトの名無しさん2005/10/02(日) 06:25:01
>>369
JDIC の Browser コンポーネントか?
03723692005/10/02(日) 06:47:46
>>371
それでした。どうもありがとう。
でも今はJDICの公式ページが落ちてる。
0373デフォルトの名無しさん2005/10/02(日) 10:56:49
カーソルを、setCursor()メソッドとかで
自作のアニメーションカーソルに設定できないでしょうか?
0374デフォルトの名無しさん2005/10/02(日) 11:53:52
テキストを読み込んで、各行に対して順番に処理を行っています。

で、各行を処理するときに、JTextAreaに文字列を表示しようと
しているのですが、全行に対しての処理が終わった後にしか
表示されません。以下の内容で、処理中でも表示内容を最新化する
方法をお教えください。よろしくお願いします。


private JTextArea console; //実行結果表示エリア
private UnkoInfo unko;

private void parse() {
(途中略)
  while ((line = br.readLine()) != null) {
    //以下の内容が出力されない
    console.setText("Now Parsing : " + line);
    //以下の処理に数秒〜10秒程度かかる。
    unko = ClassA.parse(line);
    //別エリアに実行結果を表示
    print(unko);
  }
}
0375Java初心者2005/10/02(日) 12:12:47
CSPGenという名前のパッケージにVariable.java、BinaryConstraint.java、Problem.javaを入れました。
一括コンパイルの仕方がわかりません。
親ディレクトリからするのでしょうか?
コマンドをおしえてください。
0376デフォルトの名無しさん2005/10/02(日) 12:14:18
>>375
yes CSPGenにクラスパスを通せばok
0377Java初心者2005/10/02(日) 12:20:56
ありがとうございます。クラスパスの通し方をおしえてください
0378デフォルトの名無しさん2005/10/02(日) 12:29:38
>>374
そのメソッドどこに書いてるの?
イベントディスパッチスレッド以外からさわるときは
ちゃんとinvokeLaterすれ

SwingUtilities.invokeLater(new Runnable(){
public void run() { クラス名.this.console.setText("Now Parsing : " + line);}
});
03793742005/10/02(日) 12:39:35
>>378
レスありがとうございます。
ビックリするほど、貴殿が仰ることが理解できませんが、
このメソッドはmain関数を書いているファイル中に、
別クラスで書いています。察するに、Actionリスナーで
処理を振り分けるメソッドをイベントディスパッチスレッドと
考えると、それ以外からまた別メソッドを呼ぶ・・・うぁああ

うーん、意味不明。。もう一度、本を読んで、
そのinvokeなんちゃらとかを勉強してみます。
0380デフォルトの名無しさん2005/10/02(日) 12:47:42
やりたいことはどちらかといえばinvokeAndWaitだろ

0381デフォルトの名無しさん2005/10/02(日) 15:59:19
Foo foo = new Foo[5];
ってclass Fooを参照する変数を5個つくるってことですよね?
Fooのオブジェクトを5個作るにはどうするのでしょうか?
この文章で伝わるでしょうか?
下記のコードのようなことをしたいのですが・・・
アホすぎる質問かもしれませんが、よろしくお願いします。

class Foo {
 int a;
 void setA(int a) {
  this.a = a;
 }
}

class Test {
 public static void main(String args[]) {
  Foo foo[] = new Foo[5];
  foo[0].setA(1);
  foo[1].setA(2);
  ...
 }
}
0382デフォルトの名無しさん2005/10/02(日) 16:00:31
>>381
for(int i=0; i<foo.length; i++) {
 foo[i] = new Foo();
}
03833812005/10/02(日) 16:19:17
>>382
できました。ありがとうございました。素早い回答に感謝します。
0384UDP2005/10/02(日) 16:56:03
下記のプログラムにIPv6のアドレス(例えば::1とか)を突っ込んで実行し、文字を入力すると
エラーが出てしまいます。エラー内容は
「Exception in thread "main" java.net.SocketException: Protocol not allowed
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(Unknown Source)
at Greeting.main(Greeting.java:16)」
です。どなたか助けていただけませんか?お願いします。

[プログラム]
import java.net.*;

public class HelloWorldUDPSender {
public static void main(String[] args) {
try{
byte buf[] = "IPv4からIPv6に移行する".getBytes();
/** データを送信 **/
// データグラムソケットを作成
DatagramSocket socket = new DatagramSocket();
// 送信するデータグラムパケットを作成(アドレスとポート番号を指定)
DatagramPacket packet = new DatagramPacket(buf,
buf.length,
InetAddress.getByName("::1"),
49152);
// データを送信します。
socket.send(packet);
System.out.println("\"" + new String(buf) + "\"を送信しました");
}catch(Exception e){
e.printStackTrace();
}
}
}
0385UDP2005/10/02(日) 17:01:15
>>384
一部訂正です。
下記のプログラムを実行するとエラーが出てしまいます。エラー内容は
「Exception in thread "main" java.net.SocketException: Protocol not allowed
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(Unknown Source)
at Greeting.main(Greeting.java:16)」
です。IPv4のアドレスなら問題なく動くのですが、IPv6にすると
エラーになってしまいます。原因を教えてくれませんか?お願いします。
[プログラム] UDP通信をするプログラム(送信のみ)
import java.net.*;
public class HelloWorldUDPSender {
public static void main(String[] args) {
try{
byte buf[] = "IPv4からIPv6に移行する".getBytes();
/** データを送信 **/
// データグラムソケットを作成
DatagramSocket socket = new DatagramSocket();
// 送信するデータグラムパケットを作成(アドレスとポート番号を指定)
DatagramPacket packet = new DatagramPacket(buf,
buf.length,
InetAddress.getByName("::1"),
49152);
// データを送信します。
socket.send(packet);
System.out.println("\"" + new String(buf) + "\"を送信しました");
}catch(Exception e){
e.printStackTrace();
}
}
}
0386デフォルトの名無しさん2005/10/02(日) 17:01:18
>382
つかぬ事をお聞きします、
それって1.5でもそうしないとダメ?
1.5未開拓なので何の根拠もないんですが、気になって
0387デフォルトの名無しさん2005/10/02(日) 17:05:01
これからJAVAを基礎から学ぼうと思っていて、購入した参考書がJAVA1.4というバージョンに対応してました。
しかし聞いたとこによると、今の最新のバージョンはJAVA1.5らしいのですが、基礎を学ぶという点だけなら、JAVA1.4でも問題ないでしょうか?
ちなみに購入した参考書は「独習JAVA」で、基礎というのはこの本に書かれている内容のレベルを指すとします。
0388デフォルトの名無しさん2005/10/02(日) 17:12:26
> 基礎を学ぶという点だけなら、JAVA1.4でも問題ないでしょうか?
大まかに、問題はない。1.4対応で学習して、1.5(5.0)でどこが変わったかを
差分として勉強する方法もあり。
ただし、Java SE5.0で非推奨になった記述方法やクラスなどがある。
JDK1.5の環境でその本の内容を試すとコンパイル時に警告等出るよ。
0389デフォルトの名無しさん2005/10/02(日) 17:27:10
javaで使える構文解析器ってありますか?
0390デフォルトの名無しさん2005/10/02(日) 17:31:15
>>384
そのマシンにIPv6がネットワークプロトコルとしてインストールされていないと思う。

Windows XPならここを参考に設定をしてください。
http://www.microsoft.com/japan/technet/prodtechnol/winxppro/plan/FAQIPV6.mspx
03913902005/10/02(日) 17:42:36
そのプログラムは Windows XP + jre1.5.0_02で動作するのは確認できました。
確認した手段は2つ
コンソール上に "IPv4からIPv6に移行する"を送信しました というのが表示される。
netstat -sp udpv6 で Datagrams Sent と No Ports の値が増えている。
0392デフォルトの名無しさん2005/10/02(日) 17:48:37
>>389
javacc とか?
0393デフォルトの名無しさん2005/10/02(日) 18:17:07
今までPerlとVBの仕事ばっかりだったのですが、
Javaの仕事が入ってきたので、Javaを覚える事になりました。
プログラムの根本は一緒だと思って受注したのですが、
上記プログラムと結構違って取っ付きにくいとかありますかねぇ?
さっき本を購入して変数に代入とか見てみた限り、
何とか大丈夫かなぁって甘い考えを持ってしまったんですが・・・。

同じような順番でJavaを覚えた方居たら、アドバイスキボン
0394デフォルトの名無しさん2005/10/02(日) 18:25:08
オブジェクト指向は大丈夫か?
継承やポリモーフィズムでつまづかないようにね。
03953932005/10/02(日) 18:35:27
>>394
やっぱりそこですよね・・・。
取り合えず、プログラムがどんどん違う場所に飛んでいく感じで開発してれば
オブジェクト指向に近づいてるのかなぁって変な理解してるので、まずはココからですね・・・。
0396デフォルトの名無しさん2005/10/02(日) 18:37:28
>>393
オブジェクト指向な考え方が無い人がいきなりオブジェクト指向+Java言語で開発を同時にやろうとすると結構はまる
とりあえずはJavaは構造型言語だと思って道具としてのJavaとJavaの環境を覚えてしまうのがラク
その後ゆっくりオブジェクト指向を勉強していけば良い

どんな仕事か知らないがgive upして予算無しのまま別会社へ丸投げとならない事を祈る
0397デフォルトの名無しさん2005/10/02(日) 18:39:44
発注元悲惨だね
03983932005/10/02(日) 18:44:03
何かかなりヤバそうですね(^^;;;
取り合えず>>396さんのやり方で頑張ります。

>>397
気合で完成はさせる・・・つもり・・・・・・なんだけどね。。。
0399デフォルトの名無しさん2005/10/02(日) 18:57:37
Javaってダブルクリックして起動させるようなソフトって作れますか?
一々コマンドラインからjavaコマンド打たせるのってなんか変な気がして
0400デフォルトの名無しさん2005/10/02(日) 19:08:17
>>399
jarファイルにその機能がある
jreをインストールしてないとダメだけど
ちなみに外部のjarを参照する事も可能らしい(個人的には上手く行った事が無い)ので大体の用途に使える
0401デフォルトの名無しさん2005/10/02(日) 19:14:11
javawでbatファイルつくってそのショートカットでええやんけ
0402デフォルトの名無しさん2005/10/02(日) 19:14:41
>>400
なるほど,よく見るjarってそういう役割を持ってたんですね
0403デフォルトの名無しさん2005/10/02(日) 19:55:22
文字列の大きさきっちりのRectangleを取得する方法はありませんか?
0404デフォルトの名無しさん2005/10/02(日) 21:00:20
>>395

> 取り合えず、プログラムがどんどん違う場所に飛んでいく感じで開発してれば
goto 文が使えなくても、
メソッドの終わりで他のメソッドを呼び出すことを繰り返す事により、
根性で?ほぼ同等なスパゲッティーなプログラムを作れることに
驚いた経験がある orz
0405デフォルトの名無しさん2005/10/02(日) 21:24:06
new って、C++と違ってオブジェクトそのものが返されるって感じでいいのか?
0406デフォルトの名無しさん2005/10/02(日) 21:43:25
じゃあC++のnewは何返すの?
0407デフォルトの名無しさん2005/10/02(日) 21:45:24
>>405
オブジェクトへの参照が返る
0408デフォルトの名無しさん2005/10/02(日) 21:48:24
てことは、結局、ポインタが返ってくるのと同じ感覚でOKなのだな
0409デフォルトの名無しさん2005/10/02(日) 21:51:53
>>408
実体はどっかで適当に出来ていていらなくなったら、GCで消えてくれる
0410デフォルトの名無しさん2005/10/02(日) 22:28:24
>>403
GlyphVector などを使えばよろし
LogicalBounds と VisualBounds とあるから、
自分でそれぞれ描画してみて確認するよろしあるね
2D がいやなら、
FontMetrics から ascent, descent, height, stringWidth を計算して自分で作るしかないと思うあるのことよ
しぇしぇ
0411デフォルトの名無しさん2005/10/02(日) 22:33:38
Shift_JISで記述されたWebページのデータをJavaで取得したときに、
チルダ"〜"が化ける問題はどのように解決しればよいのでしょうか?
また、こちらからShift_JISな掲示板などへ”〜”を含んだ文字列をPOSTして
正しく”〜”が表示されるようにしたいのですが、どのようにすればよいのでしょうか?
0412デフォルトの名無しさん2005/10/02(日) 23:06:14
MS932やWindows31JってのがWindows用のマッピング
SHIFT_JISは汎用SJISを返す
04134112005/10/02(日) 23:40:33
>>412
ありがとうございました!
0414UDP2005/10/03(月) 00:29:10
>>390
助言ありがとうございます。私の環境はwin2k、java1.5です。IPv6のモジュールみたいなのを
インストールしたので、対応していると思ってましたが大分詰めが甘かったようです。
今から確認してみますね。本当にありがとうございます。
0415デフォルトの名無しさん2005/10/03(月) 01:15:47
>>396
> >>393
> オブジェクト指向な考え方が無い人がいきなりオブジェクト指向+Java言語で開発を同時にやろうとすると結構はまる
> とりあえずはJavaは構造型言語だと思って道具としてのJavaとJavaの環境を覚えてしまうのがラク
> その後ゆっくりオブジェクト指向を勉強していけば良い
>
> どんな仕事か知らないがgive upして予算無しのまま別会社へ丸投げとならない事を祈る

まってくれ>>393には時間とコストをかけてでもしっかりとオブジェクト指向を理解して
オブジェクト指向でしっかりとコーディングしてもらいたいぞ。

以前Cしかできない奴がJava + Servlet + Velocityをやり出して
Velocityまで使えるほどになったことは大したもんだと思えたが、
それが実体を見るととんでもない現実がコードとなって現れた。
そいつはすべて一人でコードを書いたが、
それを引き継ぐことになったうちのバイト先回やでは
社員がそれで苦しむ羽目に。漏れも参加したが
もうさすがにウンザリした。そのコードを一人で書いたそこの
会社の人間を恨んだ。社員一人の会社で社長をやっている
名前も顔も知っているがためにそいつに出会ったらぶん殴ってやりたいくらいに
恨んだ。同時に、普段から社員から嫌われている、取締役も兼ねた糞営業を恨んだ。
そのコードを我らエンジニアと相談もせずに金払って買い取って
しまった糞営業に対する恨みがさらに増大した。
0416デフォルトの名無しさん2005/10/03(月) 01:16:23
>>396

取締役糞営業よりも低い立場にいるマネージャも○○さん(糞コードを書いたムカツク香具師)の
せいでめちゃくちゃだと愚痴をこぼした(本当はというと取締役糞営業のせいでもあるが口にはできないようだ)。

オブジェクト指向をしらない、あるいはオブジェクト指向を勘違いしている
とああいうコードになることがよくわかった。よくある、ひたすら継承さえすれば
拡張性と再利用性が上がると勘違いしてオブジェクト指向しているつもりになっている
イタイ奴だった。40代の男が書いたコードで、一つのServletクラスは数万行、
ひとつのServlet内に100近くのメソッド、そしてservice(), doGet()メソッドの行数は
5000行を超えた。もうむかついた。しかも他のメソッド/クラス名の命名方法は
まずXServletというクラスがありそのServletにちょっと機能を追加するかテスト用
クラスをつくるたびにXServlet2, XServlet3という命名を使っていた。
メソッドも同様に、あるメソッド名が doX()だとすると、それにちょっと機能を
加えたメソッドの名前はdoX2(), doX3(), doX4() もうむかついた。ざけんなと。
コードの解析だけで何週間もかかった。本当は1週間以内に完成させるという
納期を取締役糞営業が勝手にきめてしまったのも問題だが、
そういうコードを書いて高い金貰ってる40代の社内一人社員社長がかなりウザかった。
もし漏れがこの会社の社員だったらそいつのクビを締め上げてやりたいくらい。

>>393がその40代オヤヂと同じようなバカをしてそのコードを他人に丸投げなんて
ことをしないことを祈る。というか、そういうバカなことをしてうちのところに糞コードが
投げ込まれたしたらぶっ頃しますよ。 >>393, 覚悟はいいか?
0417デフォルトの名無しさん2005/10/03(月) 02:24:11
>415
むちゃくちゃ気持ちわかるぞ!!!俺はついこないだまで
丸投げられて半狂乱してた

String a1, a2, b1, c1,c2,c3, ......;
<%
if (a1 == c2)
s = null %><table><%
else if (e3 <= e1)
%>
・
・

絶句。こんなんばっか、何をしてるのか全く予想できないjsp。
変数!!おめーはエクセルか!!っあーーぶり返してきたうぜえ
Servlet数個に対しjsp数百。さらにはセッションのない世界。
各々が独立して近い事をしてる。絶句。

コメントにあった名前全部覚えてるからな!!
次目にして同じ惨状だったら家つきとめて燃やす!!

>393
コード書くよりも他人の書いた読め。じゃなきゃ覚悟いいな?
0418デフォルトの名無しさん2005/10/03(月) 02:29:17
ウィンドウを自動的に最小化したり元に戻したりする方法があればご教授ください。
Robot以外の方法でお願いします。
0419デフォルトの名無しさん2005/10/03(月) 02:34:42
>>416
オブジェクト指向以前にcのコードとしてもおわっとるぞ。
0420デフォルトの名無しさん2005/10/03(月) 02:35:27
愚痴はマ板で
0421デフォルトの名無しさん2005/10/03(月) 02:51:40
概してそういう輩ほど、なぜか人に取り入る能力に長け、人から尊敬されている。
そして、まともなプログラマーを無条件に目の敵にするんだな。
やってられん
0422デフォルトの名無しさん2005/10/03(月) 03:59:51
客観的に見れば
動くプログラムは作った「以前Cしかできない奴」=できる人
すでに動くプログラムの引継ぎに手間取ってる>>415=駄目な人
0423デフォルトの名無しさん2005/10/03(月) 04:12:13
じゃ辞めろよw
0424デフォルトの名無しさん2005/10/03(月) 04:13:41
>>422
だからそれのどこが客観的なんだ。
どうみても一面しかみていない主観的意見だろう。

動くプログラムを作って動いたはいいが、
それをリニューアルすると動かないっていうのは
明らかにCしかできない奴の問題。で、そんなのが「できる人」
だとみなすのは問題外。

引き継ぎがうまくいっていないのは営業にも問題がある。
しかも時間がないから解析せずに即座に実装しろととせかしている。
この悪循環だ。部屋を整理整頓せずにいきなり作業しろと
おしつける営業がいるのだ。
まったく同じ環境下なら問題ないが、
拡張に手間取るのはあきらかに「Cしかできない」作った奴のほうが駄目な奴だ。
0425デフォルトの名無しさん2005/10/03(月) 04:15:19
>>421
正体がばれるにつれて尊敬されなくなってくるよ。
ことの発端は営業に問題があるとも言えるが。
営業がそんなバカを相手にしなければ引き継ぎ人は
こんなに苦労しなかった、とね。

0426デフォルトの名無しさん2005/10/03(月) 04:19:59
>>424
ならそれを周りにわかるように説明すれば評価は逆転するんじゃない?
できないなら>>422の通りじゃないかな
0427デフォルトの名無しさん2005/10/03(月) 04:33:15
フリーでやってたときは火消しを何回かやったが
-まあ当然ソースなんかぐちゃぐちゃなわけだが-
>>424みたいなアホなこといってたら仕事にならん。
0428デフォルトの名無しさん2005/10/03(月) 06:25:19
まあ、ソフトウェアの技術を磨きたいなら
仕事にせず、趣味でやれってことだな
0429デフォルトの名無しさん2005/10/03(月) 06:40:31
>コードの解析だけで何週間
もかかるようなやつは趣味でやっても駄目だろ。
0430デフォルトの名無しさん2005/10/03(月) 06:47:37
んー趣味でやってたらデータベースなんて使う機会なんてないな。
クラスタ構成や分散コンピューティングや、SAP なんかとかも無縁だし、
せいぜい自宅で鯖立てて正規化も イラネー ようなテーブルで遊ぶのが
関の山かと。

しがらみのないプログラムを作りたければ、余った時間でプロジェクトで
使えるツールでも作るこったな。
0431デフォルトの名無しさん2005/10/03(月) 07:10:49
余るどころか足りないし、
足りないのに次の仕事が来る orz
0432デフォルトの名無しさん2005/10/03(月) 09:46:34
丸投げされて切れてる香具師は、その丸投げ断ればいいだけでは無いの?
>>393の会社のように仕事で覚えるのが一番って会社もかなりあると思う。
会社にとってそれが一番効率的で、教育時間も無駄にならんからね。

確かに丸投げで濡れも痛い目見てるから、おまいらの気持ちは分かるが、
自分が一番上に立ってみて、>>393の会社のようなやり方が一番効率的だと実感した。
>>393が結果的に上手く出来るか、丸投げで放棄するかは分からんが、
何とか頑張って丸投げにならん事を祈りたいね。

>>393の飛びまくるってのが、gotoで飛びまくってるつもりで書いてるのか分からんが、
違うならとりあえずオブジェクト指向に近い段階にはいると思うぞ。
ガンガレ
0433デフォルトの名無しさん2005/10/03(月) 09:49:50
技術者が飛びまくる(夜逃げしまくる)んだよ
0434デフォルトの名無しさん2005/10/03(月) 10:04:32
// ここまで読んだ
0435デフォルトの名無しさん2005/10/03(月) 11:24:20
>>427
どっちがアホなんだおまいと営業がアホだ。
お前の発言は人を殺すという行為をまるで正当化しているかのような発言だ。
0436デフォルトの名無しさん2005/10/03(月) 11:28:46
>>429
スパゲティコードに加え
使うか使わないコードや重複コードが大量にあると
解析に時間がかかって当然だろうが。
しかもディレクトリやURLも絶対パス文字列に
なっていて環境移行にかなり手間取った。
EcipseのCall Hierarchyを使ったらどこからもアクセスされていないメソッド/クラス
が数百も見つかった。テストコードもJUnitを使わず、実環境に混ぜて書いている。
パッケージ分けも分割統治もできておらずとんでもなくいい加減だ。
こんなコードを書く奴のどこがまともでできる奴なんだと言いたい。
しかもそいつのコード、Eclipseの警告該当項目をすべて有効にしたら
警告数が10万件を超えたんだぞ。
それにCheckstyleプラグインによる警告数を加えたらEclipseがフリーズするくらいだ。


0437デフォルトの名無しさん2005/10/03(月) 11:30:55
>>430
> んー趣味でやってたらデータベースなんて使う機会なんてないな。
あるある。
何もかもデータベースで管理すると非常に楽だ。

趣味でやってたらBREW製品を作って公開することができない、
ハードウェア開発のノウハウを手に入れることができないというのは
非常に残念だが。
0438デフォルトの名無しさん2005/10/03(月) 11:33:20
>>432
> 丸投げされて切れてる香具師は、その丸投げ断ればいいだけでは無いの?

営業が頑固で言うことを聞かないとそれすらもうまくいかないようだ。
無能な営業は何も相談せずに勝手に独断で「できます!」といって
勝手に納期を決めるから皆デスマーチで徹夜で土日も無い。
そして納期が迫って「時間が無いからデバッグするな! JUnitを使うな!」
という悪循環を促すような指示までする始末。もうアホかと。
0439デフォルトの名無しさん2005/10/03(月) 11:37:37
おまいら、続けたいならマ板行ってくれ。
0440すみません2005/10/03(月) 12:21:14
あるところで分割されたファイルを手に入れたんですが、
pdfファイルが22個あります。
動画なんですが、どのソフトを利用して結合すればいいんでしょうか?
0441デフォルトの名無しさん2005/10/03(月) 12:21:56

                  (゚д゚ )
          <⌒/ヽ-、__ノヽノ |
        /<_/____/ < <
         ̄ ̄ ̄ ̄ ̄ ̄ ̄




                      (゚д゚ )
          <⌒ヽ    /ヽ-、__ノヽノ |
        /<___ノ ̄ ̄/____/ < <
0442デフォルトの名無しさん2005/10/03(月) 12:33:07
>>440
Javaに関係あると思った根拠を示してください
0443デフォルトの名無しさん2005/10/03(月) 14:03:22
Javaのinteger型配列の最大数はいくつかわかりますか?

1億個くらい必要なのですが・・・
0444デフォルトの名無しさん2005/10/03(月) 14:04:20
Integer.MAX_VALUE が最大かな
0445デフォルトの名無しさん2005/10/03(月) 14:08:48
int[] act = new int[10000000];

↑これだと要素数が少なくて範囲を超えてしまい駄目だったのですが、
どこにInteger.MAX_VALUEを加えれば良いですか?
0446デフォルトの名無しさん2005/10/03(月) 14:10:46
ちょwwwwwwwおまwwwwwwwwww
2GB×4B = 8G も JVM に割り当てる気かwwwwっうぇwwwwwっうぇwww
0447デフォルトの名無しさん2005/10/03(月) 14:15:17
HDDの空き容量は20Gあるので、何が何でも動かしたいのですが・・・
0448デフォルトの名無しさん2005/10/03(月) 14:16:19
そんなプログラムは動かない
0449デフォルトの名無しさん2005/10/03(月) 14:17:15
設計から見直した方がいいぞ
0450デフォルトの名無しさん2005/10/03(月) 14:18:43
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 10000000

こんなエラーメッセージがでてくるんだけど、
このプログラムもうだめぽ?
0451デフォルトの名無しさん2005/10/03(月) 14:20:33
別に設計から見直さなくても、ディスク使えるなら RandomAccessFile で
seek すりゃ良いじゃん。激糞遅くなるけど。
0452デフォルトの名無しさん2005/10/03(月) 14:21:08
要素数1億で宣言したなら添え字は99999999が最大ジャマイカ
0453デフォルトの名無しさん2005/10/03(月) 14:21:23
デバッグしろよ
0454デフォルトの名無しさん2005/10/03(月) 14:24:06
int[] act = new int[99999999];

↑これだと
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
だったんですけど・・・
0455デフォルトの名無しさん2005/10/03(月) 14:24:08
OS/Javaのバージョン等で変わると思うが-Xmx512mだとnew int[123862071];まで確保できた。
0456デフォルトの名無しさん2005/10/03(月) 14:25:40
話長くなりそうな相手だからダラダラ断片的に答えるのはやめてくれ
↓
0457デフォルトの名無しさん2005/10/03(月) 14:29:44
>>454
じゃあ、ヒープ領域増やせよ
0458デフォルトの名無しさん2005/10/03(月) 14:30:50
>>452を見て>>454なんてやってるようじゃ、答えても意味無いレベルだろ
スルーした方がいいと思うが
0459デフォルトの名無しさん2005/10/03(月) 14:33:08
環境が分からんが、Windowsの場合1プロセスが使えるメモリ空間は最大で2GBまでなので1億個分のメモリーは確保できない
もっと少ないメモリで実行できるように設計を変更すべき
0460デフォルトの名無しさん2005/10/03(月) 14:33:33
RandomAccessFile f = new RandomAccessFile("hoge.swp", "rw");
for(int i=0; i<2000000000; i++){
  f.writeInt(0);
}

// n 番目の int を読み出す
int n = 500;
f.seek(n * 4);
int i500 = f.readInt();

// n 番目に int を書き込む
n = 94858;
f.seek(n * 4);
f.writeInt(100);

遅さが気になるなら 1000 要素ぐらいをページングしてまとめて読み書きせれ。
何を言ってるか分からないなら、遅いのを我慢しろ。
0461デフォルトの名無しさん2005/10/03(月) 14:38:14
>>460
たぶんそれじゃダメ
64bitI/O対応のJava(AIX、Tru64辺り)を使っていないと1億個は使えない
0462デフォルトの名無しさん2005/10/03(月) 14:40:25
1億分も配列作っていったい何がしたいのやら・・・
0463デフォルトの名無しさん2005/10/03(月) 14:42:17
すいません、ヒープ領域の変更方法教えてくれませんか?
-Xmx512mをショートカットのプロパティ"C:\******\eclipse\eclipse.exe"に
加えてみても駄目でした・・・
0464デフォルトの名無しさん2005/10/03(月) 14:42:53
自分で調べろハゲ
0465デフォルトの名無しさん2005/10/03(月) 14:47:49
>>463
それは、Eclipseの実行に使うVMのヒープ領域の指定であって、
アプリケーションの実行に使うVMのヒープ領域の指定ではない。

この程度の質問をしているようだと、先が長すぎで思いやられる。
というか、今のおまいには無理ぽ
0466デフォルトの名無しさん2005/10/03(月) 15:03:02
>>461
Windows で setLength() で 6G のファイル作って 5G+1 バイト目に
書き込み読み込みできたが、そういう意味ではなくて?
つか 1 億要素って 4 バイトかけても signed int の範囲内だが???
0467デフォルトの名無しさん2005/10/03(月) 15:03:12
-Xmx512mをどこで使えばいいかわかりません・・・

誰か教えてください!。
0468デフォルトの名無しさん2005/10/03(月) 15:05:31
[実行]-[実行...] (または [デバッグ...])-[引数]-[VM引数]
0469デフォルトの名無しさん2005/10/03(月) 15:08:09
>>467
Eclipseのメニュー「実行」->「実行」から実行ウィンドウ出して、実行したいプログラムの「引数」タブのVM引数に追加しろハゲ
0470デフォルトの名無しさん2005/10/03(月) 15:12:12
日本語化してないので
「Run」→「Run」で実行ウィンドウ、argumentsタブのVM argumentsのところに
-Xmx512mをいれましたが駄目でした・・・
0471デフォルトの名無しさん2005/10/03(月) 15:25:22
( ´_ゝ`)アッソ
0472デフォルトの名無しさん2005/10/03(月) 15:29:18
>>466
俺数を数え間違えてる?
0473デフォルトの名無しさん2005/10/03(月) 15:35:18
>>443
約21億≒10の31乗 - 1

int型に限らず配列の要素自体がint型なので
どの配列も約21億
0474デフォルトの名無しさん2005/10/03(月) 15:38:18
>>454
何に使うんだ?
とりあえずListでいいんじゃないのか?
0475デフォルトの名無しさん2005/10/03(月) 15:43:15
>>474
100M 個の要素を List なんかにしたら無駄すぎて軽く死ねる
0476デフォルトの名無しさん2005/10/03(月) 16:16:30
>>460によるページング手法もあるが
直列化によるページング手法もありかなと思えたり。
0477デフォルトの名無しさん2005/10/03(月) 16:18:34
100Mがsigned intの範囲内って何夢見てんだ466は
0478デフォルトの名無しさん2005/10/03(月) 16:22:17
>>477
20 年前レス乙
だがすれ違い
つか板違い
0479デフォルトの名無しさん2005/10/03(月) 16:28:10
はいはい、悔しいのはわかったから引っ込んでなさい
0480デフォルトの名無しさん2005/10/03(月) 17:01:41
Hibernateに関連する質問はここでいいの?

マッピングで上手くいかない〜
只今、MappingExceptionを吐いている最中で悶絶中・・・orz
0481デフォルトの名無しさん2005/10/03(月) 17:08:41
ある程度のレベルの質問なら↓で答えてくれる人もいる。
ttp://pc8.2ch.net/test/read.cgi/tech/1090653286/

でももっと具体的じゃないとスルーされるよ。
0482カラス2005/10/03(月) 17:14:46
初めてやります>−<?
0483デフォルトの名無しさん2005/10/03(月) 17:31:14
>>481
Thanks、恩に尽きるぜ!
0484デフォルトの名無しさん2005/10/03(月) 23:16:37
>>479
ちょっとちょっとwww
Integer.MAX_VALUE ≒ 2G になんで 100M×4バイトが収まらないのよ。

ひょっとして 「『C の』 signed int の範囲は ANSI の仕様で 16bit」 って揚げ足取りだったとか?
わざわざ signed 付けたのは 「long すら使わなくても 2G あれば十分」って意味。
勝手に C の話始めてるのはおまえだよw
0485デフォルトの名無しさん2005/10/03(月) 23:34:48
あぁそういう意味か
0486デフォルトの名無しさん2005/10/03(月) 23:42:40
class 中国 {
  Person[] citizen = new Person[13億];
}
0487デフォルトの名無しさん2005/10/03(月) 23:52:10
中国 sinachiku = new 中国();
中国.citizen = null;
System.exit(0);
0488デフォルトの名無しさん2005/10/03(月) 23:52:42
そしてコンパイルエラー
0489デフォルトの名無しさん2005/10/03(月) 23:55:54
俺さ、今までintの限界って0xFFFFだと思ってたんだ。
0xFFFFFFFFだったんだな、unsignedないけど。
0490デフォルトの名無しさん2005/10/03(月) 23:59:51
for(int i=0; i<中国.citizen.length; i++){
  try{
    中国.citizen[i].ビザなし渡航();
    中国.citizen[i].犯罪("金金金キンコ");
  } catch(強制送還Exception ex){
    中国.citizen[i].死刑();
  }
}

0491デフォルトの名無しさん2005/10/04(火) 00:02:05
>>489
Javaはマルチプラットフォームを意識しているかららしい。
Win32とUNIX/Linuxでintのサイズが変わったら問題だということだとさ。
0492デフォルトの名無しさん2005/10/04(火) 00:06:17
>>491
ばか?
0493デフォルトの名無しさん2005/10/04(火) 00:08:48
byteをF shortをFF intをFFFFと思ってたってこと
16進形式で書かれてるのって4桁のがほとんどだから変な勘違いしてた
0494デフォルトの名無しさん2005/10/04(火) 00:10:14
>>493
ばか?
0495デフォルトの名無しさん2005/10/04(火) 00:22:01
>>494
むしろ天才だから、これくらいのうっかりが無いとバランスがとれないす
0496デフォルトの名無しさん2005/10/04(火) 00:25:14
うるせえ、俺が一桁計算間違えたからって50もレス使うな
0497デフォルトの名無しさん2005/10/04(火) 00:29:04
弱いハッシュマップの用途って何?
拡張したpublicフィールドみたいな感じで使えばいいの?
0498デフォルトの名無しさん2005/10/04(火) 00:30:58

                        ,、 '";ィ'
________              /::::::/l:l
─- 、::::;;;;;;;;;`゙゙''‐ 、    __,,,,......,,,,_/:::::::::/: !|
  . : : : : : : `゙'ヽ、:::゙ヾ´ゴールデンレトリバー'、. l|
、、 . : : : : : : : : r'":::::::::::::::::::::::::,r':ぃ::::ヽ::::::::ヽ!
.ヽ:゙ヽ; : : : : : :ノ::::::::::::::::::::-=・=-、゙:::   -=・=-:'、
. \::゙、: : : :./::::::::::::::;、-''"::::::::::   ,...,:::,::., :::':、
   ヽ:ヽ、 /:::::::::::::::::::::::::     _  `゙''‐''"  __,,',,,,___
     `ヽ、:::::::::;;;、、--‐‐'''''',,iニ-    _|  、-l、,},,   ̄""'''¬-
   _,,,、-‐l'''"´:::::::'  ,、-'" ,.X,_,,、-v'"''゙''yr-ヽ / ゙゙'ヽ、, ゴリゴリゴリ・・・
,、-''"    .l:::::::::::;、-''"  ,.-'  ゙、"|   /←>>天才 ヽ、
       l;、-'゙:   ,/      `| /| |   /. \
     ,、‐゙ ヽ:::::..,.r'゙       (( // | |  /    ヽ.
   ,、‐'゙     ン;"::::::.        U  .U  /
  '     //:::::::::            {.
        / ./:::::::::::::            ',
.    /  /:::::::::::::::::.            ',.
0499デフォルトの名無しさん2005/10/04(火) 01:52:04
それ猫にしかみえないんだけど
0500デフォルトの名無しさん2005/10/04(火) 03:27:55
>>497
拡張したpublicフィールドってのが何を言いたいのかさっぱりわからないが
よくある用途はキャッシュ。
0501デフォルトの名無しさん2005/10/04(火) 09:38:54
つーかGCで消えていいmapなんてキャッシュ以外にあんまり用途が見つからない
0502デフォルトの名無しさん2005/10/04(火) 10:09:50
Log4jを使っています。
RollingFileAppenderでは、生成されるログファイルの世代管理ができますが、
DailyRollingFileApenderでも、世代管理ができるんでしょうか?
日が変わる毎にログファイルが切り替わりますが、
これを何日分までは保持して、それ以上は自動削除されるといったように。
0503デフォルトの名無しさん2005/10/04(火) 10:28:29
できません。自作してください。
0504デフォルトの名無しさん2005/10/04(火) 10:59:39
JButtonを押したときに見えるボタンのテキストの枠線を
見えないようにするにはどのようにすればいいのでしょうか?
0505デフォルトの名無しさん2005/10/04(火) 11:02:55
同等品を自作
0506デフォルトの名無しさん2005/10/04(火) 11:39:44
複数のJTextFieldにおなじキーリスナを登録させたいのですけど、
入力の結果がすべてのJTextFieldに反映されてしまいます。
どうしたらよいでしょうか?

for(int i=0;i<textfield.length;ie++){
textfield[i].addKeyListener(new KeyAdapter(){
public void keyReleased(KeyEvent e){
int index;
for(index=0; index<textfield.length; index++){
       if (count == 0){
       switch(e.getKeyChar()){
        case 'a':textfield[index].setText("ア"); break;
        case 'i':textfield[index].setText("イ"); break;
        case 'u':textfield[index].setText("ウ"); break;
        case 'e':textfield[index].setText("エ"); break;
        case 'o':textfield[index].setText("オ"); break;
      }
    }
}
0507デフォルトの名無しさん2005/10/04(火) 11:40:33
Servletで受け取った、1つのリクエスト(ファイルのダウンロード)に対して、
複数のファイルをブラウザに送信してやることってできますか?
ブラウザ上で、ファイルダウンロードのリンクやボタンを1回だけクリックすると、
ファイル保存ダイアログが複数個開くっていうイメージなのですが。
0508デフォルトの名無しさん2005/10/04(火) 11:50:34
できる
0509デフォルトの名無しさん2005/10/04(火) 12:10:42
>>506
swing使ったことないから知らんけど、
フォーカスのあたってるコンポーネントだけ有効にするか
リスナを追加するようにすればいいんじゃない?
0510デフォルトの名無しさん2005/10/04(火) 12:20:08
>>506
とりあえずそのコードを使うんなら、イベントから
イベント送信元コントロールが、現在入力中のコントロールと同じかどうか
判断して関係ないのをはじけばいける。

俺だったらKeyListenerを実装したクラスを作って、コンストラクタでフィールド入れとく。
0511デフォルトの名無しさん2005/10/04(火) 13:53:47
>>507
HTTPは1リクエストに対して1レスポンスなので、
JavaScriptで複数のリクエストを送るようにすればできる。
0512デフォルトの名無しさん2005/10/04(火) 14:32:07
ウェブサービスに関しては、よその人がやってる実績を示して
「こういうふうなのを実現するにはどうすればいいですか?」
と質問してくれると、答えやすいし理解も早いと思うんだが・・・
そういう質問にはなかなか巡り合わないね
0513デフォルトの名無しさん2005/10/04(火) 14:53:52
JDK 1.5 UP5 で CSVをBufferedReaderを使って行単位で読んでいるんだが、
ある特定のファイルだけ途中で最初にもどってしまうんだけど、
sLine(after)="2004/07/12",1350
sLine(after)= "1999/10/29",2570
な感じになってしまいます。どなたか対策をご存じありませんでしょうか?
0514デフォルトの名無しさん2005/10/04(火) 14:56:38
>>508
>>511
�d
ググったら、マルチパートレスポンスとかいうキーワードがあったのですが、
JavaScriptとIFRAME併用で考えます。
0515デフォルトの名無しさん2005/10/04(火) 15:21:02
>>512
なぜ「Webサービス」と限定?
0516デフォルトの名無しさん2005/10/04(火) 15:44:01
いきなり保存先聞いてくる奴らパカパカ開いたらうざくないか?
最近はブロックされるんじゃない?
今どうだか知らないけどどこぞの辞書ツールドメインまるごと127.0.0.1行きにしてる
多重が必要なんだろうけど、うざがる奴は居るんだぞと
0517デフォルトの名無しさん2005/10/04(火) 15:45:10
>>513
肝心のコードは?
0518デフォルトの名無しさん2005/10/04(火) 16:07:38
>>513
CSV扱うんだったら、こんなのはどう?

CSV Tools
http://kasparov.skife.org/csv/
CsvJdbc
http://csvjdbc.sourceforge.net/
0519デフォルトの名無しさん2005/10/04(火) 16:30:57
>517
すいませんです。
変なコード入れているのかと思って削りに削った次のコードでも発生しますorz
CSV3000ファイル読んで加工してDBに入れるだけなのに・・・。
String sLine=null;
oReader = new BufferedReader(new FileReader(oFile));
sLine = null;
sLine = oReader.readLine();
while ( (sLine = oReader.readLine()) != null) {
log.trace("sLine(after)="+sLine);
}

>518
トンクスです。数値列に、なんもない部分が空欄だったり----や(なし)がはいっていたりするので
あえなく書いていました。半角数字は統一されているのがせめてもの救い...
0520デフォルトの名無しさん2005/10/04(火) 16:34:54
>>514
使わないみたいだけどマルチパートレスポンスにIE6.0は対応していません
0521デフォルトの名無しさん2005/10/04(火) 18:06:13
質問です。
今までJ2SEを使用してプログラミングの勉強をしていたのですが、
今までは普通にコンパイルと実行は出来ていたのですが、昨日
から突然下記のエラーが出るようになりました。

Exception in thread "main" java.lang.NoSuchMethodError: main

メインメソッドが見つからないのですが何故でしょうか?
私自身は何の設定も弄っていません。
このようなソースですら実行できなくなりました。
コンパイルは通常通りできます。

class Test
{
    public static void main(String[] args)
    {
        int ia;
        ia = 100;

        System.out.print(ia);
    }
}
05225132005/10/04(火) 18:29:44
自己解決です。元データが変でした。すみませんでした。<m(__)m>。
0523デフォルトの名無しさん2005/10/04(火) 18:52:19
>>515
よーわーらん質問をするのは
大部分が JSP 初心者だから
0524デフォルトの名無しさん2005/10/04(火) 19:03:40
>>523がWebサービスをわかっていない初心者。
0525デフォルトの名無しさん2005/10/04(火) 19:05:41
つーかJSPならWebProg板でやるもんじゃね?
0526デフォルトの名無しさん2005/10/04(火) 19:20:25
jspは徹底してダメだししてください
被害を被るのはもう嫌です。
0527デフォルトの名無しさん2005/10/04(火) 19:30:01
静的コンテンツまでjspつかって無茶苦茶動作遅いサイトとか見ると
アホjavaSIer氏ねと思うな。あとflushか。
0528デフォルトの名無しさん2005/10/04(火) 19:38:44
それは静的に見えて動的なんじゃ・・・
1度目の起動が遅かったとしても次から遅いとかありえん
0529デフォルトの名無しさん2005/10/04(火) 21:32:52
身近でjspを黙々と書いてる奴いたら危険、早めに洗脳した方がいいよ。
いきなりjspに書かないで最初toString()の中で同じ事書いてもらうと
いい具合に仕上がる。皆、これ嘘じゃないぞ、早期発見早期洗脳だぞ!
0530デフォルトの名無しさん2005/10/04(火) 22:13:02
外部から自分のマシンへの接続要求をキャッチしてログを取るアプリを作成しようと考えています。
ポートへのアクセスを監視するのに適したAPIやライブラリなどがあればご教示いただけまんでしょうか。

0531デフォルトの名無しさん2005/10/04(火) 23:18:28
javaで作られた拡張子が.classのファイルって、そこらの普段プログラミングに関わりのないパソコンでも
動きますか?それともなんか動かすためのソフトを入れなきゃならないのでしょうか。
0532デフォルトの名無しさん2005/10/04(火) 23:28:17
>531
JREというJavaの実行環境が必要。
0533デフォルトの名無しさん2005/10/05(水) 00:10:00
ありがとうですm( __ __ )m
0534デフォルトの名無しさん2005/10/05(水) 01:35:37
最近ふと思ったんだが
引数にfinal指定するって習慣がいまいち浸透していないんだが
自分の周りだけ?

極力finalにしたほうが良いよね?
オレまちがってる??(´・ω・`)
0535デフォルトの名無しさん2005/10/05(水) 01:51:17
自分もそれなりに使うけど
Cのconstと違って中身が変わっちゃうから
あまり意味がないのが悲しい。
0536デフォルトの名無しさん2005/10/05(水) 06:42:37
C の const、少し思い出したぞ。
確か const 宣言すると const 宣言されたメソッドしか呼び出せないようになるが、
データやメソッドを他のオブジェクトへ委譲する場合、
実質的に中身を変えられるので、面倒くさいわりに強制力がなかったような。

引数やローカル変数の final 宣言は、
これからインナークラスを作成してこれを使うぞ〜
という雰囲気が感じられるので、それ以外は使ってないなぁ。
0537デフォルトの名無しさん2005/10/05(水) 07:37:53
何言ってんだコイツ
0538デフォルトの名無しさん2005/10/05(水) 09:14:47
>>521
.classファイルが壊れているか、JREを構成しているjarが壊れたかも
05395362005/10/05(水) 09:18:51
良く見たら C++ じゃなくて C か
脳内変換で C++ に見えた orz
0540デフォルトの名無しさん2005/10/05(水) 09:29:13
質問をよろしくお願いいたします
Eclipseで作成したアプレットがあるのですが
Eclipseで実行した場合やコマンドプロンプトでアプレットビューアーを起動して実行した場合には
正常に動作するのですがブラウザでHTMLファイルを開いた際には正常に実行が行われません
これはなにか原因があるのでしょうか?
0541デフォルトの名無しさん2005/10/05(水) 09:33:23
Java Pluginが正しくインストールされていないから。
05425402005/10/05(水) 09:39:30
>>541
サンプルのアプレット等は正常に動作するのでインストールは多分されていると思うのですが・・・
詳しく書きますと
画面の表示などは正常に行われているのですが
あるボタンを押して処理を行う際にテキストファイルを読み込んで処理をするようにしているのですが
そこの処理を行うボタンを押しても処理が行われません
テキストファイルは同じディレクトリに置いているのですが何か問題があるのでしょうか?
よろしくお願いいたします
0543デフォルトの名無しさん2005/10/05(水) 09:42:46
サンドボックスとかアプレットのセキュリティ
モデルとかついて勉強してきてください。
0544デフォルトの名無しさん2005/10/05(水) 11:49:33
'('がありません とはどういう意味でしょうか
0545デフォルトの名無しさん2005/10/05(水) 11:53:52
>>544
'('が無いんだろ。
0546デフォルトの名無しさん2005/10/05(水) 11:55:00
>>545
やはりそうでしたか…ありがとうございます
0547デフォルトの名無しさん2005/10/05(水) 12:07:55
>>542
Javaコンソールみろよ。どうせ例外でてるだろ
まさか、printStackTrace()すら入れてないって事は無いだろ
0548デフォルトの名無しさん2005/10/05(水) 13:29:23
基本的な質問ですみません。

javaのクラスにpublicをつけると、ソースファイル名を同名にする制約が出てくるんで
いつも付けないんですが、これってフォーマルな書き方としては間違ってますか?
0549デフォルトの名無しさん2005/10/05(水) 13:36:04
>>548
間違ってる
0550デフォルトの名無しさん2005/10/05(水) 13:38:13
java超初心者で、質問なのですが・・・

下記のソースで
「012,345,678,9」というようなカンマ区切りのcookieを
取得し、workをそのまま戻り値として返したいです。

ですが、getValueをすると「012」(,で区切られた部分まで)
の値しか取得できません。これをそのまま,付きで値を返す場合には
どうしたらよいでしょうか?getvalueではカンマ付きの値の取得は
できないのでしょうか?




Cookie cookies[] = null, cookie = null;
if ((cookies = req.getCookies()) != null)
{
for (int i=0; i<cookies.length; i++)
{
if (cookies[i].getName().equals(name))
{
String work = "";
work += cookies[i].getValue();
return work;
0551デフォルトの名無しさん2005/10/05(水) 13:45:43
>>549
レス有難うございます。もう一点だけ。
今のところpublicつけなくても実質問題無いのですが、
具体的にどういう場面で問題が起きてくるでしょうか?
0552デフォルトの名無しさん2005/10/05(水) 13:57:59
>>551
public宣言がないとパッケージ外からアクセスできない
パッケージ管理してないソースなんてありえん
0553デフォルトの名無しさん2005/10/05(水) 13:58:40
>>551
publicなクラスにするかどうかはファイル名がどうとかで決めるべき事ではなく
クラス設計をした結果、他のクラスから隠す必要があるときにpublicにしない

ようするに
美しい設計にならない→美しくない設計を元に始める→出来上がるコードも美しくないが容易に想像できる
0554デフォルトの名無しさん2005/10/05(水) 15:09:31
java.util.Listについて質問です。

Hashtable ht = new Hashtable();
List list = new ArrayList();
ht.put("TEST", "TEST01_Value");
list.add(ht);
ht.put("TEST", "TEST02_Value");
list.add(ht);
ht.put("TEST", "TEST03_Value");
list.add(ht);
for (int i = 0; i < list.size(); i++) {
System.out.println(""+(Hashtable)list.get(i));
}

この場合、結果が
{TEST=TEST01_Value}
{TEST=TEST02_Value}
{TEST=TEST03_Value}
となるのを期待しているのですが、何故か
{TEST=TEST03_Value}
{TEST=TEST03_Value}
{TEST=TEST03_Value}
となってしまいます。
list.addでオブジェクトを入れた時点での値が入るのではないのでしょうか?
0555デフォルトの名無しさん2005/10/05(水) 15:21:41
ハッシュのキーと値の関係は一対一
同じキーがaddされたら上書きされる

とかJavaの使用を知らずにいってみる
0556デフォルトの名無しさん2005/10/05(水) 15:36:25
>>555
正解

>>554
つーか、そのコードだとhtはずっと同じインスタンスだから、listの0〜2に入ってるのは全部同じもの。
何をやりたいか分からんが、LinkedHashMapでも使うといいんじゃないかな。
0557デフォルトの名無しさん2005/10/05(水) 15:53:55
javaを学生に教える事になったんですが、awtとswingはどちらを教えた方がいいでしょうか?
0558デフォルトの名無しさん2005/10/05(水) 15:58:43
SWT
0559デフォルトの名無しさん2005/10/05(水) 15:59:25
>>558
エエエエエエw
0560デフォルトの名無しさん2005/10/05(水) 16:02:43
kfc
0561デフォルトの名無しさん2005/10/05(水) 16:11:37
public static void main(Strings[] args){
本文;
}


public static void main(Strings[] args)
{
本文;
}

メソッド書くとき、下みたいに「{」を改行して書いてる人って居ます?
0562デフォルトの名無しさん2005/10/05(水) 16:31:47
Javaのソースから.exeファイルを作るのって無理ですか?釣りじゃないです。
0563デフォルトの名無しさん2005/10/05(水) 16:32:25
聞いてる時点で釣り確定。
0564デフォルトの名無しさん2005/10/05(水) 16:40:44
>>581 いる
0565デフォルトの名無しさん2005/10/05(水) 16:38:28
>> 562
コレとか↓
ttp://samurai.pose.jp/java/archives/2005/01/jsmoothjavaexe.php
0566デフォルトの名無しさん2005/10/05(水) 16:40:59
>> 562
コレとか↓
ttp://samurai.pose.jp/java/archives/2005/01/jsmoothjavaexe.php
05675612005/10/05(水) 16:44:15
>>564
俺へのレスですよね?サンクス。
「{」を改行する派と改行しない派の割合って、大体どんなもんでしょうね?
0568デフォルトの名無しさん2005/10/05(水) 16:50:09
>>566
二重に書き込んでしまったorz

で、こっちも質問
SwingのJTableでセルごとまたはcolumnごとに編集不可を設定したいのですが、
どうしたらいいですか?
0569デフォルトの名無しさん2005/10/05(水) 17:20:10
>>568
TableModelを勉強する
カラムごとの編集可能不可能

NetBeansではりつけてみて生成されるコード見るといいよ
05705622005/10/05(水) 17:37:08
>>566
ありがとーーーーーー!
0571デフォルトの名無しさん2005/10/05(水) 19:33:44
JListの項目を右クリックしたとき、JPopupMenuを表示して、
同時に選択した項目のindexを知りたいのですが、どうすれば良いのでしょうか。
0572デフォルトの名無しさん2005/10/05(水) 19:37:02
>>567
そんなのソースフォーマッタで直ぐ変えられるからどっちでも良い
05735402005/10/05(水) 20:30:55
遅くなりましたがお答えいただきありがとうございます
>>543
サンドボックスってこういうことだったんですね・・
いまいち理解できていませんでした・・・

6万行ぐらいのデータなのでテキストファイルから必要な部分だけ読み込んで処理をしたいのですが
なんとかテキストファイルを読み込めるようにするやり方はありませんでしょうか?
0574デフォルトの名無しさん2005/10/05(水) 21:05:34
COMMONS とかいくつかの JAR を使ってるアプリケーションを一つの JAR で
配布したいときって、一回全部バラして作り直すのかな? 何かもっと良い方法ある?
0575デフォルトの名無しさん2005/10/05(水) 21:31:08
>>574
http://sourceforge.net/projects/one-jar
ってのがあるけど使った事ない、どうなんだろう
0576デフォルトの名無しさん2005/10/05(水) 21:33:20
ここはツール関係もおk?
常駐させておいて、
PC稼動中に起こした行動(打ち込んだ文字や立ち上げたソフト)
を記録するツールってなんだっけ?
どうしても思い打線
0577デフォルトの名無しさん2005/10/05(水) 21:38:26
キーロガー、キーボードコネクタに取り付けるタイプがお勧め。
05785762005/10/05(水) 21:41:42
キーロガーだ
ここ3日間ずっと検索しながら悶々してたんだよ。
ありがとちゃん!
0579デフォルトの名無しさん2005/10/05(水) 21:48:26
Windows2000 + J2SDK1.4でネットワークアプリを作成しています。

で、所定のファイルダウンロード&アップロードが終わったら、
自動的に終了するアプリなのですが、時々ダウンロード&アップロード中に
処理が止まってしまいます。タイムアウト時間を指定したりしたのですが、
うまくいかないので、アプリを起動して、15分後に強制的に
プログラムをシャットダウンするようにしたいと思っています。

何か良い方法はありませんでしょうか?
0580デフォルトの名無しさん2005/10/05(水) 21:49:15
>>576
スレ違い
もっと他に適切なスレがあるから探せ
0581デフォルトの名無しさん2005/10/05(水) 22:06:13
>>573 そのアプレットのコードベースがどこに設定されていて、
読み込みたいテキストファイルがどこに置かれているかによって
違う。それは573にしかわからないことだから自分で判断すること。
0582デフォルトの名無しさん2005/10/05(水) 23:16:43

Java初心者です。

圧縮済みの classes.jar を非圧縮の classes.jar に変換したいのですが
jar.exe を使って直接内容を操作することはできますか?
jar ui0 classes.jar
の用にやってみましたがうまくいきませんでした。

ご指導の方よろしくおねがいします。
05835402005/10/06(木) 00:24:05
>>581
ありがとうございます
自分の知識が不足しているのでもうちょっと学習の必要性を強く感じました(;´Д`)
ちょうどappletにおける file acccessについて というトピックを扱っている掲示板を発見しましたので
そのあたりを参考にいろいろ試してみようと思います

みなさん色々ありがとうございます
また質問に来ることもあるかもしれませんがよろしくお願いいたします

0584デフォルトの名無しさん2005/10/06(木) 00:39:36
>>582
jarではファイル形式の変換は出来ない
いったん展開して、再度アーカイブしろ
0585デフォルトの名無しさん2005/10/06(木) 00:42:32
>>584
ありがとうございます!
05865712005/10/06(木) 01:07:07
お願いします・・・。

一度MouseEventを受け取って、
Component#dispatchEvent を使ってJListをクリックする方法を考えたのですが、
1クリックと完全に等価なMouseEventを作るにはどうすればいいのでしょうか。
0587デフォルトの名無しさん2005/10/06(木) 01:23:54
これってどうよ?

Amazon.co.jp:洋書: Swing Hacks (Hacks)
"Swing Hacks (Hacks)
Joshua Marinacci (著), Chris Adamson (著)"
http://www.amazon.co.jp/exec/obidos/tg/detail/-/english-books/0596009070/cod-info/249-0903896-7505150
0588デフォルトの名無しさん2005/10/06(木) 02:01:45
>>571=586
JList#locationToIndex
0589デフォルトの名無しさん2005/10/06(木) 02:12:42

Swingで透明ウィンドウを作る方法が解説されてるけど
毎回、ウィンドウの下(周辺)をキャプチャしてそれを透明部分に
貼り付けるという方法をとってる。
これって一般的な方法なのかな?

http://www.javainthebox.net/laboratory/GUI/TransFrame/TransFrame.html
0590デフォルトの名無しさん2005/10/06(木) 02:13:23
>>588
あぁ…完全に見落としてました。orz
本当に有り難う御座いました。
0591デフォルトの名無しさん2005/10/06(木) 03:08:18
JavaOne Tokyo公式ブロガーに選ばれた人だけど

濃いね。
似顔絵が、もしかすると男では? と思ったけど
読んでみると女性っぽい。旦那のことをダソナとか書いたり
キボンヌとか用語つかってあるあたり2ch経験ありと見た。
ドメインがnetbeansって、社員か、かなりnetbeansに影響力のある関係者?
NoniWeblog
http://blog.netbeans.jp/roller/page/Noniko


こちらも選ばれた人らしい。
こちらも女性っぽい。ドメインにsun.comが使われているってことは・・・・こちらも影響力がある関係者?
Cat Typing
http://blogs.sun.com/roller/page/yk/Weblog?catname=%2FJavaOne+Tokyo
0592デフォルトの名無しさん2005/10/06(木) 10:29:16
プロパティファイルの
特定の値に書き込みたいんだけど
やりかたがいまいち解らず・・・。
アドバイスおながいしまう・・・orz

>>490
ループ文内にテラワロス
0593デフォルトの名無しさん2005/10/06(木) 10:36:19
>>569
ありがとうございます。やってみます。
遅レスすみません。
0594デフォルトの名無しさん2005/10/06(木) 10:39:51
>>569
ありがとうございます。早速試してみます。
遅レスすみません
0595デフォルトの名無しさん2005/10/06(木) 12:22:54
>>591
のにタソだろ?
NetBeansやEclipseの書籍出してる人で有名かと思っていたが
0596デフォルトの名無しさん2005/10/06(木) 13:27:56
>>595
そんなに有名だったんだ。
ドメインからしてNetbeans信者かと思ったがEclipseの本もだしてるのか
0597デフォルトの名無しさん2005/10/06(木) 13:28:30
>>592
ResourceBundle, Properties
05985922005/10/06(木) 14:28:41
>>597
参考になりえるコードもしくは
文献の場所キボンヌ。

JDK1.4のドキュメントの
メソッド一覧のドキュメント見ても解らんですorz
0599デフォルトの名無しさん2005/10/06(木) 15:39:03
スタティックにファイナライズしたいんですが、
そんなやり方ありますか?
クラスローダからのアンロードをフックするような。
static {} の逆みたいな事やりたいんですが、、
0600デフォルトの名無しさん2005/10/06(木) 15:46:46
なんでそんなことやりたいんだ?
0601デフォルトの名無しさん2005/10/06(木) 16:08:43
自動でイニシャライズとターミネートをしたいのです。
誰かがあるクラスの参照をした時にJNI呼び出しで初期化を行う。
参照が終わればJNI呼び出して自動的に終了処理。
0602デフォルトの名無しさん2005/10/06(木) 17:07:27
>>596
NetBeansのメールアドレスでEclipse本のサポート窓口してる不思議な人

基本的にNetBeansでずっと来てる人だよ
過去の記事見てればForteとかでてくるっしょ

NetBeans5になれば今度はプラグイン本だしてくれると期待
0603デフォルトの名無しさん2005/10/06(木) 17:31:12
>>601
設計が悪いんじゃまいか
VM の仕様に任せないで、しっかり管理したら?

急場シノギならこんなのも可能だが。君の設計に合うかどうかは分からん。
package jp.co.tcs_cc.ted.swing.misc;

public class Test {
private static int instanceCount = 0;
private static Object HUGEINSTANCE;
public static void main(String[] args) {
System.out.println(HUGEINSTANCE); //当然無い
new Test();
new Test();
new Test();
new Test();
System.out.println(HUGEINSTANCE); //ある
System.gc();
System.out.println(HUGEINSTANCE); //なくなっている
}
private static void init() {
HUGEINSTANCE = "勝手に消えて欲しいなんか";
}
public Test() {
if (instanceCount == 0) init();
instanceCount++;
}
protected void finalize() throws Throwable {
instanceCount--;
if (instanceCount == 0) HUGEINSTANCE = null;
}
}
0604デフォルトの名無しさん2005/10/06(木) 17:31:44
あ、パッケージ名まで載せちまったw
0605デフォルトの名無しさん2005/10/06(木) 18:49:06
パッケージ名まで晒してもらってすみません。
見なかった事にしますから大丈夫です。

問題なのは、クラスへの参照開始と同時に、ネイティブのプログラムを走ら
せておきたい期間があって、ただそれがオブジェクトへの参照期間ではなく、
クラスそのものに対する参照期間だという事なんですね。
要するに、クラスローダにクラスがロードされている期間なのです。
で、初期化と終了処理を実装者には意識させず、自動的にやりたいと。。。。
でもなんだか無理っぽいですね。
これって完全にVMの仕様に依存しますものね。
0606デフォルトの名無しさん2005/10/06(木) 19:13:16
素朴な質問、

class A {
private static a = new A();
private A() { initialize }
protected void finalize() { terminate }
}

この場合、A がアンロードされる直前に、
馬鹿丁寧にも a が GC に処理されて、
terminate が実行される、なんて事はある?
VMの仕様としてはどうなんだろう?
0607デフォルトの名無しさん2005/10/06(木) 19:16:11
>>603
見つけたぞw
合資会社 テディーズ・コンピュータ・サポート
http://www.tcs-cc.co.jp/

だなw
0608デフォルトの名無しさん2005/10/06(木) 19:19:50
>>602
のに子、kyuka, 二人とも顔写真を載せないのはブスっぽいのか
それとも歳を気にしてて老け顔だからなんだろうか。
0609デフォルトの名無しさん2005/10/06(木) 20:04:57
>> テディーズ・コンピュータ・サポート
javaのfinalizeって呼ばれること保障されてないんじゃないの?
06105502005/10/06(木) 20:45:40
誰か私にも愛の手を差し伸べてくれませんか・・
0611デフォルトの名無しさん2005/10/06(木) 20:47:03
ところで、Eclipsで
propertyファイル使う場合って
何処において実証するのかい?

なかなかpropertyファイルをうまく読んでくれないや・・・
0612デフォルトの名無しさん2005/10/06(木) 21:03:33
>>610
http://www.ingrid.org/jajakarta/servletapi/servletapi-4.0/docs-ja/javax/servlet/http/Cookie.html

そのページを「カンマ」で検索して。
0613デフォルトの名無しさん2005/10/06(木) 23:49:33
string[] args ←これって何を意味してるんでしょうか?
0614デフォルトの名無しさん2005/10/07(金) 00:01:49
>>613
コンパイルエラーの原因となるゴミ
0615デフォルトの名無しさん2005/10/07(金) 00:22:08
�d
0616デフォルトの名無しさん2005/10/07(金) 03:57:35
>>606
よくわからんが、普通にあるだろ?
そのクラスをロードしたクラスローダが回収されることが条件
(言語仕様 ver.2 以降)
0617デフォルトの名無しさん2005/10/07(金) 03:59:27
>>611
What? 実証? 何処=開発場所? or ディレクトリパス? どっち?

ソースフォルダ? JARライブラリパス?

0618デフォルトの名無しさん2005/10/07(金) 04:00:40
>>613
stringは何?
C++の型?
それとも自作した型?
06196162005/10/07(金) 04:16:53
> よくわからんが、普通にあるだろ?
と思ったが、クラスのアンロードに伴うインスタンスの回収の finalizer で
そのインスタンス自身を親クラスローダとかでロードされたクラスの
スタティックなフィールドに設定したら、どうなっちゃうんだろ。

というか普通のインスタンスの回収でも、finalizer で
インスタンスの参照を他にさらすような場合は、どうなっちゃうんだろ。

おしえて エロイ人
0620デフォルトの名無しさん2005/10/07(金) 04:50:30
>616
Effective Java に詳しい解説あったと思うよ。持ってて損は無い本
だから買って読んでみたまへ。日本語訳の初版では20ページの所。
0621デフォルトの名無しさん2005/10/07(金) 08:53:45
クラスがStudent(public) インスタンス変数がname
インスタンスメソッドがprintName

クラスがSeminar
ゼミのメンバーを2人作る(名前を入れる・初期化する)
プリントアウトする

というプログラムを書くことになったのですがやり方がまったくわかりません
教えて君ですみませんがよろしくお願いします
0622デフォルトの名無しさん2005/10/07(金) 09:25:00
>>621
宿題スレに池
0623デフォルトの名無しさん2005/10/07(金) 12:44:11
アルゴリズムの質問なのですが、スレ違いではないですか?
スレ違いならスルーしてください。

フィールドに第1キー(int)と第2キー(int)を持つようなクラスの配列を
キー順にソートしたいのですが、よいアルゴリズムが思いつきません。
できれば、
array[].sort();
のように使えれば嬉しいのですが。
0624デフォルトの名無しさん2005/10/07(金) 12:48:31
ここjavaだけどここでいいの?
0625デフォルトの名無しさん2005/10/07(金) 12:57:20
>>623
Comparable インタフェース
0626デフォルトの名無しさん2005/10/07(金) 13:57:09
ComparatorとGenericsも使用したほうがいい
0627デフォルトの名無しさん2005/10/07(金) 13:58:39
>>625
ありがとうございます!
超初心者でインタフェースとかまだよくわからないのですが、勉強します。
希望の光がみえてきました!
0628デフォルトの名無しさん2005/10/07(金) 14:11:01
安定ソートで2回ソートすればいいじゃない
0629デフォルトの名無しさん2005/10/07(金) 18:56:26
StyledDocument の部分文字列の背景属性値を null にしたい場合はどうすればよいでしょう?
つまり white ではなく透明にし、コンポーネントの背景色に従わせたいのです。

例えば、赤にするときには
SimpleAttributeSet set = new SimpleAttributeSet();
StyleConstants.setBackground(set, Color.red);
document.setCharacterAttributes(offset, length, set, false);

とやっています。同じように setCharacterAttributes を使って解決しようと思ったのですが、

StyleConstants.setBackground(set, null);

ここで NullPointerException が発生してしまいます。
どのように AttributeSet を用意してやればいいでしょう?

それとも new Color(0, true) を指定してやるほかないのでしょうか?
0630デフォルトの名無しさん2005/10/07(金) 19:34:23
background属性を消すんだ
0631デフォルトの名無しさん2005/10/07(金) 21:10:26
>>623
これがシンプルなバブルソート

public class BubbleSorter {
public static void sort(int[] array) {
int index;
do {
for( index = array.length - 1 ; index > 0 ; index-- ) {
if( array[index] < array[index-1] ) {
int temp = array[index];
array[index] = array[index-1];
array[index-1] = temp;
break;
}
}
}
while( index > 0 );
}
}
0632デフォルトの名無しさん2005/10/07(金) 21:17:42
>>623
Keyが2つの場合のバブルソート。
631のようにやりたければ、Keyクラス自身がオブジェクト比較用のメソッドを持てば良い。

public class BubbleSorter {
public static class Keys {
public int x, y;
}
public static void sort(Keys[] array) {
int index;
do {
for( index = array.length - 1 ; index > 0 ; index-- ) {
if( array[index].x < array[index-1].x ) {
Keys temp = array[index];
array[index] = array[index-1];
array[index-1] = temp;
break;
}
if( array[index].x == array[index-1].x ) {
if( array[index].y < array[index-1].y) {
Keys temp = array[index];
array[index] = array[index-1];
array[index-1] = temp;
break;
}
}
}
}
while( index > 0 );
}
}
0633デフォルトの名無しさん2005/10/07(金) 22:53:46
                                           _,,--‐;;:::::::::::::;‐‐ 、   
NARU’s RAIL FAN TRIP FAN’s CLUB         /    ノノノ    ` 、
http://kimunaru.tripod.com/                    /::              ヾ
                                 | ̄|   V::::::::   ,,,,,,,,,,,  ,,,,,,,,,, :::::{
                              | ̄| | ̄|   ナ::::::::i` __,,,,,,,___  __,,,,,_ t;;:ヌ
               / ̄ノノノ ̄\       .|  | |  |  イヘ::::::(ヾ~! ◎ !'''i ◎ )=f }f
              (      / \  )      |  | |  |  i {t)テ" ヘ___,イ ヽ_/ 介'
  ノ ノ ) ミ      |;;;;;   ー◎-◎-.)       |  | |  | _,rヘ_,j|!'     /ー--''!     |'
  ‖ \ /|     (6     (_ _) )       |,.ィ―'''' ̄ /| |       /二ク     !
 c| ─◎-◎      |  ∴ ノ 3   ノ       /;;:::'';;::''::;;:/ { ! 、     ヾニン   ノ\  
 (∵) ∀ )     /\ ____ノ       /'''::::;r|''':::;;;|  | ! \       _,,./|::;;'''\
.  \   . ノ    /     ヽ ........;;;. ヽ    /:;;/ |;;;''::;;|   丶\  `__>-ー´   !;;;:'''::iヽ、
0634デフォルトの名無しさん2005/10/07(金) 23:00:42
CからJavaに転向しようと思っているんですが
共通パラメータなどは今までヘッダファイルに書いていたんですが
Javaではパラメータ専用のクラスを作るのが一般的なんでしょうか?
0635デフォルトの名無しさん2005/10/07(金) 23:11:46
>>634
使うクラス特有の固定値とかならクラス内に
public static final <型> <識別子> = <値>;と定義するのがJavaです。
constでないグローバル変数も基本的にクラス内でやるべきです。
シングルトンというクラスに対して唯一のインスタンス(クラスの実体)しか持てない手法も人気です。
0636デフォルトの名無しさん2005/10/07(金) 23:21:04
>>635
なるほど,レス有り難うございますm(__)m
0637デフォルトの名無しさん2005/10/08(土) 00:33:59
同じクラスにさまざまなメソッド定義をした際に
それらをmainメソッドで呼び出す場合、
すべてのメソッドをstaticにした方がよいのか、
クラス変数を切ったほうがいいのか
どちらのほうがよいのでしょうか?
教えてください

0638デフォルトの名無しさん2005/10/08(土) 00:38:46
自クラスをインスタンス化する
06396372005/10/08(土) 01:04:30
>>638
ありがとうございます。
できれば理由も知りたいです。
0640デフォルトの名無しさん2005/10/08(土) 01:32:48
クラス変数を切るというのがよくわからんが、
オブジェクト指向の利点を生かしたいならオブジェクトを作る方向で考えてみる。
そこまで手間を掛けるような拡張性がないような単発ものなら、static メソッドで実装
0641デフォルトの名無しさん2005/10/08(土) 01:40:52
>>623
スケッチ:

class MyComperator implements Comperator {
 boolean compare(a, b) {
  for(int i=0; i<size; i++) { if(a[i] != b[i]) { return a[i] - b[i]; } }
  return 0;
 }
}

Arrays.sort(targets, new MyComparator());
06426412005/10/08(土) 01:43:31
boolean じゃないや orz
06436162005/10/08(土) 02:02:22
> というか普通のインスタンスの回収でも、finalizer で
> インスタンスの参照を他にさらすような場合は、どうなっちゃうんだろ。

言語仕様読んで自分なりに解釈してみた。

オブジェクトの参照状態とファイナライザの実行状態は実は異なる状態群で、
参照が無くなった⇒ファイナライザ⇒回収、という単純な図式にはならない。

ファイナライザに関しては、(1)ファイナライザされない(2)開始可能(3)完了の3つ(不可逆)、
オブジェクトの参照状態には、(A)参照可能、(C)参照不可の2つの状態のほかに、
(B)ファイナライザ開始可能状態のオブジェクトからのみ参照されているという
中途半端な奇妙な状態がある。

ファイナライザ実行中はそのメソッドを所有するオブジェクトが参照できる(!)ため、
ファイナライザが行われるとそのオブジェクトは(A)参照可能な状態になる。

また、そのオブジェクトから到達できる他のオブジェクトも参照できる(!)ため、
これらも(A)参照可能な状態になる。すなわち、
(B)ファイナライザ開始状態のオブジェクトから参照されている場合は、
たとえ、他から参照がなかったりファイナライザさえ完了していても
回収することができない。

(続く)
06446162005/10/08(土) 02:03:58
(続き)

オブジェクトの回収は、
(3)ファイナライザが完了し(C)他から完全に参照不可な場合に行われる。
正確には、実行するファイナライザがない(オーバライドされていない)場合は
別に上記の手順を踏んでも問題はないだろうが無駄なので
(C)参照不可になった時点で回収される。

ファイナライザでは自らのオブジェクトだけでなく、
自分からしか参照できなかったオブジェクトを晒すことができるが、
ファイナライザの実行状態は不可逆なので、これをやると、
参照のあるオブジェクトが
突然ファイナライザを実行し始めたりする可能性があって、なかなか素敵。
06456372005/10/08(土) 02:14:59
>>640
すいません。
「クラス変数を宣言する。」です。
ありがとうございまっした。
単発ものなんですけど、全体でのメモリの使用値
などいろいろあって・・・・。
06466162005/10/08(土) 02:22:15
ちなみに、Effective Java では「ファイナライザは使うな」まで読んだ。
あとは良く覚えてない。

ところで、何処だったか忘れたがこの本に、
Comparable だったか Comperator だったかの実装で
ClassCastException と NullPointerException はそのまま投げてよいとか書いてあったが、
NullPointerException はダメなんじゃないか?と思っていたことを思い出した。

おしえてエロイ人
0647デフォルトの名無しさん2005/10/08(土) 02:50:39
>>645
状態の保持が必要ならば、普通はインスタンスを作るだろう。

パフォーマンスチューニングは、一般的には(理想的には?)作った後で
プロファイリング等を利用することを考える。
素直に作っておけば、VMが勝手に最適化してくれる。
へんなふうに作ったら、VMも最適化しづらいかも?

SUNのVMの実装だと、生存期間の長いものはGCの対象になりにくいので、
作っては捨て、を繰り返した方がかえってメモリにやさしい場合もあるらしい
(JavaWorld 11月号より)。
06486452005/10/08(土) 02:58:22
すまん。SUN とは書いてなかった。超一部抜粋:

“現在、JavaのGCは主に「世代別コピー式(Generational Copying)」
と呼ばれる方式を取っているのですが...”

「主に」、らしい。
06496472005/10/08(土) 02:59:33
ついでに、645 は 647 の間違い。もう寝る orz
0650デフォルトの名無しさん2005/10/08(土) 12:45:45
これから、プログラミング言語勉強したいのですが
JAVAとVBどちらが、勉強しやすいですか?
又、将来性はどちらですか、よろしくお願いします
0651デフォルトの名無しさん2005/10/08(土) 12:47:44
答は両方ともVB。
帰れ。
0652デフォルトの名無しさん2005/10/08(土) 12:59:05
すいません、J2SDKの
javaのコンパイルが上手く行かなくなったので、
SDKをアンインストールして、再インストールしたのですが、
上手く行きません。
すでに消したJDKに関する環境変数も残ってます。

完全なアンインストール方法がありましたら、教えていただけないでしょうか。
0653デフォルトの名無しさん2005/10/08(土) 13:00:36
>652
format c:
0654デフォルトの名無しさん2005/10/08(土) 13:02:08
>>653
ありがとうございます!すぐやってみます!!





だまされない・・・だまされないぞ・・・
0655デフォルトの名無しさん2005/10/08(土) 14:06:20
>javaのコンパイルが上手く行かなくなったので
どううまくいかんの?単なるコンパイルエラーだったらおもしろいのだが
0656デフォルトの名無しさん2005/10/08(土) 14:27:21
どーせライブラリにパスが通ってないとかだろ
0657 2005/10/08(土) 14:38:53
ダウンロードしたソースがログ出力をおこなってるみたいなんですが
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
.....
Log log = LogFactory.getLog(...);

loggingのjarファイルをダウンロードしてクラスパスを設定しました。
しかしlog.traceが出力されません。 レベルをTRACEにしなければいけないことはわかりましたが、どこでどういうふうに設定するのですか?
あと出力先をファイルにしたい場合もどういう風に設定するのですか?
0658デフォルトの名無しさん2005/10/08(土) 14:41:48
commons-loggingはフロントエンドなので、設定はバックエンド側で行う。

Log4Jを使うなら、
log4j-1.2.x.jarもclasspathに加えて、log4j.propertiesかlog4j.xmlを書く。
06596372005/10/08(土) 15:03:52
>>647
親切にどうもありがとうございました。
私は先に寝てました・・・・。
すいません。
0660デフォルトの名無しさん2005/10/08(土) 15:17:30
JTable で横スクロールしても1列目だけは
常に表示するようには出来ないでしょうか?
Delphi での FixedCols のようにしたいんです。
06616572005/10/08(土) 15:32:17
>>658

log4jをダウンロードしてクラスパスを設定してlog4j.xmlのサンプルをコピーしてレベル設定してるらしい場所をtraceに変えたら出力できました。
どうもありがとうございまた。
もっと詳しい設定は後ほど勉強します。
0662デフォルトの名無しさん2005/10/08(土) 15:46:21
こんにちは。

servletについてなのですが質問させて下さい。
今、携帯専用コンテンツを作成しているのですが、
じゃばservletでAU端末のサブスクライバID(環境変数'HTTP_X_UP_SUBNO')
を取得する方法はありますか?

ご存知の方いらっしゃいましたらご教授下さいませ。
0663デフォルトの名無しさん2005/10/08(土) 17:14:14
>>660
sunのswingチュートリアルにあるよ。
でも確か簡単というわけにいかん。要コーディング。
0664デフォルトの名無しさん2005/10/08(土) 17:20:34
import java.io.*;

public class Tt
{
public BufferedReader setBf(BufferedReader b)
{

b = new BufferedReader(new InputStreamReader(System.in));

return b;

}

public String getSt(BufferedReader b)
{
String str = new String();
try
{
str = b.readLine();

}
catch(IOException e)
{
this.show4();
}
return str;
}
0665デフォルトの名無しさん2005/10/08(土) 17:21:10
public void show1()
{
System.out.println("名前を入力してください");
}

public void show2()
{
System.out.println("何も入力されていません");
}

public void show5(String str)
{
System.out.println(str + "さん" + "よろしくお願いします!!");
}

public void show3()
{
System.out.println("プログラムを終了します");
}

public void show4()
{
System.out.println("キーボードからの入力エラーが発生しました");
}

public int getAns(String str)
{
int s = str.compareTo("end");
return s;
}
0666デフォルトの名無しさん2005/10/08(土) 17:22:28
public int getAns1(String str)
{
int s = str.length();
return s;
}

public static void main(String args[])
{
Tt tt = new Tt();
BufferedReader b = null;
for(;;)
{
tt.show1();
0667デフォルトの名無しさん2005/10/08(土) 17:23:58
if(tt.getAns(tt.getSt(tt.setBf(b))) == 0)
{
break;
}
if(tt.getAns1(tt.getSt(tt.setBf(b))) == 0)
{
tt.show2();
}
else
{
tt.show5(tt.getSt(tt.setBf(b)));
}
}

tt.show3();

なぜにこいつらは動かないいんでしょうか?
}>>664>>665>>666
}
0668デフォルトの名無しさん2005/10/08(土) 17:39:01
>>664>>665>>666

全く読む気が起こらないソースコードだな。
クラス化しなくて良いから、まずはやりたい事を全部
main()の中に記述してみよう。
0669デフォルトの名無しさん2005/10/08(土) 17:41:26
動く事は動く
ただ変なことしすぎ
0670デフォルトの名無しさん2005/10/08(土) 17:46:01
>>667
getStで呼ぶごとに毎回一々コンソールから入力が必要
show5が呼ばれるまでに最初以外何も聞かれず計3回入力させる意味が?
0671デフォルトの名無しさん2005/10/08(土) 17:47:06
>>668
main()のなかですべてを処理するコードは1回
書いていて、さらにその中で使っているメッソドを
メソッドわけするというものなんですが・・・。
>>669
show5()がスルーされてしまうのですが・・・。
06726672005/10/08(土) 17:49:46
>>670
ということは、grtSt()をStringクラス変数に
代入してやればいいんでしょうか?
06736672005/10/08(土) 17:53:03
>>672
すいません。
Stringクラス型です。
0674デフォルトの名無しさん2005/10/08(土) 17:53:27
>>664
典型的なjavaプログラムだなあ
0675デフォルトの名無しさん2005/10/08(土) 17:55:21
getStrではメンバ変数のStrを返すようにすればヨロシ
setBfはいらない,Strに値をセットするときに関数内のローカル変数で十分
0676デフォルトの名無しさん2005/10/08(土) 17:57:21
そもそも、

public BufferedReader setBf(BufferedReader b) {
b = new BufferedReader(new InputStreamReader(System.in));
return b;
}

ってなんだよ。引数のbをどうしたい?
0677デフォルトの名無しさん2005/10/08(土) 17:58:40
セットなのに値を返すのって斬新やん
0678デフォルトの名無しさん2005/10/08(土) 17:59:09
>>674
典型的って何が?
もちろん典型的なアホグラマーが書いたコードって事だよな?
0679デフォルトの名無しさん2005/10/08(土) 17:59:46
>>677
セットなんてできんよ。Cじゃないんだから。
0680デフォルトの名無しさん2005/10/08(土) 17:59:56
>>678
一々釣られるなよ
自演と思われるぞ
0681デフォルトの名無しさん2005/10/08(土) 18:01:11
自演ですが、何か?
0682デフォルトの名無しさん2005/10/08(土) 18:01:28
>>679
JavaにはSetterもGetterも無かったのか!!!
0683デフォルトの名無しさん2005/10/08(土) 18:03:32
679は
public BufferedReader setBf(BufferedReader* b) {
*b = new BufferedReader(new InputStreamReader(System.in));
ってことを言ってるんだろ。
0684デフォルトの名無しさん2005/10/08(土) 18:05:20
で、667のコードを書くような奴にPGとしての未来はあるのかい?
おそらく専門学校生なんだろうけど。
0685デフォルトの名無しさん2005/10/08(土) 18:06:24
PGとしての未来というより
PGに未来は無い
0686デフォルトの名無しさん2005/10/08(土) 18:54:30
662なんですけど・・・
どなたか・・・グフッ
0687デフォルトの名無しさん2005/10/08(土) 19:07:31
>>686
その環境変数がリクエストヘッダに含まれてるなら
getHeader()で取ればいいんじゃないですか?
そういう問題じゃなくて?
0688デフォルトの名無しさん2005/10/08(土) 19:14:06
>>686
ググッたら簡単に出てくるがその方法じゃだめなのか?
(「うまくいかないけどなんでなん?」とは書いてあるが、大分「っぽい」方法に見える)
俺は実機もないしやったことないから知らん。
携帯用Javaは専用スレがあるからそっちできくよろし
0689デフォルトの名無しさん2005/10/08(土) 20:21:22
そうですか、、ありがとうございます・・!
06906302005/10/08(土) 21:03:22
>>663
すいません、sun のチュートリアルって
↓これでしょうか?
http://java.sun.com/docs/books/tutorial/uiswing/components/table.html

書いてないみたいなんですが・・orz
0691デフォルトの名無しさん2005/10/08(土) 21:40:47
なぁ、どうでもいいことなんだが、SUNのjapaneseからJDK5を素直にダウンロードできないのは何故なんだ?
「jdk5 download」でググってもトップにくるリンクのアドレスが文字化けしてるし。
eclipseが台頭してきたおかげでnetbeans売り込みの為に前より酷くなってる。
0692デフォルトの名無しさん2005/10/08(土) 23:12:40
>>691
いまやってみたら普通にダウンロードできたが
0693デフォルトの名無しさん2005/10/08(土) 23:14:38
つーか、検索サイトのトップにきてるやつのアドレスがおかしいのを
Sunのせいにするのか
0694カラス  7312005/10/08(土) 23:20:42
寝る<-> 11:20分 
0695デフォルトの名無しさん2005/10/08(土) 23:23:25
JAVAってヘッダファイルみたいなのは、
存在しないんですか?
0696デフォルトの名無しさん2005/10/08(土) 23:24:08
最近eclipseを使い始めたへたれです。
eclipseでHashMapを使おうと思い、

HashMap<Double,Integer> hmap = new HashMap<Double,Integer>();

と書いてコンパイルしたら、

Exception in thread "main" java.lang.Error: コンパイル問題が未解決です。
トークン "<" に構文エラーがあります。正しくは ( です。
構文エラーがあります。")" を挿入して Expression を完了してください。
トークン "<" に構文エラーがあります。正しくは ( です。
トークン "(" に構文エラーがあります。Expression が無効です。

というエラーがでてしまいコンパイルできません。今までjcpadというソフトプログラミング
していたのですが、jcpadでは問題なくコンパイル、実行できました。どなたか詳しい方、
ぜひともご教授願います。
JavaはJ2SDK1.4.2_09、eclipseは3.0.1を使っています。
宜しくお願いします。
0697デフォルトの名無しさん2005/10/08(土) 23:30:14
( ゚д゚)<・・・
0698デフォルトの名無しさん2005/10/08(土) 23:33:18
Genericsって1.5からじゃなかったのか?
0699デフォルトの名無しさん2005/10/08(土) 23:35:48
java の GUI を使って下のようなウィンドウを作りたいんですが
ウィンドウ下のタブボタンをどうやって作るのかわからなくて困ってます
どなたか教えてください。
http://ame.dip.jp/upload/1128/782064.gif
07006992005/10/08(土) 23:38:05
画像みれないみたいなので
念のためもう一度別のところにうpします・・・すいません
http://www2.go123.jp/user/dmgx/pictures/69.gif
0701デフォルトの名無しさん2005/10/08(土) 23:49:13
君はコンボボックスをタブボタンと呼ぶことにしているのだな?
0702デフォルトの名無しさん2005/10/08(土) 23:52:43
>>699
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/swing/JComboBox.html
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/BorderLayout.html
宿題っぽいが、実際のところどうなん?
07036992005/10/09(日) 00:09:28
>>701
>>702
ありがとうございました

>>702
宿題です
たすかりました
0704デフォルトの名無しさん2005/10/09(日) 00:16:01
今後は宿題スレで。
0705デフォルトの名無しさん2005/10/09(日) 00:18:02
>>695
クラスファイル (*.class)、もしくはそれを収めたライブラリ (*.jar) が、
そのままヘッダファイルの代わりになる
ソース中に宣言を書く必要は無いが、コンパイル時には必要になるので、
クラスやライブラリへのパスを指定してやる(ただし標準APIは扱いが異なる)

という説明で納得できる?
0706デフォルトの名無しさん2005/10/09(日) 00:26:34
例外処理は、例外が発生する可能性があるメソッド内でやるのが
よいのでしょうか?それとも呼び出したところでやるのが
よいのでしょうか?
教えてください。
0707デフォルトの名無しさん2005/10/09(日) 00:29:40
場合による
0708デフォルトの名無しさん2005/10/09(日) 00:34:12
>>707
レスありがとうございます。
どんな場合があるのでしょうか?
簡単で良いんで教えてください
すいません。
0709デフォルトの名無しさん2005/10/09(日) 00:44:35
例外管理でググれ
0710デフォルトの名無しさん2005/10/09(日) 00:45:34
とりあえずメソッドの中に書くことにしとき
0711デフォルトの名無しさん2005/10/09(日) 00:49:15
>>709 >>710
ありがとうございます。
やってみます。
0712デフォルトの名無しさん2005/10/09(日) 00:55:52
java標準スタイル
try{ read() }catch(Exception ex){}
0713デフォルトの名無しさん2005/10/09(日) 01:11:52
String クラスって、特別なの?
なんか特別扱いされてない?
0714デフォルトの名無しさん2005/10/09(日) 01:12:21
>>706
俺には言ってる意味がよく解らない。

レスしてる人は日本語読解力が高いですね。
0715デフォルトの名無しさん2005/10/09(日) 01:16:11
日本語読解力じゃなくて、Java知識の問題だと思うけど。
0716デフォルトの名無しさん2005/10/09(日) 01:20:18
ふうん、じゃ、呼び出したところ って何?
0717お願いします。2005/10/09(日) 01:24:48
Eclipseの日本語化パッチのある場所が分りません。
いろいろ探しては、みたのですが見つかりません。
どなたか、直リンをお願いします。

※Eclipseのバージョンです。
Eclipse SDK

Version: 3.1.1
Build id: M20050929-0840
0718デフォルトの名無しさん2005/10/09(日) 01:25:57
>>713
便利に使われてはいるね。
ものとしては単に char の配列だからね。
0719デフォルトの名無しさん2005/10/09(日) 01:28:09
>>717
3.1の日本語化パッチはオフィシャルではまだ出てない。
eclipsewiki.net/eclipse/で有志が日作った日本語化パッチ置いてあるのでそこへ。

つーか、スレ違い。
0720デフォルトの名無しさん2005/10/09(日) 01:28:19
>>717
Eclipse Wiki に行きなさい。つか、君のおかげで、3.1用のが出たのを今知ったよ。ありがとう。
あと、今後は Eclipseスレに行きなさい。
07217172005/10/09(日) 01:32:08
>>719,720
ありがとうございます。
移動致します。
0722デフォルトの名無しさん2005/10/09(日) 01:34:42
>>714
706の質問は、例外を投げる可能性があるメソッドa()を呼び出すメソッドb()の中で
例外処理をするのか、b()を呼び出すメソッドc()の中で例外処理をするのか、という
質問でしょうね。「呼び出したところ」とは即ちc()の定義中ということです。
0723デフォルトの名無しさん2005/10/09(日) 01:35:38
>>706 の云ってる事はたぶん、

メソッド内でやる=

public void hoge() {
 try {
  //InputStreamか何か使う
 } catch (IOException ex) {
  //ここで何かする
 }
}

呼び出したところでやる=

public void hoge() throws IOException {
 //InputStreamか何か使う
}

public void hage() {
 try {
  hoge();
 } catch (IOException ex) {
  //ここで何かする
 }
}

hoge と hage の関係は hage と hage を呼ぶやつの関係と
ほとんど一緒だということに、>>706 はまだ気付いていない。
どこで処理するかは、作った各メソッドをどこでどう使っていくかの問題。
0724デフォルトの名無しさん2005/10/09(日) 01:38:22
例外処理は例外をキャッチした時にやったらいいよ。

以上。
0725デフォルトの名無しさん2005/10/09(日) 01:42:01
>>722-723
親切な方々ですね。おまえらに幸あれ。
0726デフォルトの名無しさん2005/10/09(日) 01:45:00
中での例外処理は再利用するとき楽だけど、呼び出し側で、きめ細かい処理(例外処理)ができない。
外での例外処理は再利用するときに面倒だけど、呼び出し側できめ細かい処理(例外処理)ができる。
と俺は勝手に解釈したが、どうよ。いい加減な日本語ですまん。
0727デフォルトの名無しさん2005/10/09(日) 01:54:21
誤解されると困るのでこれだけ。
で と る っ ち ゅ う ね ん
場所はeclipseスレにある。
0728デフォルトの名無しさん2005/10/09(日) 01:54:27

import java.io.*;

public class day5les4 {
public static void main(String[] args){
BufferedReader str = new BufferedReader(new InputStreamReader(System.in));

int point = 0;
int co = 0;


//2次元配列、0:問題 1〜3:選択肢 4:答 です。
String strQuiz[][] = new String[5][5];

//1問目
strQuiz[0][0] = "士郎及びアーチャーの本質を答えよ。";
strQuiz[0][1] = "1:戦う者";
strQuiz[0][2] = "2:生み出す者";
strQuiz[0][3] = "3:癒す者";
strQuiz[0][4] = "2";

//2問目
strQuiz[1][0] = "俺が月姫で一番好きなキャラは誰か。";
strQuiz[1][1] = "1:シオンタン";
strQuiz[1][2] = "2:琥珀さん";
strQuiz[1][3] = "3:さっちん";
strQuiz[1][4] = "2";

//3問目
0729デフォルトの名無しさん2005/10/09(日) 01:55:20
strQuiz[2][0] = "誰を愛するべきか。";
strQuiz[2][1] = "1:セイバー";
strQuiz[2][2] = "2:セイパー";
strQuiz[2][3] = "3:セイ八ー";
strQuiz[2][4] = "1";

try{
System.out.println("Fate/Tsukihime Game");
for(co=0;co<=3;co++){
System.out.println(strQuiz[co][0]);
System.out.println(strQuiz[co][1] + strQuiz[co][2] + strQuiz[co][3]);

String strAnswer = str.readLine();

if(Integer.parseInt(strAnswer) == Integer.parseInt(strQuiz[co][4])){
System.out.println("Correct!!!");
point ++;
System.out.println("今"+point+"点です。");
}

else{
System.out.println("Not good....");
System.out.println("今"+point+"点です。");
}
}
0730デフォルトの名無しさん2005/10/09(日) 01:55:53
switch(point){
case 0:
System.out.println("Fateクリアして来い話はそれからだ。");
break;
case 1:
System.out.println("プラスピリオド買って来い話は(ry");
break;
case 2:
System.out.println("セイバーで(ry");
break;
case 3:
System.out.println("おまいは俺かw");
break;

}



}catch(IOException ioe){
System.out.println("Error.");
}finally{
System.out.println("お疲れ様でした。");
}



}


}
0731デフォルトの名無しさん2005/10/09(日) 01:57:58
スマン動揺した。何のことだがワカランね。
Eclipse3.1 正確には 3.1.1 用日本語パックあるぞ。
お詫びに場所
http://download.eclipse.org/eclipse/downloads/drops/L-3.1.1_Language_Packs-200510051300/index.php
スレ汚しスマンカッタ。
0732デフォルトの名無しさん2005/10/09(日) 01:58:30
初心者です。Eclipse3.1.1を使っています。
>>728-730のようにして、最後に得点別にコメントを表示したいのですが
実行結果が

Fate/Tsukihime Game
士郎及びアーチャーの本質を答えよ。
1:戦う者2:生み出す者3:癒す者
1
Not good....
今0点です。
俺が月姫で一番好きなキャラは誰か。
1:シオンタン2:琥珀さん3:さっちん
2
Correct!!!
今1点です。
誰を愛するべきか。
1:セイバー2:セイパー3:セイ八ー
2
Not good....
今1点です。
null
nullnullnull

となってしまいます。最後のnullnullnull...と変なものが出てしまうのは何が悪いのでしょうか。
目障りなのは重々承知しておりますが、よろしくお願いいたします。
0733デフォルトの名無しさん2005/10/09(日) 01:58:54
出たんや
0734デフォルトの名無しさん2005/10/09(日) 01:59:09
例外処理はその例外を処理できるところでやる
としか言えないなあ、ケースバイケース

例 ファイルから読み込もうとしてファイルが存在しなかった場合

デフォルト値を使うなりファイルを作るなりその場で対処できるなら
catchしていろいろ処理を書いたらいい

どないもならんでユーザーに聞くしかあれへん、というなら
素直にthrowsしておく
0735デフォルトの名無しさん2005/10/09(日) 02:07:10
>>732
他には何も表示されんのけ?
nullnullnullの後にError.とか。

「今1点です。」の表示後、何処に処理が移るか考えればええと思うよ。
07367322005/10/09(日) 02:14:44
特にエラー!とかは言われてないです。

co=3のときのfor内の作業が終わったら、forブロックから抜けて、次のswitchブロックに行くのではないのですか?(+_+;)
0737デフォルトの名無しさん2005/10/09(日) 02:18:50
>>732,736
基本的な事だけど、

前略

for(int i=0; i<=3; i++){
  System.out.println("Count:" + i.toString());
}

後略

これの出力結果はどうなると思う?
0738デフォルトの名無しさん2005/10/09(日) 02:27:09
>>737
今日はもう寝とけ
0739デフォルトの名無しさん2005/10/09(日) 02:29:18
4問目のクイズが入っていないから。
07407322005/10/09(日) 02:30:10
わ、わからない・・・orz(ちなみにプログラム初めて5日ほどです。)
.toStringっていうのがよくわからんので調べてみました
(文字列バッファ(StringBuffer)を文字列(String)に変換するにはtoStringメソッドを使用します。 [構文] 文字列バッファ.toString(); )
ばっふぁとかよくわからんので勘で答えますと、

Count:1
Count:2
Count:3

・・・ですか?



0741デフォルトの名無しさん2005/10/09(日) 02:42:57
>>740
配列の要素数は3つ、
即ちインデックスは0, 1, 2が有効。
for( int i = 0 ; i <= 3
というコードだと
インデックスが、0, 1, 2, 3
まで実行されちゃうよね?
だから、正しくは
for( int i = 0 ; i < 3
となるんじゃないかな?
0742デフォルトの名無しさん2005/10/09(日) 02:46:13
>>732,740
ごめん、intのtoString()はC#のメソッドだった...
被ってるけど書いてしまったからそのまま投稿。

で、以下のコードを実行すると、

class ForLoopTest{
public static void main(String[] args){
for(int i=0; i<=3; i++){
System.out.println("Count: " + i);
}
}
}

Count: 0
Count: 1
Count: 2
Count: 3

と出力されます。
forループの判定条件「i<=3」は、iが3の時もtrueとなり、ループ内の処理に移ります。
その為、「Count: 3」まで出力されています。

で、問題のプログラムでも、同じく「co<=3」となっており、coが3の場合も、ループ内の処理へ移ります。
しかし、strQuiz[3]にはオブジェクトが設定されていない(strQuiz[3][0], strQuiz[3][1], strQuiz[3][2], strQuiz[3][3]が全てnull)ので、
null
nullnullnull
と出力されます。

>>738
寝るわ...
0743デフォルトの名無しさん2005/10/09(日) 02:51:08
キタワァ*:.。..。.:*・゚(n‘∀‘)η゚・*:.。..。.:* ミ ☆
本当にありがとうございます!感動しました。
これからも精進していきます。本当にありがとうございました!
0744デフォルトの名無しさん2005/10/09(日) 06:51:05
名前付きパイプを作るにはどうしたらいいですか?
0745デフォルトの名無しさん2005/10/09(日) 07:26:21
awtのDialogやWindow、SwingのJDialogやJWindowでは、
オーナーを指定するコンストラクタが用意されてますが、
このオーナーを、コンストラクタで指定するのではなく、
インスタンスを作った後で何かのメソッド等で指定することはできないのでしょうか?
0746デフォルトの名無しさん2005/10/09(日) 10:02:00
javaってC++に比べてメモリ食いますか?
0747デフォルトの名無しさん2005/10/09(日) 10:03:57
そら食うさ普通の窓で20Mだよ信じられる?
0748デフォルトの名無しさん2005/10/09(日) 10:14:49
マジかよ
0749デフォルトの名無しさん2005/10/09(日) 10:16:01
因みにVC++だと普通のウインドウでどれくらい食いますか?
0750デフォルトの名無しさん2005/10/09(日) 12:30:58
32768kB
0751デフォルトの名無しさん2005/10/09(日) 13:31:30
Vector List_A = new Vector();

List_A.add(stringobj0);
List_A.add(stringobj1);
Iterator iter_A = List_A.iterator();

while(iter_A.hasNext)
{
String str = (String)iter_A.next();
List_A.add(str);
}

ってやるとwhile()が何回かまわるとConcurrentModificationExceptionとか出てくるのですが
解決するにはどうしたらいいでしょうか?
0752デフォルトの名無しさん2005/10/09(日) 13:33:29
>>751
Iterator生成元の値を生成元が返るのは仕様違犯ということ。
Iterator自身で解決してください。
0753デフォルトの名無しさん2005/10/09(日) 13:40:26
イテレータやめて配列みたいにアクセスしちゃどうよ
0754デフォルトの名無しさん2005/10/09(日) 13:43:10
ん?自分のコピーを追加してるだけ?
0755デフォルトの名無しさん2005/10/09(日) 13:48:15
>752
>Iterator自身で解決してください。
ここがよくわからないのでよろしければ詳しく説明していただけませんか?

>753
イテレータを使わずに自分でリストを管理するってことでしょうか?


>754

while(iter_A.hasNext)
{
String str = (String)iter_A.next();
List_A.add(str);
}
イテレータで読んでいる途中のリストの末尾にオブジェクトを追加したいだけです。
追加しているオブジェクト自体に意味は無いです;
0756デフォルトの名無しさん2005/10/09(日) 13:51:57
イテレータはその時点での順次アクセスをかのうにしてるだけ

内容をいじる場合はイテレータはつかえない
0757デフォルトの名無しさん2005/10/09(日) 13:56:24
まずは
ConcurrentModificationExceptio
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/ConcurrentModificationException.html
を読もうよ。

CollectionオブジェクトをIteratorに渡して処理をしていて、
そこでIteratorの元のCollectionに変更を加えようとしているから、
ConcurrentModificationExceptioが投げられている。

回避する単純な方法として、繰り返し処理をIteratorを使わないで回す。っていうのがあると思うけど。
どうしてもIteratorを使わないといけないのであれば>>752に聞いて。
0758デフォルトの名無しさん2005/10/09(日) 14:08:04
LinkedListのIteratorはなんでget(i)より速くなるの?
0759デフォルトの名無しさん2005/10/09(日) 14:13:39
>>758
LinkedList だから。get(i) だと普通は毎回先頭からみるでしょ。
0760デフォルトの名無しさん2005/10/09(日) 14:15:09
Iterator生成コストがArrayListより高いんじゃない?
0761デフォルトの名無しさん2005/10/09(日) 14:21:17
>>760
だったら逆になると思うけど・・・?
0762デフォルトの名無しさん2005/10/09(日) 14:24:20
LinkedListのIteratorを作るのには予め全ての走査が必要なのでは?ってこと。
0763デフォルトの名無しさん2005/10/09(日) 14:25:26
>756-757
レスありがとうございます
イテレータを使わない方向でやってみます
0764デフォルトの名無しさん2005/10/09(日) 14:30:17
>>762
何故そんな無駄な事せにゃあかんのだ。
07657062005/10/09(日) 14:31:37
>>723 >>726 >> >>734
親切にどうもありがとうございました。
かなりよくわかったような気がします。
0766デフォルトの名無しさん2005/10/09(日) 14:36:01
次のポインタ持てばそれですむだけだろ?
0767デフォルトの名無しさん2005/10/09(日) 14:49:33
>>766
なるほど。そういう考えがあったか。
0768デフォルトの名無しさん2005/10/09(日) 14:55:53
つーかね、本来連結リストの原理なんて基本中の基本なんだってば。
0769デフォルトの名無しさん2005/10/09(日) 14:56:51
>>768は今夢心地だな。
0770デフォルトの名無しさん2005/10/09(日) 15:41:19
連結リストの実装がLinkedListでもあるんだがな
0771デフォルトの名無しさん2005/10/09(日) 17:18:50
Commons の CursorableLinkedList で
iterator の代わりに cursor を使うと
うまくいくのかな?
0772デフォルトの名無しさん2005/10/09(日) 17:21:30
>>771
ああ、直接リストを弄っているのか 忘れてくれ
0773デフォルトの名無しさん2005/10/09(日) 17:25:59
VisualJ#でプログラムを作っているのですが、
drawImageに於いて、フォーム内のPictureBoxに画像を描画したいとき、どの様に引数を渡せば良いのでしょうか?
drawImage(image,int,int,int,int,int,int,int,int,observer)の場合のObserverをどう指定したらのでしょう、
ご教授お願いします。

0774デフォルトの名無しさん2005/10/09(日) 18:01:09
C/C++プログラマやってます。
休みで暇なんでJavaでもやろうと思い、Eclipseいじりながら本よんでます。
おんなじよーな文法ですけど、継承付近でちょこちょこ違うような?
多重継承は認めてないことはわかったけど、
親クラスのコンストラクタは、子クラスで明示的に呼び出してやる必要あるんでショーか?
0775デフォルトの名無しさん2005/10/09(日) 18:02:55
>>773
J#は言語仕様だけJavaをベースにしてるだけなので
Javaとまったく違うから.NET関連へ
07767722005/10/09(日) 18:10:16
リスト直接弄ってもOKらしい。ちょとうれしい

CursorableLinkedList list = new CursorableLinkedList();
for(int i=0; i<3; i++) { list.add(i); }

Cursor c = list.cursor();
for(int i=0; i<20 && c.hasNext(); i++) { list.add(c.next()); }
System.out.println(list);

結果:
[0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1]
0777デフォルトの名無しさん2005/10/09(日) 18:13:29
>>774
C++とおなじ。
0778デフォルトの名無しさん2005/10/09(日) 19:26:06
あのー
C++は子クラスのコンストラクタ中で親クラスのコンストラクタを明示的に呼び出す手段がないんですけど?
0779 2005/10/09(日) 19:29:46
C++忘れたけど
chiled(int a) : parent(a)
{

}
て感じで呼び出せたんじゃないか。
0780デフォルトの名無しさん2005/10/09(日) 19:59:02
オートで勝手に呼び出されるってはなしでしょそりは。オートで呼び出してしまうから初期値を書いておく。
superなんて明示的に呼び出す方法なんかないよ。
0781デフォルトの名無しさん2005/10/09(日) 20:07:12
ハタから見てて何がどうなってるのか分からんな・・・
>>778, >>780 はいったい何がいいたいのやら。
0782デフォルトの名無しさん2005/10/09(日) 20:14:24
>>778
>C++は子クラスのコンストラクタ中で親クラスのコンストラクタを明示的に呼び出す手段がないんですけど?
あ り ま す
0783デフォルトの名無しさん2005/10/09(日) 20:16:39
はじめまして、
昨日からDB(SQLServer)にアクセスするクラスを
作成しているのですが、うまくいきません。

eclipseのコンソールに出力されるエラーです。
ok
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]????????????????????
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at co.jp.DB.DBConnection.main(DBConnection.java:24)
Error Trace in getConnection() : [Microsoft][SQLServer 2000 Driver for JDBC]????????????????????
わかる方がいらっしゃいましたら
ご助言のほうお願いいたします。
0784デフォルトの名無しさん2005/10/09(日) 20:21:21
ちなみに開発環境ですが
Winxp pro
java j2sdk-1_4_1_07
tomcat 5.0
DB SQLServer 8.00.194
eclipse 3.01 です。

ソースコード
public class DBConnection {

public static void main(String[] args) throws SQLException
{
Connection con = null;
final String userName = "****";
final String password = "****";

try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
System.out.println("ok");
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=master",userName,password);
if(con!=null) System.out.println("Connection Successful!");
}catch(SQLException e){
e.printStackTrace();
System.out.println("Error Trace in getConnection() : " + e.getMessage());
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

}
}
0785デフォルトの名無しさん2005/10/09(日) 20:29:44
>>783
接続文字列とかアカウント情報とかネットワーク接続みなおせば?
0786デフォルトの名無しさん2005/10/09(日) 20:50:40
>>774
C++ もわかってないやん
0787デフォルトの名無しさん2005/10/09(日) 20:54:58
まぁほうっておこうよ
救いを求めてきた時にだけ手を差し伸べればいいよ
0788デフォルトの名無しさん2005/10/09(日) 21:08:54
>>782
なんか間違ってるね、
子クラスのコンストラクタが起動する前に親クラスのコンストラクタが起動してるのに、
どうやって子クラスで親クラスのコンストラクタにアクセスできるわけ?
C++で
chiled(int a) : parent(a)
こう書くのは、親クラスのコンストラクタが起動する前に引数を渡してるだけ。
子クラスのコンストラクタから親クラスのコンストラクタにアクセスしてるわけじゃない。
0789デフォルトの名無しさん2005/10/09(日) 21:11:01
>>778
>>C++は子クラスのコンストラクタ中で親クラスのコンストラクタを明示的に呼び出す手段がないんですけど?
>あ り ま す

じゃ、どうやってやるのか書いてみ。
0790デフォルトの名無しさん2005/10/09(日) 21:51:00
>>788 の2行目以降が、正確な説明。>>777 の言ってるとおり、Java も同じ。

Java の場合 {} の中で super 呼ぶから、
「子クラスのコンストラクタ中で親クラスのコンストラクタを明示的に呼び出」
してるように見えてしまう。
>>778 (=>>774?)も多分、そう錯覚して「でも C++にはねーよ?」って言ってるんだろう。
そうでないと疑問としては意味が通らないからね。

>>778 の文意はおそらく、
>>788 のような認識を踏まえての「Java おかしくね?」であり、
「C++ は親コンストラクタなんか書けねーよ?」ではなかったのだろう。

ほんで、>>779, >>792 は、
彼らも普段「子の中で親を呼んでる」と錯覚してるか、あるいは、
見かけ上そのように書くものを、そのように表現しきってしまうことに、
不都合を感じないかのどちらかだろう。Java をやってる者には、
冒頭に書かねばならないなどの制限も、その制限が生じる理屈も分かってるから、
そう表現して齟齬は無いだろうが、初心者とのやりとりでは注意が必要だったね。

つい「お前 C++ も分かってねーだろ?」と決めてかかった部分があったのではあるまいか。

とはいえ >>780 の「オートで呼び出してしまう」っていうのは、
なにやら払拭できない大きな誤解の匂いがするな。
でも俺が文意を読み取れていないだけかも知れないので態度を保留しておこう。
>>780 = >>774 なのか不明だし。単なるチャチャ入れかも知れんし。
0791デフォルトの名無しさん2005/10/09(日) 22:02:00
>>790
あのー
>>774==>>779==>>780==>>790
なんですけど..
なるほど、第一行目のsuperは子コンストラクタの処理に入る前なのに
Javaではあたかも子コンストラクタ内の処理のような書き方をするわけね。
なんか不細工やなー
0792デフォルトの名無しさん2005/10/09(日) 22:11:57
あと、
> >>780 の「オートで呼び出してしまう」っていうのは、
>なにやら払拭できない大きな誤解の匂いがするな

C++は(というかJavaもそうだろうけど)、親のコンストラクタはオートで呼び出してしまうでしょ。
引数が必要な場合にはchiled(int a) : parent(a) こう書くけど、書かない場合もデフォルトコンストラクタが
勝手に呼び出されるでしょ。そうでなきゃ親クラス構築できないし。


>冒頭に書かねばならないなどの制限も、その制限が生じる理屈も分かってるから、
単に書式の問題だけじゃなくてどういう理屈があるのか教えてください。
0793デフォルトの名無しさん2005/10/09(日) 22:47:34
JFrameを継承したクラスに
ボタン一個を貼り付けて,ボタンを押したらサウンドを再生するプログラムを
書いたのですが数回に一回しか音が流れません.

原因が全く分らず困っていますのでアドバイスお願いします

public void actionPerformed(ActionEvent e) {
String fileName = "./Sound/test.wav";

File file = new File(fileName);
try {
// AudioInputStreamの取得
AudioInputStream ais = AudioSystem.getAudioInputStream(file);
// Clipの取得
Clip line = (Clip) AudioSystem.getLine(new Line.Info(Clip.class));

line.open(ais);
line.start();
// 再生終了まで待つ
while (line.isRunning()) {
Thread.sleep(100);
}
}
catch (Exception ex)
{
ex.printStackTrace();
}
finally {
line.close();
}
}
0794デフォルトの名無しさん2005/10/09(日) 22:50:18
>>792

>そうでなきゃ親クラス構築できない
ってのが分かってるなら、「勝手に」呼び出される、オートで呼び出して「しまう」っていう、
受動的な、本意でないことが起こるかのような表現はおかしいでしょ。
継承したクラスの設計者は、常に、
「デフォルトコンストラクタで初期化する」「これこれこういう引数で初期化する」
っていうのを明確に決定するもんなんだから。

>理屈

public class A {
 private int x;
 public A(int x) { this.x = x; }
 public int getX() { return x; }
 public int get3() { return 3; }
}

public class B {
 public B() {
  int a = getX(); //※1
  int a = 2; //※2
  int a = get3(); //※3
  super(a);
 }
}

続く
0795デフォルトの名無しさん2005/10/09(日) 22:56:17

※1 の場合、動作結果が不明確だし、こう書く動機がありえない。
こう書くプログラマはどうなったら納得するのか、何を目論んでこうするのやら?
だから、こう書けないようにしても、頭のおかしいヤツ以外は困らない。

※2 の場合、ここに書く意味はない。
super に 2 渡して、あとから a=2 すればいいんだから。
だから super より先に書けないようにしてなんの不都合も無い。

※3 は、動作はするだろうが、A の内部実装が変わると、B もたちまち不正になる。
わざわざ get3 なんて用意する A の仕様もおかしいし。必要なら static に持っとけよって話。
それを当てにする B の設計もおかしい。
こういう一連のおかしい設計がなされることを前提に、
こう書けるようにしておくメリットが無い。だからさせない。

つまり、冒頭にしか super を書けない、っていうのは、
書いてコンパイル通ったとしても実行時に困るようなケースを許さない、っていうのと、
実行時に困らないようなケースもついでに許さなかったとしても、
設計時に不都合はないからついでに禁止してる、といえよう。

以上、実は素人考えで、本質を見逃してるかもしれないけど、説明に矛盾は無かろうと思う。
コンストラクタの例外処理とスタックの動作も絡んでくるのかな?
などとも思うけど、申し訳ないが俺には全然分からない。
0796デフォルトの名無しさん2005/10/09(日) 23:04:24
>>793
鳴ってる間(while でループしてる間)に押してるからじゃないの?
ユーザによってボタンが押されるのを待つスレッドは常に一つで、
それが呼んだ actionPerformed が終わってくれないと、
次のボタン押下の監視を開始することはできないよ。
ゆえに、押せないか、押せたように見えても反応は無い。

押されるたびに別スレッドを起動して、
その中で鳴らす→待つ→スレッド終了の処理をやるようにすれば、押した数だけなる。
ただし、前のが鳴り終わってなければ、複数が重なって鳴る。
actionPerformed の冒頭と終端でボタンの setEnabled(false), setEnabled(true) をすれば、
鳴ってる間は押せない。押せたようにも見えない。
重ねて鳴らすのではなく、鳴ってる間に押された数を憶えておいて連続でならしたいのだったら、
押されたというイベントをキューにためる処理が必要。

それは・・・そういう API はあったかな? これまで必要がなかったので知らないや。
無ければ自作。
0797デフォルトの名無しさん2005/10/09(日) 23:07:31
あ、
> ただし、前のが鳴り終わってなければ、複数が重なって鳴る。
これは、Audio がらみの API の仕様にも依るな。
これも詳しく無いから、でもとにかく 別Thread 立てる方法を試してみてね。
0798デフォルトの名無しさん2005/10/09(日) 23:16:08
>>796
>>797
レス有り難うございます

再生する音も短く2,3秒なんですし
最初の一回目に押す場合にも
音が鳴らないことが多いんです・・・

スレッドの方法は試してみます
0799デフォルトの名無しさん2005/10/09(日) 23:19:21
SDKをダウンロードしろとかJDKをダウンロードしろとかWikiに書いてあるけど、
どっちをダウンロードしたらいいんですか!?><わかりません!!!
0800デフォルトの名無しさん2005/10/09(日) 23:23:26
>>799
好きなDKをダウンロードすればいいんだよ。
SとJが主流ってだけ。
0801デフォルトの名無しさん2005/10/09(日) 23:27:24
>>800
分かりました。ありがとうございました。
0802デフォルトの名無しさん2005/10/10(月) 00:07:16
>>794

>ってのが分かってるなら、「勝手に」呼び出される、オートで呼び出して「しまう」っていう、
>受動的な、本意でないことが起こるかのような表現はおかしいでしょ。
そんなことはないよ。
親クラス設計時、将来予想されるすべての機能拡張を予想してるわけじゃないんだから。
親クラスのコンストラクタでやる初期化が、ある派生クラスにとっては別な初期化が必要になる場合だってある。
そんな場合しかたなく親クラスのコンストラクタのほうをいじったり、コンストラクタだけ違うほとんど同じ親クラス2を作る羽目になることだってある。
そんな場合、オブジェクトのメモリ領域の確保だけでいいのに余計な初期化しやがってとなるでしょ?
まぁコンストラクタというより、コンストラクタ内でやられる初期化のほうだけど。

理屈ってのは superが他の処理に先んじて書く必要を説明してくれてるわけ?わざわざどうも mOm
でも、それは、わかるよ。子コンストラクタより先に処理される親コンストラクタの初期化を second step 以後で書いたら
どんな不具合が生じるかわかったもんじゃないし。
俺が知りたかったのはC++みたいにchild(int a) : parent (a){}ってなぐあいに、子のコンストラクタ
が起動する前に親コンストラクタに引数をわたすことをイメージさせる記述法じゃなかったのかな?って思ったわけ。
C++の記述法になんかデメリットがあるのかなと。
0803デフォルトの名無しさん2005/10/10(月) 01:02:39
なお、super() と それに続くコンストラクタの記述の間には、
密かにインスタンスイニシャライザが実行されているのは秘密。
0804デフォルトの名無しさん2005/10/10(月) 01:06:01
javaお勧め入門サイトってありますか?
Wikiにある稚内北星ピブリオンは404が出るので…。
0805デフォルトの名無しさん2005/10/10(月) 01:15:54
>>783
β版の頃の話だが、ID、パスワードを別指定しでのgetConnection()はエラーになる事が多かった気がする。もう直ってるかな?
あと、同一スレッドから複数のコネクションを取り出すとエラーになったり、
setAutoCommit使ってるとトランザクションが思っていないところで不意に閉じたりした。JTAを使えとなってたかな。

まあ、SQLServerのJDBCドライバ@MS謹製は癖が強いので注意して使え。
0806デフォルトの名無しさん2005/10/10(月) 01:16:03
>>799
Java SDK の略が JDK (たぶん)
0807デフォルトの名無しさん2005/10/10(月) 01:16:42
インスタンスイニシャライザってなに?
0808デフォルトの名無しさん2005/10/10(月) 01:22:35
http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#246032
0809デフォルトの名無しさん2005/10/10(月) 02:33:55
初心者なので失礼します。

今Javaの勉強をしている真っ最中で、配列の大きさを動的に増やしたり減らしたりするプログラムを書きたいなと思ってるんですけど、やっぱりCとかと一緒でサイズを変えたりってできないんですかね?
Vectorクラスとか使えそうなんですけど、ただのint配列にわざわざVectorクラスとか作るのも大変なのかとも思うんです。(intをそのままは扱えなかったきがするんです)

よろしくお願いします。
0810デフォルトの名無しさん2005/10/10(月) 02:40:52
>>809
できないね。cといっしょで
char[] b = new new char[1];
char[] tmp = b;
b = new new char[2]; //拡張
freeしなくていいくらいか
0811デフォルトの名無しさん2005/10/10(月) 02:41:27
メソッドのstatic 修飾詞でクラスメソッド、インスタンスメソッド云々があって、読んでるうちにわからんようになってきた。
これってC++の面罵関数のstaticと同じと考えていいの?
08128092005/10/10(月) 02:45:57
>>810
ありがとうございます。

あーできないんですね。Vectorとかでがんばります!!!
0813デフォルトの名無しさん2005/10/10(月) 03:06:01
Vectorはつかうなよ
ArrayList
0814デフォルトの名無しさん2005/10/10(月) 03:06:46
staticはクラスそのものに属しているという意味
Cとはちがう
0815デフォルトの名無しさん2005/10/10(月) 03:07:19
どうせつかうなら、Commons の Primitives の IntList の実装クラス
0816デフォルトの名無しさん2005/10/10(月) 03:08:46
>>811
一緒。thisポインタがない
0817デフォルトの名無しさん2005/10/10(月) 03:46:49
>>816
一緒って言うのはC++のstaticとJavaのstaticが?

そうなると
C++のstaticと
C言語のstaticって違うのか?
0818デフォルトの名無しさん2005/10/10(月) 03:58:57
>>816
そーだよね。

>>814
Cのstatic関数はファイルはファイル外からのアクセス禁止という意味で、
C++のメンバ関数のstaticと意味は違うぜ。
Cのstatic関数というより、static関数とstaticメンバ関数は違うというべきかな?

Javaではじめるプログラミングって本読みやすそうなので会社で、借りてきたけど、
お絵かきでちゅよー部分がやたらとページ数割いてて、肝心な部分が薄いのね。

0819デフォルトの名無しさん2005/10/10(月) 04:02:01
× Cのstatic関数はファイルはファイル外からのアクセス禁止という意味で、
○ Cのstatic関数はファイル外からのアクセス禁止という意味で、
0820デフォルトの名無しさん2005/10/10(月) 04:38:51
cできますc++できますって言っといて基礎もしらんヤツばっかりだな
0821デフォルトの名無しさん2005/10/10(月) 04:39:04
× Cのstatic関数はファイル外からのアクセス禁止という意味で、
○ Cのstatic関数はファイル外から名前が見えないと言う意味で、
08228182005/10/10(月) 04:49:17
C/C++プログラマだといってるのは俺だけだと思うが。
あと基礎云々言う前に全角英数使う奴でまともな奴はひとりもお目にかかったことがない。

>>821
しょーもない奴だなお前。
0823デフォルトの名無しさん2005/10/10(月) 04:56:29
スタックフレームの作り方も知らぬキサマごときが笑止なんだよ。
0824デフォルトの名無しさん2005/10/10(月) 05:03:52
>>823
誰に言ってんの?
0825デフォルトの名無しさん2005/10/10(月) 06:36:21
よし、おれもスタックフレームの作り方覚えて立派なプログラマになるぞ!
0826デフォルトの名無しさん2005/10/10(月) 10:11:52
>>822
プ
IQ低いレスだこと
0827デフォルトの名無しさん2005/10/10(月) 10:12:44
アプリケーションのプログラム作ってる奴はリンケージエディタの使い方知らん奴も多いからな。
Cのプログラムっていっても奥が深いよ。
ところで、プログラミング言語Javaって本はどうなん?英語版はrev4が出てるね。ネットで落とした。
K&Rとかびや〜〜んみたいに定番なんかな?
0828デフォルトの名無しさん2005/10/10(月) 10:30:05
米アマゾンでJavaのランキング上位3つ買えば良し
0829デフォルトの名無しさん2005/10/10(月) 10:35:24
参考書に、「Stringクラスでは生成した文字を後から変更する事ができません」
と書いてあるのですが、
以下のような事ができます。
こういう使い方って問題なのでしょうか?

String s = "ABC";
out.println(s+"<br>");
s = s + s;
out.println(s+"<br>");

結果
ABC
ABCABC
0830デフォルトの名無しさん2005/10/10(月) 10:38:55
>>829
それは生成した文字を後から変更しているのではなく、
新たな文字列を生成して、同じ変数に入れなおしているだけ。
0831デフォルトの名無しさん2005/10/10(月) 10:42:14
「Stringクラスでは生成した文字を後から変更する事はできない」が、
String型の参照変数が別のStringオブジェクトを指すように変更することはできる。
0832デフォルトの名無しさん2005/10/10(月) 10:42:48
>>827
いつからリンカはC言語の言語仕様になったのでしょうか?
0833デフォルトの名無しさん2005/10/10(月) 10:47:13
>>829
sがStringクラスの実体じゃないぞ
0834デフォルトの名無しさん2005/10/10(月) 10:47:32
>>793
バグ

BugReportのどっかに載ってた
1秒以下の再生では頻出するらすぃ
対処法は忘れた
0835デフォルトの名無しさん2005/10/10(月) 10:49:25
>>832
ハードウェア仕様見てメモリマッピング考えたことないだろ?
0836デフォルトの名無しさん2005/10/10(月) 10:52:02
このバカいつ寝てるんだろ
0837デフォルトの名無しさん2005/10/10(月) 11:01:34
そろそろゴミが沸いてきたな
0838デフォルトの名無しさん2005/10/10(月) 11:19:28
組み込み屋ってなんか変なプライド持ってるから付き合いにくいよ。。。
0839デフォルトの名無しさん2005/10/10(月) 11:20:06
30過ぎのプログラマは総じて付き合いにくい
0840デフォルトの名無しさん2005/10/10(月) 11:25:17
通過点であるはずのコーダから脱出することが出来ず、
今までの経験をもって若手をバカにしているようなものだ。

例えば、高校3年生3回目の奴が合法的にたばこを吸えることを自慢しているような。
他はみんな大学生なのにね。
1年生も3年後には大学生なのにね。
0841デフォルトの名無しさん2005/10/10(月) 11:30:11
30過ぎて高給を取るプログラマ雇う位なら
優秀なインド人プログラマ10人雇った方がいい罠
0842デフォルトの名無しさん2005/10/10(月) 11:41:11
コメントが読めないけどな。
0843デフォルトの名無しさん2005/10/10(月) 12:07:16
自分が出来ないだけじゃないの?
08448352005/10/10(月) 12:13:29
おお組み込み屋って俺のことか?ソフト屋ごときに思われるとは失礼だな。
ハッキリ言おう。大学出ても電気系以外の他になにもできない奴にはソフト屋させる。

>>840
>今までの経験をもって若手をバカにしているようなものだ
若手というより、現時点で30前の奴は実際バカだからしょうがないな。
いつからかわからんが急に学力レベルがガクッと下がったな。


>例えば、高校3年生3回目の奴が合法的にたばこを吸えることを自慢しているような。
>他はみんな大学生なのにね。
>1年生も3年後には大学生なのにね。

お前、ドタマ悪いなー。たとえになっとらん。それじゃ、高等教育受けてないインド人にも負ける罠。
高等教育受けたまともな日本人なら彼らをいかに使って収益上げるか考えろ。
0845デフォルトの名無しさん2005/10/10(月) 12:17:09
はいはいワロスワロス
0846デフォルトの名無しさん2005/10/10(月) 12:21:57
笑うしかないよなぁ。自分の置かれてる現状把握できん奴は。
0847デフォルトの名無しさん2005/10/10(月) 12:37:36
脊髄反射レスカコワルイ(・∀・)
0848デフォルトの名無しさん2005/10/10(月) 13:04:39
はあ?ArrayList<int>だろボケどもが
0849デフォルトの名無しさん2005/10/10(月) 13:30:49
初歩的な質問かもしれないけどFAQにのってなかったから聞かせてもらうけど
Javaの最新版をインストールしてからヤフー検索すると
文字化けするようになりました(´・ω・`)
なんか文字が全部「□□□□□□□」になるんですよ。
対処法教えて下さいよ
0850デフォルトの名無しさん2005/10/10(月) 13:34:17
>>849
基本だろ?
ヒント:FontPath
0851デフォルトの名無しさん2005/10/10(月) 13:34:26
>>849
釣り乙。
0852デフォルトの名無しさん2005/10/10(月) 13:49:17
質問よろしいでしょうか?

・「パッケージ」という概念と「多重継承」の概念を、両立させて実装することはできない。

上記の命題は真と言えるかどうかを答えていただけないでしょうか?
クイズとかではなくて、自分がJavaの理解のために確認したいことなんで、
ぜひともよろしくお願いいたします。
0853デフォルトの名無しさん2005/10/10(月) 13:55:00
VectorのcopyIntoメソッドって、文字列の配列にしかコピーできないんですか?
intの配列にコピーしようとしても出来ないみたいなんですが、引数にObjectってあるんで
整数配列にもコピーできると思うんですが・・・
0854デフォルトの名無しさん2005/10/10(月) 14:07:17
>>852
・パッケージという概念を実装する
・多重継承の概念を実装する
をそれぞれ定義してくれ。

多重継承が「仕様の多重継承」なら、Javaは両立してる実装の一つ。
0855デフォルトの名無しさん2005/10/10(月) 14:09:40
>>853
> intの配列にコピーしようとしても出来ないみたいなんですが、引数にObjectってあるんで

Vector#copyInto() の引数型は Object[] だから参照型の配列でなければならない。
int[] はプリミティブ型の配列だから無理。
0856デフォルトの名無しさん2005/10/10(月) 14:12:14
>>852
両立できるだろ。
比較する物が違いすぎて何を疑問に思ってるかが解らない。

Javaが多重継承を捨てたのは矛盾する継承を排除したかったからだろ。その為にインターフェースと言う方法を選んだんだから。
0857デフォルトの名無しさん2005/10/10(月) 14:14:27
そういうところはオートボクシングじゃ駄目なのか
0858デフォルトの名無しさん2005/10/10(月) 14:18:55
>>857
そのメソッドはオートボクシングが使えるように実装して無いんじゃね?
0859デフォルトの名無しさん2005/10/10(月) 14:21:01
>>857
autoboxing って、配列型も int[] ⇔ Integer[] に暗黙に変換しろって事?

Vector#copyInto() とかは引数に副作用が返ってくるタイプだから
配列の autoboxing が無くて良かった好例だと思うが。
08608522005/10/10(月) 14:26:52
>>856
両立すると考えてみるに、多重継承を受けたクラスは、どのパッケージに
所属すればいいのでしょうか?

>>854
・パッケージという概念を実装する
→ツリー構造の名前空間のしくみを採用すること。

・多重継承の概念を実装する
→複数の親クラスから継承を受けたクラスを作成できるようにすること。
0861デフォルトの名無しさん2005/10/10(月) 14:31:03
>>860
>多重継承を受けたクラスは、どのパッケージに所属すればいいのでしょうか?

どこでも好きなところに所属させればいいじゃないか。
なにが疑問なのかさっぱりわからないぞ?
0862デフォルトの名無しさん2005/10/10(月) 14:31:20
>>860
> →ツリー構造の名前空間のしくみを採用すること。
Javaのパッケージってツリー構造じゃないから。
例えば java.lang と java.lang.reflect は別々のパッケージで互いに影響を受けない。
08638522005/10/10(月) 14:36:11
>>860
ツリー構造じゃないんですか?

僕が習った話と違う気がする…。
0864デフォルトの名無しさん2005/10/10(月) 14:37:57
>>862
どうしてツリー構造じゃないんでしょうね。その方がわかりやすいのに…。
0865デフォルトの名無しさん2005/10/10(月) 14:39:45
>>863
ツリー構造っつーか、ツリー状になってるのは人間には意味があるけど、
言語規定とかコンパイラで特別扱いされるわけじゃないって意味ね。
0866デフォルトの名無しさん2005/10/10(月) 14:40:04
>>793
line.start();
の後に
Thread.sleep(0);
を挿入
0867デフォルトの名無しさん2005/10/10(月) 14:41:14
>>856
それって矛盾する継承の排除というより菱形継承による競合問題の回避じゃなかったっけ?
0868デフォルトの名無しさん2005/10/10(月) 14:44:14
>>866
そういうコード書かせるなっちゅうに
0869デフォルトの名無しさん2005/10/10(月) 14:50:54
>>863
きっと別のJavaなのでしょう。
ファイルシステム的にはディレクトリツリーを作成するけど、概念的には>>862の言うとおり。
0870デフォルトの名無しさん2005/10/10(月) 14:54:25
>>868
そういうコード書かせないと動かない実装をするSunに言ってくれ
0871デフォルトの名無しさん2005/10/10(月) 14:57:06
>>844
> ハッキリ言おう。大学出ても電気系以外の他になにもできない奴にはソフト屋させる。
日本のソフトウェア技術者の位置付けが低くて泣ける。
お偉い方の設計ゴッコやプログラミングゴッコした奴の後始末で
胃が痛いよ。。
0872デフォルトの名無しさん2005/10/10(月) 14:57:58
質問です。
int number = car1.getnum;
System.out.println("number");
と
System.out.println("car1.getnum");
の違いは何なのでしょうか?
教えてください。
0873デフォルトの名無しさん2005/10/10(月) 14:58:54
>>870
JavaSoundくらいちゃんと勉強してから文句いえ
0874デフォルトの名無しさん2005/10/10(月) 15:00:37
>>872
出力される文字列の違い。
前者は 「number」、後者は「car1.getnum」と表示される。

っつーか、getnumなんてフィールド名使うな。
08758732005/10/10(月) 15:08:30
>>874
すいません。
int getnum()
{System.out.println(num);
return num;}
という定義があったとしてです。
0876デフォルトの名無しさん2005/10/10(月) 15:10:05
>>875
それでも
> 前者は 「number」、後者は「car1.getnum」と表示される。
この結果に違いはないな。
0877デフォルトの名無しさん2005/10/10(月) 15:11:41
>>875
定義ありで考えると、前者はコンパイルエラー、後者は「car1.getnum」と出力される。

何これ? どっかのベンダの技術者認定試験の問題とか?
0878デフォルトの名無しさん2005/10/10(月) 15:12:37
配列の入れ換えをする関数を作ろうと思い、下のようなコードを書いたのですが入れ換えてくれません。
Cでポインタで渡すようなことをしたいのですが、どうしたらいいのでしょうか?
よろしくお願いします。

class Foo {
 ...
 static void swap(Foo n, Foo m) {
  Foo tmp;
  tmp = n; n = m; m = tmp;
 }
}

public class Test {
 public static void main(String[] args) {
  Foo foo[] = new Foo[5];
  for (int i = 0; i < foo.length; i++) {
   foo[i] = new Foo();
  }
  Foo.swap(foo[2], foo[3]);  // <--2番目と3番目を入れ換え
 }
}
0879デフォルトの名無しさん2005/10/10(月) 15:13:11
>>864
ちなみに、昔触ったことあるC#では、名前空間のツリー関係を
言語が認識しているらしく、
親名前空間に所属するクラスをインポート(だったけな)することなしに、
クラス名(名前空間なしの)を書けた気がする。

あと、eclipse のプラグイン開発では、
internal と名前が付いた名前空間の下は
他のプラグインから触っちゃだめなものを配置する、など、
依存関係と無関係な配置をする命名規則らしい。
(下位の名前空間が上位のものに配置されたクラスを呼び出したり)
個人的には気持ち悪いけど。
0880デフォルトの名無しさん2005/10/10(月) 15:13:22
>>877 は完全じゃなかった。car1 に getnum ってフィールドが無ければの話。
0881デフォルトの名無しさん2005/10/10(月) 15:13:30
>>873
あなたが、「"」の文字を外さない限り
>>876はそう答え続けるだろう
08828752005/10/10(月) 15:15:00
>>876
何度もすいませんでした。
ありがとうございます。
>>877
そんな所です。
ありがとうございます。
0883デフォルトの名無しさん2005/10/10(月) 15:22:12
>>878
C と同じように関数の引数は値渡しなので、
引数の値を変えても、呼び出し元には影響を与えない。
(ここでは、Foo のインスタンスへの参照が、値渡しされている)

こんな感じでどうだ

static void swap(Foo[] foo, int n, int m) {
 Foo tmp;
 tmp = foo[n]; foo[n] = foo[m]; foo[m] = tmp;
}
08848752005/10/10(月) 15:26:19
質問の仕方が悪かったのでもう一度すいません。
class Car{
private int num = 123;
int getNum(){
return num;
public static void main(String args[]){
Car car1 = new car();
int number = car1.getNum;
System.out.println(number); //1
System.out.println(car1.getnum()); //2
1と2の違いがわからないのです。
お願いします。
0885デフォルトの名無しさん2005/10/10(月) 15:29:21
>>884
悪いけど、1 も 2 もコンパイルエラーだ。

getNum()閉じてないのに main()始まってるし。
08868752005/10/10(月) 15:30:53
>>885
すいません・・。
そのへんは目をつぶってください。
すれ汚しですいません。
0887デフォルトの名無しさん2005/10/10(月) 15:35:22
>>886
ベンダの技術者試験だと引っ掛け問題かもしらんので、そのへん重要だよ。
0888デフォルトの名無しさん2005/10/10(月) 15:38:26
EclipseでJavaアプレットのゲームを作っているんですけど、複数のキー入力を受け付ける方法は無いでしょうか?
以前VBでやっていたときにはAPIで押されているかどうかを検出して対処していたのですが、
keyPressedメソッドを使うと新たにキー入力をした時にそれまで押していたキーが無効化されてしまいます・・・
0889デフォルトの名無しさん2005/10/10(月) 15:40:05
>>884
フィールドを直接呼ぶか、メソッドを通して間接的に呼ぶかの違い

フィールドを直接呼ぶ利点:
- 簡単

メソッド経由で呼ぶ利点:
- 子クラスでオーバライドできる
- 前提条件を満たさない場合に例外を出したり値を修正したり
 イベントを着火させたり、細かな処理がメソッド内に追加できる
- デバッガなどでブレークポイントが設定できる

と思ったが、試験問題か。。
08908892005/10/10(月) 15:43:43
すまん、脳内変換して読んでた orz
そういう問題ではなかったのか
0891デフォルトの名無しさん2005/10/10(月) 15:44:37
>>873
このバグの対処方法でも知ってるのか?
あるのなら是非教えて欲しいものだ
08928752005/10/10(月) 15:47:03
>>887 >>889
どうもありがとうございました。
0893デフォルトの名無しさん2005/10/10(月) 15:47:51
>>884
大文字小文字などいろいろおかしいところに目をつぶったとして答える。

まず、そのソースのみにおいては、結果的に何の違いも生じない。
number変数を使うのは無駄、あるいはソースを読んで分かりやすくするための回り道でしかない。

仮に別スレッドが動いてたとするならば、
//1 をやってる間に、Car の private 変数 num が変化する可能性がある。
そうすると //1 と //2 の出力結果が異なることになる。

>>888
自前で押されたキー履歴を保持しといて、keyReleased でクリアすれば?
0894デフォルトの名無しさん2005/10/10(月) 15:51:06
・・・!
そんな方法が・・・つーか気づかなかった俺が馬鹿なのかorz


ありがとうございます!
08958782005/10/10(月) 15:53:32
>>883
できました。ありがとうございました。

もう1つお聞きしたいのですが、>>878のようなコードで
Cでいうと swap(&(foo[2]), &(foo[3])) みたいなことはできないのでしょうか?
0896ヤクザ2005/10/10(月) 15:54:25
補足。もう「ありがとうございました」っつってるから蛇足かもしれないけど。

System.out.println(number); //1
number = 893;
System.out.println(car1.getnum()); //2

こうしたら違いが分かるんじゃなかろうか。
0897デフォルトの名無しさん2005/10/10(月) 15:59:39
>>895
できないとおもう。
0898デフォルトの名無しさん2005/10/10(月) 16:03:57
Fooにsetメソッドとか追加すれば出来るようになるよ
0899デフォルトの名無しさん2005/10/10(月) 16:06:49
プリミティブ型の記憶領域に対して変数名を使わずアクセスする方法は
 ・配列を使う
 ・インスタンスフィールドに対して、setter / getter を使う
しかない。ま、オブジェクト型でも同様か。

シンボル名のスコープ範囲が、すなわち直接アクセスできる(させる)範囲



で、いいのかな? 大して考えずに言うとるが
0900デフォルトの名無しさん2005/10/10(月) 16:15:08
>・インスタンスフィールドに対して、setter / getter を使う
これは「直接」じゃないな。
09018792005/10/10(月) 16:26:25
だれも見てないとは思うが
> (下位の名前空間が上位のものに配置されたクラスを呼び出したり)
これじゃ普通だ orz 逆、逆
0902デフォルトの名無しさん2005/10/10(月) 16:44:54
>>891
再生が始まるまで待たせればいいだけでは
0903デフォルトの名無しさん2005/10/10(月) 17:06:34
SQLのSELECT文を実行して取ってきたResultSetの中身を全て表示するにはどうすればいいでしょうか?
0904デフォルトの名無しさん2005/10/10(月) 17:08:14
>>903
一つ表示するやり方を全てに対して行う
0905デフォルトの名無しさん2005/10/10(月) 18:08:44
>>902
結局>>866と同じジャマイカ?
09068782005/10/10(月) 18:37:42
>>898
setメソッドを追加してというのはどういうふうにすればいいのでしょうか?
setメソッドで調べてみたのですが、よくわかりません
よろしくお願いします。
0907デフォルトの名無しさん2005/10/10(月) 18:44:59
setメソッドというか、セッターといったほうがわかりやすいか?
0908デフォルトの名無しさん2005/10/10(月) 18:48:32
チャックボックスのテキスト(ラベル?)を右横以外の場所に表示させるにはどうすればいんでしょうか?
お願いします。
09098782005/10/10(月) 18:50:49
>>907
セッターというのは
void setA(int a) {
 this.a = a;
}
みたいなメソッドのことですよね?
このようなのを使ってどうやってswap()を作るのでしょうか?
09109082005/10/10(月) 18:52:50
チャック・・・違います、チェックボックスの間違いでした。
0911デフォルトの名無しさん2005/10/10(月) 18:59:08

Foo自体を入れ替えるのではなく
Fooの中身を入れ替えることは出来るということです
あくまでも例↓
swap(Foo a,Foo b){
Foo temp=a;
a=b;
b=temp;
}

では無くて
swap(Foo a,Foo b){
int temp=a.getA();
a.setA(b.getA());
b.setA(temp);
}
0912デフォルトの名無しさん2005/10/10(月) 19:08:35
ドメインやワークグループ内で簡易的なファイル送信(目的のマシンの
目的のドライブの目的のディレクトリまで送信)をしたいのですが、
そのようなメソッドってありますか?
0913デフォルトの名無しさん2005/10/10(月) 19:11:53
そこまでやってくれる一発メソッドはないべ
0914デフォルトの名無しさん2005/10/10(月) 19:19:46
>>913
やっぱりないですよねぇ
0915デフォルトの名無しさん2005/10/10(月) 19:21:55
すいません。
JDBCドライバの種類のことで教えていただきたいことがあります。
JDBCドライバには、type1〜4がありますが、それぞれが実際の業務上で
どのように使い分けされているのかが、いまいち見えてきません。
例えばtype1(JDBC-ODBCブリッジドライバ)だったら,
現在Accessを使っているシステムに、
新たにJavaで書かれたプログラムを入れるのかな位は想像できますが、
他のtypeはどうなんでしょうか。
アドバイスお願いいたします。
0916デフォルトの名無しさん2005/10/10(月) 19:24:59
たとえば、Windows限定だったら
File toFile=new File("\\\\hostname\\c$\\temp\\dest.txt");
とか言うことが可能ならば
File fromFile=new File("src.txt");
fromFile.renameTo(toFile);
で移動ぐらいは出来るかも
問題は1行目が通るかどうか
0917デフォルトの名無しさん2005/10/10(月) 19:27:39
俺も説明できないが、こんな感じ
1.ODBC Bridge Driver(TYPE 1)
2.Native-API Partly-Java Driver(TYPE 2)
3.Net Protocol All-Java Driver(TYPE 3)
4.Native Protocol All-Java Driver(TYPE 4)
0918デフォルトの名無しさん2005/10/10(月) 19:36:03
>>905
あれでは確実とはいえん
ちゃんとイベント受け取ればいいだけ
0919デフォルトの名無しさん2005/10/10(月) 19:43:02
めっさレベル低いな
0920デフォルトの名無しさん2005/10/10(月) 19:44:23
>>919
だったらうちにきて、ネットワークの設定やってくれ
たいていJava屋はそういった基本が出来ない奴ばっかだから
0921デフォルトの名無しさん2005/10/10(月) 19:49:27
>>920
なんで必死なの?
0922デフォルトの名無しさん2005/10/10(月) 19:52:47
つか、Java屋ってどんな人?
0923デフォルトの名無しさん2005/10/10(月) 19:56:30
Java屋はOOP、各種オープンソースプロダクツ・フレームワーク知って鼻高々になっている奴多すぎ
Linux扱いきれない奴未だに多し(ファイルの権限すらよくわかって無いのでツマランところで躓いている)
Apacheインストールできない奴未だに多し(rpm 知らないんならconfigure make の手順ぐらい知っとけよ)
Oracleインストールできない奴未だに多し(マニュアルも嫁ねーのか)
SSLインストールできない奴未だに多し(上が出来なきゃやっぱ敷居が高いのかな?w)
0924デフォルトの名無しさん2005/10/10(月) 19:58:08
つーかJavaやってるくせに、Linux使えない奴はどの道終わってるけどな
0925デフォルトの名無しさん2005/10/10(月) 19:58:11
>>918
イベント?再生にイベントがあるのか初めて知った
0926デフォルトの名無しさん2005/10/10(月) 20:06:52
>>925
イベントはあるはずだが
>>918の言っている意味が理解不能
0927デフォルトの名無しさん2005/10/10(月) 20:07:17
しがみついていたいんだね
0928デフォルトの名無しさん2005/10/10(月) 20:25:46
チャックボックスのテキスト(ラベル?)を右横以外の場所に表示させるにはどうすればいんでしょうか?
0929デフォルトの名無しさん2005/10/10(月) 20:27:50
チャックウィルソン
0930デフォルトの名無しさん2005/10/10(月) 20:45:13
お前らへちょ過ぎる。
身の程を知れよ分を弁えろよ謙遜しろよ人間生涯勉強だよ。
0931デフォルトの名無しさん2005/10/10(月) 20:45:55
>>923
面接でおとせば良いのに。
0932デフォルトの名無しさん2005/10/10(月) 20:49:08
ウィンドーズのインストゥールも
ユニックスやオラクルーのインストゥールもさして変わらんよ。
インストゥールは所詮インストゥール。
何を得意げになっているのやら。
0933デフォルトの名無しさん2005/10/10(月) 20:50:26
ここはいつから愚痴と文句言う場所になったんだ?
質問する人と答える人意外が書き込みする必要がどこにある?
0934デフォルトの名無しさん2005/10/10(月) 20:53:19
アホがいい加減な事ばかり書いてるから
それが許せないんだろ。
0935デフォルトの名無しさん2005/10/10(月) 20:55:33
愚痴る時は全部質問形式で愚痴っていただくということは不可能でしょうか?
0936デフォルトの名無しさん2005/10/10(月) 20:55:53
JavaHouseのように身元晒してりゃ
いい加減な事も書けないのにね。
0937デフォルトの名無しさん2005/10/10(月) 20:56:58
質問と回答以外の書き込みは荒らしだろ
09382562005/10/10(月) 21:01:03
×質問と回答以外の書き込みは荒らしだろ
○質問と回答以外の書き込みは荒らしでしょうか?

でしょうか?
0939デフォルトの名無しさん2005/10/10(月) 21:02:44
済みません質問ですが、
Javaで実装したJVMってどこかで公開されてませんか?
できればソースがあるとありがたいんですが。
0940デフォルトの名無しさん2005/10/10(月) 21:12:57
>>938
そうすると一方が常に質問側、他方が常に回答側で
論戦が続くというのは仕様でしょうか?
0941デフォルトの名無しさん2005/10/10(月) 21:19:10
>>931
どっちもできて、面接でぼろかすに言われたっす。
大阪の某、繊維系会社の奴ら
でも、やつらJava屋だから>>923が言うとおり
プラットフォーム系の設定で悩んでやがって
横で笑ってやったよ

レベル的には
プラットフォーム系>>>>>>>>>>>>>(越えられない壁)>>>>>>>>>>>>>>>>Java屋のプログラマ
0942デフォルトの名無しさん2005/10/10(月) 21:31:53
>>908
Swingでいいなら、
JCheckBoxMenuItem.setComponentOrientation(java.awt.ComponentOrientation.RIGHT_TO_LEFT);

検索キー[RTL swing java]

あと質問するときははsageで
0943デフォルトの名無しさん2005/10/10(月) 21:33:30
インフラの技術とソフトウェアの技術って別ものだろ?
重量挙げの選手が
「おまえら運動選手のクセにこんなのも持ち上がらんのか」
とマラソン選手に言ってるようなものだ。
0944デフォルトの名無しさん2005/10/10(月) 21:35:07
>>941
そういうこと
つまりJava屋はネットワークの設定が出来なくても大して気にならないらしい
逆に、Strutsとか知らないことに異常な反応を示す
まーStrutsは知ってて当然なんだが 言いたいことはそういうこと
0945デフォルトの名無しさん2005/10/10(月) 21:36:35
>>943
そうやって、別カテゴリにしたがるのがJava屋の悪いところ
きちんと勉強して欲しい
なんかJava屋ってある程度出来ちゃった人ってそこで止まっているんだよな
0946デフォルトの名無しさん2005/10/10(月) 21:40:54
学校の授業みたいなものだ
体育だけしかできない、いわゆる運動バカ
バカも極めれば年収何億にもなるけどな
0947デフォルトの名無しさん2005/10/10(月) 21:57:01
>>945
そりゃ重量挙げもできるマラソン選手がいたって、
別におかしくないかもしれないけどさ、別カテゴリだろ。
それぞれ専門の技術が必要だし、比較するものじゃないだろ。
というか、Java屋って何だ?
0948デフォルトの名無しさん2005/10/10(月) 21:58:41
>それぞれ専門の技術が必要だし、比較するものじゃないだろ。
Javaだけ知っててそれで満足している態度が気に食わないの
0949デフォルトの名無しさん2005/10/10(月) 22:02:28
前に俺が勤めていた会社にVB6しかできない奴がいた
彼は今ごろどうしているだろうか
0950デフォルトの名無しさん2005/10/10(月) 22:03:16
>>925
Clip使ってるんだからそのまわりのAPIくらい見てくれよ
0951デフォルトの名無しさん2005/10/10(月) 22:20:57
>>950
再生を開始するまで待たせる具体的な方法を教えてもらえませんか?
>>918で確実な方法があるように書かれているんで,是非
0952デフォルトの名無しさん2005/10/10(月) 22:22:41
だからAPIくらい見ろと
0953デフォルトの名無しさん2005/10/10(月) 22:28:13
見た上で話してるのですが
もしかして釣りですか?
0954デフォルトの名無しさん2005/10/10(月) 22:32:00
初心者に対してイライラするんならこのスレに来なければいいのに
0955デフォルトの名無しさん2005/10/10(月) 22:35:48
初心者に対してイライラするのを見てイライラするんならこのスレに来なければいいのに
0956デフォルトの名無しさん2005/10/10(月) 22:40:28
>>953
static void main()の中で>>793と同じコード書いてもキチンと実行された
ボタン押下で>>793は実行されない
ってJavaSoundに関係ない問題なんじゃないのか?w
0957デフォルトの名無しさん2005/10/10(月) 22:44:41
>>953
>>950じゃないが
Clip#isRunning()がtrueになるまでThread#sleep(100)で待てばいいんじゃないか?
こんなやり方許されるのか甚だ疑問だが

line.open(ais);
line.start();
//再生開始まで待つ
while(line.isRunning())
{
Thread.sleep(100);
}
// 再生終了まで待つ
while (line.isRunning()) {
Thread.sleep(100);
}
0958デフォルトの名無しさん2005/10/10(月) 22:45:24
× while(line.isRunning())
○ while(!line.isRunning())
0959デフォルトの名無しさん2005/10/10(月) 22:47:57
JavaのマスコットDukeってなんで浸透しないんだろう・・・
Dukeグッズ欲しいな・・・壁紙とか・・・
0960デフォルトの名無しさん2005/10/10(月) 22:49:36
イライライライライライライライラン♪
0961デフォルトの名無しさん2005/10/10(月) 22:53:20
>>957
おいおい、思いっきりスワップはいってたとかあるのにsleepでタイミング取ろうとするなよ
ここへんなの教えるやつ多すぎ
private class SampleLineListener implements LineListener{
Object current;
public SampleLineListener(Object current){
this.current = current;
}
public void update(LineEvent event){
System.out.println(event);
if(event.getType().equals( LineEvent.Type.STOP) ){
try{
synchronized(current){
current.notify();
}
}catch(Exception ex){}

}
}
}
このクラスをクリップのラインリスナーに追加して呼び出し側でsynchronized(this)でwaitしておけ

やさしいな、俺
0962デフォルトの名無しさん2005/10/10(月) 22:53:30
>>959 自分で作れ
俺は *.java のアイコン、自作の duke ちゃんにしてるぞ
IDE 使ってるとちっとも表示されないけど
0963デフォルトの名無しさん2005/10/10(月) 22:56:20
それええなぁ
コレ見っけたんだけどここでつくるか・・・
ttp://mlv.lolipop.jp/mascots/duke/
0964デフォルトの名無しさん2005/10/10(月) 23:13:25
優しいですね西本さん
0965デフォルトの名無しさん2005/10/10(月) 23:17:14
西本ってだれだ?
0966デフォルトの名無しさん2005/10/10(月) 23:18:49
俺の名前出すんじゃない
木田だろ貴様w
0967デフォルトの名無しさん2005/10/10(月) 23:29:10
木田ってのと西本ってのがこのスレとどう関係が・・・
0968デフォルトの名無しさん2005/10/10(月) 23:30:26
まさか当たってるとは・・・
0969デフォルトの名無しさん2005/10/10(月) 23:34:51
木田と西本がいるってことはもうだめかもしれんね
0970デフォルトの名無しさん2005/10/10(月) 23:45:38
木田!出てコイヤ!w
0971デフォルトの名無しさん2005/10/10(月) 23:47:55
Java 木田 西本
でググってみた

18禁すけべリンク

が出てきた悲しくなった
0972デフォルトの名無しさん2005/10/10(月) 23:50:56
どんな検索エンジンだよ
0973デフォルトの名無しさん2005/10/10(月) 23:51:35
ほんとだ
エロ関係多いね

さすが西本と木田
0974デフォルトの名無しさん2005/10/10(月) 23:57:30
ちくしょう、あの野郎寝やがったな 恥かかせやがって
0975デフォルトの名無しさん2005/10/11(火) 11:28:03
質問です。
JAVAの設計理念に関係するような問題かもしれないのですが…。

例えばBaseというクラスがあるとします。
私はそれをもうちょっとだけ便利にしたいと思い、継承して色々メソッドを追加したMyBaseを作りました。

で、システムから与えられるBaseをMyBaseにすり替えようと思い。

void CallFromSystem(Base b){
this.myBase = (MyBase)b;
}

と変換しようとしたのですが、当然ながらClassCastExceptionが出てしまいます。
Baseであるbはシステム側で生成されるため、「MyBaseを作ってくれよー」という無理が効かないのですが、解決方法はありませんでしょうか。

既に生成されているものを、派生型にすり替えることができれば
例えばとあるメソッドが呼ばれた回数を履歴にとるなど出来て便利なのですが…。
0976デフォルトの名無しさん2005/10/11(火) 11:55:50
継承クラスは基底クラスを兼ねるけどその逆は無理。
その発想はありえない。

例えば、5得ナイフに3つ機能追加して8得ナイフにした。
君はその5得ナイフを8得ナイフとして使おうとしてるんだが・・
何か違和感を感じないかな?
0977デフォルトの名無しさん2005/10/11(火) 12:24:08
>>975
MyBaseに、Baseを引数にとるコンストラクタを作りなさい、んで
void CallFromSystem(Base b){
this.myBase = new MyBase(b);
}
とすればいい
派生した分のフィールド値はデフォルトを指定するなど
コンストラクタの内容は自分で考えてね

ところで西本と木田はどこにいったんだ?
0978デフォルトの名無しさん2005/10/11(火) 12:25:32
質問させて下さい。例えば以下のクラスAがあったとします。

class A{
void makeString(String str){
str = "xyz";
}

public static void main(String args[]){
A classA = new A();
String str = null;

classA.makeString(str);

System.out.println(str);
}
}

これを実行すると画面に"xyz"が出力されると思ったのですが、nullとなってしまいます。
このようにmainメソッドから、あるクラスオブジェクトの関数の引数として
渡した変数に、そのクラスオブジェクトの中で値を代入しても反映されないのでしょうか?
0979デフォルトの名無しさん2005/10/11(火) 12:29:15
>>978
多分引数のstrとクラス内のstrが同じだからじゃないかなぁと。
makeStringの引数をstr以外にしてみてはいかがでそ
0980デフォルトの名無しさん2005/10/11(火) 12:39:46
質問させていただきます。
classAからclassBとclassCという別のクラスを派生させて、
そのclassBとclassCを格納する配列を作成したいのですが、

classA [] array = new classA [2];
array[0] = new classB;
array[1] = new classC;

のようではうまい事行きません。何か良い方法はないものでしょうか・・・・?
0981デフォルトの名無しさん2005/10/11(火) 12:40:23
>>978
メソッドのクラス引数はポインタじゃないので無理。
それにStringは特殊なクラスなので、更に無理。
0982デフォルトの名無しさん2005/10/11(火) 12:54:32
>>978
引数からデータを返すんじゃなくて、関数の戻り値で返すようにしてやってみれ
0983デフォルトの名無しさん2005/10/11(火) 12:55:37
>>980
単なるsyntax errorとかだったら往復ビンタ
09849782005/10/11(火) 12:55:44
>>979
そのとおりやってみたのですがうまく行きませんでした…。

>>981
実際私が書いているプログラムではString型ではなく、自分で作ったクラスを引数にしています。
あと、メソッドのクラス引数はポインタじゃないんですか?
ではこのようなことをしたい場合はどのように書けばいいのでしょうか…?
09859782005/10/11(火) 12:59:32
>>982
関数の戻り値はboolean型で他の用途に使いたいので、できればこのような引数の形でうまくできないかと思っているのですが…。
0986デフォルトの名無しさん2005/10/11(火) 13:01:16
>>976-977
お返事ありがとうございます。
やはりラッパーを作るという方法しかなさそうですね。その方針でいきます。
0987デフォルトの名無しさん2005/10/11(火) 13:02:01
>>984
Class Data { String str }

void makeString( Data data ){
data.str = "xyz";
}
09889802005/10/11(火) 13:03:05
java.lang.Error: Unresolved compilation problem:
トークン "new" に構文エラーがあります。このトークンを削除してください。

と言うエラーが出るとです・・・之がsyntax errorなんだろか
0989デフォルトの名無しさん2005/10/11(火) 13:03:42
>>980
array[0] = new classB (); <-カッコ付け忘れ
とかだったら縦に垂直往復ビンタ
09909802005/10/11(火) 13:08:33
classA [] array = new classA [2];
array[0] = new classB();
array[1] = new classC();

にしたら通りました・・・コンストラクタには引数は入れてないんだがなぁ・・・
もしかしたらコンストラクタがある時点で()入れないといかんとかか。
とにかくお騒がせしましたー
09919782005/10/11(火) 13:08:41
>>987
なるほど!おっしゃっている意味がようやくわかりました。ありがとうございました!
09929802005/10/11(火) 13:09:20
ぐはっっ先にかかれてたっっorz

先生!縦は既にびんたじゃないと思います!!
横で勘弁してください(?
0993デフォルトの名無しさん2005/10/11(火) 17:28:03
     _, ,_
   ( ‘д‘)彡つ
    ⊂彡☆))д´)>>980
        パーンパーンパーン
0994デフォルトの名無しさん2005/10/11(火) 19:58:06
>>978
理解した後の亀レスで申し訳ないけど
1.オブジェクト変数はオブジェクトへの参照である
2.メソッドのパラメータは参照でなく値(参照のコピー)で渡される

978では参照のコピーにたいしてnewしていることになる
↓978の流れはこんな感じ
String bar = new String("abc");
String foo = bar; // 参照のコピー
foo = new String("xyz");
0995デフォルトの名無しさん2005/10/11(火) 20:06:40
そういや、参照渡しってなかったっけ?
0996デフォルトの名無しさん2005/10/11(火) 20:08:43
>>995
Javaには参照渡しは無いよ。
0997デフォルトの名無しさん2005/10/11(火) 20:14:21
次スレ
【初心者】Java質問・相談スレッド73【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1129019555/
0998デフォルトの名無しさん2005/10/11(火) 20:35:37
>>996
言葉遊びチックなのがなんとも・・・
0999デフォルトの名無しさん2005/10/11(火) 20:43:18
参照渡しは……本当に無いんだよな。
参照が、値渡しになっているだけで。
1000丁度1000できりがいいわい2005/10/11(火) 20:46:34
無いのか、不便じゃのぅ
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。