【初心者】Java質問・相談スレッド72【大歓迎】
おk
*スレルール*
・困ったらグーグル
・他人に頼らない
・回答は3ヶ月待ち
・初心者お断り
4 :
デフォルトの名無しさん:2005/09/24(土) 00:26:25
初心者お断りってことでw書きづらいんですが。。
Javaの実行画面のMS-DOS プロンプトってゆうんですかね、あの黒い画面です
この実行画面の文字をコピーしたいんですが、
右クリック→すべて選択をやると、なかなか成功せず30回くらいやってます。。orz
楽にコピーできる方法ありますか?
スレ違い
やりたいことは範囲指定-Enterじゃないの?
6 :
デフォルトの名無しさん:2005/09/24(土) 00:39:03
Enterを押すんですか。。
すべて選択してからCtrl+Cでやっているんですが、
ことごとくコピーに失敗します。。
というかスレ違いとは知らず。。申し訳ないです
次スレから以下も追加
「APIすら読めねえのか。」
∩ っ
,-―――-、
∨∨∨∨.| |
⌒ | +_(。) U | |
( = ( `T` 6)
こ ,- l ) ̄二ヽ_ノ-、
/  ̄|_|_ノ \
| | o | |
|__ | o |__|
(__ |__o___ (- )
| ∩ |  ̄
|__| |__|
⌒ (__| |__)
,−、 ( ) __
\_ ___ /⌒―、ヾ
/ \/# / # Σ| 〉 ○| ミ へ、
 ̄ | |# / #.人_〉_'±ミ/ ┌―OO
――└ ξ_ヾ /
「初心者っていえば何でも教えてもらえると思ったら大間違いだ。」
8 :
デフォルトの名無しさん:2005/09/24(土) 01:30:16
Apiってなに
読むのは API リファレンスだろう。厨臭い略し方すんな。
つか、初心者お断りなら初心者無視スレでも復活させろよ。
>>1
11 :
やっちゃん ◆jKwdOs3LE2 :2005/09/24(土) 11:57:18
eclipseなんですが、最初のヤリ方がよくわかりません。どうやるのですか?パスの設定かな?jcpad入れてると起動しないのですか?
12 :
デフォルトの名無しさん:2005/09/24(土) 12:09:01
最初のヤリ方って何よ?
もう少し詳しく書けよ
Javaパースペクティブを出したいんじゃないかな
最初ってリソースパースペクティブだし
14 :
やっちゃん ◆jKwdOs3LE2 :2005/09/24(土) 12:16:02
できました!迷惑かけてスマン
*推奨NGネーム*
やっちゃん ◆jKwdOs3LE2
最初のやり方
できた方法
すべて謎だ
やっちゃん ◆jKwdOs3LE2
17 :
デフォルトの名無しさん:2005/09/24(土) 18:57:31
vine linux3.1を使用しているのですが、
telnet で他のホストに入って、javacでコンパイルしようとしても、コマンドが認識されません。
自分のホストではいけるのにどうしてでしょうか?
パスが通ってないんだろ
インストールされていないんだろ
20 :
デフォルトの名無しさん:2005/09/24(土) 19:04:38
パスってどうやって設定するのですか?
21 :
デフォルトの名無しさん:2005/09/24(土) 19:06:53
22 :
デフォルトの名無しさん:2005/09/24(土) 21:51:08
あるフォルダのなかにあるファイル名を
全て取得したいのですがどうしたらよいのですか?
ファイル検索ソフトを作ろうとしているのですが。
どこを見ればいいのか少しでも勘が働けば
初心者脱出だな
java.ioパッケージを探そう
>>25 見つかりました
で、これからどうしましょう
夜も遅いしとりあえず寝よっか
File[] とか listRoots() とか listFiles とか
パッケージまで分かっていればクラスの説明をだらだらみてわかるだろうし、そもそも検索すればいくらでも
30 :
デフォルトの名無しさん:2005/09/24(土) 23:21:24
プログラムを書け、間違えても書け、解らなくても書け、指や
手首が痛くなるまで書け、コンパイルなんか通らないでも書け
気合で動かせ、涙でフローチャートを書け、太陽が昇るのを
見ながら書け!
あるインスタンスなオブジェクの中のメソッドが動的に他のメソッドを呼び出すにはどうすればよいでしょうか?
メソッド名をHashMap等に複数入れておいて、それに対応したメソッドを実行したいと思ってます。
よろしくです。
>>31 私、プログラマを辞めさせて頂きます。
つ 辞表
>>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() { .... };
}
わかった。鉄やで書きまくる。
VB→VCと挫折の道をたどってきたが今回は本気なんだ
俺はかならずJAVAマスターになる。
39 :
32:2005/09/25(日) 00:25:15
>>34 サンプルありがとう。
Cの関数ポインタかdelegateみたいなのがあればラクなんだろうけど、
やっぱ結構生々しいコード書かないといけないのね。
リフレクション使うのが一番楽そうだな
なんか魔法を跳ね返せそうだね
>>32 StrutsのLookupDispatchActionは、まさにそんな感じのクラス。
実装は、
>>41氏のいわれるように、リフレクションを使った実装
(上位クラスのDispatchAction#dispatchMethod()
でMethod#invoke()をやってる)
ただ、この方法は引数と返値が同じでないとできない。
まぁ、引数・返値ともMapにすれば問題ないんだろうけど、
バグの温床になりそうな・・・
44 :
32:2005/09/25(日) 03:18:32
>>43 やはりStrutsとかになるんだなぁ。Strutsすごいなぁ。
自前でMethod#invoke()をやろうとしたら漏れのスキルが足らんので、
サーブレットとは別のインスタンスになってしもた。
やはりJSP+Bean+DBのシンプルな実装って限界があるんだろうか。
生産性を上げるために新技術を学んで学習コストで生産性が落ちる、、
うーん正解が見えにくいなぁ。考え出したら負けなんだろうか。
とりあえずStrutsを勉強します。ありがとう。
32のやりたいことをやるためだけにStrutsをやるのは本末転倒のような気がするが。
46 :
42:2005/09/25(日) 03:27:02
俺へのレス忘れてるよ
>>44 仕事か?
仕事じゃないならStrutsはとばしてJSFとかその先に行ったほうが良いぞ
>>40 インナークラスつかえば十分じゃん
とか書かれているような気がするが
なんて書かれているか誰か要約して下さい>エロイ人
たしかに、型さえ一致すればどんなメソッドでも呼び出せるというのは、
Javaの保守的な立場からみると、いい加減に感じる
>>39 っつか、
>>32 の用途なら delegate あってもなくても大して楽にならんと思われ。
ビット演算は速いと聞きますが a &= ~b などと複数の演算を組み合わせても+-の一回の演算より速いのですか?
JSPでエラーが合った場合、表示されるエラー行番号が変換後のサーブレットのものみたいなのですが、
これだとJSPのどこでエラーが起こったかすごくわかりずらいです。
エラーがあった場合に、サーブレットの行番号ではなく、JSPファイルの行番号を表示させることはできますか。
>>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");
}
関数ポインタが欲しいというやつはインターフェースが分かってないやつ
わかってねぇからきいてぇンだろが
プッ
>>52 回答ありがとうございます。
JSP2.0だとJSPファイルの行番号が表示されるのでしょうか。
またJSP2.0ということは、Tomcat5.0を使えばいいということでしょうか。
みんなでJAVAの応援ソング作ろうよ
59 :
デフォルトの名無しさん:2005/09/25(日) 16:21:50
JAVAでネットワークのルーティングプロトコルをシミュレーションするにはどういうフローチャートにしたらよいでしょうか?
そんな横文字ばかり並べ立てて
かっこいいつもりか?日本人なら日本人らしくしろ
邪刃で電子空間の通信経路規約を模擬実験するにはどういう流れ図にしたらよいでしょうか?
JFrameでフルスクリーンモードから戻ってきた際、
setUndecorated(false)とすると以下の例外が発生します。
Exception in thread "AWT-EventQueue-0" java.awt.IllegalComponentStateException: The frame is displayable.
ウィンドウモードに戻るにはどうしたら良いのでしょうか?
>>62 java.awt.Component#isDisplayable() が true を返している場合は
setUndecorated()は IllegalComponentStateException を投げるとAPI仕様で決まってる。
表示不能にしてからフレームの装飾を外すしかないと思われ。
具体的にはいったん dispose() して setUndecorated(false) その後 setVisible() で再表示。
>>63 バッチシできました。分かりやすい説明ありがとう。
つーか、APIマニュアルくらいよんでくれ
マニュアル読まずに質問してるほうがアレだな。
>>63 dispose() した後、復活できるんか。シランカッタ…
70 :
デフォルトの名無しさん:2005/09/25(日) 22:57:22
javaをダウンロードしようとしたら、インストールパッケージを開くことができませんでした
。パッケージが存在し、アクセスできことを確認してください。
またはアプリケーション ベンダに問い合わせ、このパッケージが有効な
windowsインストーラパッケージであることを確認してください。 というのが
出てきて、ダウンロードできません。どうしたら良いのでしょうか??
>>66,68
前スレあたりからでてるへんな人お前か
public void dispose()この Window、そのサブコンポーネントと、その所有されたすべての子によって使用されているすべてのネイティブスクリーンリソースを解放します。
つまり、これらの Component のリソースが破棄され、それらの消費するメモリが OS に戻ります。
Window、そのサブコンポーネントと、その所有されたすべての子は、表示不可能としてマークされます。
Window およびそのサブコンポーネントは、pack または show を呼び出してネイティブリソースを再構築すれば再び表示可能にできます。
再生された Window およびそのサブコンポーネントの状態は、Window が破棄された時点のそれらのオブジェクトの状態と同じです。破棄と再生の間の追加変更は考慮されません。
>>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 が破棄された時点のそれらのオブジェクトの状態と同じです。
> 破棄と再生の間の追加変更は考慮されません。
回答できない奴は来ないでほしい
>>51,
>>57 使用するJSPコンテナによる。
Tomcat5.xなら表示されるよ。
自分のうんちくを強調したかっただけと思われw
・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()で利用しています。
84 :
32:2005/09/26(月) 00:10:20
もう少し詳しく言うと、
オフショアに近い人材(CGI屋さん定時組)を集めたWeb系案件を任される事になりましたが、
StrutsなどのJ2EEフレームワークがどれも学習コストが高いので
多少トロくても一定レベルが維持できる枠組みが必要になりました。
(ちなみに有償ツールは使えない状況)
そこでフローだけでも統一できればと思い、
JSP(View) → Sevlet(Controler) → Model(Bean)
な仕組みを極めて学習コストの少ない手法で実現したいと思ってます。
HttpServletを継承した抽象クラスをベースに考えていて、
セッション属性"action"の内容に対応したメソッドを自動的に実行させようとしてます。
jspをいっぱい作ってそこではセッション属性actionをセットし、
前述のクラスを継承したServletに<jsp:forward/>してBeanをブリブリ動せたらと思います。
それStrutsが出る前に誰もが考えてやっていた手法だよ
何も知らずにそこまで考え付くのは結構向いているかもしれない
頑張ってください
JSPが最初なの?
HTMLにリンクする感覚をイメージしたら、そっちのが能動的じゃない?
88 :
32:2005/09/26(月) 00:33:26
ServletのメソッドをPerlの関数見立てて「簡単にこう書いて下さい」って指示するつもりっす。
ざっくりと設計までやってクラス単位で作業分担する事になると思います。
環境のセットアップまでは私がやって、例の抽象クラスを継承したソースを開いて
「ここにこれこれの機能が出来るコード書いてください」ってPGに仕事振り出す流れかなぁ。
PL/SE兼任なんでテストは私がやります。
やるまえから鬱になりそうな話だなぁ。
>>32 つー話になってくると
DBアクセス部分も固めたほうがよくないか?DBあるのか知らんけど
サーブレットなんか学生のアルバイトで十分でしょ
>>90 システム的なトランザクションの話になると学生・新人は途端に設計できなくなるからね
JSP・Servlet部分だけならイイケド
92 :
デフォルトの名無しさん:2005/09/26(月) 00:40:20
JVMTIとかJDIとかを使ってVMから各種情報を得ようとしたとします。
そのときVMで動かすクラスファイルはやはり-gオプションをつけてコンパイルした
ものでないとだめなのでしょうか?
-gオプションをつけないと得られない情報があるというだけでは済まされないのでしょうか?
どなたか教えて下さい。
93 :
32:2005/09/26(月) 00:41:16
>>89 MySQL4.1が2機レプリケーションで動きます。
過去にB2Bの顧客情報のせたPerlベースのシステムでDB操作だけaxisで実装して
マシン自体を別にしてSOAP on https経由(F/Wで443番しか空けずに)で作った事ありました。
今回も結構ヤバい情報が乗っかるんでDBまわりはSOAP化してラッパクラス叩かせようかと思ってます。
みなさん、親身なアドバイスを頂いて本当にありがとうございます。
-gオプションつけてデバッグ情報取得?
何を取得したいのかいまいちよくわかんないんだけど
ロギングとかのことを言っているのか?
もしくはJMXとか?
95 :
デフォルトの名無しさん:2005/09/26(月) 00:47:00
>>94 できるのかわからないですが、実行時状態を取り出すようなことができれば
いいなと思っています。VMWareのスナップショット機能みたいな感じですかね。
後でそれをセットし直して実行すると。
>>32 DBサーバが外にあるなら(外にしか置けないもしくは他社のDBサーバ)SOAP HTTPSでもいいけど
鼻っからイントラにあるDBサーバをSOAPにより外に出すことによって逆に危険だと思いませんか?
>>95 間違いなくJMXだなそれは
-gデバッグオプションではない
>>95 オブジェクトをシリアライズしておくとか・・・
99 :
デフォルトの名無しさん:2005/09/26(月) 00:55:01
>>98 考え方としては近いですね。
ただ、プログラム側には何の変更も加えることなく、VMから内部の状態とか
オブジェクトを取り出したいんです。
こういうことがJVMではできるのでしょうか?
内部の状態参照、内部の値変更
JMXなら出来る
ただ、最初はそれなりにプログラムに入り口作る必要あるわな
一回作れば変更はないけど・・・
101 :
32:2005/09/26(月) 01:01:24
>>96 んー、あんまり話せないんですけどSOAP=DBが外部ネットワークってわけじゃないですよ。
同じセグメントのローカルネットワークに何箇所か関所としてF/Wを設置してデータの流れる経路を制御しました。
なのでSOAPいってもイントラ内で通信してるだけですよ。
セキュリティに関する意識が非常に低い学生と変わらんようなPGに
DBアカウント教えて部分的な設計とチューニングやってもらう必要があったんで
損害が発生るい
零細企業でJ2EEやろうとしても要件はころころ動くしPGは案件ルール無視とかって
日常茶飯事なんで思い切って物理的な制限をしました。
102 :
デフォルトの名無しさん:2005/09/26(月) 01:02:22
>>100 JBossとかがMBeanだったかな?とかを使ってそういうのをやっているそうですね。
ただ、そういうのもできればやりたくないです。どうにかJVMTIとかJDIで し^−^)
103 :
83:2005/09/26(月) 12:34:55
drawImageで (描画開始位置-描画終了位置)<0 となる様に指定する事で反転表示させるのって
MSVMでは出来ない?
104 :
83:2005/09/26(月) 12:53:24
自己解決しました。
1.1.8だとpng形式の画像は読み込めないようで、それが原因でした。
テキストエリアは背景色を改めて指定し直す事で対処出来ました。
105 :
83:2005/09/26(月) 13:33:27
三連投しちゃいます。
話題が変わりますが、
java2ではURLEncoderに文字コードを指定する事が出来ますが、
1.1.8ではもしかして無理ですか?
EUC_JPとしてエンコードしたいのですが、1.1.8の仕様では文字コードを指定出来ないようだし、
デフォルトでは別の文字コードで変換されているようで。
自前の関数を書くしか無い?
106 :
92:2005/09/26(月) 13:38:48
結局、-gオプションをつけてコンパイルされたクラスファイルじゃないと
JVMTIとかJDIは使うことができないという認識でよいのでしょうか。
掘り返しスマソ。よろしくおねがいします。
>>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.
108 :
デフォルトの名無しさん:2005/09/26(月) 14:39:01
コンボボックスのついたダイヤログを表示させるために、
7つの引数を持つshowInputDialogメソッドをしようしました。
このとき、「了解」、「キャンセル」ボタンが作成されたのですが、
「キャンセル」ボタンは作成したくありません。
了解ボタンだけにするには、どうしたらよいのでしょうか?
109 :
105:2005/09/26(月) 14:54:53
>>107 そもそもエンコードのアルゴリズムを知らないので
それを読んでも意味が分からないのですが・・。
変数の種類について質問です。
intやlongはなんとなくわかるんですが
byteって使う必要あるんでしょうか?なんか本の説明みるかぎりintやlongでいいような気がします。
おなじくshortもいまいち要らない気がします。
同じくfloat doubleは扱える桁が7か16の違いだけみたいですが
これもなぜ分かれてるのでしょうか?doubleだけでいいような気がします。
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;
こんな無理矢理感が否めない処理しか思いつかなかったのですが、
もっと気の利いた方法とかありませんでしょうか。
ご指南お願いします。
>>108 showInputDialog みたいなメソッド使わずに、自分で
new JOptionPane()、setWantsInput(true)、setSelectionValues()、
とか組み合わせれば良いのでは?
了解ボタンだけ出すには setOptionType(JOptionPane.DEFAULT_OPTION) だっけか?
>>110 通信を例にして考えてみてください。
int32ビット・long64ビットに対して、byte8ビットです。
16ビット程度で表現できる値を送るとすると、intは16ビット・longは48ビットも表現できる部分が余ります。
これに対してbyteなら、上位8ビット下位8ビットに分けて送れば、無駄なくきっちりスマートに送れます。
>>111 リトルエンディアンで読み込みたいって話?
ビッグエンディアンで読み込んで Short.reverseBytes(); するか
((byteData[i + 1] & 0xFF) << 8) | (byteData[i] & 0xFF)
Byte#toString() は符号付き10進数の文字列に変換するから
> intData[i] = Integer.parseInt( b.toString(),16 );
だとダメなはず。
難しいっすね。。
つまり節約みたいな感じでしょうか? 適材適所というか。
>>114 Σ(゚Д゚;≡;゚д゚)
byte扱ってるはずなのに、ビット演算失念してました。orzナニヤッテンダ
Short#reverseBytes() はMEには無いようなので、下の演算を試してみます。
ありがとうございました。
メニューバー使うとかフレームを移動させたり
とかすると画面に灰色が残ったり
メニューバーやラベルの文字が表示されたりされなかったり
するのです。これを普通になるようにするにはどうすればよいのですか?
入門書に書いてるようなものなのですが。
>>118 エスパー募集すんなよ。
OS や JDKのバージョンとか実際のソースの内容とか、
他に常駐してるソフトとか情報が全く無いのでは
何が起こってるのかわからんし答えようもない。
>>4 メニューバーの「編集」から
>>17 その「他のホスト」にJavaが入ってない可能性あり
>>119 OS 窓二千 Ver 1_04 or 1_04_02
C:\の中見たら二つあった
ソースの内容
JFrame f = new JFrame();
JMenuBar jm = new JMenuBar();
(中身)
f.setJMenuBar(jm);
f.show();
中身はただアイテムを定義してaddしてるだけです。
常駐ソフトは特にありません。起動してすぐ実行しても起きました。
122 :
デフォルトの名無しさん:2005/09/26(月) 19:32:15
>>122 よく見たら
1.4.2と1.4.2_04でした。
すみません。
実際お前らSwing可視にするときにちゃんと決められた手順スレッドでsetVisible(true)しているか?
126 :
デフォルトの名無しさん:2005/09/26(月) 20:57:25
ファイル圧縮について質問させてください。
サイズの小さいファイルや、
特定のサイズのファイル(13k程度)を対象とした時、
高い確率で、空の圧縮ファイルが作成される事があります。
ログを出力しながら確認すると、このような現象が起きた場合、
圧縮ファイルをcloseする直前では作成されたファイルはサイズがあるのですが、
圧縮ファイルをcloseした直後ではファイルのサイズが0になってしまいます。
また、2台あるサーバの内、1台だけでこの現象が起こっています。
javaのバージョンは1.3です。
何故このような現象が起こってしまうのか、
ご存知の方がいらっしゃいましたら教えていただけないでしょうか。
宜しくお願いします。
>>126 とりあえず、2台のサーバの JRE のバージョンがビルドナンバーまで同じかとか、
実行してるコードが全く同じか、とかを確認すれば?
たぶんどっちかのコードが正しくてどっちかのコードが間違ってるとかいうオチだと思われ。
それでも原因が分らなければ現象が再現する最低限のソースを晒すか、
ソース晒せないなら、物理的に近くにいる人に泣きついたほうが早い。
>>121 その(中身)なんだが、
setContentPane(myPane); とかしちゃうとうまくいかないみたいよ。
(勉強不足なので理由は知らない)
getContentPane().setLayout(new BorderLayout());
getContentPane().add(myPane, BorderLayout.CENTER);
して myPane だけに add していったとき、(つまり add( ... , ... .SOUTH) とかもしない)
はじめていい感じになることがある
130 :
126:2005/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);
}
>>130 ソース貼るのは良いんだけどさ、これで「空の圧縮ファイル」が出来るって事は確認したの?
あと、strFiles[i] とかで自分の環境にしかないファイルを読み込んでたら
他人の環境で再現できんと思うが。
空の圧縮ファイルが出来るデータを埋め込んでおかんと
(サイズだけが問題なら new byte[問題のサイズ] とかで良いんだし)
>>130 > for (i = 0; i < strFiles.length(); i++) {
コンパイルエラー
おまえらカッコイイな。ソースとかあっさり書いちゃってさ。
でもあんまりお調子にのるなよ?
あと3ヶ月もしたら俺がNO1だって思い知らせてやるからね。
134 :
126:2005/09/26(月) 22:06:58
>>131 > ソース貼るのは良いんだけどさ、これで「空の圧縮ファイル」が出来るって事は確認したの?
確認はしていないです。というより、気軽に動作の確認が出来ない環境なんです。
質問しておいて申し訳ないです。
自分のパソコンで擬似的に簡単な環境を作成して、
動作させても同様な症状は再現しませんでした。
> 空の圧縮ファイルが出来るデータを埋め込んでおかんと
今現在確認できている現象は、
サイズの小さいファイル(1k以下)で高い確率(「絶対」にではなく)で
この症状が起きるということです。
特定のファイルというわけではありません。
特殊な症状のようで、ソースにも間違いはなさそうなので、
今までにこの様にファイルに対してcloseを行ったらサイズが0になった等
似た様な現象を経験した方がいらっしゃらないかなと思いまして。
とりあえずNo1は日本にいないんじゃね
136 :
126:2005/09/26(月) 22:10:43
>>132 >> for (i = 0; i < strFiles.length(); i++) {
> コンパイルエラー
失礼しました。
for (i = 0; i < strFiles.length; i++) {
>>134 close() をした瞬間に同じファイル名で new FileOutputStream() とかしてると、
「close を行ったらサイズが 0 になる」ように見えるかもしれない。
複数のスレッドとか複数のプロセスで同じファイル名使ってたりとかしてないか?
> 圧縮ファイルをcloseする直前では作成されたファイルはサイズがあるのですが、
って書いてあるので、たぶん ZipOutputStream とか圧縮のせいじゃないと思う。
OutputStream では、一般的には一旦出力したデータを削除する方法は無いし
ZipOutputStream は OutputStream にデータを出力してるから。
ちと疑問ZipOutputStreamってスレッドセーフだっけ?
>>138 write(byte[],int,int) は syncronized されてる。
圧縮に使うバッファは ZipOutputStream 毎に生成されるから
複数の ZipOutputStream を同時に使用しても大丈夫。
140 :
ぷろぐらま6ヶ月:2005/09/27(火) 00:08:42
すいませぬが質問します
文字列の桁数チェックを行おうと思っています。
String Str = "あいう";
int i = Str.length();
で実行すると
iには「3」が格納されてしまいます。
全角だろうが半角だろうが1文字として扱われているようで困っています。
全角は2桁とカウントしたいのですが、良い方法ありませんか?
調べたけどわかりませんねんでした。。。
ご教授お願いします
>>130 関係ないかも知れんがクローズ前に ZipOutputStream#finish() を呼べ。
というかまた船頭が多くなってきた悪寒
Str.getBytes().length;
>>140 調べず書くけどgetBytesして.lengthで取れん?
>>140 Str.getBytes().length
いいかげんかぶりまくったなこりゃw
>>141 ここがお前の尊厳回復の場だから奪わないでって?
>>141 関係ないと思われ。
ZipOutputStream#close() 呼んでるなら間接的に close 内で finish 呼んでる。
BufferedOutputStream とかで close 前に flush 呼んでみろってのと同じ。
関係ないとは思うけど close 2回は意味ないね
149 :
118:2005/09/27(火) 08:32:28
JFrame作ってラベル貼って
showするだけでも同じことが
起こるので、versionを
更新してやってみます。
ちなみにsetcontentPaneは使ってません。
150 :
16:2005/09/27(火) 10:48:05
140 です
ご教授ありがとうございます。
試してみましたが、「len()を配列方byte[]で起動できません」とのエラーが出ます。
eclipseで作成しています。
すいません、単純なことなのでしょうか?
151 :
150:2005/09/27(火) 10:57:31
150です
すいませんできました。
いつもの癖でlength()としてしまっていました
Str.getBytes().length();
ご迷惑おかけしました。
ありがとうございました。
propertiesファイル読み込んだら
コンソールにこんなのが・・・
java.sql.SQLException: I/O例外です。: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=168821248)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
パスワード、IDはあっている筈なのに
何か足りないのかな?
ちなみに実環境はOracle接続にて
どなたかご教授おながい(つдT)
答え書いてあるじゃん
ORA-12505: TNS: リスナーは接続記述子で指定されたSIDを現在認識していません
原因: データベースまたは他のサービスとの接続を確立する要求を、リスナーが受信しました。
リスナーが受信した接続記述子では、リスナーに動的に登録されていないか、
リスナーに対して静的に構成されていないインスタンス(通常はデータベース・インスタンス)の
SIDが指定されていました。これは一時的な状況である可能性があります。
たとえば、リスナーが起動してからデータベース・インスタンスがリスナーに登録されるまでの間などです。
処置:
- 少し待って、もう一度接続してください。
- lsnrctl services <listener name>を実行して、リスナーで現在認識されているインスタンスを確認してください。
- 接続記述子のSIDパラメータで、リスナーに認識されるインスタンスが指定されていることを確認してください。
- listener.logファイルにイベントがあるか確認してください。
154 :
デフォルトの名無しさん:2005/09/27(火) 14:49:10
プログラムの質問してもいいですか?(チョット長いです。。。)
駄目です
?!の、NOっすか?。。
じゃあ、どこで聞けばいいんでしょう。。(−U−;)
ちょっと今まじで行っちゃいましたよっ!笑
。。。あの〜。。。 張っちゃいますね。。。:
↓のプログラムは、リカージョンを使ってハノイのタワーの解決法をかいてあります。
このプログラムより短くイタレーションを使ってハノイのタワーの解決法をかきなさい。
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);
}
}
}
宿題は宿題スレへどうぞ
160 :
152:2005/09/27(火) 16:23:31
調べてみたら、無事につながったけど
struts上でpropertiesファイルでの置くディレクトリが何処だか
わからなくなった・・・
classesでもなさそうだし・・・
>>160 ベースネームの設定によるから、一概に何とも言えない。
Struts設定ファイルの<message-resouces>要素のparameter属性の設定値はどうなってる?
162 :
152:2005/09/27(火) 16:32:05
>>161 デフォのままでMessageResources。
163 :
デフォルトの名無しさん:2005/09/27(火) 16:37:02
質問失礼します。
catch( StringIndexOutOfBoundsException e )
でエラーを捕まえました。
が、charAt等を多くの場所で使用している為、どこで落ちているか分かりません。
どこで落ちたのか特定したいのですが、どうやれば良いでしょうか?
(「○行目で落ちてる」とか出力できれば最高なのですが、、、)
>>162 言っておくが、そこにはデフォルト値なんかないぞ?
parameter="MessageResources"
とあるのなら、
/WEB-INF/classes 直下に MessageResources.properties というファイルを作成する。
日本語ロケール専用ならMessageResources_ja.properties。
java.util.ResourceBundleと同じルールだ。
>>163 デバッグモードonでコンパイルして、スタックトレースを出力。
簡単にやろうと思ったら、NetbeanとかEclipseの統合開発環境使うのがいちばん。
それでステップ実行すればいいだけ。
167 :
163:2005/09/27(火) 16:55:30
ありがとうございました。
168 :
152:2005/09/27(火) 17:05:14
>>164 Thanks
解決したのでどうもです。
169 :
152:2005/09/27(火) 17:52:59
さっきの続きでまたもう1つ問題が浮上・・・。
読み込ませているはずのOracleのドライバーがどうも読み込んでくれなくて
ClassNotFoundExceptionを吐いてしまってる・・・orz
アドバイスおながいしまつ・・・。;_;
170 :
デフォルトの名無しさん:2005/09/27(火) 17:57:52
tomcatでJNDIに登録してるんなら、server/common/libとかその辺にもclassファイルが無いと動かんな
171 :
152:2005/09/27(火) 18:08:40
>>170 現在の状況としては
ただ拡張していないJavaクラスのmainメソッド内→正常に取れる
Action拡張クラス内のexecuteメソッド内 →ClassNotFoundExceptionを吐き出してしまう
サーブレットでCSVをダウンロードするようなプログラムを作ってるんですが、
なぜかダウンロードダイアログと同時に真っ白い画面が表示されてしまいます。
元画面→CSV作成クラスはPOSTでリクエストを飛ばしてて、
ヘッダには
res.setContentType( "Application/Octet-Stream-Dummy" );
res.setHeader("Content-Disposition","attachment; filename=\"aaaa.csv\"");
を記述してます。
どこの記述がマズいのでしょうか?
ちなみにブラウザはIE6.0SP2
サーバはXPSP1+Tomcatです。
173 :
デフォルトの名無しさん:2005/09/27(火) 18:17:22
>>172 POSTした結果がCSVファイルだとしたら、サーバからブラウザに返された内容はCSVファイルとしてファイルに保存しますよね
そうしたらブラウザには何が残るでしょうか?
真っ白な画面が表示されるって事は、空のCSVファイルが送信されてるんでないの?
原因はキャッシュ設定だと思う。
175 :
172:2005/09/27(火) 19:01:23
>>173-174 ちょいと補足というか訂正です。
元画面で検索条件を入力して、それをCSV作成クラスで受け取って
検索条件を元にCSVに出力します。
ヘッダにContentTypeを記述してるのでダウンロードダイアログも上がってくるし
そこで「開く」や「保存」を押すと確かにデータも出力されているのですが、
ダイアログと同時に真っ白な画面も上がってきてしまいます。
その画面のHTMLを見ると
<HTML><HEAD></HTAD><BODY></BODY></HTML>
が勝手に記述されているのですが、
これを書き出してるのは誰なのでしょうか?
176 :
デフォルトの名無しさん:2005/09/27(火) 19:03:20
swingをつかったGUIプログラムで
paint関数で文字列を表示したりすると
メニューバーが消えてしまうんですがどうしたらいいでしょうか?
一応マウスでクリックすると描画されるんですが
>>177 paint 使うな、paintComponent 使え。
>178
速レスありがとうございます
さっそくやってみます
log4jを使って、ケースによって別々のファイルにロギングすることはできますか?
プロパティファイルを2つ作って、loggerを2つ作成し、やってみたのですが、
はじめはうまくいってるように見えるのですが、
片方のファイルにログ書き込みが発生すると、以後、
そのファイルのみに書き込まれてしまいます。
>>180 何をどうしたのかさっぱりわからんから何とも答えようがないな
182 :
180:2005/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
と分けたいんです。
183 :
180:2005/09/28(水) 00:59:27
log4jをあんま使ったことなくてカンでやったのですが、
ヘマしなければ、なんら問題のないことなのでしょうか。
それとも、log4jの作り上、上記のやり方では2つのログファイルに出力できない
のでしょうか。
俺詳しくないんだけど言わせて頂く
まず言うべき部分はaとbの各々の位置関係とかそこらじゃないのかな?
お願いだ、ログはなるべくわけないであげて、頼む。
数箇所にログ吐くシステムに携わった事あるけど、地獄ね
ログを信じられなくなるんだね、驚異的本末転倒。
わけるにしても1箇所だけは全て流してあげてくれないか
strutsで、SQLの結果を配列形のデータを
JSPに表示するような一例がなかなか見つからずに悶絶中orz
アドバイスおながいしまつ.・゜・(´д`)・゜・.
>>186 日本語を勉強してきてくれ
話はそれからだ
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;
}
189 :
デフォルトの名無しさん:2005/09/28(水) 15:13:04
>>188 ServerSocket がガベージコレクタに回収されるときに close() されてるとか?
サーバーソケットのスコープがおかしいな
>>189 ServerSocketがポートを掴んでいる状態で、GCに回収されることがあるんでしょうか?
そうすると、アプリが起動している時は常にServerSocketを参照した状態にすればいい……のか?
>>190 この書き方だと、AppliLock()メソッド内でしかServerSocketが存在しないですよね。。。
で、各画面を表示する時に、必ずServerSocketを作るようにしたんですが、
ServerSocketの作成に失敗する時と成功する時があるようです。
今度はStaticなServerSocketを作って、
アプリ起動時は常にServerSocketが存在するように変えてみたいと思います。
>>191 static にする意味無し。
190が書いた意味をもう一度考え直せ。
ServerSocketが何なのかを知っていればすぐわかると思うが。
Socketプログラミングしたことない?
>>191 > ServerSocketがポートを掴んでいる状態で、GCに回収されることがあるんでしょうか?
回収されてはいけない、とはどこにも書いてない。
どっからも参照されてないんだから普通は回収されるだろ。
問題はGCに回収された時に close されるか、だけど……
close するとも、絶対に close されないとも書いてないんだよね。SocketImpl の実装次第。
ちなみに、Sun の java.net.PlainSocketImpl の実装では finalize 時に close される。
>>192 良く考えたらStaticで作ったらダメですね。。。
常に存在してたら必ずエラーってことになってしまう。
Socketのプログラミングはしたことないんです、すいません。
APIを見たところ、
・ポートを開いてネットワーク越しの要求を待つ。
・要求があった時に記述された処理をする。
ってことだと思うんですが。
起動時のmainメソッドの中でServerSocketが作られれば、終了まで存在する……?
もう少し考えてみます。
もしヒントがあれば、どうか教えてください。
よろしくお願いします。
195 :
188:2005/09/28(水) 16:55:51
>>193 なるほど、ポートを掴んでいようが何しようが、参照されていない以上GCの対象になる、ってことですね。
だとするとあやふやな実装に頼る訳にはいかないです。
ありがとうございました。
>>181,191,194
まず最初に提示したソースだが、
そこを見てわかっているかちょっと疑問になる部分があるので
確認をしてみて欲しい
mainメソッドが一番最初に呼ばれるのか?
このmainメソッドがあるクラスをインスタンス化せずに呼んでいる。
これは問題ないとすると、
appliLockCheckメソッドは実はstaticメソッドで無いとおかしい。
まぁ書き方見るとどっかでインスタンス化しているはずなんだよな?
>起動時のmainメソッドの中でServerSocketが作られれば、終了まで存在する……?
このクラスのインスタンスがある限り終了まで存在すればいいすれば、
自ずと何処にどう書けば良いかがわかると思うが。
訂正
×このクラスのインスタンスがある限り終了まで存在すればいいすれば
○このクラスのインスタンスがある限り存在すればいいとすれば
失礼しました。
> まぁ書き方見るとどっかでインスタンス化しているはずなんだよな?
appliLockCheck に static 付け忘れただけなんでは?
200 :
デフォルトの名無しさん:2005/09/28(水) 17:26:15
200
>>199 そうすると、
if (appliLockCheck()){
は
if (Hoge.appliLockCheck()){
って書くはず
まぁ、本人じゃないとわからないわけだが。
あ、Warning無視してるのか?
> if (Hoge.appliLockCheck()){
> って書くはず
そんなんコーディング規約依存だろ。
> あ、Warning無視してるのか?
少なくとも javac では警告出ないよ。
203 :
デフォルトの名無しさん:2005/09/28(水) 18:10:24
Struts上でArrayListの中の配列を
JSPで表示しようとすると・・・
javax.servlet.ServletException: どのスコープにもBean DispenseErrorCheckActionForm がありません
と表示されてしまう。
ヒントお願いします。
>>203 >ArrayListの中の配列をJSPで表示しようとすると・・・
関係ない情報だね
205 :
203:2005/09/28(水) 18:18:17
207 :
203:2005/09/28(水) 18:48:51
>>206 豚クス。
そっちのスレのほうがよかったかもね。
ちょっとそこのスレで質問投げてみる。
208 :
188:2005/09/28(水) 19:15:11
みなさん、お世話になりました。
>>197 >>199 >>201 staticの付け忘れです。
混乱させてすみません。
で、結論から言ってServerSocketをクラスのStaticメンバ変数にし、
AppliLockCheck()メソッドからポートを掴みに行くことで何とかうまくいきました。
限りなく不正解に近い気もしますが。。。
とにかく、元のコードではAppliLockCheck()メソッドを抜けると
ServerSocketはスコープから外れて死ぬので、
ServerSocketをメンバ変数にして、インスタンス化されている間はServerSocketが生き残る
ようにしなければ、ロック制御はできない。
という風に考えたんですが、どうでしょうか。
あと、直接的な回答ではなく、考えるように誘導してくださった回答者のみなさま、
ありがとうございました。
すいませんが、あなたは最初に以下の2つの方法がありますと言って
ファイルロックの方法と、ダミーのサーバソケットを作る方法があるようだといいました
ファイルのロックはいいのですが
サーバソケットを作る方法って結構標準的なやり方なんでしょうか?
どこでそのような情報手に入れたのか詳しく知りたいです
ちょっとびっくりしましたよ
210 :
188:2005/09/28(水) 20:18:10
そのページ見る限りでは、Preference API(レジストリ)方法選ぶよ俺は
バージョンが
>Java1.1.8を使用してます。
だからなぁ。
質問です。
AWTのイベントリスナが複数ある場合、片方のイベントが発生したら他のイベントを発生させないようにするには、どうしたらいいでしょう?
ボタンアクションを動かしているときにはマウスイベントは動かさないようにする、といった感じです。
お願いします。
>>213 スマートにやるなら
removeListener
ゴリゴリ書きたいのならコールバックメソッドにフラグ制御
>>214 ありがとうございます。
removeListenerでやってみます。
自分自身のリスナー、
>>213の例ならボタンアクションを動かしてるときにボタンアクションリスナも含めて全部削除しても問題ないんでしょうか。
ボタンは setEnabled する方がいいでしょう。
押せるけど別段反応無い、っていうのより、押せないって方が分かりやすくない?
217 :
180:2005/09/28(水) 22:59:14
>>184 全く相関関係のないログなので分けました。
多分、log4jは内部情報を一部staticで管理している為の現象と推測しました。
結局、時間(とマニュアル読む気)がなかったのでlog4jの使用はやめました。
要ははログ出力レベルを整数とif句で調節してるだけのprintlnだろ?<log4j
悩むくらいなら自分で実装
219 :
180:2005/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.
と表示される場合ってあるでしょうか??
>>219 あるだろ。
Log4jのことだが
DOMConfigurator.configure()
とかちゃんとやってて出来ないのがわからん。
221 :
180:2005/09/28(水) 23:43:37
>>220 え?なぜ??
log4jは、
PropertyConfigurator.configure("a.property"); // 1
・・・
PropertyConfigurator.configure("b.property"); // 2
てな感じでやってました。
2のタイミングで、1の情報が、上書きされてしまったのではと思ってます。
ポカーン
>>221 まぁプロパティーファイル使ったのならそう書くんだけどさ、
おまえLog4jについて何も調べなかっただろ。
サンプルソース読んでわかった気になってただけだな。
プライオリティごとに別ファイルに出来るんだが、
そういう事までわかってる?本来の使い方とは違うが、それだけでも別ファイルに吐くことが出来るぞ。
224 :
180:2005/09/29(木) 00:28:16
>>223 まぁ、図星。
>プライオリティごとに別ファイルに出来るんだが、
>そういう事までわかってる?本来の使い方とは違うが、それだけでも別ファイルに吐くことが出来るぞ。
さんきゅ。
>220
219じゃないけど、>219のnot initialized.表示される場合ってありえるの?
屁理屈抜きだとnot initialized表示される場合が思い浮かばないんだけど
しかし219の初期化手段大人気ない感じだね
ねぇよ
複数スレッドがからんでたらありえるんじゃね?
マルチスレッド環境で初期化に失敗するようなヘボ言語なわけねーだろが ヴォケ
俺はスタティックイニシャライザじゃないと保証されないって思ってた。
>>228 double-checked lockingイディオムとか知ってる?
6:一見関係ありそうで関係ない話を始める
「ところで、カモノハシが卵を産むのは知っている?」
(1)クラスの初期化が終わるまで、クラスオブジェクトはロックされ、
他のスレッドはそのクラスにアクセスできない
(2)ロックが解放されるとき、そのスレッドのキャッシュはメインメモリに書き込まれる
(3)スレッドがはじめての「変数」(記憶領域)にアクセスするときは、メインメモリから読まれる
以上の3点から、初期化したスレッドと異なるスレッドが
(もうそれ以上変わらない)フィールドにアクセスした場合、
正しくアクセスできると思われる。
ダブルチェックの話は、
オブジェクトの保持するデータがまだメインメモリに書き込まれていないのに、
オブジェクトへの参照がメインメモリに書き込まれたときに
(データの書き込みの前後逆転は、最適化の余地のために残されている)、
他のスレッドから、その参照からオブジェクトの保有データにアクセスすると
未初期化状態のものにアクセスできてしまうことを言うのだと思う。
233 :
デフォルトの名無しさん:2005/09/29(木) 07:27:59
数と重さを入力すると、
数*重さ*重さ1ポンドに対しての価格 = 合計価格 が出て、
その合計価格に消費税を足した物を出力(入力した数、重さも一緒に)するというプログラムを作っています。
消費税を、7.25%に設定して、コンパイルしてみたのですが表示は「0.0725%」となってしまいます。
↓にソースを晒すので、どうすれば7.25%と表示されるのかご教授をお願いします。
234 :
デフォルトの名無しさん: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");
235 :
デフォルトの名無しさん: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));
}
}
236 :
デフォルトの名無しさん: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
final double taxRate = 7.25 / 100
>>238 7.25 / 100 をしないと、%にならないので、
合計価格がとんでもないことになってしまうのです…
いやいや釣りじゃなくて本気か?w
taxRateを7.25として使いたければ計算のときに100で割ればいいし
taxRateを0.0725として使いたければ%で表示するときに100掛ければいいじゃん
>>240 final double taxRate = 7.25 / 100 という風に、100で割っているのですが、
出力された時に、7.25を100で割った数字が出てくるので、
それを0.0725ではなく、7.25と表示出来るようにしたいのです。
DecimalFormatをいじればどうにかなりそうな気がして、色々やっていたのですが、
いつのまにか朝になっちゃいました・・・orz
>>240の言ってること全くわかってねーな
寝た方がいいんじゃねーの
>>241 ( 'A`) 人('A` ) ナカーマ
いや、いつのまにか朝になっちゃったとこだけな。
Javaでの動画再生について質問します。
今はQT for Javaを利用しているのですが、WMP形式の動画が再生できない
ため他のものを使えないという問題があります。
QTの他にはJMFなどがありますが、JMFのページを見てもJMF自体ではWMP
はサポートしていないと書いていました。
WMPは是非サポートしたい形式なのですが、JavaでWMPを再生する方法はな
にかありますか?もし知っている方がいたら教えてください。
taxRate * 100
質問者じゃないが、つまるところ>219のコードは変な事になる可能性があるってことなのね
class Foo {
static {
//ここでやればいいの?
xxx=null;
}
}
それともFoo#getInstance()みたいなのこしらえて徹底するの?
で、double checked locking がこの件にどう関係するかの説明はまだですか?
ダブルチェックとか言いたかっただけと違いますか?
めんどくさいからそれでいいや
>>246 変なコードのような気がするが
変な事にはならない気がする
旧漢字を常用漢字に変換するのは、どうやるのでしょう?
「はしごタカ」を「高」に、など。
251 :
デフォルトの名無しさん:2005/09/29(木) 13:43:40
253 :
デフォルトの名無しさん:2005/09/29(木) 20:33:42
Log4jについて教えてください。
システム上、ログファイル名を任意にプログラミング上変更する必要があります。
xmlにファイル名を記述するとファイル名が固定になってしまいます。
どのような対処法があるのでしょうか。
宜しくお願いします。
自分で Appender を作る。
255 :
180:2005/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回のみ)初めて作成されるのでしょうか??
>>255 getInstance()が呼ばれるまでSingletonクラスはロードされない。
もうちょっと正確に言うと、最初にSingletonクラスで何かしようとするまで
Singletonクラスはロードされない。例えばinstanceof演算子とか。
インタフェースとクラスのinstanceofって速度が違うの?
インタフェースでしか使っちゃダメって話聞くけど
258 :
256:2005/09/30(金) 00:10:38
すまん。今、自分で試してみたらinstanceofではロードされなかった。VM依存とかある?
Class.forNameならロードされた。あたりまえだけど。
> Class.forNameならロードされた。あたりまえだけど。
そらそうだろw
最初の参照でロードされる (初期化される) ってのは仕様とかになってたっけか?
クラスローダーの実装如何で JAR の読み込みと同時にロードも出来るし。
JDK 0.9/1.0 とか初期の実装は、クラスから静的に参照されている別クラスも
同時にロードされてたような気がするし。
クラスのアンロードの規定もなんかあったような気がするが忘れた。
static フィールドを持つクラスはアンロードしちゃだめとか何とか。
つーか、適当な話ばっかだな >> 俺
261 :
180:2005/09/30(金) 00:30:58
>>256 ありがとうございます。
Singletonクラス自体は、そのプロパティ/メソッドが参照されるまでロードされない。
従って、getInstance()コール時に、ロードされ、その際、Singletonオブジェクトが作成される。
そしてgetInstance()中のコードが実行され、instance変数がリターンされる。
ということですね。納得しました。
262 :
180:2005/09/30(金) 00:34:44
>>260 >クラスのアンロードの規定もなんかあったような気がするが忘れた。
>static フィールドを持つクラスはアンロードしちゃだめとか何とか。
おー、ここら辺の話が実に気になりますね〜。
でも、static フィールドを持つクラスをアンロードしちゃう言語なんて、
そもそもstaticっていう言葉の定義自体がちがっちゃう言語なんでしょうね。
GIF 形式の出力のサポートはまだなんかね。
>>262 1.0だか1.1の頃はstaticフィールドなんか関係なくクラスがアンロードされることがあった。
265 :
180:2005/09/30(金) 01:03:06
>>264 マジっすか??
それってバグでしょ??
勉強になりました。
>>266 どこに書いてあるかまで明確に覚えてたらそう書いてるよw
多分その下の
・(状態が失われる)静的変数。
とかが頭の片隅にあったんだろう。
以下のようなテストプログラム書いて試してみたけど、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;
}
}
>>267 その部分見ても「staticフィールド持ってる場合はアンロードしちゃダメ」とは読めないんだが。
最初からうろ覚え程度の適当話だっつってんのに
なんで鬼の首取ったかのような奴が紛れてんのか。
どの初心者スレにも揚げ足を取ることで自己の存在理由を主張しようとする派遣が常駐しています。
>>263 Mustang だと ImageIO で GIF 使えるよ。
273 :
デフォルトの名無しさん:2005/09/30(金) 02:56:49
>>241 new DecimalFormat("0.00%").format(7.25 / 100);
Java で作表ソフトを作りたいと思っています。
JTable のようなコントロールを使おうと思ってるんですが、
Windows でいうところのオーナードローみたいなことは
できますか?
罫線とか網掛けとかを表現したいもので。
>>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));
としてやればいい。
279 :
デフォルトの名無しさん: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)
280 :
デフォルトの名無しさん:2005/09/30(金) 17:16:11
>>279 -Xoss<size> 任意スレッドの最大 Java スタック・サイズを設定します
-Xss<size> 任意スレッドの最大ネイティブ・スタック・サイズを設定します
StackOverFlowを起こすのはJavaスタック
JInternalFrame でアプリケーションを作りかけてて、メニューかボタンで
タブブラウザのような UI に切り替えたいんだけど、JInternalFrame の
タイトルバーやボーダーって動的に消す方法ありますか? 何か良い方法ないかな?
ちょうど俺も俺なりにつくってるところだ。
各 JPanel を JInternalFrame から剥奪して JTabbedPane に載せかえて、
JDesktopPane ごと差替えればいい
>>282 うーん、やっぱりそんな感じになるのかなぁ。俺も途中まで作りかけてて、
CardLayout で JDesktopPane と JTabbedPane を切り替えて、ついで
トップの JPanel を remove→add とか。でも JInternalFrame に仕掛けた
JInternalFrameListener への通知どうしようかとか、JTabbedPane じゃ
タブを消すボタンをどこかに作らなきゃとか、考えてたら、タブ部分だけ
自作して JInternalFrame のタイトルバーと境界線を消して重ねた方が
設計は楽かな、と思ったしだいで。
284 :
やっちゃん ◆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 個
こうなっちゃいます。誰かパッケージのヤリ方教えて下さい
285 :
やっちゃん ◆jKwdOs3LE2 :2005/09/30(金) 18:40:41
解決しましたwwwすみませんでした
286 :
デフォルトの名無しさん:2005/09/30(金) 18:47:15
>>280 「-Xoss」としても「-Xss」としても、両方指定しても変化ありません。
コマンドは例えば下のようにしています。
java -Xss10m Hoge
287 :
デフォルトの名無しさん:2005/09/30(金) 18:54:22
スレ違いかもしれませんが、質問していいでしょうか。
ネットワークのループバックデバイスってwinXPでは標準装備じゃないんでしょうか?
また、この機能はJAVAやCで自作可能なんでしょうか?
ワロスw
javaではexeが作れないんですか?
作れるけど特殊なコンパイラになる。探すが良い。
GCJ
ループバックデバイスのドライバでもつくるか
293 :
275:2005/09/30(金) 23:04:04
>>276-277 勉強になりました。
swing でオーナードローっぽいことできるのは
わかったんですが、swt でも同様のことを可能にする
コントロールありますか?
(教えて君ですみません)
eclipseとかってjavaでできてるんですよね。
そういうのもそのGCJって奴で作るんですか?
奴はexeの中でjava -jar [option] eclipse.jarみたいなことしてるだけ
多分
最近eclipseが使いにくいと思い始めてきた
NetBeansいいよ、個人的に
javaでソフト作って配布しても
.jarじゃハァ?ってなりそう
>>297 バッチファイル起動でコンソールも出っ放しとかのアプリが氾濫するjavaだからOK
画面非表示の透明exeとか使えばいいじゃん。
exeからsystem("java -jar SUGEEE.jar");とかしてみたら?
linuxのどれか知らないけどgcj使用のeclipseがあるとか
tomcatもネイティブとか聞いたけどどれだろ
>>301 つまり別の言語で.jar実行用のプログラムを作れということですか。
>.jarじゃハァ?ってなりそう
そんなこと気にするのはJava開発者ぐらいだ
>バッチファイル起動でコンソールも出っ放しとかのアプリが氾濫するjavaだからOK
「氾濫」って悪い意味で使っているのか?
「バッチファイル起動でコンソールも出っ放し」のどこがいけないのか・・・
複数ウィンドウ開いてるのにひとつだけゴミ蒔き散らかしてたらヤだろw
>>304 exeじゃないと、
ユーザがこれをプログラムだと
認識してくれないということです。
ショートカットの名前にexeを付加して下さい
>複数ウィンドウ開いてるのにひとつだけゴミ蒔き散らかしてたらヤだろw
たとえがよくわからん
文脈からして「複数ウィンドウ開いてるのに」は関係無さそう
関係あるだろゴミのつもりで消したらプログラムが終了しましたってなんじゃそりゃ
>exeじゃないと、
>ユーザがこれをプログラムだと
>認識してくれないということです。
まったくもって意味が分からん
exeであること、jarであることを一般ユーザにわざわざ見せる必要ないじゃん
マジで意味分からん
「ゴミのつもりで消したら」
↑の言いたい事は分かるが、
最初の
「ゴミ蒔き散らかしてたら」
と、つながらない
exeはプログラムと知っているけど
ごみウインドウを消すとアプリが落ちることに驚く、スキル不明のパソコンユーザ
つながらないって思ってるだけだろw
jagoとかexeでごまかしてるな
>>313 実際.jarなフリーソフトとかあるんですかね。
てかJavaのフリーソフトってアプレットとEclipseしかしらない
そのjagoってやつがJava製なんですね。
物理シミュレーション作ろうと思ってるんですけど、
といっても、おもちゃっぽい感じのですけど、計算量はかなりありそう
Javaじゃやっぱダメですかね
>>318 OSネイティブの実行ファイルをJavaを介してGUI化し、その起動に実行ファイルを使う離れ業だったとおもう。
よく分からんが凄そう。
全くわからんけど凄そう
jagoってのは碁を遊ぶゲームで、思考ルーチンは無く、ただのGUIの碁盤。
でもインストーラがあったり、実行ファイルから起動したりする。
そしてgnugoというこれまた実行ファイル形式の碁エンジンをホストにさせて対戦できる。
>>319 大丈夫、当分はJavaの限界が来る前にお前の限界に当たるよ
Javaが良いのか悪いのかその時考えれば良い
依存性のないCコードならJITに対応できるようにして欲しいな
バッチファイルの中で java でなく javaw で起動すればコンソールは出ないだろ?
それとも直接バッチファイルをダブルクリックしたらこれでも出たっけ?
ファイル貰ったんですけどどうしたらいいのか分かりません。
そのファイルには拡張子が bat class MF のものが含まれているんですが、
どうしたら実行できますか??
328 :
窓際に追いやられた素人さん:2005/10/01(土) 09:49:50
現在、荒らし対策でクッキーを設定していないと書きこみできないようにしています
ってこのまえ別のスレで書き込もうと思ったらでたんですけどクッキーって何ですか?
小麦粉バターとか
>>328 ブラウザーがWebサーバより受け取った情報を一時的/永続的に記憶していく方法だな
詳しい事はRFC2109を見ると良い
331 :
デフォルトの名無しさん:2005/10/01(土) 10:23:10
>>306 普通のユーザーは拡張子すら気にしませんからー
エライ限定的な「普通のユーザ」だな。
.NETだとクリックすれば必要なもの全てインストールしてくれるのにね
実際Javaで組んだソフトはどうやってリリースするの?
.classファイルを配布するんじゃないんだ・・・
拡張子はみえないしね
うちはNSISでインストーラー作ってる。起動用ショートカットの登録とか
プライベートJREのインストールとかもやってるから普通のWinアプリとなんら変わらん。
少なくともjar単独配付はVMパラメータの設定とかちゃんと出来ないし実用にはならないね。
JWSは複数環境対応の仕事やったことないしよくわからん。
>>335 .class のままで配布するくらいだったら、フツーは jar で固める。
つか、他人がどうやってリリースしてるか参考にしたらよくね?
>>337 それが現実的な解だと思う
俺はずっとそうしてきてるが問題が出てない
HDDは確かに食うけどB5ファイルサイズノートでも60GB〜が普通になってきてるし
サイズに関しては文句言われなくなってきた
昔はJREも大分小さかったけどねー
1.4も今見ると5.0に比べてすごく小さいと感じる
340 :
デフォルトの名無しさん:2005/10/01(土) 13:52:50
35才、ダメダメプログラマーです。
今までJSPとサーブレットで開発してきたんだけど、
最近『フレームワーク』『DIコンテナ』『AOP』を使うとかなんとか
上が話しているのを聞きました。
基本的にJAPやサーブレットと全然違うものなんでしょうか。
>>340 サーブレットJSPもTomcatとかいろんなサーブレットコンテナの上で動くでしょ?
サーブレットはWEBアプリに特化したフレームワークを提供するコンテナ
つまりすでにフレームワークは触っているということ
DIコンテナはロジック部分のコンテナ
シンプルなEJBだと思っていい
AOPに関しては必要になったとき覚えればいい
コアのロジックに対して使う技術ではないし、なくてもいいmのだと俺は思ってるが
んで、最近EJB3がDIコンテナのようにシンプルなのが追加されてるのが注目されてるところ
DIコンテナは使うライブラリによって操作抱負とかがばらばらでコンテナ依存してしまうのが
問題になyりやすかったけど、EJBということで標準化されればOracleだろうがIBMだろうが
JBossだろうが動く、って話ね
>>340 「フレームワーク」は「ライブラリ」と逆の概念
フレームワークは貴方のコードを呼び出し、貴方のコードはライブラリを呼び出す。
JavaのAWT/Swingだってフレームワークで、
例えばいつpaint メソッドが呼び出されるかは自分で制御するわけではない。
フレームワークは、当然ながらそのままでは自分が何を呼び出すべきか分からないので、
予め、なんらかの仕様(インタフェース)を実装したオブジェクトへのアクセス方法を
登録しておく必要がある。
この、仕様と実装の分離という機能を抽出したものが、「DIコンテナ」
(フレームワーク→ユーザ実装、という制御の流れに限定しない)。
「DIコンテナ」は、ここ2,3年流行りっぽい(?)。略して「ダイコン」(大根?)と呼ぶらしい
「AOP」は、アスペクト指向プログラミングの略で、
オブジェクト指向とは互いに”横断”的な関係らしい。
オブジェクト指向は、そのオブジェクトに関連付けられた操作を内部に配置するが、
その操作が固有のオブジェクトには強く関連せず、むしろ、
例えば外部のクラスの静的メソッドを作って、みんなでそれを呼び出せばいいじゃないか、
みたいに感じたら、そこが「AOP」という概念が導入されたきっかけだと思う。
が、むしろ使い方・利用の方法が未成熟であるという話も昔聞いた。
利用方法としてログやプーリングくらいしか、パッと思いつかないし。
私も、35才っぽいダメダメプログラマー
最近、やっと Javaのお仕事貰いました。サーバサイドの仕事は回ってこないし
343 :
342:2005/10/01(土) 15:55:39
AOPについての自己レス
呼び出される方でなく、
呼び出す方(場所、方法)を別のところに定義するのがポイント
普通は、
hogehoge();
と書かなければ、hogehoge は呼び出されないが、
そこを無理やり呼び出す。
扱い方によっては滅茶苦茶になるので、
ロジックに影響を与えないログやプーリングなど以外への
適用方法は思いつかない。
あとのことは識者にお任せ
AOPの醍醐味はトランザクションだ!
と自負する
DIに関してはJavaでは今後どんどん使われていくと思うよ、デバッグや単純な機能追加にも使えそうな感じ
中間コードを馬鹿にしてきた奴らが驚くような使い方が出来そうw
346 :
デフォルトの名無しさん: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);
}
}
> DIコンテナはロジック部分のコンテナ
> シンプルなEJBだと思っていい
でたらめもいいところだな
348 :
デフォルトの名無しさん: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();
}
}
}
}
349 :
デフォルトの名無しさん:2005/10/01(土) 18:12:10
こういった場合PrintNumberクラスのフィールドは
スーパークラスであるValue型の変数objということになるんでしょうか?
クラス型の変数というのがいまいち理解できないのでどうか教えてください。
> こういった場合PrintNumberクラスのフィールドは
> スーパークラスであるValue型の変数objということになるんでしょうか?
???
> > public class PrintNunber extends Thread{
PrintNumber と Value には継承関係はないみたいだが。
351 :
デフォルトの名無しさん:2005/10/01(土) 18:22:54
ポリシーファイルでCodebaseのURLにjarファイルのパスを与えることはできるのでしょうか?
(一応やってみたら駄目だったのですが、やり方が間違っているかもしれないので一応質問)
教えて下さい。
また、もし駄目だったら、Jarファイル内のクラスにPermissionを適用するにはどうすればよいのでしょう?
(jarファイルの置いてあるディレクトリを指定してみたところ駄目なようでした)
>>347 フレームワークも分からない初心者に説明するのに一番わかりやすい説明ではないか?
もしかしていろんな掲示板で暴れるS2の人?
353 :
349:2005/10/01(土) 18:25:26
失礼しました。
そういえばそうですね・・・。
ということはどういうことなんでしょう・・・。
Value型というものがあるのでしょうか?
それともクラスVlueのオブジェクト参照なんでしょうか?
>>349 かいつまんで言うと、一文字目が大文字はクラス(型)、小文字になったらインスタンス(変数)
355 :
デフォルトの名無しさん:2005/10/01(土) 21:26:58
Javaの入門書を一通り読んだのですが、本を読みながらでも
プログラムを書ける気がしません。今後どのようなことに
重点を置いて勉強すればよいのでしょうか?
あとクラスライブラリのドキュメントがかなり意味不明です。
ドキュメントのための「辞書」的なものはあるのでしょうか?
何も考えずにPHPから始めたほうがいい。
ある時、分かるようになるから。
急いでいるならあきらめれ。
357 :
デフォルトの名無しさん:2005/10/01(土) 21:41:26
>356
PHPとはHypertext Preprocessorのことでよいのでしょうか?
ぜんぜんおもしろくない
なんか足りない
>>355 プログラミングの入門書といわれている物の殆どはプログラム言語の文法(プログラムの書き方)については説明するがソフトウェアを作る方法は説明しない
ソフトウェアのライフサイクルを考えるとプログラミング(コーディング)は全体の内の半分にも満たない作業に過ぎない
プログラミングについて一定以上のスキルを得られたと思ったら次は設計手法について勉強をするべき
>360
プログラミングができてない人に
「プログラミングについて一定以上のスキルを得られたと思ったら」って話しても
意味なくね?
>>361 プログラムを書けないのが設計を(無意識に)できないのかどうかはこちらからは全く解らない
無駄に余計な知識を入れるくらいなら理想論でも設計技法に走ったほうが良くないか?
363 :
355:2005/10/02(日) 01:12:04
いろいろすみません。
Javaのプログラミングに関してはフィールド、メッソド
やクラスライブラリの利用など基本的なことは理解しましたが、
その先が見えてこないのです。
364 :
デフォルトの名無しさん:2005/10/02(日) 01:57:07
すみません、既出なのかもしれませんが、
色々検索しても分からないので教えてください。
J2SE SDKをサンのhpからダウンロードしたのですが
インストールできません。なぜでしょうか・・・。
その文章だけでは理解不能
>>364 あんたの環境がわからないけどダウンロードしたファイルが壊れてるんじゃない?
367 :
364:2005/10/02(日) 03:07:46
れすありがとうございます。
ダウンロードしたファイルが壊れてるってことは、
私のダウンロードのやり方がおかしかったってことでしょうか?
また、環境とはなんでしぉうか・・・って、
なさけないしつもんですみません・・・。
デスクトップに表示されているショートカットをダブルクリックしても、
error reading setup initialization file
とでてしまいます。
>>367 確実に壊れてると思う
PC内にあるファイルのサイズはダウンロードサイトに書いてある数字と一緒か?
369 :
:2005/10/02(日) 06:07:17
JEditorPaneじゃなくてdllをつかったIEコンポーネントをウェブブラウザコントロールのライブラリみたいなのが(Swing)で使えるのがあると聞いたことがあるような気がするのですが、もしあるなら名称かそれに関するホームページアドレスを教えていただけないでしょうか。
370 :
:2005/10/02(日) 06:09:38
すいません、日本語がへたで意味がわかりにくかったです。
IEコンポーネントをJavaプログラムからつかえるようにするライブラリがあると聞いた気がするのです。Swingから。
>>369 JDIC の Browser コンポーネントか?
372 :
369:2005/10/02(日) 06:47:46
>>371 それでした。どうもありがとう。
でも今はJDICの公式ページが落ちてる。
カーソルを、setCursor()メソッドとかで
自作のアニメーションカーソルに設定できないでしょうか?
374 :
デフォルトの名無しさん: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);
}
}
375 :
Java初心者:2005/10/02(日) 12:12:47
CSPGenという名前のパッケージにVariable.java、BinaryConstraint.java、Problem.javaを入れました。
一括コンパイルの仕方がわかりません。
親ディレクトリからするのでしょうか?
コマンドをおしえてください。
>>375 yes CSPGenにクラスパスを通せばok
377 :
Java初心者:2005/10/02(日) 12:20:56
ありがとうございます。クラスパスの通し方をおしえてください
>>374 そのメソッドどこに書いてるの?
イベントディスパッチスレッド以外からさわるときは
ちゃんとinvokeLaterすれ
SwingUtilities.invokeLater(new Runnable(){
public void run() { クラス名.this.console.setText("Now Parsing : " + line);}
});
379 :
374:2005/10/02(日) 12:39:35
>>378 レスありがとうございます。
ビックリするほど、貴殿が仰ることが理解できませんが、
このメソッドはmain関数を書いているファイル中に、
別クラスで書いています。察するに、Actionリスナーで
処理を振り分けるメソッドをイベントディスパッチスレッドと
考えると、それ以外からまた別メソッドを呼ぶ・・・うぁああ
うーん、意味不明。。もう一度、本を読んで、
そのinvokeなんちゃらとかを勉強してみます。
やりたいことはどちらかといえばinvokeAndWaitだろ
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);
...
}
}
>>381 for(int i=0; i<foo.length; i++) {
foo[i] = new Foo();
}
383 :
381:2005/10/02(日) 16:19:17
>>382 できました。ありがとうございました。素早い回答に感謝します。
384 :
UDP:2005/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();
}
}
}
385 :
UDP:2005/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();
}
}
}
>382
つかぬ事をお聞きします、
それって1.5でもそうしないとダメ?
1.5未開拓なので何の根拠もないんですが、気になって
387 :
デフォルトの名無しさん:2005/10/02(日) 17:05:01
これからJAVAを基礎から学ぼうと思っていて、購入した参考書がJAVA1.4というバージョンに対応してました。
しかし聞いたとこによると、今の最新のバージョンはJAVA1.5らしいのですが、基礎を学ぶという点だけなら、JAVA1.4でも問題ないでしょうか?
ちなみに購入した参考書は「独習JAVA」で、基礎というのはこの本に書かれている内容のレベルを指すとします。
> 基礎を学ぶという点だけなら、JAVA1.4でも問題ないでしょうか?
大まかに、問題はない。1.4対応で学習して、1.5(5.0)でどこが変わったかを
差分として勉強する方法もあり。
ただし、Java SE5.0で非推奨になった記述方法やクラスなどがある。
JDK1.5の環境でその本の内容を試すとコンパイル時に警告等出るよ。
javaで使える構文解析器ってありますか?
391 :
390:2005/10/02(日) 17:42:36
そのプログラムは Windows XP + jre1.5.0_02で動作するのは確認できました。
確認した手段は2つ
コンソール上に "IPv4からIPv6に移行する"を送信しました というのが表示される。
netstat -sp udpv6 で Datagrams Sent と No Ports の値が増えている。
今までPerlとVBの仕事ばっかりだったのですが、
Javaの仕事が入ってきたので、Javaを覚える事になりました。
プログラムの根本は一緒だと思って受注したのですが、
上記プログラムと結構違って取っ付きにくいとかありますかねぇ?
さっき本を購入して変数に代入とか見てみた限り、
何とか大丈夫かなぁって甘い考えを持ってしまったんですが・・・。
同じような順番でJavaを覚えた方居たら、アドバイスキボン
オブジェクト指向は大丈夫か?
継承やポリモーフィズムでつまづかないようにね。
395 :
393:2005/10/02(日) 18:35:27
>>394 やっぱりそこですよね・・・。
取り合えず、プログラムがどんどん違う場所に飛んでいく感じで開発してれば
オブジェクト指向に近づいてるのかなぁって変な理解してるので、まずはココからですね・・・。
>>393 オブジェクト指向な考え方が無い人がいきなりオブジェクト指向+Java言語で開発を同時にやろうとすると結構はまる
とりあえずはJavaは構造型言語だと思って道具としてのJavaとJavaの環境を覚えてしまうのがラク
その後ゆっくりオブジェクト指向を勉強していけば良い
どんな仕事か知らないがgive upして予算無しのまま別会社へ丸投げとならない事を祈る
発注元悲惨だね
398 :
393:2005/10/02(日) 18:44:03
何かかなりヤバそうですね(^^;;;
取り合えず
>>396さんのやり方で頑張ります。
>>397 気合で完成はさせる・・・つもり・・・・・・なんだけどね。。。
Javaってダブルクリックして起動させるようなソフトって作れますか?
一々コマンドラインからjavaコマンド打たせるのってなんか変な気がして
>>399 jarファイルにその機能がある
jreをインストールしてないとダメだけど
ちなみに外部のjarを参照する事も可能らしい(個人的には上手く行った事が無い)ので大体の用途に使える
javawでbatファイルつくってそのショートカットでええやんけ
>>400 なるほど,よく見るjarってそういう役割を持ってたんですね
文字列の大きさきっちりのRectangleを取得する方法はありませんか?
>>395 > 取り合えず、プログラムがどんどん違う場所に飛んでいく感じで開発してれば
goto 文が使えなくても、
メソッドの終わりで他のメソッドを呼び出すことを繰り返す事により、
根性で?ほぼ同等なスパゲッティーなプログラムを作れることに
驚いた経験がある orz
405 :
デフォルトの名無しさん:2005/10/02(日) 21:24:06
new って、C++と違ってオブジェクトそのものが返されるって感じでいいのか?
じゃあC++のnewは何返すの?
407 :
デフォルトの名無しさん:2005/10/02(日) 21:45:24
408 :
デフォルトの名無しさん:2005/10/02(日) 21:48:24
てことは、結局、ポインタが返ってくるのと同じ感覚でOKなのだな
>>408 実体はどっかで適当に出来ていていらなくなったら、GCで消えてくれる
>>403 GlyphVector などを使えばよろし
LogicalBounds と VisualBounds とあるから、
自分でそれぞれ描画してみて確認するよろしあるね
2D がいやなら、
FontMetrics から ascent, descent, height, stringWidth を計算して自分で作るしかないと思うあるのことよ
しぇしぇ
411 :
デフォルトの名無しさん:2005/10/02(日) 22:33:38
Shift_JISで記述されたWebページのデータをJavaで取得したときに、
チルダ"〜"が化ける問題はどのように解決しればよいのでしょうか?
また、こちらからShift_JISな掲示板などへ”〜”を含んだ文字列をPOSTして
正しく”〜”が表示されるようにしたいのですが、どのようにすればよいのでしょうか?
MS932やWindows31JってのがWindows用のマッピング
SHIFT_JISは汎用SJISを返す
413 :
411:2005/10/02(日) 23:40:33
414 :
UDP:2005/10/03(月) 00:29:10
>>390 助言ありがとうございます。私の環境はwin2k、java1.5です。IPv6のモジュールみたいなのを
インストールしたので、対応していると思ってましたが大分詰めが甘かったようです。
今から確認してみますね。本当にありがとうございます。
>>396 >
>>393 > オブジェクト指向な考え方が無い人がいきなりオブジェクト指向+Java言語で開発を同時にやろうとすると結構はまる
> とりあえずはJavaは構造型言語だと思って道具としてのJavaとJavaの環境を覚えてしまうのがラク
> その後ゆっくりオブジェクト指向を勉強していけば良い
>
> どんな仕事か知らないがgive upして予算無しのまま別会社へ丸投げとならない事を祈る
まってくれ
>>393には時間とコストをかけてでもしっかりとオブジェクト指向を理解して
オブジェクト指向でしっかりとコーディングしてもらいたいぞ。
以前Cしかできない奴がJava + Servlet + Velocityをやり出して
Velocityまで使えるほどになったことは大したもんだと思えたが、
それが実体を見るととんでもない現実がコードとなって現れた。
そいつはすべて一人でコードを書いたが、
それを引き継ぐことになったうちのバイト先回やでは
社員がそれで苦しむ羽目に。漏れも参加したが
もうさすがにウンザリした。そのコードを一人で書いたそこの
会社の人間を恨んだ。社員一人の会社で社長をやっている
名前も顔も知っているがためにそいつに出会ったらぶん殴ってやりたいくらいに
恨んだ。同時に、普段から社員から嫌われている、取締役も兼ねた糞営業を恨んだ。
そのコードを我らエンジニアと相談もせずに金払って買い取って
しまった糞営業に対する恨みがさらに増大した。
>>396 取締役糞営業よりも低い立場にいるマネージャも○○さん(糞コードを書いたムカツク香具師)の
せいでめちゃくちゃだと愚痴をこぼした(本当はというと取締役糞営業のせいでもあるが口にはできないようだ)。
オブジェクト指向をしらない、あるいはオブジェクト指向を勘違いしている
とああいうコードになることがよくわかった。よくある、ひたすら継承さえすれば
拡張性と再利用性が上がると勘違いしてオブジェクト指向しているつもりになっている
イタイ奴だった。40代の男が書いたコードで、一つのServletクラスは数万行、
ひとつのServlet内に100近くのメソッド、そしてservice(), doGet()メソッドの行数は
5000行を超えた。もうむかついた。しかも他のメソッド/クラス名の命名方法は
まずXServletというクラスがありそのServletにちょっと機能を追加するかテスト用
クラスをつくるたびにXServlet2, XServlet3という命名を使っていた。
メソッドも同様に、あるメソッド名が doX()だとすると、それにちょっと機能を
加えたメソッドの名前はdoX2(), doX3(), doX4() もうむかついた。ざけんなと。
コードの解析だけで何週間もかかった。本当は1週間以内に完成させるという
納期を取締役糞営業が勝手にきめてしまったのも問題だが、
そういうコードを書いて高い金貰ってる40代の社内一人社員社長がかなりウザかった。
もし漏れがこの会社の社員だったらそいつのクビを締め上げてやりたいくらい。
>>393がその40代オヤヂと同じようなバカをしてそのコードを他人に丸投げなんて
ことをしないことを祈る。というか、そういうバカなことをしてうちのところに糞コードが
投げ込まれたしたらぶっ頃しますよ。
>>393, 覚悟はいいか?
>415
むちゃくちゃ気持ちわかるぞ!!!俺はついこないだまで
丸投げられて半狂乱してた
String a1, a2, b1, c1,c2,c3, ......;
<%
if (a1 == c2)
s = null %><table><%
else if (e3 <= e1)
%>
・
・
絶句。こんなんばっか、何をしてるのか全く予想できないjsp。
変数!!おめーはエクセルか!!っあーーぶり返してきたうぜえ
Servlet数個に対しjsp数百。さらにはセッションのない世界。
各々が独立して近い事をしてる。絶句。
コメントにあった名前全部覚えてるからな!!
次目にして同じ惨状だったら家つきとめて燃やす!!
>393
コード書くよりも他人の書いた読め。じゃなきゃ覚悟いいな?
ウィンドウを自動的に最小化したり元に戻したりする方法があればご教授ください。
Robot以外の方法でお願いします。
>>416 オブジェクト指向以前にcのコードとしてもおわっとるぞ。
愚痴はマ板で
概してそういう輩ほど、なぜか人に取り入る能力に長け、人から尊敬されている。
そして、まともなプログラマーを無条件に目の敵にするんだな。
やってられん
客観的に見れば
動くプログラムは作った「以前Cしかできない奴」=できる人
すでに動くプログラムの引継ぎに手間取ってる
>>415=駄目な人
じゃ辞めろよw
>>422 だからそれのどこが客観的なんだ。
どうみても一面しかみていない主観的意見だろう。
動くプログラムを作って動いたはいいが、
それをリニューアルすると動かないっていうのは
明らかにCしかできない奴の問題。で、そんなのが「できる人」
だとみなすのは問題外。
引き継ぎがうまくいっていないのは営業にも問題がある。
しかも時間がないから解析せずに即座に実装しろととせかしている。
この悪循環だ。部屋を整理整頓せずにいきなり作業しろと
おしつける営業がいるのだ。
まったく同じ環境下なら問題ないが、
拡張に手間取るのはあきらかに「Cしかできない」作った奴のほうが駄目な奴だ。
>>421 正体がばれるにつれて尊敬されなくなってくるよ。
ことの発端は営業に問題があるとも言えるが。
営業がそんなバカを相手にしなければ引き継ぎ人は
こんなに苦労しなかった、とね。
>>424 ならそれを周りにわかるように説明すれば評価は逆転するんじゃない?
できないなら
>>422の通りじゃないかな
フリーでやってたときは火消しを何回かやったが
-まあ当然ソースなんかぐちゃぐちゃなわけだが-
>>424みたいなアホなこといってたら仕事にならん。
まあ、ソフトウェアの技術を磨きたいなら
仕事にせず、趣味でやれってことだな
>コードの解析だけで何週間
もかかるようなやつは趣味でやっても駄目だろ。
んー趣味でやってたらデータベースなんて使う機会なんてないな。
クラスタ構成や分散コンピューティングや、SAP なんかとかも無縁だし、
せいぜい自宅で鯖立てて正規化も イラネー ようなテーブルで遊ぶのが
関の山かと。
しがらみのないプログラムを作りたければ、余った時間でプロジェクトで
使えるツールでも作るこったな。
余るどころか足りないし、
足りないのに次の仕事が来る orz
丸投げされて切れてる香具師は、その丸投げ断ればいいだけでは無いの?
>>393の会社のように仕事で覚えるのが一番って会社もかなりあると思う。
会社にとってそれが一番効率的で、教育時間も無駄にならんからね。
確かに丸投げで濡れも痛い目見てるから、おまいらの気持ちは分かるが、
自分が一番上に立ってみて、
>>393の会社のようなやり方が一番効率的だと実感した。
>>393が結果的に上手く出来るか、丸投げで放棄するかは分からんが、
何とか頑張って丸投げにならん事を祈りたいね。
>>393の飛びまくるってのが、gotoで飛びまくってるつもりで書いてるのか分からんが、
違うならとりあえずオブジェクト指向に近い段階にはいると思うぞ。
ガンガレ
技術者が飛びまくる(夜逃げしまくる)んだよ
// ここまで読んだ
>>427 どっちがアホなんだおまいと営業がアホだ。
お前の発言は人を殺すという行為をまるで正当化しているかのような発言だ。
436 :
デフォルトの名無しさん:2005/10/03(月) 11:28:46
>>429 スパゲティコードに加え
使うか使わないコードや重複コードが大量にあると
解析に時間がかかって当然だろうが。
しかもディレクトリやURLも絶対パス文字列に
なっていて環境移行にかなり手間取った。
EcipseのCall Hierarchyを使ったらどこからもアクセスされていないメソッド/クラス
が数百も見つかった。テストコードもJUnitを使わず、実環境に混ぜて書いている。
パッケージ分けも分割統治もできておらずとんでもなくいい加減だ。
こんなコードを書く奴のどこがまともでできる奴なんだと言いたい。
しかもそいつのコード、Eclipseの警告該当項目をすべて有効にしたら
警告数が10万件を超えたんだぞ。
それにCheckstyleプラグインによる警告数を加えたらEclipseがフリーズするくらいだ。
>>430 > んー趣味でやってたらデータベースなんて使う機会なんてないな。
あるある。
何もかもデータベースで管理すると非常に楽だ。
趣味でやってたらBREW製品を作って公開することができない、
ハードウェア開発のノウハウを手に入れることができないというのは
非常に残念だが。
438 :
デフォルトの名無しさん:2005/10/03(月) 11:33:20
>>432 > 丸投げされて切れてる香具師は、その丸投げ断ればいいだけでは無いの?
営業が頑固で言うことを聞かないとそれすらもうまくいかないようだ。
無能な営業は何も相談せずに勝手に独断で「できます!」といって
勝手に納期を決めるから皆デスマーチで徹夜で土日も無い。
そして納期が迫って「時間が無いからデバッグするな! JUnitを使うな!」
という悪循環を促すような指示までする始末。もうアホかと。
おまいら、続けたいならマ板行ってくれ。
440 :
すみません:2005/10/03(月) 12:21:14
あるところで分割されたファイルを手に入れたんですが、
pdfファイルが22個あります。
動画なんですが、どのソフトを利用して結合すればいいんでしょうか?
(゚д゚ )
<⌒/ヽ-、__ノヽノ |
/<_/____/ < <
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
(゚д゚ )
<⌒ヽ /ヽ-、__ノヽノ |
/<___ノ ̄ ̄/____/ < <
>>440 Javaに関係あると思った根拠を示してください
443 :
デフォルトの名無しさん:2005/10/03(月) 14:03:22
Javaのinteger型配列の最大数はいくつかわかりますか?
1億個くらい必要なのですが・・・
Integer.MAX_VALUE が最大かな
445 :
デフォルトの名無しさん:2005/10/03(月) 14:08:48
int[] act = new int[10000000];
↑これだと要素数が少なくて範囲を超えてしまい駄目だったのですが、
どこにInteger.MAX_VALUEを加えれば良いですか?
ちょwwwwwwwおまwwwwwwwwww
2GB×4B = 8G も JVM に割り当てる気かwwwwっうぇwwwwwっうぇwww
447 :
デフォルトの名無しさん:2005/10/03(月) 14:15:17
HDDの空き容量は20Gあるので、何が何でも動かしたいのですが・・・
そんなプログラムは動かない
設計から見直した方がいいぞ
450 :
デフォルトの名無しさん:2005/10/03(月) 14:18:43
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 10000000
こんなエラーメッセージがでてくるんだけど、
このプログラムもうだめぽ?
別に設計から見直さなくても、ディスク使えるなら RandomAccessFile で
seek すりゃ良いじゃん。激糞遅くなるけど。
要素数1億で宣言したなら添え字は99999999が最大ジャマイカ
デバッグしろよ
454 :
デフォルトの名無しさん:2005/10/03(月) 14:24:06
int[] act = new int[99999999];
↑これだと
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
だったんですけど・・・
OS/Javaのバージョン等で変わると思うが-Xmx512mだとnew int[123862071];まで確保できた。
話長くなりそうな相手だからダラダラ断片的に答えるのはやめてくれ
↓
>>452を見て
>>454なんてやってるようじゃ、答えても意味無いレベルだろ
スルーした方がいいと思うが
459 :
デフォルトの名無しさん:2005/10/03(月) 14:33:08
環境が分からんが、Windowsの場合1プロセスが使えるメモリ空間は最大で2GBまでなので1億個分のメモリーは確保できない
もっと少ないメモリで実行できるように設計を変更すべき
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 要素ぐらいをページングしてまとめて読み書きせれ。
何を言ってるか分からないなら、遅いのを我慢しろ。
461 :
デフォルトの名無しさん:2005/10/03(月) 14:38:14
>>460 たぶんそれじゃダメ
64bitI/O対応のJava(AIX、Tru64辺り)を使っていないと1億個は使えない
1億分も配列作っていったい何がしたいのやら・・・
463 :
デフォルトの名無しさん:2005/10/03(月) 14:42:17
すいません、ヒープ領域の変更方法教えてくれませんか?
-Xmx512mをショートカットのプロパティ"C:\******\eclipse\eclipse.exe"に
加えてみても駄目でした・・・
自分で調べろハゲ
>>463 それは、Eclipseの実行に使うVMのヒープ領域の指定であって、
アプリケーションの実行に使うVMのヒープ領域の指定ではない。
この程度の質問をしているようだと、先が長すぎで思いやられる。
というか、今のおまいには無理ぽ
>>461 Windows で setLength() で 6G のファイル作って 5G+1 バイト目に
書き込み読み込みできたが、そういう意味ではなくて?
つか 1 億要素って 4 バイトかけても signed int の範囲内だが???
467 :
デフォルトの名無しさん:2005/10/03(月) 15:03:12
-Xmx512mをどこで使えばいいかわかりません・・・
誰か教えてください!。
[実行]-[実行...] (または [デバッグ...])-[引数]-[VM引数]
>>467 Eclipseのメニュー「実行」->「実行」から実行ウィンドウ出して、実行したいプログラムの「引数」タブのVM引数に追加しろハゲ
470 :
デフォルトの名無しさん:2005/10/03(月) 15:12:12
日本語化してないので
「Run」→「Run」で実行ウィンドウ、argumentsタブのVM argumentsのところに
-Xmx512mをいれましたが駄目でした・・・
( ´_ゝ`)アッソ
472 :
デフォルトの名無しさん:2005/10/03(月) 15:29:18
>>443 約21億≒10の31乗 - 1
int型に限らず配列の要素自体がint型なので
どの配列も約21億
>>454 何に使うんだ?
とりあえずListでいいんじゃないのか?
>>474 100M 個の要素を List なんかにしたら無駄すぎて軽く死ねる
>>460によるページング手法もあるが
直列化によるページング手法もありかなと思えたり。
100Mがsigned intの範囲内って何夢見てんだ466は
>>477 20 年前レス乙
だがすれ違い
つか板違い
はいはい、悔しいのはわかったから引っ込んでなさい
Hibernateに関連する質問はここでいいの?
マッピングで上手くいかない〜
只今、MappingExceptionを吐いている最中で悶絶中・・・orz
482 :
カラス:2005/10/03(月) 17:14:46
初めてやります>−<?
>>479 ちょっとちょっとwww
Integer.MAX_VALUE ≒ 2G になんで 100M×4バイトが収まらないのよ。
ひょっとして 「『C の』 signed int の範囲は ANSI の仕様で 16bit」 って揚げ足取りだったとか?
わざわざ signed 付けたのは 「long すら使わなくても 2G あれば十分」って意味。
勝手に C の話始めてるのはおまえだよw
あぁそういう意味か
class 中国 {
Person[] citizen = new Person[13億];
}
中国 sinachiku = new 中国();
中国.citizen = null;
System.exit(0);
そしてコンパイルエラー
俺さ、今までintの限界って0xFFFFだと思ってたんだ。
0xFFFFFFFFだったんだな、unsignedないけど。
for(int i=0; i<中国.citizen.length; i++){
try{
中国.citizen[i].ビザなし渡航();
中国.citizen[i].犯罪("金金金キンコ");
} catch(強制送還Exception ex){
中国.citizen[i].死刑();
}
}
>>489 Javaはマルチプラットフォームを意識しているかららしい。
Win32とUNIX/Linuxでintのサイズが変わったら問題だということだとさ。
byteをF shortをFF intをFFFFと思ってたってこと
16進形式で書かれてるのって4桁のがほとんどだから変な勘違いしてた
>>494 むしろ天才だから、これくらいのうっかりが無いとバランスがとれないす
うるせえ、俺が一桁計算間違えたからって50もレス使うな
弱いハッシュマップの用途って何?
拡張したpublicフィールドみたいな感じで使えばいいの?
,、 '";ィ'
________ /::::::/l:l
─- 、::::;;;;;;;;;`゙゙''‐ 、 __,,,,......,,,,_/:::::::::/: !|
. : : : : : : `゙'ヽ、:::゙ヾ´ゴールデンレトリバー'、. l|
、、 . : : : : : : : : r'":::::::::::::::::::::::::,r':ぃ::::ヽ::::::::ヽ!
.ヽ:゙ヽ; : : : : : :ノ::::::::::::::::::::-=・=-、゙::: -=・=-:'、
. \::゙、: : : :./::::::::::::::;、-''":::::::::: ,...,:::,::., :::':、
ヽ:ヽ、 /::::::::::::::::::::::::: _ `゙''‐''" __,,',,,,___
`ヽ、:::::::::;;;、、--‐‐'''''',,iニ- _| 、-l、,},,  ̄""'''¬-
_,,,、-‐l'''"´:::::::' ,、-'" ,.X,_,,、-v'"''゙''yr-ヽ / ゙゙'ヽ、, ゴリゴリゴリ・・・
,、-''" .l:::::::::::;、-''" ,.-' ゙、"| /←>>天才 ヽ、
l;、-'゙: ,/ `| /| | /. \
,、‐゙ ヽ:::::..,.r'゙ (( // | | / ヽ.
,、‐'゙ ン;"::::::. U .U /
' //::::::::: {.
/ ./::::::::::::: ',
. / /:::::::::::::::::. ',.
それ猫にしかみえないんだけど
>>497 拡張したpublicフィールドってのが何を言いたいのかさっぱりわからないが
よくある用途はキャッシュ。
つーかGCで消えていいmapなんてキャッシュ以外にあんまり用途が見つからない
Log4jを使っています。
RollingFileAppenderでは、生成されるログファイルの世代管理ができますが、
DailyRollingFileApenderでも、世代管理ができるんでしょうか?
日が変わる毎にログファイルが切り替わりますが、
これを何日分までは保持して、それ以上は自動削除されるといったように。
できません。自作してください。
JButtonを押したときに見えるボタンのテキストの枠線を
見えないようにするにはどのようにすればいいのでしょうか?
同等品を自作
506 :
デフォルトの名無しさん: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;
}
}
}
Servletで受け取った、1つのリクエスト(ファイルのダウンロード)に対して、
複数のファイルをブラウザに送信してやることってできますか?
ブラウザ上で、ファイルダウンロードのリンクやボタンを1回だけクリックすると、
ファイル保存ダイアログが複数個開くっていうイメージなのですが。
508 :
デフォルトの名無しさん:2005/10/04(火) 11:50:34
できる
>>506 swing使ったことないから知らんけど、
フォーカスのあたってるコンポーネントだけ有効にするか
リスナを追加するようにすればいいんじゃない?
>>506 とりあえずそのコードを使うんなら、イベントから
イベント送信元コントロールが、現在入力中のコントロールと同じかどうか
判断して関係ないのをはじけばいける。
俺だったらKeyListenerを実装したクラスを作って、コンストラクタでフィールド入れとく。
>>507 HTTPは1リクエストに対して1レスポンスなので、
JavaScriptで複数のリクエストを送るようにすればできる。
ウェブサービスに関しては、よその人がやってる実績を示して
「こういうふうなのを実現するにはどうすればいいですか?」
と質問してくれると、答えやすいし理解も早いと思うんだが・・・
そういう質問にはなかなか巡り合わないね
JDK 1.5 UP5 で CSVをBufferedReaderを使って行単位で読んでいるんだが、
ある特定のファイルだけ途中で最初にもどってしまうんだけど、
sLine(after)="2004/07/12",1350
sLine(after)= "1999/10/29",2570
な感じになってしまいます。どなたか対策をご存じありませんでしょうか?
>>508 >>511 d
ググったら、マルチパートレスポンスとかいうキーワードがあったのですが、
JavaScriptとIFRAME併用で考えます。
いきなり保存先聞いてくる奴らパカパカ開いたらうざくないか?
最近はブロックされるんじゃない?
今どうだか知らないけどどこぞの辞書ツールドメインまるごと127.0.0.1行きにしてる
多重が必要なんだろうけど、うざがる奴は居るんだぞと
>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
トンクスです。数値列に、なんもない部分が空欄だったり----や(なし)がはいっていたりするので
あえなく書いていました。半角数字は統一されているのがせめてもの救い...
520 :
デフォルトの名無しさん:2005/10/04(火) 16:34:54
>>514 使わないみたいだけどマルチパートレスポンスにIE6.0は対応していません
質問です。
今まで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);
}
}
522 :
513:2005/10/04(火) 18:29:44
自己解決です。元データが変でした。すみませんでした。<m(__)m>。
>>515 よーわーらん質問をするのは
大部分が JSP 初心者だから
>>523がWebサービスをわかっていない初心者。
つーかJSPならWebProg板でやるもんじゃね?
jspは徹底してダメだししてください
被害を被るのはもう嫌です。
静的コンテンツまでjspつかって無茶苦茶動作遅いサイトとか見ると
アホjavaSIer氏ねと思うな。あとflushか。
それは静的に見えて動的なんじゃ・・・
1度目の起動が遅かったとしても次から遅いとかありえん
身近でjspを黙々と書いてる奴いたら危険、早めに洗脳した方がいいよ。
いきなりjspに書かないで最初toString()の中で同じ事書いてもらうと
いい具合に仕上がる。皆、これ嘘じゃないぞ、早期発見早期洗脳だぞ!
外部から自分のマシンへの接続要求をキャッチしてログを取るアプリを作成しようと考えています。
ポートへのアクセスを監視するのに適したAPIやライブラリなどがあればご教示いただけまんでしょうか。
531 :
デフォルトの名無しさん:2005/10/04(火) 23:18:28
javaで作られた拡張子が.classのファイルって、そこらの普段プログラミングに関わりのないパソコンでも
動きますか?それともなんか動かすためのソフトを入れなきゃならないのでしょうか。
>531
JREというJavaの実行環境が必要。
ありがとうですm( __ __ )m
最近ふと思ったんだが
引数にfinal指定するって習慣がいまいち浸透していないんだが
自分の周りだけ?
極力finalにしたほうが良いよね?
オレまちがってる??(´・ω・`)
自分もそれなりに使うけど
Cのconstと違って中身が変わっちゃうから
あまり意味がないのが悲しい。
C の const、少し思い出したぞ。
確か const 宣言すると const 宣言されたメソッドしか呼び出せないようになるが、
データやメソッドを他のオブジェクトへ委譲する場合、
実質的に中身を変えられるので、面倒くさいわりに強制力がなかったような。
引数やローカル変数の final 宣言は、
これからインナークラスを作成してこれを使うぞ〜
という雰囲気が感じられるので、それ以外は使ってないなぁ。
何言ってんだコイツ
>>521 .classファイルが壊れているか、JREを構成しているjarが壊れたかも
539 :
536:2005/10/05(水) 09:18:51
良く見たら C++ じゃなくて C か
脳内変換で C++ に見えた orz
質問をよろしくお願いいたします
Eclipseで作成したアプレットがあるのですが
Eclipseで実行した場合やコマンドプロンプトでアプレットビューアーを起動して実行した場合には
正常に動作するのですがブラウザでHTMLファイルを開いた際には正常に実行が行われません
これはなにか原因があるのでしょうか?
Java Pluginが正しくインストールされていないから。
542 :
540:2005/10/05(水) 09:39:30
>>541 サンプルのアプレット等は正常に動作するのでインストールは多分されていると思うのですが・・・
詳しく書きますと
画面の表示などは正常に行われているのですが
あるボタンを押して処理を行う際にテキストファイルを読み込んで処理をするようにしているのですが
そこの処理を行うボタンを押しても処理が行われません
テキストファイルは同じディレクトリに置いているのですが何か問題があるのでしょうか?
よろしくお願いいたします
サンドボックスとかアプレットのセキュリティ
モデルとかついて勉強してきてください。
'('がありません とはどういう意味でしょうか
>>545 やはりそうでしたか…ありがとうございます
547 :
デフォルトの名無しさん:2005/10/05(水) 12:07:55
>>542 Javaコンソールみろよ。どうせ例外でてるだろ
まさか、printStackTrace()すら入れてないって事は無いだろ
548 :
デフォルトの名無しさん:2005/10/05(水) 13:29:23
基本的な質問ですみません。
javaのクラスにpublicをつけると、ソースファイル名を同名にする制約が出てくるんで
いつも付けないんですが、これってフォーマルな書き方としては間違ってますか?
549 :
デフォルトの名無しさん:2005/10/05(水) 13:36:04
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;
551 :
デフォルトの名無しさん:2005/10/05(水) 13:45:43
>>549 レス有難うございます。もう一点だけ。
今のところpublicつけなくても実質問題無いのですが、
具体的にどういう場面で問題が起きてくるでしょうか?
>>551 public宣言がないとパッケージ外からアクセスできない
パッケージ管理してないソースなんてありえん
553 :
デフォルトの名無しさん:2005/10/05(水) 13:58:40
>>551 publicなクラスにするかどうかはファイル名がどうとかで決めるべき事ではなく
クラス設計をした結果、他のクラスから隠す必要があるときにpublicにしない
ようするに
美しい設計にならない→美しくない設計を元に始める→出来上がるコードも美しくないが容易に想像できる
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でオブジェクトを入れた時点での値が入るのではないのでしょうか?
ハッシュのキーと値の関係は一対一
同じキーがaddされたら上書きされる
とかJavaの使用を知らずにいってみる
>>555 正解
>>554 つーか、そのコードだとhtはずっと同じインスタンスだから、listの0〜2に入ってるのは全部同じもの。
何をやりたいか分からんが、LinkedHashMapでも使うといいんじゃないかな。
javaを学生に教える事になったんですが、awtとswingはどちらを教えた方がいいでしょうか?
SWT
kfc
public static void main(Strings[] args){
本文;
}
public static void main(Strings[] args)
{
本文;
}
メソッド書くとき、下みたいに「{」を改行して書いてる人って居ます?
562 :
デフォルトの名無しさん:2005/10/05(水) 16:31:47
Javaのソースから.exeファイルを作るのって無理ですか?釣りじゃないです。
聞いてる時点で釣り確定。
565 :
デフォルトの名無しさん:2005/10/05(水) 16:38:28
566 :
デフォルトの名無しさん:2005/10/05(水) 16:40:59
567 :
561:2005/10/05(水) 16:44:15
>>564 俺へのレスですよね?サンクス。
「{」を改行する派と改行しない派の割合って、大体どんなもんでしょうね?
568 :
デフォルトの名無しさん:2005/10/05(水) 16:50:09
>>566 二重に書き込んでしまったorz
で、こっちも質問
SwingのJTableでセルごとまたはcolumnごとに編集不可を設定したいのですが、
どうしたらいいですか?
>>568 TableModelを勉強する
カラムごとの編集可能不可能
NetBeansではりつけてみて生成されるコード見るといいよ
570 :
562:2005/10/05(水) 17:37:08
JListの項目を右クリックしたとき、JPopupMenuを表示して、
同時に選択した項目のindexを知りたいのですが、どうすれば良いのでしょうか。
572 :
デフォルトの名無しさん:2005/10/05(水) 19:37:02
>>567 そんなのソースフォーマッタで直ぐ変えられるからどっちでも良い
573 :
540:2005/10/05(水) 20:30:55
遅くなりましたがお答えいただきありがとうございます
>>543 サンドボックスってこういうことだったんですね・・
いまいち理解できていませんでした・・・
6万行ぐらいのデータなのでテキストファイルから必要な部分だけ読み込んで処理をしたいのですが
なんとかテキストファイルを読み込めるようにするやり方はありませんでしょうか?
COMMONS とかいくつかの JAR を使ってるアプリケーションを一つの JAR で
配布したいときって、一回全部バラして作り直すのかな? 何かもっと良い方法ある?
576 :
デフォルトの名無しさん:2005/10/05(水) 21:33:20
ここはツール関係もおk?
常駐させておいて、
PC稼動中に起こした行動(打ち込んだ文字や立ち上げたソフト)
を記録するツールってなんだっけ?
どうしても思い打線
キーロガー、キーボードコネクタに取り付けるタイプがお勧め。
578 :
576:2005/10/05(水) 21:41:42
キーロガーだ
ここ3日間ずっと検索しながら悶々してたんだよ。
ありがとちゃん!
579 :
デフォルトの名無しさん:2005/10/05(水) 21:48:26
Windows2000 + J2SDK1.4でネットワークアプリを作成しています。
で、所定のファイルダウンロード&アップロードが終わったら、
自動的に終了するアプリなのですが、時々ダウンロード&アップロード中に
処理が止まってしまいます。タイムアウト時間を指定したりしたのですが、
うまくいかないので、アプリを起動して、15分後に強制的に
プログラムをシャットダウンするようにしたいと思っています。
何か良い方法はありませんでしょうか?
>>576 スレ違い
もっと他に適切なスレがあるから探せ
>>573 そのアプレットのコードベースがどこに設定されていて、
読み込みたいテキストファイルがどこに置かれているかによって
違う。それは573にしかわからないことだから自分で判断すること。
582 :
デフォルトの名無しさん:2005/10/05(水) 23:16:43
Java初心者です。
圧縮済みの classes.jar を非圧縮の classes.jar に変換したいのですが
jar.exe を使って直接内容を操作することはできますか?
jar ui0 classes.jar
の用にやってみましたがうまくいきませんでした。
ご指導の方よろしくおねがいします。
583 :
540:2005/10/06(木) 00:24:05
>>581 ありがとうございます
自分の知識が不足しているのでもうちょっと学習の必要性を強く感じました(;´Д`)
ちょうどappletにおける file acccessについて というトピックを扱っている掲示板を発見しましたので
そのあたりを参考にいろいろ試してみようと思います
みなさん色々ありがとうございます
また質問に来ることもあるかもしれませんがよろしくお願いいたします
>>582 jarではファイル形式の変換は出来ない
いったん展開して、再度アーカイブしろ
585 :
デフォルトの名無しさん:2005/10/06(木) 00:42:32
586 :
571:2005/10/06(木) 01:07:07
お願いします・・・。
一度MouseEventを受け取って、
Component#dispatchEvent を使ってJListをクリックする方法を考えたのですが、
1クリックと完全に等価なMouseEventを作るにはどうすればいいのでしょうか。
587 :
デフォルトの名無しさん:2005/10/06(木) 01:23:54
>>571=586
JList#locationToIndex
589 :
デフォルトの名無しさん:2005/10/06(木) 02:12:42
>>588 あぁ…完全に見落としてました。orz
本当に有り難う御座いました。
591 :
デフォルトの名無しさん:2005/10/06(木) 03:08:18
プロパティファイルの
特定の値に書き込みたいんだけど
やりかたがいまいち解らず・・・。
アドバイスおながいしまう・・・orz
>>490 ループ文内にテラワロス
593 :
デフォルトの名無しさん:2005/10/06(木) 10:36:19
>>569 ありがとうございます。やってみます。
遅レスすみません。
594 :
デフォルトの名無しさん:2005/10/06(木) 10:39:51
>>569 ありがとうございます。早速試してみます。
遅レスすみません
>>591 のにタソだろ?
NetBeansやEclipseの書籍出してる人で有名かと思っていたが
>>595 そんなに有名だったんだ。
ドメインからしてNetbeans信者かと思ったがEclipseの本もだしてるのか
>>592 ResourceBundle, Properties
598 :
592:2005/10/06(木) 14:28:41
>>597 参考になりえるコードもしくは
文献の場所キボンヌ。
JDK1.4のドキュメントの
メソッド一覧のドキュメント見ても解らんですorz
スタティックにファイナライズしたいんですが、
そんなやり方ありますか?
クラスローダからのアンロードをフックするような。
static {} の逆みたいな事やりたいんですが、、
なんでそんなことやりたいんだ?
自動でイニシャライズとターミネートをしたいのです。
誰かがあるクラスの参照をした時にJNI呼び出しで初期化を行う。
参照が終わればJNI呼び出して自動的に終了処理。
>>596 NetBeansのメールアドレスでEclipse本のサポート窓口してる不思議な人
基本的にNetBeansでずっと来てる人だよ
過去の記事見てればForteとかでてくるっしょ
NetBeans5になれば今度はプラグイン本だしてくれると期待
>>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;
}
}
あ、パッケージ名まで載せちまったw
パッケージ名まで晒してもらってすみません。
見なかった事にしますから大丈夫です。
問題なのは、クラスへの参照開始と同時に、ネイティブのプログラムを走ら
せておきたい期間があって、ただそれがオブジェクトへの参照期間ではなく、
クラスそのものに対する参照期間だという事なんですね。
要するに、クラスローダにクラスがロードされている期間なのです。
で、初期化と終了処理を実装者には意識させず、自動的にやりたいと。。。。
でもなんだか無理っぽいですね。
これって完全にVMの仕様に依存しますものね。
素朴な質問、
class A {
private static a = new A();
private A() { initialize }
protected void finalize() { terminate }
}
この場合、A がアンロードされる直前に、
馬鹿丁寧にも a が GC に処理されて、
terminate が実行される、なんて事はある?
VMの仕様としてはどうなんだろう?
607 :
デフォルトの名無しさん:2005/10/06(木) 19:16:11
608 :
デフォルトの名無しさん:2005/10/06(木) 19:19:50
>>602 のに子、kyuka, 二人とも顔写真を載せないのはブスっぽいのか
それとも歳を気にしてて老け顔だからなんだろうか。
>> テディーズ・コンピュータ・サポート
javaのfinalizeって呼ばれること保障されてないんじゃないの?
610 :
550:2005/10/06(木) 20:45:40
誰か私にも愛の手を差し伸べてくれませんか・・
611 :
デフォルトの名無しさん:2005/10/06(木) 20:47:03
ところで、Eclipsで
propertyファイル使う場合って
何処において実証するのかい?
なかなかpropertyファイルをうまく読んでくれないや・・・
613 :
デフォルトの名無しさん:2005/10/06(木) 23:49:33
string[] args ←これって何を意味してるんでしょうか?
615 :
デフォルトの名無しさん:2005/10/07(金) 00:22:08
d
>>606 よくわからんが、普通にあるだろ?
そのクラスをロードしたクラスローダが回収されることが条件
(言語仕様 ver.2 以降)
>>611 What? 実証? 何処=開発場所? or ディレクトリパス? どっち?
ソースフォルダ? JARライブラリパス?
>>613 stringは何?
C++の型?
それとも自作した型?
619 :
616:2005/10/07(金) 04:16:53
> よくわからんが、普通にあるだろ?
と思ったが、クラスのアンロードに伴うインスタンスの回収の finalizer で
そのインスタンス自身を親クラスローダとかでロードされたクラスの
スタティックなフィールドに設定したら、どうなっちゃうんだろ。
というか普通のインスタンスの回収でも、finalizer で
インスタンスの参照を他にさらすような場合は、どうなっちゃうんだろ。
おしえて エロイ人
>616
Effective Java に詳しい解説あったと思うよ。持ってて損は無い本
だから買って読んでみたまへ。日本語訳の初版では20ページの所。
クラスがStudent(public) インスタンス変数がname
インスタンスメソッドがprintName
クラスがSeminar
ゼミのメンバーを2人作る(名前を入れる・初期化する)
プリントアウトする
というプログラムを書くことになったのですがやり方がまったくわかりません
教えて君ですみませんがよろしくお願いします
623 :
デフォルトの名無しさん:2005/10/07(金) 12:44:11
アルゴリズムの質問なのですが、スレ違いではないですか?
スレ違いならスルーしてください。
フィールドに第1キー(int)と第2キー(int)を持つようなクラスの配列を
キー順にソートしたいのですが、よいアルゴリズムが思いつきません。
できれば、
array[].sort();
のように使えれば嬉しいのですが。
ここjavaだけどここでいいの?
ComparatorとGenericsも使用したほうがいい
627 :
デフォルトの名無しさん:2005/10/07(金) 13:58:39
>>625 ありがとうございます!
超初心者でインタフェースとかまだよくわからないのですが、勉強します。
希望の光がみえてきました!
安定ソートで2回ソートすればいいじゃない
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) を指定してやるほかないのでしょうか?
background属性を消すんだ
>>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 );
}
}
>>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 );
}
}
633 :
デフォルトの名無しさん: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ヽ、
CからJavaに転向しようと思っているんですが
共通パラメータなどは今までヘッダファイルに書いていたんですが
Javaではパラメータ専用のクラスを作るのが一般的なんでしょうか?
>>634 使うクラス特有の固定値とかならクラス内に
public static final <型> <識別子> = <値>;と定義するのがJavaです。
constでないグローバル変数も基本的にクラス内でやるべきです。
シングルトンというクラスに対して唯一のインスタンス(クラスの実体)しか持てない手法も人気です。
>>635 なるほど,レス有り難うございますm(__)m
637 :
デフォルトの名無しさん:2005/10/08(土) 00:33:59
同じクラスにさまざまなメソッド定義をした際に
それらをmainメソッドで呼び出す場合、
すべてのメソッドをstaticにした方がよいのか、
クラス変数を切ったほうがいいのか
どちらのほうがよいのでしょうか?
教えてください
自クラスをインスタンス化する
639 :
637:2005/10/08(土) 01:04:30
>>638 ありがとうございます。
できれば理由も知りたいです。
クラス変数を切るというのがよくわからんが、
オブジェクト指向の利点を生かしたいならオブジェクトを作る方向で考えてみる。
そこまで手間を掛けるような拡張性がないような単発ものなら、static メソッドで実装
>>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());
642 :
641:2005/10/08(土) 01:43:31
boolean じゃないや orz
643 :
616:2005/10/08(土) 02:02:22
> というか普通のインスタンスの回収でも、finalizer で
> インスタンスの参照を他にさらすような場合は、どうなっちゃうんだろ。
言語仕様読んで自分なりに解釈してみた。
オブジェクトの参照状態とファイナライザの実行状態は実は異なる状態群で、
参照が無くなった⇒ファイナライザ⇒回収、という単純な図式にはならない。
ファイナライザに関しては、(1)ファイナライザされない(2)開始可能(3)完了の3つ(不可逆)、
オブジェクトの参照状態には、(A)参照可能、(C)参照不可の2つの状態のほかに、
(B)ファイナライザ開始可能状態のオブジェクトからのみ参照されているという
中途半端な奇妙な状態がある。
ファイナライザ実行中はそのメソッドを所有するオブジェクトが参照できる(!)ため、
ファイナライザが行われるとそのオブジェクトは(A)参照可能な状態になる。
また、そのオブジェクトから到達できる他のオブジェクトも参照できる(!)ため、
これらも(A)参照可能な状態になる。すなわち、
(B)ファイナライザ開始状態のオブジェクトから参照されている場合は、
たとえ、他から参照がなかったりファイナライザさえ完了していても
回収することができない。
(続く)
644 :
616:2005/10/08(土) 02:03:58
(続き)
オブジェクトの回収は、
(3)ファイナライザが完了し(C)他から完全に参照不可な場合に行われる。
正確には、実行するファイナライザがない(オーバライドされていない)場合は
別に上記の手順を踏んでも問題はないだろうが無駄なので
(C)参照不可になった時点で回収される。
ファイナライザでは自らのオブジェクトだけでなく、
自分からしか参照できなかったオブジェクトを晒すことができるが、
ファイナライザの実行状態は不可逆なので、これをやると、
参照のあるオブジェクトが
突然ファイナライザを実行し始めたりする可能性があって、なかなか素敵。
645 :
637:2005/10/08(土) 02:14:59
>>640 すいません。
「クラス変数を宣言する。」です。
ありがとうございまっした。
単発ものなんですけど、全体でのメモリの使用値
などいろいろあって・・・・。
646 :
616:2005/10/08(土) 02:22:15
ちなみに、Effective Java では「ファイナライザは使うな」まで読んだ。
あとは良く覚えてない。
ところで、何処だったか忘れたがこの本に、
Comparable だったか Comperator だったかの実装で
ClassCastException と NullPointerException はそのまま投げてよいとか書いてあったが、
NullPointerException はダメなんじゃないか?と思っていたことを思い出した。
おしえてエロイ人
647 :
デフォルトの名無しさん:2005/10/08(土) 02:50:39
>>645 状態の保持が必要ならば、普通はインスタンスを作るだろう。
パフォーマンスチューニングは、一般的には(理想的には?)作った後で
プロファイリング等を利用することを考える。
素直に作っておけば、VMが勝手に最適化してくれる。
へんなふうに作ったら、VMも最適化しづらいかも?
SUNのVMの実装だと、生存期間の長いものはGCの対象になりにくいので、
作っては捨て、を繰り返した方がかえってメモリにやさしい場合もあるらしい
(JavaWorld 11月号より)。
648 :
645:2005/10/08(土) 02:58:22
すまん。SUN とは書いてなかった。超一部抜粋:
“現在、JavaのGCは主に「世代別コピー式(Generational Copying)」
と呼ばれる方式を取っているのですが...”
「主に」、らしい。
649 :
647:2005/10/08(土) 02:59:33
ついでに、645 は 647 の間違い。もう寝る orz
650 :
デフォルトの名無しさん:2005/10/08(土) 12:45:45
これから、プログラミング言語勉強したいのですが
JAVAとVBどちらが、勉強しやすいですか?
又、将来性はどちらですか、よろしくお願いします
答は両方ともVB。
帰れ。
652 :
デフォルトの名無しさん:2005/10/08(土) 12:59:05
すいません、J2SDKの
javaのコンパイルが上手く行かなくなったので、
SDKをアンインストールして、再インストールしたのですが、
上手く行きません。
すでに消したJDKに関する環境変数も残ってます。
完全なアンインストール方法がありましたら、教えていただけないでしょうか。
>652
format c:
654 :
デフォルトの名無しさん:2005/10/08(土) 13:02:08
>>653 ありがとうございます!すぐやってみます!!
だまされない・・・だまされないぞ・・・
>javaのコンパイルが上手く行かなくなったので
どううまくいかんの?単なるコンパイルエラーだったらおもしろいのだが
どーせライブラリにパスが通ってないとかだろ
657 :
: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にしなければいけないことはわかりましたが、どこでどういうふうに設定するのですか?
あと出力先をファイルにしたい場合もどういう風に設定するのですか?
commons-loggingはフロントエンドなので、設定はバックエンド側で行う。
Log4Jを使うなら、
log4j-1.2.x.jarもclasspathに加えて、log4j.propertiesかlog4j.xmlを書く。
659 :
637:2005/10/08(土) 15:03:52
>>647 親切にどうもありがとうございました。
私は先に寝てました・・・・。
すいません。
JTable で横スクロールしても1列目だけは
常に表示するようには出来ないでしょうか?
Delphi での FixedCols のようにしたいんです。
661 :
657:2005/10/08(土) 15:32:17
>>658 log4jをダウンロードしてクラスパスを設定してlog4j.xmlのサンプルをコピーしてレベル設定してるらしい場所をtraceに変えたら出力できました。
どうもありがとうございまた。
もっと詳しい設定は後ほど勉強します。
662 :
デフォルトの名無しさん:2005/10/08(土) 15:46:21
こんにちは。
servletについてなのですが質問させて下さい。
今、携帯専用コンテンツを作成しているのですが、
じゃばservletでAU端末のサブスクライバID(環境変数'HTTP_X_UP_SUBNO')
を取得する方法はありますか?
ご存知の方いらっしゃいましたらご教授下さいませ。
>>660 sunのswingチュートリアルにあるよ。
でも確か簡単というわけにいかん。要コーディング。
664 :
デフォルトの名無しさん: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;
}
665 :
デフォルトの名無しさん: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;
}
666 :
デフォルトの名無しさん: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();
667 :
デフォルトの名無しさん: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 }
>>664>>665>>666 全く読む気が起こらないソースコードだな。
クラス化しなくて良いから、まずはやりたい事を全部
main()の中に記述してみよう。
動く事は動く
ただ変なことしすぎ
>>667 getStで呼ぶごとに毎回一々コンソールから入力が必要
show5が呼ばれるまでに最初以外何も聞かれず計3回入力させる意味が?
671 :
デフォルトの名無しさん:2005/10/08(土) 17:47:06
>>668 main()のなかですべてを処理するコードは1回
書いていて、さらにその中で使っているメッソドを
メソッドわけするというものなんですが・・・。
>>669 show5()がスルーされてしまうのですが・・・。
672 :
667:2005/10/08(土) 17:49:46
>>670 ということは、grtSt()をStringクラス変数に
代入してやればいいんでしょうか?
673 :
667:2005/10/08(土) 17:53:03
>>672 すいません。
Stringクラス型です。
getStrではメンバ変数のStrを返すようにすればヨロシ
setBfはいらない,Strに値をセットするときに関数内のローカル変数で十分
そもそも、
public BufferedReader setBf(BufferedReader b) {
b = new BufferedReader(new InputStreamReader(System.in));
return b;
}
ってなんだよ。引数のbをどうしたい?
セットなのに値を返すのって斬新やん
>>674 典型的って何が?
もちろん典型的なアホグラマーが書いたコードって事だよな?
>>677 セットなんてできんよ。Cじゃないんだから。
自演ですが、何か?
>>679 JavaにはSetterもGetterも無かったのか!!!
679は
public BufferedReader setBf(BufferedReader* b) {
*b = new BufferedReader(new InputStreamReader(System.in));
ってことを言ってるんだろ。
で、667のコードを書くような奴にPGとしての未来はあるのかい?
おそらく専門学校生なんだろうけど。
PGとしての未来というより
PGに未来は無い
686 :
デフォルトの名無しさん:2005/10/08(土) 18:54:30
662なんですけど・・・
どなたか・・・グフッ
>>686 その環境変数がリクエストヘッダに含まれてるなら
getHeader()で取ればいいんじゃないですか?
そういう問題じゃなくて?
>>686 ググッたら簡単に出てくるがその方法じゃだめなのか?
(「うまくいかないけどなんでなん?」とは書いてあるが、大分「っぽい」方法に見える)
俺は実機もないしやったことないから知らん。
携帯用Javaは専用スレがあるからそっちできくよろし
そうですか、、ありがとうございます・・!
690 :
630:2005/10/08(土) 21:03:22
なぁ、どうでもいいことなんだが、SUNのjapaneseからJDK5を素直にダウンロードできないのは何故なんだ?
「jdk5 download」でググってもトップにくるリンクのアドレスが文字化けしてるし。
eclipseが台頭してきたおかげでnetbeans売り込みの為に前より酷くなってる。
>>691 いまやってみたら普通にダウンロードできたが
つーか、検索サイトのトップにきてるやつのアドレスがおかしいのを
Sunのせいにするのか
694 :
カラス 731:2005/10/08(土) 23:20:42
寝る<-> 11:20分
JAVAってヘッダファイルみたいなのは、
存在しないんですか?
696 :
デフォルトの名無しさん: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を使っています。
宜しくお願いします。
( ゚д゚)<・・・
Genericsって1.5からじゃなかったのか?
699 :
デフォルトの名無しさん:2005/10/08(土) 23:35:48
700 :
699:2005/10/08(土) 23:38:05
君はコンボボックスをタブボタンと呼ぶことにしているのだな?
703 :
699:2005/10/09(日) 00:09:28
今後は宿題スレで。
>>695 クラスファイル (*.class)、もしくはそれを収めたライブラリ (*.jar) が、
そのままヘッダファイルの代わりになる
ソース中に宣言を書く必要は無いが、コンパイル時には必要になるので、
クラスやライブラリへのパスを指定してやる(ただし標準APIは扱いが異なる)
という説明で納得できる?
706 :
デフォルトの名無しさん:2005/10/09(日) 00:26:34
例外処理は、例外が発生する可能性があるメソッド内でやるのが
よいのでしょうか?それとも呼び出したところでやるのが
よいのでしょうか?
教えてください。
場合による
708 :
デフォルトの名無しさん:2005/10/09(日) 00:34:12
>>707 レスありがとうございます。
どんな場合があるのでしょうか?
簡単で良いんで教えてください
すいません。
例外管理でググれ
とりあえずメソッドの中に書くことにしとき
711 :
デフォルトの名無しさん:2005/10/09(日) 00:49:15
java標準スタイル
try{ read() }catch(Exception ex){}
713 :
デフォルトの名無しさん:2005/10/09(日) 01:11:52
String クラスって、特別なの?
なんか特別扱いされてない?
>>706 俺には言ってる意味がよく解らない。
レスしてる人は日本語読解力が高いですね。
715 :
デフォルトの名無しさん:2005/10/09(日) 01:16:11
日本語読解力じゃなくて、Java知識の問題だと思うけど。
ふうん、じゃ、呼び出したところ って何?
717 :
お願いします。:2005/10/09(日) 01:24:48
Eclipseの日本語化パッチのある場所が分りません。
いろいろ探しては、みたのですが見つかりません。
どなたか、直リンをお願いします。
※Eclipseのバージョンです。
Eclipse SDK
Version: 3.1.1
Build id: M20050929-0840
>>713 便利に使われてはいるね。
ものとしては単に char の配列だからね。
>>717 3.1の日本語化パッチはオフィシャルではまだ出てない。
eclipsewiki.net/eclipse/で有志が日作った日本語化パッチ置いてあるのでそこへ。
つーか、スレ違い。
>>717 Eclipse Wiki に行きなさい。つか、君のおかげで、3.1用のが出たのを今知ったよ。ありがとう。
あと、今後は Eclipseスレに行きなさい。
721 :
717:2005/10/09(日) 01:32:08
>>719,720
ありがとうございます。
移動致します。
722 :
デフォルトの名無しさん:2005/10/09(日) 01:34:42
>>714 706の質問は、例外を投げる可能性があるメソッドa()を呼び出すメソッドb()の中で
例外処理をするのか、b()を呼び出すメソッドc()の中で例外処理をするのか、という
質問でしょうね。「呼び出したところ」とは即ちc()の定義中ということです。
>>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 はまだ気付いていない。
どこで処理するかは、作った各メソッドをどこでどう使っていくかの問題。
例外処理は例外をキャッチした時にやったらいいよ。
以上。
726 :
デフォルトの名無しさん:2005/10/09(日) 01:45:00
中での例外処理は再利用するとき楽だけど、呼び出し側で、きめ細かい処理(例外処理)ができない。
外での例外処理は再利用するときに面倒だけど、呼び出し側できめ細かい処理(例外処理)ができる。
と俺は勝手に解釈したが、どうよ。いい加減な日本語ですまん。
727 :
デフォルトの名無しさん:2005/10/09(日) 01:54:21
誤解されると困るのでこれだけ。
で と る っ ち ゅ う ね ん
場所はeclipseスレにある。
728 :
デフォルトの名無しさん: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問目
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+"点です。");
}
}
730 :
デフォルトの名無しさん: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("お疲れ様でした。");
}
}
}
732 :
デフォルトの名無しさん: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...と変なものが出てしまうのは何が悪いのでしょうか。
目障りなのは重々承知しておりますが、よろしくお願いいたします。
出たんや
例外処理はその例外を処理できるところでやる
としか言えないなあ、ケースバイケース
例 ファイルから読み込もうとしてファイルが存在しなかった場合
デフォルト値を使うなりファイルを作るなりその場で対処できるなら
catchしていろいろ処理を書いたらいい
どないもならんでユーザーに聞くしかあれへん、というなら
素直にthrowsしておく
>>732 他には何も表示されんのけ?
nullnullnullの後にError.とか。
「今1点です。」の表示後、何処に処理が移るか考えればええと思うよ。
736 :
732:2005/10/09(日) 02:14:44
特にエラー!とかは言われてないです。
co=3のときのfor内の作業が終わったら、forブロックから抜けて、次のswitchブロックに行くのではないのですか?(+_+;)
>>732,736
基本的な事だけど、
前略
for(int i=0; i<=3; i++){
System.out.println("Count:" + i.toString());
}
後略
これの出力結果はどうなると思う?
739 :
デフォルトの名無しさん:2005/10/09(日) 02:29:18
4問目のクイズが入っていないから。
740 :
732:2005/10/09(日) 02:30:10
わ、わからない・・・orz(ちなみにプログラム初めて5日ほどです。)
.toStringっていうのがよくわからんので調べてみました
(文字列バッファ(StringBuffer)を文字列(String)に変換するにはtoStringメソッドを使用します。 [構文] 文字列バッファ.toString(); )
ばっふぁとかよくわからんので勘で答えますと、
Count:1
Count:2
Count:3
・・・ですか?
>>740 配列の要素数は3つ、
即ちインデックスは0, 1, 2が有効。
for( int i = 0 ; i <= 3
というコードだと
インデックスが、0, 1, 2, 3
まで実行されちゃうよね?
だから、正しくは
for( int i = 0 ; i < 3
となるんじゃないかな?
742 :
デフォルトの名無しさん: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 寝るわ...
743 :
デフォルトの名無しさん:2005/10/09(日) 02:51:08
キタワァ*:.。..。.:*・゚(n‘∀‘)η゚・*:.。..。.:* ミ ☆
本当にありがとうございます!感動しました。
これからも精進していきます。本当にありがとうございました!
名前付きパイプを作るにはどうしたらいいですか?
awtのDialogやWindow、SwingのJDialogやJWindowでは、
オーナーを指定するコンストラクタが用意されてますが、
このオーナーを、コンストラクタで指定するのではなく、
インスタンスを作った後で何かのメソッド等で指定することはできないのでしょうか?