1 名前:デフォルトの名無しさん [2007/06/27(水) 07:23:27 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/ これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、 wikiからのリンクをおたどりください。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド102【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1180419689/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝なく存じます。 次スレは>>980 あたりで。
193 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 16:27:49 ] >>191 スレッドまたはタイマー >>192 g.drawString("文",x1,y); g.drawString("字",x2,y); g.drawString("間",x3,y); g.drawString("隔",x4,y); どのくらい間隔あけるかは、fontMetricsから計算する
194 名前:192 mailto:sage [2007/07/01(日) 16:43:43 ] >>193 わかりました。やってみます。ありがとうございました。
195 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 17:28:44 ] gifイメージをアイコンに読み込んで表示するプログラムですが、jarに固めるとgifファイルを 読み込んでくれません。 imagesディレクトリに入れてあり、ディレクトリ構造は同じなのですが、 何か MANIFEST.MFに書き加える必要はあるのでしょうか?
196 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 17:43:17 ] 240k.main.jp/dev/mt/archives/2004/12/jar_oeeaeeeaueo.html
197 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 17:48:03 ] >>196 わかりました。やってみます。ありがとうございました。
198 名前:195 mailto:sage [2007/07/01(日) 17:56:28 ] 195だけど、getClass().getResource()を使うとうまくいった。 疲れた・・・
199 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 18:13:22 ] public class longtest { public static void main(String[] args) { long a=2147483647; System.out.println(a); } } このプログラムのaの値をより大きく表示できるように改変してください。 この値よりも1でも大きくなるとエラーが出てしまいます。 値は出来るだけ大きいほうが良いです。
200 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 18:16:20 ] jarに固めるとファイルを読み込めなくなるハマリの初心者的2大原因 1.リソース検索してそのURLを指定せず、ファイル名を直接指定している。 2.Windowsのような大文字小文字の区別をつけないファイルシステムを使っていて、区別をつけるjar内の事情を気にしていない。
201 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 18:19:59 ] >>199 どっちでも使え public class longtest { public static void main(String[] args) { long a=2147483648L; //1増加 a=Long.MAX_VALUE; // 最大限に増加 System.out.println(a); } }
202 名前:192 mailto:sage [2007/07/01(日) 18:24:37 ] >>197 おいおい、IDでないからってパクるなよw やってみたけど、めんどうですね。ところでMFCの SetTextCharacterExtra みたいに1発で指定できないですかね。 setCharacterSpacing というのがあるみたいですけど、使い方がわからないです。
203 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 18:36:35 ] やってることは子供じみてるけれど、 自分の質問に対するレスへの自分を騙ったレスではないんだからいいんじゃね? 騙りとは違うからIDが出ないこととは無関係。 一発で指定したいのなら、後々のことも考えてsetTextCharacterExtraメソッドを自作する。
204 名前:191 mailto:sage [2007/07/01(日) 18:39:34 ] ttp://www.javaopen.org/j3dbook/examples/TimerBehavior1/TimerBehavior.java ↑をもとに作ってみようとしたんですが、これだとBranchGroupや TransformGroupはどこで定義すればいいのでしょうか?
205 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 18:42:30 ] >>203 了解。
206 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 20:22:37 ] >>204 リンク先のソースのどこにもBranchGroupやTransformGroupはないが? 自分のソース貼り付けてくれよ
207 名前:デフォルトの名無しさん [2007/07/01(日) 21:39:23 ] ↓の文章がコンソールのところに出てきたんですが・・・ どこが間違ってるってことなんでしょう? Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at Shukudai453.main(Shukudai453.java:26) 二行目の()の中をクリックすると、ソースコードのこの部分↓が青くなるんですが・・・ int n = Integer.parseInt(args[0]); ***************** という質問を他スレでしたら、「引数指定」といわれました。 それ以上聞くとスレ違いだらしいので、ここで聞かせてください。 どこを直せばいいんでしょう?
208 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 21:41:22 ] すみません WindowsでSWT使ってプログラム書いて実行可能なjarを作ろうとして躓いています マニフェストファイルを作って Main-Class: Hoge Class-Path: . swt.jar swt-win32-3236.dll さらに jar cvfm Hoge.jar Hoge.mf Hoge.class swt.jar swt-win32-3236.dll として固めたjarを(Javaだけはインストールしてある)別の機械に持って行って java -jar Hoge.jar とするとDLLが見つからないと言われてしまいます あらかじめカレントディレクトリに swt-win32-3236.dll が存在する環境だと実行出来るみたいなのですが
209 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 21:43:43 ] >>207 java Shukudai453 数字 で実行
210 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 21:47:10 ] >>207 どんな環境でなにをどうやったらそうなったのか書け それすら出来ないならば、ここでもスレ違いだ
211 名前:デフォルトの名無しさん [2007/07/01(日) 21:51:49 ] ええっと sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29488 を実行したんですが・・・
212 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 21:53:29 ] 実行とは? Javaのバージョンは? そもそもコードを理解できている? あと、学ぼうとする気ある?
213 名前:実行したのはこっちの間違いでした [2007/07/01(日) 21:57:38 ] import java.util.List; import java.util.ArrayList; public class Cebysev { private static List<Integer> primeCache; static { primeCache = new ArrayList<Integer>(); } private static boolean isPrime(int value) { if (!(primeCache.indexOf(value) != -1)) { return true; }
214 名前:デフォルトの名無しさん [2007/07/01(日) 21:59:19 ] すいません>>213 は忘れてください・・・ >>212 自分ホント分からないものだらけなんで。。。 明日までに完成させたいんです
215 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:02:41 ] そんな状態になるまで勉強をしなかったお前が悪い
216 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:04:27 ] 完成させることは無理 同情の余地も無い 大学名と学部を晒したら変わりに提出しておいてやるよ
217 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:23:19 ] だから宿題スレの701嫁
218 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:28:12 ] 絶望的に理解不足だなw
219 名前:デフォルトの名無しさん [2007/07/01(日) 22:28:16 ] >>208 www.seman.cs.uec.ac.jp/~ryu-zr/blog/archives/000571.html
220 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:29:26 ] C++で typedef std::vector<std::string> strings_t; という感じに ArrayList<String> に別名を付けたり出来ますか?
221 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:32:56 ] >>220 public class StringList extends ArrayList<String> {} とかすれば出来る(?)けど、何にも意味がないような
222 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:38:17 ] コンストラクタも定義する必要がありそうな
223 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:38:51 ] >>220 Javaにはない
224 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 22:43:02 ] >>208 ttp://launch4j.sourceforge.net/
225 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 23:11:45 ] というかエイリアス使えるようにしたらC++みたいにタイプ数減らすためだけに エイリアスを乱定義して可読性が落ちるからやめてほしいなぁ。
226 名前:デフォルトの名無しさん [2007/07/02(月) 06:35:51 ] Javaの入門書、何を買うべきか迷っています。アドバイスをお願いします。 私の今のレベルは、Cが「少しは」できる感じです。 (配列・構造体・ポインタなど、基礎的な部分は分かる。 コンパイラの挙動やプリプロセッサに関してもある程度分かる。 作ったことがあるプログラムは、一つあたり1000行(.cファイル二つ、.hファイル一つ)程度) 個人的には、『独習Java』か『やさしいJava』かなあ、と思っていますが、どちらか決め難い。 他にもお勧めがあれば教えてください。
227 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 06:38:14 ] Javaとか言語にこだわらずに オブジェクト指向の勉強もした方がいいよ
228 名前:デフォルトの名無しさん [2007/07/02(月) 06:49:48 ] boolean[]の[]の中ってint型しか入らないんでしょうか? long型では無理?
229 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 07:14:56 ] >>226 やさしいJavaはこのスレでもよく話題(笑)にあがるが、少なくともCをかじった人には糞本でしかない 独習Javaがいいと思う >>228 無理 intの上限以上の配列を確保するってメモリどうなるかは考えた上で設計した方がいい
230 名前:デフォルトの名無しさん [2007/07/02(月) 07:22:13 ] うーんそうなると代用とか利きますか? どうしてもintの上限以上の配列を確保したいんですが・・・
231 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 07:23:43 ] >一つあたり1000行 って言われても全く規模が分からんな・・・未だにこんな言い方してる奴がいるのか。 悪いことは言わんからやさしいjavaはやめとけ。 他の糞本を読んだことないから他にどれが地雷かは分からんが よほどのものでない限り普通に読めるはず。 後は何がしたいかによってそのジャンルの参考書もいるけど javaの場合標準ライブラリが多くをカバーしてるんでjava+JAXP等 java開発者向けに標準ライブラリを使った専門分野な本も多くある。 これは外部ライブラリを学習するよりとっつき易さがあるので入門時にはそういう本もおすすめ。 あと、SwingはAWT覚えてから手を出した方が良い。 SwingとAWTは別ライブラリで作法が違うけどSwingはAWT上に構築されてるからSwing中で (Swingが充実して最近減ったが)AWTのやり方が必要になってくることがあるが両方知ってないと混乱することがある。
232 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 07:29:45 ] >>230 intの上限を超えて配列は確保できない そもそも上限を超えた配列を確保できてもライブラリを含め、使うことができない 配列ではない方法で同じデータ構造を持つ方法なんて幾らでもあるだろ 手っ取り早いのはlongをとって、全bitに対してフラグとして扱うとかな 分割して使うことができないとも考えられないし、一体何がしたいの?
233 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 07:32:14 ] >>231 1000ステップ程度ならば、規模を表すにはいいんじゃね? 自分はmainだけで収まるような簡単なサンプルが〜100ステップ程度 いくつかの関数にわけてロジックを組み立てるというところで500〜1000ステップ程度と感じている 個人差もあるし大雑把だけどねw
234 名前:デフォルトの名無しさん [2007/07/02(月) 07:34:01 ] !seisu[n] の!はどういう意味ですか?
235 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 07:34:41 ] >>230 boolean の情報量しかないんなら、 int の配列にして、その 32 ビットの 1 つ 1 つを boolean と見なせばいい。
236 名前:デフォルトの名無しさん [2007/07/02(月) 07:35:44 ] あ、性格には if(!seisu[n]){ ですね
237 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 07:36:35 ] >>230 現実的にはプリミティブな要素型を持つ配列を生成するケースは少ないので だいたいの場合はint以上の長さの配列を確保するとすぐにメモリなくなる。 この場合、longを長さに取るコンテナを自作してメモリではなくディスクから読み書きして 必要な分だけメモリに置くクラスを作るのとかする。 マージソート自力で実装する程度のことが出来るならできるんじゃね? というか配列の要素数は初期化時にint未満の型使ってもワイドニング変換でintになってるからな。
238 名前:デフォルトの名無しさん [2007/07/02(月) 07:38:32 ] >>233 >>235 つまり、long型の変数を宣言して、その各ビットを、0か1かによって、フラグとして代用するってことでしょうか? 3ビット目が1の場合、booiean[3]=true ってことですか?
239 名前:訂正 [2007/07/02(月) 07:40:15 ] つまり、long型の変数を宣言して、その各桁を、0か1かによって、フラグとして代用するってことでしょうか? 100の位が1の場合、booiean[3]=true ってことですか?
240 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 07:42:15 ] >>238 そんな感じ。
241 名前:やってみます [2007/07/02(月) 07:43:24 ] ありがとうございました
242 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 07:44:40 ] >>233 細かい突っ込みだがCだと無意味な行が多いからステップ=LOCとは限らんような・・・。 テトリスくらいのをちゃんと関数分けてコメント書いてたら1000行くらいかな?
243 名前:すいません・・・ [2007/07/02(月) 07:47:11 ] if(!seisu[n]){ の!はどういう意味ですか?
244 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 07:51:19 ] 条件反転
245 名前:すいません・・・ [2007/07/02(月) 07:53:16 ] !a=1のとき の場合は a=1以外のとき ってことですか でも>>243 の場合はどういう意味になるのか分からないんです画・・・
246 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 07:57:09 ] seisu[n] が boolean 型で、その真偽を反転
247 名前:すいません・・・ [2007/07/02(月) 07:57:59 ] ありがとうございました
248 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:00:48 ] boolean a = seisu[n]; if(!a)... こういうこと
249 名前:デフォルトの名無しさん [2007/07/02(月) 08:01:03 ] 「new」って調べたら 「new演算子: クラスのインスタンスを生成します 」 って出てきたんですがいまいち意味が・・・
250 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:07:11 ] 本読め。本。
251 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:13:40 ] 朝っぱらから二つのjavaスレがgdgdだな。 他人に考えさせる前に自分の頭使おうぜ?
252 名前:228です [2007/07/02(月) 08:18:47 ] 結局一からやり直すことにしました。 僕がやりたいのは、素数を探し出すプログラムで、例えば 「boolean[]のboolean[9967]=false」 だった場合、 「9967は素数ではない。」 といった感じで、素数であるかないかの表を作っていたわけですが、それだとintの上限以上の 素数を記憶できないってことで、皆さんの助言通りに、 「long型の各ビットをbooleanの真偽の代用にする」ことを目指しております。 で、さっきは分かったように思ったのですが、今考えて見るとやっぱりちょっと分からないところが出てきて・・・ long型の各ビットをbooleanの真偽の代用にする、とのことですが、long型の桁数ってint型の上限より少ないですよね? ってことは「long型の上限の長さの配列」で代用するって意味だったのかなあっと思ったのですが、 配列の長さはintの上限を超えられないんですよね・・・? 結局、できるだけたくさんの素数であるかないかの表を作るにはどうすればいいんでしょう・・・?
253 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:22:52 ] 普通は boolean に素数かどうかを貯めていくんじゃなくて、 素数を貯めていくんじゃないかな?
254 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:24:27 ] long は int の2倍のサイズなんだが
255 名前:228です [2007/07/02(月) 08:27:23 ] それは、格納できる数字が2倍なのであって、 「longに格納できる最大の数」の「桁数」では素数表には少なすぎますよね?
256 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:28:07 ] 配列にすればいいだろ?
257 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:28:10 ] javaってbitの集合扱うライブラリなかったけ?
258 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:30:11 ] >>252 全部メモリに持ち続ける必要ないでしょ。 区切りでファイルに吐けばlong使う必要ない。
259 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:30:16 ] BitSet ってのがあるな。
260 名前:228です [2007/07/02(月) 08:31:03 ] その配列ですけど、 例えば long n[99999999999] とかはできるんですか? 配列の長さはどうやってもintの上限を超えられないby>>232 と聞いたので・・・
261 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:31:13 ] そもそも素数かどうか判定した時にメッセージ出力すれば良いんじゃない? なんでループ分けるの?
262 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:31:18 ] でも、BitSet だとインデックスが int に収まらないといけないんだよな。
263 名前:228です [2007/07/02(月) 08:32:11 ] >>258 すいません詳しくお願いします (つまり足りなくなったら他の奴に乗り換えろってこと?)
264 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:35:37 ] >>260 配列の個数×longのビット数 だけの情報が扱えるじゃん。
265 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:36:52 ] で、素数表作って何をしたいんだろうか。 素数かどうかの判定でもするの?
266 名前:228です [2007/07/02(月) 08:37:30 ] なるべくたくさんの素数表を作っておく必要があるんです
267 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:37:34 ] >>237
268 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:38:34 ] それは「素数かどうかのフラグ」を貯める方式じゃないと不都合があるの? 素数を貯めていくんじゃダメ?
269 名前:デフォルトの名無しさん [2007/07/02(月) 08:38:41 ] >>266 >なるべくたくさんの素数表を作っておく必要があるんです 俺らはそれが何のためかと聞いている。
270 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:41:07 ] 普通は long 型配列にでも素数を貯めていくよね。 prime[0] = 2; prime[1] = 3; prime[2] = 5; prime[3] = 7; prime[4] = 11; みたいに。
271 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:50:27 ] 素数の総数がint超えるって話じゃない?
272 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:51:26 ] ていうかお前らそろそろおなかいっぱいだろ?
273 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:56:37 ] 素数かどうかのフラグで保存してるから 素数の総数が int を越えるとダメになるんじゃないの?
274 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:57:19 ] ちがうや。 素数の値が int を越えるとダメになる、だ。
275 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 08:59:16 ] Mapの実装て保持できるのエントリに上限あったけ?
276 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:06:32 ] long 配列に素数を貯めていっても、 素数が意外と多いからスペース削減にはならんっぽいな。 ファイルに書き出していけばいいけどもん。
277 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:09:26 ] そもそも素数かどうかのテーブルに何の意味があるんだ? そこから間違ってる気がするんだが・・・
278 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:09:42 ] 67,867,967 が 4,000,000 番目の素数か・・・。
279 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:15:41 ] ていうか素数の数がlong要る整数ってlongで足りるの? 今度はry・・・とか聞きそうな気がしてきた。
280 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:19:55 ] javaでも無限リストが扱えれば楽なんだけどな。 こういう問題は関数型の方が得意か・・・
281 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:20:04 ] 素数判定の効率は悪いな。 >素数かどうかのテーブル
282 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:23:11 ] 言い方が悪かった。 素数表の作成効率は悪いな。 >素数かどうかのテーブル
283 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:26:03 ] ん? いや、スペース削減にはなるや。 うん。やっぱり素数を配列に貯めていった方が、 速度的にも容量的にもいいみたいだ。
284 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:27:08 ] ん? いや、やっぱりスペース削減にはならんや・・・。 ちょっと混乱してきた・・・。
285 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:31:58 ] boolean * intとlong * intじゃ考えるまでもないぜ!
286 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:34:15 ] いや、式が何か違う気がするが伝わるはずだ!
287 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:40:28 ] 素数かどうかのテーブルを使えば、 最大バイト数×8 の大きさの素数まで扱える。 素数を貯めていく場合、 最大バイト数/64 個の素数が扱える。 この時の素数の最大値が最大バイト数×8より大きければ 素数を貯めていく方が容量効率がいいことになるんだけど、 圧倒的に足りないから容量効率は悪いっぽ。
288 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:49:14 ] javaのbooleanって1byteに絶対すき間なく敷き詰めるんだっけ? 配列は飛び飛びなのに。
289 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:51:07 ] どちらにしろインデックスが int 越えられないんじゃなあ。
290 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:52:06 ] だから自分で作れとry
291 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 09:55:14 ] 朝っぱらから3時間も続いてんのかこの流れ
292 名前:デフォルトの名無しさん [2007/07/02(月) 10:10:00 ] 所詮mp3も再生できない学術言語だからな
293 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 10:30:46 ] 出来るだろ。どっからmp3が出てくんだよw
294 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 13:00:32 ] 時代はOggとかAC3だろ
295 名前:デフォルトの名無しさん [2007/07/02(月) 13:10:17 ] java.sun.com/products/java-media/jmf/mp3/download.html
296 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 18:05:58 ] MD5で暗号化したのをSystem.out.printで表示すると巧く表示されるのですが、 JLabel.setTextで表示すると、後ろから1桁か2桁しか表示されません。 どうすれば全部表示されますか?
297 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 18:13:19 ] Java始めて半年の初心者です。 今は秀丸を使っているのですが、 上級者の方は後々「Java専用プログラミングエディタ」みたいなのを使い始めるのでしょうか。
298 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 18:21:20 ] >>296 どうやってMD5をかけたか、MD5をかけた後の変数の型、 System.out.print()した方法、setText()した方法をコードで示しましょう。 それから、MD5は暗号ではないです。
299 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 18:22:03 ] >>297 さいきんはEclipseを使う人が多いかもしれない。
300 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 18:23:11 ] >>296 digestをbyte配列で得てprintの方は順番に配列要素を表示していってるから全部表示されて、 JLabelの方には配列要素を順番に引数としてsetTextでセットしているから、 結局最後の配列要素しかJLabelには現れないというオチだったり。 もしそうなら、setTextはappendTextでないということは分かってないよね?
301 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 18:26:09 ] eclipseは別にJava専用プログラミングエディタではないと思うが >>297 自分が慣れたエディタを使えばええやん
302 名前:デフォルトの名無しさん [2007/07/02(月) 18:27:00 ] javaファイルからJavacsriptって動かせる? xmlHttpRequest使いたいんだけど。 通信ってURLConnection使うしかない?
303 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 18:39:23 ] >>302 rhino
304 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 19:28:35 ] XmlHttpRequestはXML Extrasの成果だろ
305 名前:デフォルトの名無しさん [2007/07/02(月) 20:52:25 ] GWT
306 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 20:58:11 ] ていうかURLConnectionから開いたInputStreemからDOM構築すれば良いだけだろ? それかDOM Level 3 Load and Save使えよ。
307 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 20:58:36 ] >>297 そろそろEclipseに乗り換えてもいいと思うよ 禿丸使うよりも生産性が上がる
308 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 21:48:50 ] >>297 いきなりeclipseは導入で手間取りそうだね。 詳細なリファクタリングやコードフォーマットを頻繁に行わないならnetbeansでも良いと思う。 ヴュジュアル主体の開発とテキスト主体の開発っていうコンセプトの違いは大きいから選んだ方が良いけど。 プロトタイプでっち上げてそれをリファクタリングしまくりながら肉付けしていき開発する俺には リファクタリング・フォーマッティング・ドキュメンテーションの面でnetbeansはかなり効率悪い。 けどGUI部分は書きたくないしリファクタリングなんてどうでもいいぜ!って人ならnetbeansの方が効率良い。 netbeansでGUI組んでeclipseでリファクタリングでも良いかも。
309 名前:お願い!! [2007/07/02(月) 23:16:47 ] こんばんは。 WEBアプリケーションでよくファイルアップロード機能があると思います。 その仕組みとして直接クライアントで指定したファイルを サーバにアップロードしないでDBにBLOGなどで登録は可能でしょうか? 可能であればその仕組みを教えてください。 よろしくお願い致します。
310 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 23:39:00 ] 日本語でおk どっちにしてもサーバは使うことになると思うが。
311 名前:デフォルトの名無しさん [2007/07/02(月) 23:43:24 ] 現在、C++のプログラムをJAVAに書き換えようとしているのですが、 C++で使われている構造体をJAVAで再現することは可能でしょうか? もしそのまま流用して動作するのであれば有難いのですが・・・。 宜しくお願い致します。
312 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 23:44:55 ] >>309 FTP使えば?
313 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 23:46:40 ] >>309 マルチ乙
314 名前:お願い!! [2007/07/02(月) 23:51:59 ] >どっちにしてもサーバは使うことになると思うが。 すみません。 サーバはAP、DBともに使うのですが、 どちらのサーバにも物理ファイルをアップロードしないで クライアントにあるファイルを直接バイナリ変換して DBに登録に登録出来るかが知りたかったのです。
315 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 23:53:51 ] >>314 クローズドなシステムだったら署名つきJavaApplet上で JDBCでBLOBデータを流す感じかな。 とりあえず日本語の勉強しておいたほうがいい。
316 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 00:16:26 ] 作った後のこと考えるとJWSの方が楽だろうね。 ファイルを直接バイナリ変換ってなに? 普通バイナリをBase64でテキストにエンコードするんじゃないの?
317 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 00:51:49 ] 「アップロードしない」の意味がわからん。 バイナリ変換と言ってるが何をバイナリ変換するんだ? アップロードされてないものを変換できないぞ。
318 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 01:18:54 ] >>314 アップロードしない → サーバにデータを送らない → サーバのDBに登録できない
319 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 01:26:28 ] 物理ファイルをアップロードする → HDDから当該ファイルのセクタの磁気材料をひっぺがしてサーバの投入孔に入れる
320 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 01:45:00 ] >>314 クライアントにDBをインストールしてそこに目的のファイルをINSERT ↓ バックアップファイルを作成 ↓ サーバにFTPでバックアップファイルを転送 ↓ サーバのDBにリストア
321 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 01:52:17 ] 英文の書かれたtxtファイルがあって、そこに出現する英単語の出現頻度をカウントして、 降順にソートした状態で出力したいのですが、どのようにすればよいのでしょうか? TreeMap使えばいいのかなーと思ったのですが、どうやってカウントしていけばいいのかというところで ちょっとわからなくなってしまって・・・
322 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 02:00:22 ] 英単語をキーにして出現頻度をバリューにして出現するたびに マップを検索してなければその単語をキーにして頻度を1にして新規に加えて あればその単語の頻度を1増やす
323 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 02:01:11 ] TreeMap#size() じゃダメなの?
324 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 02:06:59 ] コレクションに入れられるのは参照型なので 出現頻度はIntegerなどのラッパークラスを使って頻度更新のたびに入れ替えていくか new int[1]した配列を入れてint[0]の値を更新していくか その辺りは自分のポリシーで
325 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 03:20:07 ] なんとなく AtomicInteger を使ってみるとか
326 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 08:20:15 ] 何?この素人集団w
327 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 09:23:48 ] 流れぶった切るけど前944であがったJCursesってちゃんとつかえるの? JNIのロード方法が特殊でjarに固めるとロード時にNoClassDefFoundErrorが出るし、固めずに実行するとExceptionInInitializerErrorが出る。 ちゃんと使えてる人居たらどうやって使ってるか教えてほしい。 うちの環境はjdk6u1とwin用JCurses 0.9.5
328 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 16:35:10 ] >>325 無駄では?
329 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 17:08:21 ] >>325 並行処理やるわけでもないのに何でそんなのが必要になるんだよw
330 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 18:18:22 ] 単語を見つけるたびにスレッド一つ作って実行したりして。w
331 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 18:39:15 ] >>328-330 ”なんとなく” という単語に俺が言いたいことを全部押し込めたわけだが
332 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 19:51:04 ] 不可逆圧縮だったようです。 笑いどころも無いので皆さん解凍できなかった様子。
333 名前:デフォルトの名無しさん [2007/07/03(火) 21:49:12 ] java.lang.thread というエラーの解決法教えてくださいm(_ _)m
334 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 21:50:20 ] >>333 エラーは何ですか?
335 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 21:50:58 ] という莫迦がキてますよ
336 名前:335 mailto:sage [2007/07/03(火) 21:51:56 ] すまん>333ニダ
337 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 21:54:50 ] >>333 解決方法は質問じゃなくて自分で勉強することだろうな
338 名前:お願い!! [2007/07/03(火) 22:00:08 ] 本日色々調べてみました。 javaでのファイルアップロードの仕組みとして 一般的にクライアントで指定したファイルをサーバに 一度アップロードしてからデータベースへ BLOB(バイナリラージオブジェクト)で登録するようです。 ただし、私の知りたいその2段階で行う処理を サーバに一度もファイルを置かずに1段階で データベースに登録が技術的に可能なのかが解かりませんでした。。
339 名前:デフォルトの名無しさん [2007/07/03(火) 22:12:13 ] >>338 可能
340 名前:お願い!! [2007/07/03(火) 22:14:03 ] やっぱり可能ですか? 出来そうな感じもするのですが 実装方法はどうしたらいいのでしょうか?
341 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 22:15:20 ] >>340 ちったあ調べれ
342 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 22:16:46 ] >>338 一度もサーバーに置かないというのは物理ファイルのことだよな? それならば、サーバーの能力、転送量次第 十分に運用に耐えられると判断したならば、Servlet内でbyte[]やTempファイルなんかをメモリ上に作成すればいい 例えば数Kバイト程度のCSVファイルが1時間に1つ程度送られてくるとかならば、オンメモリでも問題ないだろう だけど、例えばそれが月頭の特定時間に1万ファイル/分で転送されてくるならば止めた方がいいだろう
343 名前:デフォルトの名無しさん [2007/07/03(火) 22:21:00 ] 今勉強中の者ですが、 8進数や16進数など現場でつかいますか?
344 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 22:25:06 ] 16進数は使いまくり。 8進数は使わない。
345 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 22:27:09 ] >>343 君が将来勤める工事現場では8進数も16進数もたぶん使わないんじゃないかな
346 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 22:30:56 ] 16進? java.awt.Colorくらいかね?w
347 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 01:49:01 ] >>343 chmod 755 hogehoge.cgi とかは 8進数
348 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 03:53:14 ] GUIとGraphicsについて初心者向けに解説しているサイトを教えてくださいmm
349 名前:デフォルトの名無しさん [2007/07/04(水) 09:39:04 ] >>348 やだ
350 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 09:48:55 ] バイナリエディタって何?って奴らばっかだな
351 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 13:18:31 ] >>348 これからも聞きたいときは聞きに来ていいんだよ 答えたいときに答えるから
352 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 13:55:35 ] >>348 ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%83%BB%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B9 ja.wikipedia.org/wiki/%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%82%AB%E3%83%AB%E3%83%A6%E3%83%BC%E3%82%B6%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9
353 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 21:05:03 ] >>343 16進はよく使う。8進はあまり使わないが>>347 のように使うことはある。
354 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 21:35:56 ] それ Java か?
355 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 22:36:41 ] java.sun.com/j2se/1.5.0/ja/docs/ja/guide/rmi/hello/hello-world.html Sunのホームページにあったサンプルですが、動きません。 RMIサーバ側で「Server exception:java.rmi.ServerException: RemoteException occurred in server th read; nested exception is:」という例外が発生します。 ファイアウォールはブロック解除しましたが、結果は同じです。 昔は簡単にうごいたのに、Java1.5の仕様でしょうか? スペック OS:WindowsXP SP2 J2SDK:Java1.5.0_12 J2RE:Java1.5.0_12
356 名前:デフォルトの名無しさん mailto:age [2007/07/04(水) 22:37:46 ] もみあげ
357 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 22:39:16 ] >>335 その nested exception is: の後が重要。そっちも書いて
358 名前:355 mailto:sage [2007/07/04(水) 22:44:08 ] Server exception:java.rmi.ServerException: RemoteException occurred in server th read; nested exception is: java.rmi.UnmarshalException: error unmarshalling arguments; nested excep tion is: java.lang.ClassNotFoundException: example.hello.Hello java.rmi.ServerException: RemoteException occurred in server thread; nested exce ption is: java.rmi.UnmarshalException: error unmarshalling arguments; nested excep tion is: java.lang.ClassNotFoundException: example.hello.Hello
359 名前:355 mailto:sage [2007/07/04(水) 22:44:50 ] at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:385 ) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:240) at sun.rmi.transport.Transport$1.run(Transport.java:153) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:149) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4 66) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport .java:707)
360 名前:355 mailto:sage [2007/07/04(水) 22:46:25 ] at java.lang.Thread.run(Thread.java:595) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknow n Source) at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source) at sun.rmi.server.UnicastRef.invoke(Unknown Source) at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source) at example.hello.Server.main(Server.java:24) Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested ex ception is: java.lang.ClassNotFoundException: example.hello.Hello
361 名前:355 mailto:sage [2007/07/04(水) 22:47:08 ] at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source) at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:375 ) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:240) at sun.rmi.transport.Transport$1.run(Transport.java:153) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:149) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4 66) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
362 名前:355 mailto:sage [2007/07/04(水) 22:47:58 ] .java:707) at java.lang.Thread.run(Thread.java:595) Caused by: java.lang.ClassNotFoundException: example.hello.Hello at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at java.lang.Class.forName0(Native Method)
363 名前:355 mailto:age [2007/07/04(水) 22:48:42 ] at java.lang.Class.forName(Class.java:242) at sun.rmi.server.LoaderHandler.loadProxyInterfaces(LoaderHandler.java:707) at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:651) at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:588) at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:628) at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:294) at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:238) at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1500) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1463) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) ... 9 more 以上です。解析お願いします。
364 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 22:57:31 ] なげーよww java.lang.ClassNotFoundException: example.hello.Hello だ、原因はStackTraceは一番下(元の)例外を読むのが原則 サーバの方でパスが通っている場所にクラスファイルがない
365 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 23:03:22 ] >>364 調べてみます。。。でもこんな感じなんですよね〜 D:. │ a.bat │ コマンド プロンプト.lnk │ └─example └─hello Client.class Client.java Hello.class Hello.java Server.class Server.java
366 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 23:06:09 ] クラスパスもわかんないやつがRMIって。
367 名前:355 mailto:sage [2007/07/04(水) 23:09:00 ] >>366 動かしてみてびっくりでしたww
368 名前:355 mailto:sage [2007/07/04(水) 23:19:26 ] C:\Program Files\Java\jdk1.5.0_12\bin直下に置いたら動いたww
369 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 23:30:08 ] Caused by: java.lang.ClassNotFoundException: example.hello.Hello が原因を教えてくれているな。 エラーメッセージには答えそのものが書いてあることが多いからよくよめ
370 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 23:32:09 ] >>368 まて、bin直下にクラスファイルを置かないと動かないってどういうことだよ!
371 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 23:35:48 ] >>370 そういうことだよ
372 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 23:43:32 ] >>371 そういうことじゃなくて、rmiregistry.exeを>>365 のディレクトリ上に配置すればイイーンダヨ♪
373 名前:デフォルトの名無しさん [2007/07/05(木) 01:35:07 ] 済みません 以下のプログラムをコマンドプロントで実行することは可能ですか? 可能な場合はやり方を教えて頂けないでしょうか。 import java.applet.*; import java.awt.*; public class myclock extends Applet{ Image fb; Graphics gg; public void init(){ fb = createImage(200,200); gg = fb.getGraphics(); } public void paint(Graphics g){ /******時計のデザイン*******/ gg.drawRect(5,5,190,190); g.drawImage(fb,0,0,this); } }
374 名前: mailto:sage [2007/07/05(木) 01:38:21 ] ある文字が英語のアルファベットかしりたいんですが、判別できるメソッドはないですか? Character.isLetter(char)は日本語の文字にもtrueを返してしまいます。
375 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 01:45:08 ] >>373 結論いうと可能。アプレットだよね。 ソースファイルに以下のコメント記述でアプレットタグの内容を書く。 /** <APPLET>内容</APPLET> */ コンパイルしたら、appletviewer.exeというjavaの実行フォルダにある ビューワを使えば読める。 こんな感じ c:\>appletviewer "ソースファイル名" ただし、ブラウザと多少動作が違うから確認程度で我慢すること。 詳しくはぐぐれ こことかどうよ www.itlb.te.noda.sut.ac.jp/~takuma/lecture/java/step1.html
376 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 01:53:33 ] >>374 あったようななかったような、、A〜Z、a〜zの範囲なら自作のAPIを作っても手間がそんなにかからないと思うけど。 charset.7jp.net/unicode2.html
377 名前:デフォルトの名無しさん [2007/07/05(木) 01:59:02 ] >>375 ありがとうございます!
378 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 02:00:24 ] Cには関数ポインタなるものが存在しますが、Javaにも似たような使い方ができるコーディング方法ございますか?
379 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 02:06:44 ] そろそろできる
380 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 02:10:14 ] Methodsクラスをなめるように操作すれば出来なくもない
381 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 02:41:15 ] とりあえず、高橋麻奈のやさしいJAVAを一冊読んだのですが、 次はなにかを作りながら覚えて言ったほうがいいかなと思ったのですが なにかいい参考書や方法はあるでしょうか? みなさんはどういうステップJAVAを学んでいかれたのでしょうか? よかったら教えてください。
382 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 03:02:31 ] >>381 資格取ったり仕事で使ったりしたから、いろいろ知ってるけど。 どうでもいいような事とかJavaで出来ること、出来るけど困難なこと、そもそも出来ないこと の区別が付けることが出来たら、お客さんに気に入られるよってアドバイスする俺はSE兼PGです。 趣味の範囲ならアソシエイツを取る勢いで浅く広く覚えれば面白いと思うよ。深く追求すると嫌になるから。 suned.sun.co.jp/JPN/certification/sjcaobj.html
383 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 09:35:44 ] お客さんに気に入られてアドバイスしているが ほとんど無報酬のボランティアで答えている俺は SE兼PG兼奴隷です。
384 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 10:37:04 ] JavaってFTPクライアントはカンタンにできると思っていましたが ソケットで自作しないとだめなんでしょうか?
385 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 10:57:13 ] 標準ライブラリのみなら、そういう認識であってる。 外部のライブラリ使えば簡単にできる。commons netとか ttp://jakarta.apache.org/commons/net/
386 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 11:37:20 ] >>378 Java "Script"なら関数オブジェクトを変数に入れて コールすれば内部処理的にも関数ポインタに近いんだけどなぁ・・・ クロージャが追加されれば似たような事が出来るけど Javaのクロージャってレキシカルスコープ引き継ぐんだろうか? >>381 やさしいjavaをきれいさっぱり忘れて他の本をじっくり読む。マジオヌヌメ。
387 名前:デフォルトの名無しさん [2007/07/05(木) 12:03:03 ] 質問させていただきます htmlで<textarea>に入力した文字をdatファイルに出力しようとしています、正確にはJavaではなくJSPを使っていますが ・Htmlソース部分 <form action="test.jsp"method="POST"> <textarea rows=5 cols=60 name="honbun" wrap="off"></textarea> <input type="submit"name="save"value="送信"> </form> ・Javaソース部分 String path = "フォルダパス"; String fname = "out.dat"; String gen = request.getParameter("honbun"); String hon = gen.replaceAll("\n","<br>"); BufferedWriter logwrite = new BufferedWriter(new FileWriter(path+ File.separatorChar +fname,true)); logwrite.write(hon); logwrite.newLine(); logwrite.close(); 改行コードを<br>に変換してdatファイルに出力しようとしていますが、<br>は付与されますがどうしても改行コードが残ってしまいます datファイル内でも改行されないように出力出来ないでしょうか?(例えるなら、ギコナビのスレッドdatファイルの様に) datファイルを見るのにはTeraPadを使用していますが、メモ帳では改行されていないように見えます もしかするとTeraPadで見るのが原因なのでしょうか・・・しかしギコナビのdatファイルはTeraPadでも改行されずに表示されます
388 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 12:10:35 ] >>387 \rが入ってるとか?
389 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 12:11:16 ] LFだけ消して CRLFを消してないから CRが残ってる
390 名前:387 [2007/07/05(木) 12:21:08 ] なるほど、改行コードは\nしか使っていなかったので盲点でした \rを消して無事に一行で出力することができました >>388 さん>>389 さんご回答ありがとうございました!
391 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 13:04:01 ] \nはエスケープシーケンスで改行コードは別だよね? Javaのばあい、動作してるプラットフォームの改行コードに変換されるんじゃなかったけ?
392 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 13:25:24 ] 1行目も2行目もNo
393 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 13:28:12 ] ブラウザから送ってきたものそのままだと思うが、 ブラウザがどういった改行コードを送ってくるかは環境依存?それとも何か決まりはある?
394 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 13:36:19 ] MacからはCRで送られてくるし WindowsからはCRLFで送られてくるし UNIX系からはLFで送られてくるよ HTTP以外のSMTPとかのプロトコルだと ちゃんとCRLFになってるみたいだけどね
395 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 13:52:38 ] JTreeでエクスプローラみたいなの作ろうとしてるんだけど システム上でファイルに関連付けられてるアイコンを 自動的に表示するような方法ってない? やっぱりひとつひとつアイコン設定するしかない?
396 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 13:55:19 ] あるよ
397 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 13:56:43 ] UIリソース変えるだけで済まない?
398 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 14:00:00 ] >>396 そうなんだ! どうやるの?
399 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 14:56:46 ] >>398 ファイルに関連づけられてるアイコンって、 OS依存な気がするんだが・・・>>396 は何か勘違いしてる気が・・・
400 名前:デフォルトの名無しさん [2007/07/05(木) 14:59:09 ] 違うよ、お前に言ったんじゃないよ
401 名前:デフォルトの名無しさん [2007/07/05(木) 15:00:06 ] >>399 JTree上のアイコンだろ?
402 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 15:12:33 ] 確かにフォルダの絵とかはUIリソースで変えられると思うが エクスプローラみたいなのを作りたいってことは、exeファイルのアイコンとか 関連づけられたアプリのアイコンとかにしたいってことなんじゃないの? >>401
403 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 15:47:41 ] >>402 そういうことっす
404 名前:デフォルトの名無しさん [2007/07/05(木) 19:04:57 ] アイコンを用意するところからだな。
405 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 20:49:42 ] インスタンスの生成と破棄に関するパフォーマンスを調べたいのですが、測定ツールみたいなものはありますか?
406 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 21:03:29 ] >>403 同じプログラムを Linux へ持っていたらまったく意図した通りに動かない、ということですな・・・
407 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 21:05:44 ] Write once, Run one platform.
408 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 21:30:39 ] ファイラはどうやってアイコンとってきてるんだろね デフォルトはシステムのどっかにアーカイブされてるんだろうが
409 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 21:45:57 ] explorer.exe とか run32.dll のなかにアイコンリソースがいっぱいあるね
410 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 21:50:05 ] JDICにそれっぽいAPIがありそうな感じ。 ttps://jdic.dev.java.net/ この辺のAssociationとか使えそうじゃね? ttps://jdic.dev.java.net/documentation/Examples.html
411 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 22:50:43 ] https://jdic.dev.java.net/ のしたの方にデモがあるね javadesktop.org/jdic/demo/FileExplorer/fileexplorer.jnlp
412 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 22:51:45 ] サーバプログラムでクライアントから入力があれば、文字列を受信して、画面にその文字列を表示してループを抜ける。 また、画面から入力(Enter)があれば、ループを抜けずに、プログラムを強制終了させる。 上記の問題で条件文のことで質問があります。 while(true){ // 省略 if(System.in.available() > 0) break; } 「入力があれば」は上記if文でいいのでしょうか? またEnterキーが入力された場合はどのように条件文を書けばいいのですか?
413 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 22:58:57 ] jarファイルにしたら外部に別のファイルを出力させることはできませんか?
414 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 23:01:12 ] >>411 それだと、ファイルの種類にかかわらずアイコンが全部同じになってるんだよね。 他に方法があるといいんだけど。
415 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 23:07:24 ] >>412 まったく意図が通じていないと思うがエスパーしてみる socket.getInputStream() を使ってバイナリを受信するべし
416 名前:412 mailto:sage [2007/07/05(木) 23:20:24 ] すいません。 ・画面からの入力が「Enterキー」ならプログラム強制終了。 の部分だけを知りたかったんです。 サーバ、クライアントなしでただのプログラムとして考えてください。
417 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 23:21:27 ] Javaでなんか作ってるスレない?
418 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 23:30:01 ] pc11.2ch.net/test/read.cgi/tech/1179168569/
419 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 23:33:58 ] System.inをScannerに放り込んで、nextLine()で終了。 Scanner scanner = new Scanner(System.in); scanner.nextLine();
420 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 23:42:01 ] >>414 たぶんもう見てると思うけど wisdom.sakura.ne.jp/system/java/swing/swing38.html の一番下のとか terai.xrea.jp/Swing/PreviewAccessory.html とかがあるよね でも >>395 の 「やっぱりひとつひとつアイコン設定するしかない? 」 の不満は解消されてないっぽ シコシコやっても >>406-407 みたいになるのがオチ
421 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 23:43:41 ] ネットワークプログラミングの参考書で お勧めの教えてくらさい 軽くその本の内容も書いてくれると嬉しいです
422 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 23:49:54 ] Javaネットワークプログラミングの真髄
423 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 23:57:28 ] >>422 サンクス ググってみたが,出版されて日が浅いせいか 全然レビューないな とりあえず,明日本屋で立ち読みしてみるわ
424 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 00:04:15 ] >>420 jdicのAssociationServiceのgetFileExtensionAssociationで拡張子指定して Associationを取得してgetIconFileName()を使うとなんか帰ってくるな。 なんでか「絶対パス,整数」の形式になってる。 数字の意味がわからないが絶対パスの先はアイコンではなく 実行ファイルなのであった・・。 ああ、もしかするとアイコンを使ってるファイルのパスが帰ってくるのか(´д`)
425 名前:デフォルトの名無しさん [2007/07/06(金) 00:04:25 ] 執筆者乙
426 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 00:05:50 ] >>424 整数はリソースの番号だろ
427 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 00:06:45 ] >>424 アイコンを使ってるファイルのパスじゃなくて アイコンを格納しているファイルだろうね
428 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 00:13:18 ] >>420 を見て、Windows L&FにするとJFileChooserに適切なアイコンが表示されることを思い出した。 で、「もしや?」と思って試してみた。 上手くいったぞ。こんなコード。 JFileChooser chooser = new JFileChooser(); FileChooserUI ui = chooser.getUI(); FileView fileView = ui.getFileView(chooser); JLabel pdfIcon = new JLabel("*.pdf"); Icon pdfIcon = fileView.getIcon(new File("a.pdf")); pdfLabel.setIcon(pdfIcon); こんなコードをJTreeのレンダラに仕込めば、 JTreeのノードに対応するすべてのファイルに対して、適切なアイコンが表示される。 もちろん、Windows L&F限定だが。 FileView#getIcon(File)に指定するファイルは、存在しないとFileNotFoundExceptionが発生した。
429 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 00:24:49 ] >>428 乙。
430 名前:428 mailto:sage [2007/07/06(金) 00:35:40 ] こんなレンダラでいけたよ。Metalだとみんなアイコン一緒だったけど。 public class FSTreeCellRenderer extends DefaultTreeCellRenderer { private FileView fileView; public FSTreeCellRenderer(){ JFileChooser chooser = new JFileChooser(); fileView = chooser.getUI().getFileView(chooser); } public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { DefaultMutableTreeNode node = (DefaultMutableTreeNode) value; File file = (File) node.getUserObject(); Component comp = super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); setText(file.getName()); setIcon(fileView.getIcon(file)); return comp; } }
431 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 00:43:17 ] >>428 javax.swing.filechooser.FileSystemView 使えば Windows では 16x16のアイコンと、ファイルの種類だけは取れる。
432 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 07:27:44 ] これは覚えておかなくては
433 名前:デフォルトの名無しさん [2007/07/06(金) 09:46:41 ] 質問です。 Eclipseでプログラミングをしているのですが、 log4jとJCOMを外部jarとして追加しています。 この状態でjarファイルとしてプログラムをエクスポートすると、生成されたjarがそのまま実行できません。 CLASSPATHが通ってない・・・みたいなエラーが出ます。 通常のjarみたいにダブルクリックで起動させたいのですが、これはどうすれば解決できるでしょうか?
434 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 10:18:12 ] >>433 実行可能Jarでググれ。
435 名前:デフォルトの名無しさん [2007/07/06(金) 10:33:12 ] >434 ググってみたんですけど、 外部Jarを使ったプログラムのエクスポート方法 などが載ってるページが見つかりませんでした。
436 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 10:56:55 ] 「実行可能Jar」でググった1番最初に見つかるが、 お前さんが使ってるGoogleは別物なんだな。 わかった。ズバリ答え。 MANIFEST.MFにこう書け。 Class-Path: log4j.jar jcom.jar log4j.jarとjcom.jarは、実行するJarファイルと同じフォルダに置くこと。
437 名前:デフォルトの名無しさん [2007/07/06(金) 12:19:50 ] >>436 ありがとうございます!! 無事に実行することができました。 これで実行jarと同じ階層に3つのjarファイルがあるわけなんですが、 コレを1つのexeファイルにしたいんです。 Fat jarでまとめてexewrapでexeにする・・・というのはできるんでしょうか?
438 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 15:46:00 ] >>437 そこまで手順が確定しているなら自分でやってみればできるかどうかすぐ分かる。
439 名前:たかひと [2007/07/06(金) 16:49:12 ] jspからftpサーバにファイルをアップロードするには どのようにすればいいのでしょうか。 宜しくお願いします。
440 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 17:52:31 ] launch4j
441 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 18:05:44 ] log4JってWebアプリに使ってもいいですか? スレッドとかぶつかっても平気ですか?
442 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 21:19:09 ] log4jはスレッドセーフじゃないです。残念ながら。 まぁ日付の書式に気をつければ何の問題もないけどね。
443 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 21:31:28 ] UDPだから負荷が重いときはデータ抜けしますよ
444 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 00:53:30 ] logging.apache.org/log4j/docs/faq.html#1.7 > 1.7 Is log4j thread-safe? > Yes, log4j is thread-safe. Log4j components are designed to be used in heavily multithreaded systems. まことに残念
445 名前:デフォルトの名無しさん [2007/07/08(日) 01:42:28 ] byteとintを論理演算すると、勝手に符号拡張されるので困ってます。 例えば以下のソースで、 ------------------------ int i = 0; byte b = -1; i = i | b; ------------------------ やりたいことは、iのビットパターンを以下のようにしたいんだけど、 00000000 00000000 00000000 11111111 実際はこうなってしまいます。 11111111 11111111 11111111 11111111 これってどうすれば回避できるんでしたっけ・・・
446 名前:デフォルトの名無しさん [2007/07/08(日) 02:00:34 ] スレッドに挑戦しようと思い、スレッドを含んだものを作ってみたのですが、コンパイルするときにスレッドの例外というのが発生してしまいます 単純に宣言や拡張が何か足りないだけなのでしょうか…
447 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 02:02:35 ] コンパイルするときに例外が発生ってどゆこと
448 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 02:04:26 ] >>445 i = i | (b & 0xFF)
449 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 02:04:33 ] >>445 0xFF と AND でもとれば
450 名前:445 mailto:sage [2007/07/08(日) 02:10:40 ] >>448 >>449 ありがとうございます。できました。(; ´д`)
451 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 02:16:37 ] i = i | (b & (byte)0xFF)
452 名前: mailto:sage [2007/07/08(日) 02:59:39 ] Eclipseでどんなプログラムでもデバックモードで走らせると、いつも最初にTrueTypeFon.open()262行ででNullPointerExceptionが発生しています。 Eclipse3.21 JDK1.6.0_02、Windows2000SP5です。同じような症状の人いますか? 普通に実行してる分にはNullPointerExceptionは発生しないのですが。
453 名前:452 mailto:sage [2007/07/08(日) 03:01:22 ] どんなプログラムではありませんでした。Swingをつかうプログラムでした。
454 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 03:04:30 ] そのぬるぽは君のプログラムからじゃなくてEclipseから発生してるもの?
455 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 04:41:18 ] exewrapすると中身は見れないんですか?
456 名前:452 mailto:sage [2007/07/08(日) 04:44:03 ] 自分のプログラムからだと思います。でも自分のプログラムが悪いという問題ではないと思います。 GUI(Swing)を使えば必ず出てきます。 階層的にはJFrame#initの呼び出しの果てに Window#init(GraphicsConfiguration gc) が呼び出されて、さらにその後もメソッドの呼び出しが続いてTrueTypeFon.open()でヌルポが発生してしまいます。 ただこのヌルポ、デバッグモードで動かさないとわかりません。 Eclipseならデバッグモードじゃなくてもヌルポが発生したらコンソールに知らせてくれるはずなのだと思いますが。
457 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 07:33:33 ] 最低限のソースを
458 名前:452 mailto:sage [2007/07/08(日) 11:06:54 ] public class Test { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setSize(640, 400); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } こんな単純なのでもデバッグモードで起動するとヌルポが出てしまいます。
459 名前:452 mailto:sage [2007/07/08(日) 11:10:08 ] 最初のJFrameのコンストラクタの呼び出しの中でヌルポが発生しています。
460 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 11:31:51 ] >>452 それでも発生するならばEclipseの実行環境(JRE)の設定でJDK1.6となっているかを確認。 さらに、プロジェクトのプロパティからコンパイルレベルが、6.0になっているかを確認 ダメならば、Eclipseを入れなおしてみる とりあえず、そんなとこかな?
461 名前:452 mailto:sage [2007/07/08(日) 12:17:34 ] >>460 どうもありがとうございます。JREの設定でJDK1.6、コンパイルレベルが、6.0、ともになっています。 ちょうどEclipse3.3が出たから、アドバイスどおりEclipseを入れなおしてみます。
462 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 12:23:47 ] >>461 3.3.1が出るまでは冒険でしょでしょ(=ω=.) なんかプラグインが衝突しているんかねぇ 大量にプラグインいれた環境とかならば、再インスコがベストだろうな。 VEとかいれているならばかなり怪しい
463 名前:デフォルトの名無しさん [2007/07/08(日) 13:46:20 ] コンパイルはできているのですが実行したら Exception in thread "main" java.lang.NoClassDefFoundError:Sample1とエラーが出ます そこでシステム環境変数のCLASSPATHを削除したら治ったのですがこれは削除してもよかったんでしょうか?
464 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 13:47:11 ] 「.;」をわすれてね?
465 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 14:04:21 ] javacとjavaコマンドでやっているのか? CLASSPATHは環境変数に設定するとトラブルを誘発するので勧めない 必要な時、javaコマンドなどのオプション-cpで設定する方がいいよ
466 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 14:08:51 ] >>465 はいそうです。 CLASSPATHの値を控えずに消してしまいました。元の状態に戻すことは不可能ですか?
467 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 14:16:00 ] >>466 不可能 Windowsのバックアップ機能とかあるならば可能かもしれないけど、そっちは詳しくないので知らん 何度も言うけどCLASSPATHに値を設定してトラブルになるより、-cpの使い方学べ、その上でCLASSPATHに必要ならば設定汁
468 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 14:23:49 ] >>467 そうですか・・ありがとうございました。 まあ今のところ問題なく動いているので大丈夫だと思いますが ちなみにCLASSPATHは全くいじってませんでした。
469 名前:2人の女性と付き合っている高1です mailto:sage [2007/07/08(日) 19:54:12 ] >>467 よこから割り込みますがCLASSPATHを環境変数に設定するとまずいという ご意見がありますが、どういう時にまずいのでしょうか? 僕は現在JavaSE6up2しかマシンにインストールしていませんが、そんな 状況で起こりうる誤作動の事例をよろしければ教えてください。
470 名前:桜井葵 [2007/07/08(日) 20:11:37 ] ビジュアルクラスを開いたら『新規ファイルをエディターに設定しよぅとしてエラーが発生しました』『java.lang.NullPointerException』って出てプログラムしか出ないんですけど、誰か助けて下さい(ノ_・。)
471 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 20:46:41 ] >>469 CLASSPATHでググれカス
472 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 20:47:50 ] >>469 2人とも妊娠
473 名前:デフォルトの名無しさん [2007/07/08(日) 23:43:42 ] ちった、役に立つかも! ↓ www.yukinko-net.jp/
474 名前:デフォルトの名無しさん [2007/07/09(月) 12:48:21 ] ど素人質問です。失礼します。 JDKを使って勉強したいのですが、 どれを使えばいいのでしょうか。 ・JDK 5.0 Update 12 with NetBeans 5.5.1 ・JDK 5.0 Update 9 with Java EE ・JDK 5.0 Update 12 ・完全な環境と実行環境はGet the JDK download からダウンロードできます。 JDK5の次が7になっているのですが6のバージョンってないのでしょうか
475 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 12:56:49 ] >>474 JDK 6 はあるよ。>>1 のWikiサイトからたどれる。 ttp://java.sun.com/javase/ja/6/download.html ここのJDK 6u2をダウンロードすればおけ。 with BetBeansってのは、IDEが付いてくる。 最初はエディタでやろうとしているなら、いらない。 with Java EEは、初心者なら忘れてしまってもかまわない。
476 名前:デフォルトの名無しさん [2007/07/09(月) 13:10:49 ] 質問です。 URLConnectionでGETパラメータを送ろうとしているんですが どの時点で送信しているのかがわかりません。 String urlString = "hoge.com/hogehoge.jsp?a1=test&a2=TEST"; URL url = new URL( urlString ); URLConnection uc = url.openConnection(); DataInputStream dis = new DataInputStream( uc.getInputStream() ); String s; while( ( s = dis.readLine() ) != null ) { System.out.println( s ); } dis.close(); リファレンス等を参考にするとopenConnection()で接続を確立しているらしいのですが ここでhogehoge.jspに通信しているんでしょうか? DataInputStream dis = new DataInputStream( uc.getInputStream() ); 上の部分でhogehoge.jspに送信してそのまま受信に入っているんでしょうか? タイミングがイマイチわからないので教えてください。
477 名前:474 [2007/07/09(月) 13:14:35 ] >>475 ありがとうございます。 後のいろいろな機能はあとから付けられるのでしょうか。 どのようにつけたらよいのでしょうか。 よろしくお願いします。
478 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 14:06:21 ] >>477 Java EEはここから ttp://java.sun.com/javaee/downloads/index.jsp NetBeansはここから ttp://www.netbeans.org/products/ 後でダウンロードしてインストールできる。最初からなくても大丈夫。
479 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 14:10:17 ] JDK6はあるはずだが・・・
480 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 16:10:37 ] >>476 自分の書いたレスをじっくり読み直すんだ 前者以外に答えがあると思うかね
481 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 16:44:22 ] ポップアップについての質問です いまJPanel上を右クリックでJPopupMenuを表示するところまではできたのですが、メニューを選んだときの処理をどうすべきかわかりません。 MouseEventだとどのメニューを選んだかわからず、ポップアップにつけたJMenuItemにsetActionCommandを付けようにも、JPanelにaddActionListenerがないため、どのように識別させるのかがわかりません。 また、上の識別の問題に関連するものですが、JPanel別にメニューを付けてるのですが、大部分が重なる処理なので、呼び出し元(JPanel)を識別して、イベント処理で振り分けるということはできないでしょうか。 以上2点、お願いします。
482 名前:481 mailto:sage [2007/07/09(月) 17:01:07 ] 書いた直後なんですが、1つ目できました ボタン処理のようにJMenuItemごとにアクションリスナーを登録するという方法があるようで、そうするとメニュー選択時に呼ばれるようになりました。 どうも、検索したときのキーワードの範囲が広すぎたようね… 2つ目はいまだわからず、getComponentだとパネルの位置はわかるんですが、ActionCommandのように得ることはできないですかね。
483 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 17:25:50 ] 処理名称は一緒だが処理内容が異なるのなら、 (Wordなら、文字の削除とオートシェイプの削除、など) ActionMapで振り分けるとか。 JPanel p1 = new JPanel(); p1.getActionMap().put("edit", new AbstractAction(){ public void actionPerformed(ActionEvent e){ // 編集時の処理 } }; p1.getActionMap().put("delete", new AbstractAction(){ public void actionPerformed(ActionEvent e){ // 削除時の処理 } }; のようなJPanelを用意しておいて、JPopupMenu表示時には ActionMapからJMenuItemを組み立てる。こんな感じ private JPopupMenu createMenu(ActionMap map){ JPoppuMenu menu = new JPopupMenu(); JMenuItem editItem = new JMenuItem("編集"); if(map.get("edit") != null){ editItem.setAction(map.get("edit")); } else { editItem.setEnable(false); } menu.add(editItem); // 以下略 return menu; }
484 名前:481 mailto:sage [2007/07/09(月) 17:37:35 ] >>483 なるほど、ActionMapってそういう使い方をするためにあったんですね。 もう少し調べて試してみます。 ありがとうございました。
485 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 18:24:07 ] 初歩的な質問です。 一度描画したものをドラッグで移動させるにはどのような方法があるのでしょうか? 「java ドラッグ」とかでググっても出てこない・・・
486 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 18:26:55 ] >>485 [1] ドラッグされたことを知る [2] 描画したものを移動させる がんがれ
487 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 18:32:29 ] >>486 [1]についてはマウスイベントで成功しました。 [2]がよくわかりません。 いちいち白塗りして細かく描きなおすのでしょうか。
488 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 19:43:28 ] >>487 スプライト処理でぐぐってみれ。 要はTVゲームのスプライトと同じで描画領域と位置をコントロールする 後はマウスのイベントで移動量を測ればOK
489 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 22:54:08 ] >>487 昔WebStartのサンプルで画像エディタがあって、コンポーネント単位で画像の移動、重ね貼りが 出来るのがあったけど、そういうのを作ろうとしているの?
490 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 23:09:17 ] 会社の先輩がドラッグアンドドロップできるカードゲーム作ってたな。 あれだ、ソリティアみたいなやつ 結構簡単に出来るといっていたけど、ソースみてもわからんorz
491 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 23:40:07 ] 昔はXORしたりしてたけど 今ならレイヤーで簡単
492 名前:デフォルトの名無しさん [2007/07/10(火) 00:32:21 ] すみません。ごくごく簡単なカウントアップするサーブレットをつくったんですが、 ブラウザを2つ立ち上げると2つとも同じ数をカウントしていきます。int変数でカウントを記録しています。 ブラウザAを立ち上げる→1と表示される ブラウザBを立ち上げる→2と表示される ブラウザAの更新ボタンを2回クリック→4と表示される ブラウザBの更新ボタンを1回クリック→5と表示される これだと、いろんなユーザにint変数が共有されてしまうようにおもうんですが これでいいものなんですか? 以下、ソースを載せます。
493 名前:492 mailto:1sage [2007/07/10(火) 00:34:04 ] import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Lesson03 extends HttpServlet { int intCount = 0; public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html; charset=iso-2022-jp"); intCount++; PrintWriter pw = response.getWriter(); pw.println("<html><head><title>カウントアップするサーブレット</title></head>\n" + "<center><br><br>読み込む度にカウントアップします<hr><br><br>\n" + intCount + "回読み込まれました。<br></center></body></html>\n"); } }
494 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 00:35:53 ] 素人の俺でも分かる。 サーブレットのインスタンスは通常1個しか生成されず、 複数のリクエストは同じインスタンスを呼び出す
495 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 00:38:07 ] ついでに言うと、スレッドセーフにしなければならないから、 原則、インスタンスフィールドは作らない
496 名前:492 mailto:1sage [2007/07/10(火) 00:42:53 ] >>494-495 さん どうもありがとうございます。よ〜くわかりました。doGetメソッドの中で宣言したらよかったです。 ありがとうございました。
497 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 00:45:29 ] doGetのなかで宣言したら毎回0→1になるだけ
498 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 00:49:54 ] >>490 DnDをどうやって認識させるかで書き方が変わるね。
499 名前:デフォルトの名無しさん [2007/07/10(火) 01:16:58 ] (わかっているx座標:x,わかっているy座標:y,斜辺,傾き)を引数で受け取って 求めたいX座標Y座標の値を返す関数を作りたいのですが教えてください。
500 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 03:10:10 ] >>499 java.awt.geom.Point2D method(java.awt.geom.Point2D p, 斜辺の型 a, 傾きの型 b) { return new java.awt.geom.Point2D(p,a,bから求めたx, p,a,bから求めたy); } 実際にはjava.awt.geom.Point2Dは抽象クラスなんでnewでインスタンスを作れないから、 必要な精度に合わせてjava.awt.Pointとかjava.awt.geom.Point2D.Doubleとかを生成して返す。 引数の方はjava.awt.geom.Point2Dでなく問いのようにx,yを別々に指定するようにしても。 両方のメソッドを作ってオーバーロードしておいてもいいかと。
501 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 08:28:03 ] メール受信のためのプロキシーを作りたいのですが…。 パソコンのバックグラウンドで待機して、メール受信時にまずプロキシがメールデータ を取得し、迷惑メールでなければそのままメールクライアントにメールデータを渡したい です。 サーバーソケットを作って待機しているのですが、メール受信時にローカルにバインド されるポート番号を検出できず悩んでいます。当然、110番で待機してはダメですよね? メールクライアント側でプロキシサーバーアドレス、ポートを指定できれば早いのですが…。 (IEのように) アンチウィルスソフトは、ローカルにプロキシサーバーを置いているように見受けられる のですが、どうやって実現しているのでしょう? どなたか、アドバイスをお願いいたします。
502 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 10:33:56 ] JTableなんだけど、他のコンポーネントからTABでフォーカス移動してくると、 まだ一度もセルにフォーカス取得してない状態だとフォーカスが消えたようになる。 もう一度TABを押すとようやくセルが選択状態になるのだが・・・・・。 一度セルにフォーカスを取得すると他のコンポーネントから一発で移動できるように なるんだがな・・。 ちなみにScrollPaneは使っても使わなくても同じでした。 JDKは1.5す。 どなた原因&回避策おながいします。
503 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 10:43:18 ] >>501 あれはシステムに食い込んでるからこそできること。 Java では原理的に無理。 メーラーではメールサーバーに localhost を指定して、 設定その他は自分のプログラムでやるしかないと思う。
504 名前:501 mailto:sage [2007/07/10(火) 11:35:41 ] >>503 レスありがとうございます。 メーラーのメールサーバーに localhost を指定して、通信をパイプする ような感じで実装してみようと思います。 この場合、メールアカウントごとの設定がめんどくさいっすねー・・・。 どうやって保持しようかしら。
505 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 14:25:52 ] そもそも、メーラー側が優秀なフィルタを持ってるこのご時世に自分で作っても意味はないよ。 屑メーラーを捨てれば良いだけ。 それとも、まともなスパムフィルタを作れるほどの 技術があるならメーラーそのものから作るって方法もある。
506 名前:デフォルトの名無しさん [2007/07/10(火) 14:44:29 ] >>505 既にあるから作る意味ないって? つまらない考え方だな。
507 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 14:44:52 ] 業務ロジッククラスXでDB接続とBEGIN ↓ DBクラスYで振込情報をINSERT ↓ DBクラスZで入金情報をINSERT ↓ 業務ロジッククラスXでCOMMITとDB切断 をする際にDBクラスY,Zでconnection.commit()をさせない、 コンパイルエラーにする方法ってありますか? INSERTをさせるためにはDBクラスY,Zにconnectionを渡さなければならず connectionを渡せばcommit()が可能になってしまいます。 commit()やrollback()が不可能なDB接続を渡すとかできないでしょうか? テストでバグ潰せばいいじゃんというのもわかりますができればコンパイル時にはじきたいです。
508 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 15:22:18 ] メーラーの(優秀な)フィルタと自分のフィルタを置き換えなくちゃ いけないならともかく、上乗せできるなら悪いことじゃないでしょ、 普通に考えても
509 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 16:25:27 ] >>507 java.sql.Connectionをラップしたクラスを作れば? ほとんど全てのメソッドはスルーするけど、 commit()やrollback()が呼ばれたらIllegalStateExceptionを投げるようなの。
510 名前:509 mailto:sage [2007/07/10(火) 16:28:05 ] コンパイルではじきたいのね。スマン。 それならAspectJという手も。 ttp://www.kronos-jp.net/tech/tech100/tech100.html
511 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 16:49:20 ] commit()やrollback()が無いインターフェイスNewConnectionを新しく作る。 DBクラスY,ZにはNewConnectionを渡す。 NewConnectionのラッパークラスを作り、DBクラスY,Zからconnectionのアクセスが出来るようにする。 で、どうよ?
512 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 17:16:50 ] 実行入力画面でアルファベットでなく日本語を入力するにはどうすればいいのですか?
513 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 17:40:48 ] てか、それはJavaの質問なのか? WindowsマシンならALT+変換押せ
514 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 17:56:06 ] >>509-510 ありがとうございます。そうです、コンパイル時にはじきたいです。 >>511 その場合、 Connection connection = DriverManager.getConnection( 略 ); ↓※ NewConnection newConnection = new NewConnectionWrapper(); ※の部分の、実際のconnectionをnewConnectionにどうやって渡してあげればいいですか? 頭がこんがらがってきた・・・
515 名前:デフォルトの名無しさん [2007/07/10(火) 18:02:00 ] >>514 まずは落ち着け。
516 名前:デフォルトの名無しさん [2007/07/10(火) 18:06:05 ] 変数の型を調べる方法ってありますか?
517 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 18:07:04 ] これでよかろ。 NewConnection newConnection = new NewConnection(connection); ただし、NewConnection は java.sql.Connection になれないので、 java.sql.Connectionを前提にしているプログラムが既にあるなら、 それを書き直さないといけなくなる。新規開発ならいいけどね。 あとは個人的な感覚だけど、独自規則のAPIを強制されるのはイヤダ。 APIは標準だが実装は(APIの範囲内で)独自、なら許せるが。
518 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 18:17:13 ] >>517 なるほど。newConnectionの中でconnectionをprivateで持っておいて commit()とrollback()は作らず、それ以外はnewConnectionのpublicメソッドを通して connectionに投げると。ありがとうございます。 >あとは個人的な感覚だけど、独自規則のAPIを強制されるのはイヤダ。 >APIは標準だが実装は(APIの範囲内で)独自、なら許せるが。 自分も独自APIを強制して自由度を奪うのは好きじゃないですが DB関連クラスだけでcommit()とrollback()のみの制限ならギリギリ許容範囲内かなと思っています
519 名前:デフォルトの名無しさん [2007/07/10(火) 18:20:17 ] >>516 判定したい型が決まっているなら instanceof演算子 とりあえず型を知りたいだけなら "不明オブジェクト".getClass().getName()
520 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 19:57:44 ] SPAMメールを受けたときに 逆に送信者に攻撃を仕掛けて 二度と送ってこないようにするには Javaではどのような方法がありますか?
521 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 20:32:13 ] Javaを辞めるしかないです。 さようなら。
522 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 20:48:44 ] >>520 オーケー。いい方法を思いついた。 試してみたいので、お前のメールアドレスを教えてくれ。
523 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 21:41:06 ] root@localhost
524 名前:デフォルトの名無しさん [2007/07/10(火) 21:58:09 ] javaのプログラムからコマンドプロントを使ってcdコマンドなどで自動的に特定のフォルダに移動して、特定のファイルを実行したいのですが、探しても方法が見つかりません。 よろしければ教えていただけないでしょうか?
525 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 22:05:35 ] フレームのサイズ変更についての質問です。 サイズを変更したことをリアルタイムに感知したいんですが、どのような方法があるでしょうか? MouseMotionだとD&Dしてる間はメッセージが送られず、componentResizedも試しましたがマウスボタンを離した瞬間しか感知しません (できればその移動距離か変更後のサイズも知りたいです) JAVAではそういうのは想定してないんでしょうか。 >>524 Windowsなら、○○.batっていうファイルつくって右クリック編集 中に ------------ cd 移動先 java メインクラスの名前 ----------- の2行を書けばできるます。 詳しくはバッチファイルでしらべてくらはい
526 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 22:06:09 ] Excelのファイルがいくつかのフォルダに分かれて存在していて それぞれのフォルダはさらにサブフォルダをいくつか持っています 全部のフォルダをたどって全部のExcelファイルから 特定のシートの特定のセルを抽出していきたいのですが どのようにすればよいのか検討も付きません
527 名前:524 [2007/07/10(火) 22:12:30 ] バッチファイルをつかってjavaのクラスファイルを実行するのではなく、javaのプログラムからコマンドプロントのコマンドを入力して特定の処理をしたいのですが。 そのやり方を知っていたら教えて下さい。
528 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 22:14:57 ] >>527 そういうことね、勘違いしてた
529 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 22:57:20 ] >>524 Runtime.getRuntime().exec(☆DOSコマンド☆); 特定の処理がわからないのでここまで
530 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 23:06:56 ] >>527 jrunscriptつかえ。そういうときのためにわざわざ用意されたんだから
531 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 23:27:40 ] ワンランク上になりたいんだけどなにしたらいい Java歴半年くらいでいまJSPとかデータベース使って小規模なシステム作ってる
532 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 23:42:01 ] >>524 java1.5ならProcessBuilderが熱い
533 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 23:49:44 ] >>531 EclipseのプラグインとかSwingなどのGUI イベントドリブンなアプリケーションに慣れ、スレッドをある程度使いこなすと差は出来る
534 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 00:29:28 ] >イベントドリブン そこで Visual C++ ですよ
535 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 00:40:07 ] >>533 EDTで時間かけてイベントキュー詰まらせてアーーーー!!とか・・・ VMのスレッド実装の差異やCPUの数が2以上あってアーーー−!!とか? 個人的にはJWSに触れとくのお勧め。
536 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 02:45:59 ] MouseListenerとMouseMotionListenerは同時に使えない?なんてことはないよな・・・ どっちかを消すと上手くいくのに、 どちらも宣言するとシンボルが見つかりませんといわれる・・・
537 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 02:51:48 ] 自己解決。頭がおかしくなっていたようだった
538 名前:デフォルトの名無しさん [2007/07/11(水) 13:28:05 ] Javaを用いて掲示板を作っています 形はそこそこ出来てきたので「同一人物(同IP)からの二重投稿を禁止する」機能をつけようとしているのですが こういったものを作るのに便利なクラスはあるのでしょうか?
539 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 15:19:11 ] インデント不良って何ですか?
540 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 15:23:12 ] if (a > b) b = a; a = 1; System.out.println(b); みたいに書いてa > bでないときでもa = 1;が実行されるように錯覚させる悪い奴のこと
541 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 15:25:29 ] 逆だ a > bの時にしかa = 1;が実行されないように、だ
542 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 17:19:25 ] はじめからブロックにしとけば良いんだよ。 どうせ後から変更されるんだし。 if (a > b){ b = a; } a = 1; System.out.println(b);
543 名前:デフォルトの名無しさん [2007/07/11(水) 19:31:51 ] if (a>b) b=a; a = 1; System.out.println(b); こう書けば短い。
544 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 23:26:19 ] 1:JSPの画面での入力処理 2:javaでcsvファイル読んだりあれこれしてDBに書き込む 3:DB書き込み結果をJSPで表示、というのを作っています。 これに規定の時間を越したらエラーとしてタイムアウト画面へ遷移する機能を 追加しようと思っています。 で、Actionで try{ Timer timer = new Timer(); timer.schedule(new myTimer(),3000); 色々 }catch(myTimeoutException e){ return (mapping.findForward("error")); } myTimer#run() ←TimerTask継承クラス myTimeoutException e = new myTimeoutException (); throw e; みたいにやってみましたが myTimer#run()までは来るけどActionの方にmyTimeoutException で飛んでこないです。 なんでException飛んでこないのでしょうか?
545 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 23:33:56 ] >>544 Threadに関して基本から学びなおして来い 簡単なサンプルをおいておくので実行してみてくれ class ThreadA extends Thread { public void run() { throw new RuntimeException(); } public static void main(String[] args) { new ThreadA().start(); } }
546 名前:デフォルトの名無しさん [2007/07/11(水) 23:56:24 ] swingのフレームワークで定番なのは何なのでしょうか? 今注目されてるのがあれば教えてください。
547 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 00:12:42 ] swingの定番って意味ワカラネーよ java3dとかその拡張ライブラリのことか?
548 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 00:21:01 ] たった2行正確に読めないのかよ。 "フレームワークの"定番って書いてあるだろ
549 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 00:21:57 ] Swing自体がフレームワークのような気もする。
550 名前:デフォルトの名無しさん [2007/07/12(木) 00:31:47 ] そうだね
551 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 00:34:40 ] フレークワークの意味が解っていないに1票。 定番はBorderLayoutとGridBagLayoutだよ、で満足するのかな(=ω=.)
552 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 00:36:31 ] >>544 runメソッド内でThread.currentThread().getName()を出力してみれば? あと、myTimeoutExceptionクラスのコンストラクタの中でもThread.currentThread().getName()を出力して 違いが分かれば無問題♪
553 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 00:43:35 ] >>544 Webサーバとクライアントのイベントのやり取りを調べてくれ、それじゃ実装できん 1.クライアントでタイムアウトを検知したい ⇒ JavaScriptなどで実装 2.サーバーでタイムアウトを検知したい ⇒ 最初のアクセス時間を記録していて差分を取ればいい 尚、2の場合、「せっかっく頑張って入力したのに><」ってなるので注意。
554 名前:546 [2007/07/12(木) 00:46:37 ] >>546 です。 swing自体フレームワークなのですが、 journal.mycom.co.jp/news/2007/04/27/015/index.html itpro.nikkeibp.co.jp/article/COLUMN/20070516/271165/ をみて、只気になっただけです。
555 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 05:40:19 ] 結局、どれもSwing作法の定型句を隠ぺいして楽する枠組みに落ち着く気がする。 javaでswing以上のGUI出しても高度なだけでどのOSでも通用するGUIが提供できなくなるんじゃないかな? LnFがjavaなだけでwin/macユーザーは避けるし。 ポトペタ支援はJSRガンガン出すだろうね。 そんなところじゃない? やっぱベクターベースのGUIツールキットはまだ早いだろうか?
556 名前:デフォルトの名無しさん [2007/07/12(木) 06:50:33 ] java.lang.Mathクラスを使わずに、double型の変数を 小数点以下二桁まで残して切り捨てたいです。 第一感はこういう感じですが、もっと良い方法があれば教えてください。 double total = 1234.5678; int tmp = (int)(total*100); total = tmp/100.00;
557 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 07:00:49 ] >>556 表示の時にのみ切り捨てるべきと考えて、NumberFormat 小数点2桁と固定ならば、intで【全て】計算して、表示する時に100で割る。
558 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 07:13:07 ] >>556 total = new BigDecimal(total).setScale(2, BigDecimal.ROUND_DOWN).doubleValue();
559 名前:あ [2007/07/12(木) 10:31:48 ] 部分検索するプログラムを考えています。 String型のabcがあってabcともにnullならDBの内容を全部返し、bcだけnullならaの値を返すなど全8通りのif文をうまく考えられません。 どなたか1つでもいいのでお願いします。
560 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 10:36:26 ] aを返すとか全部返すとかどういう意味? 全部返すときはa列とb列とc列を連結して返すの?
561 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 10:42:08 ] SQLのWHERE句をStringのパラメータによって変更するってこと?
562 名前:あ [2007/07/12(木) 10:55:29 ] 559です。 値を取得するってことです。 いまアプリケーション作っててサーブレットに書く内容がうまく表現できなくて… if (i == null && t == null && p == null) { String sql = "select * from *****"; ResultSet rs = stmt.executeQuery(sql); とか考えてたんですけど…
563 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 11:40:11 ] なにがしたいのかさっぱりわからない。説明足りなすぎ
564 名前:デフォルトの名無しさん [2007/07/12(木) 11:45:05 ] String abcという書き方ではなく、a,b,cの3つのStringがあり、それぞれnullかnullでないかを判断する必要があるということなのでしょう。
565 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 11:56:27 ] 質問というか、Javaの可変長引数の仕様で疑問に思ったのですが、 void test(int... vector) { if (vector.length == 0) System.out.println("vectorは空です."); else for (int i : vector) System.out.print(i + " "); } こういうメソッドを書くと、可変長引数は引数なしでも実行できるので、 test(); と呼び出すと、"vectorは空です."と表示されます。 ですが、同名の以下のメソッドを同じクラスで定義すると、 オーバーロードされますので、引数が0のときの振る舞いが不定のように見えます。 void test() { test(1); } 実際にやってみたところ、下の関数が呼び出され、"1 "が表示されました。 可変長引数よりもオーバーロードのほうが優先されることがわかりましたが、 引数的にはどちらでも呼び出せるので、しっくりこません。 よければこのようになる理由を教えてもらえますか?
566 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 12:43:04 ] >>565 java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.12.2.5 あたりだね。
567 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 12:52:47 ] >>566 もうちっと上だった。 15.12.2.3 の一番最後に > If no method applicable by method invocation conversion is found, > the search for applicable methods continues with phase 3 (§15.12.2.4). > Otherwise, the most specific method (§15.12.2.5) is chosen among the methods that are applicable by method invocation conversion. メソッド呼び出し変換で適用可能なメソッドが見つからなければ、 メソッド探索はフェイズ3(可変長引数で適用可能なメソッドを探すフェイズ)に移行。 そうでなければ、最適なメソッドはメソッド呼び出し変換で適用可能なメソッドから選ばれる。
568 名前:565 mailto:sage [2007/07/12(木) 13:09:21 ] >>566-567 こんな質問に、的確な返答をありがとうございます。 そうですか、文書で定義されているんですね。 以下チラ裏 Javaって言語の定義が明確なイメージがあるから、こういうどっちとも取れる構文を許容するのは少し以外。 C++なんかでも、オーバーロードには定義が重ならないように注意しているのに、なんか意図して許容してるのかなあ。 まあ、「実装するのがややこしいorパフォーマンスに問題が出る」っていう可能性が一番高い気もする。
569 名前:デフォルトの名無しさん [2007/07/12(木) 13:15:48 ] >>568 printfがやりたかっただけ。
570 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 14:47:05 ] >>568 だからこそJLSで明確な定義があるんじゃないか
571 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 16:17:51 ] printfって要る派と要らん派でもめなかったけ? swap要るか要らんかの話みたいだと思った記憶があるんだが。
572 名前:sage [2007/07/12(木) 21:59:27 ] いまjaxb2.0を使って、xmlからjavaオブジェクトに変換するロジックを考えてるんだけど、 <hoges> <hoge id="hoge1"><value>ほげでーた</value></hoge> <hoge id="hoge2"><value>ほげでーた</value></hoge> <hoge id="hoge3"><value>ほげでーた</value></hoge> </hoges> pubric class Hoges { @XmlElement(name="hoge") private List<Hoge> hogelist = new ArrayList<Hoge>(); ・・・ } @XmlRootElement pubric class Hoge { @XmlAttribute(name="id") private String id; @XmlValue private String value; ・・・ } このxmlの<value>タグが無駄に思えて仕方ない。 <hoges> <hoge id="hoge1">ほげでーた</hoge> <hoge id="hoge2">ほげでーた</hoge> <hoge id="hoge3">ほげでーた</hoge> </hoges> ってな書き方で、"ほげでーた"をHoge.valueにセットする方法ない?
573 名前:デフォルトの名無しさん [2007/07/12(木) 22:11:25 ] スレッドを指定して停止したり、再開させることってできますか?
574 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 22:13:14 ] >>573 できません。自分でフラグを用意してください。
575 名前:556 mailto:sage [2007/07/12(木) 23:15:53 ] >>557 レスありがとうございます。 doubleを使わないんですね。 intで計算すると、どんな良い事があるんでしょうか。 >>558 ごめんなさい 使えるのはjava.util.*だけでした。
576 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 23:48:21 ] すいません、質問させてください。 「UDTの通信で自分のIPアドレスと、通信している相手のIPアドレスを比較するプログラム」というプログラムを作っています。そこで、 相手のIPアドレスは、DatagramPacket.getAddress() で 「192.○.○.○」という様に普通に取れるんですが、 自分のIPアドレスを、InetAddress.getLocalHost().getHostAddress() で 「2001:0:4136:・・・・」という様に(ググってみるとIPv6のIPアドレスらしいんですが)比較できません。 IPv4で自分のIPアドレスを取得するにはどうすればいいんでしょうか? よろしくお願いします。
577 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 00:04:31 ] >>572 うろ憶えだけどXmlMixed?だったかで出来たかも
578 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 00:52:58 ] >>576 UDT?
579 名前:デフォルトの名無しさん [2007/07/13(金) 00:59:48 ] >>574 >>573 たしか一時停止とかならできるのが有ったよ
580 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 01:01:46 ] >>579 どうやってやるのですか? 特別なライブラリを使用するとかでしょうか??
581 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 01:18:02 ] 指定してってのは無理じゃねーの
582 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 01:22:08 ] 対象の Thread が分かってるなら suspend も resume も可能だろが
583 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 04:25:34 ] イベント処理がGUIの例ばかりでよくわかりません。 どなたかGUIではないイベント処理のサンプルコードを教えてくださいませんでしょうか。
584 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 05:21:09 ] じゃあ、プッシュ型のxmlプログラミングでも・・・ まあ、それは良いとして単純なCUIだとループ中にキー入力拾うだけ。 それ以上のものはコンソール制御できないjavaには無関係で どっちにしても例に出すようなサンプルコードはないよね。 イベントドリブンでググった方が良いと思う。
585 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 05:28:47 ] >>583 public class Clock implements java.awt.event.ActionListener { public void actionPerformed(java.awt.event.ActionEvent e) { System.out.println(new java.util.Date()); } public static void main(String[] args) throws InterruptedException { Clock c = new Clock(); new javax.swing.Timer(1000, c).start(); synchronized (c) { c.wait(); } } }
586 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 08:15:59 ] >>585 それ結局はGUI+スレッドに関連したプログラミングなんじゃ・・・。 まあ、java.awt.*パッケージにイベント周り集中してるからjavaのイベント処理は ヘッドレスじゃないだろって考え方もできるから>>583 の質問も的を射てないかも知れんが。
587 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 11:16:43 ] java.io.File#listFiles や java.io.File#list は > 結果の配列の名前文字列は特定の順序にはなりません。 > アルファベット順になるわけではありません。 とありますが、これは名前文字列以外の点においても 不定(少なくとも保証はしない)と言うことなのでしょうか?
588 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 11:21:40 ] >>587 実装的にはOSのAPIが返す順番そのものなので、たいていはディスク上の ディレクトリに記録されている順番になる。だから、意味のある順番で はない。
589 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 11:42:40 ] >>587 そゆ事。 原文みりゃ分かると思うけど > There is no guarantee that the name strings in the resulting array > will appear in any specific order; they are not, > in particular, guaranteed to appear in alphabetical order. 日本語訳では in particular の部分がスッポリぬけてるのね。 もちろん、>>588 がいう「OSのAPIが返す順番そのもの」ってのも一切保証されてない。
590 名前:デフォルトの名無しさん [2007/07/13(金) 11:46:45 ] Tomcatのコネクションプーリングについて以下でOK? server.xmlのJNDI(ResourceParams)の設定でfactoryにBasicDataSourceFactoryなどの コネクションプーリングに対応した、データソース実装クラスのfactoryを 指定する事で行われる。 factoryの指定がない場合は、driverClassNameで指定したJDBCドライバの DataSource実装クラスが使用される。 よって、factoryなしで、JNDIの記述だけでは、プールが行われるとは限らない。 PostgreSQLの場合、付属のJDBCドライバでは、プールはされない。
591 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 11:57:10 ] >>588-589 ありがとうございます。やはり、と言うところですが 訳抜けと言う点は驚きました。
592 名前:デフォルトの名無しさん [2007/07/13(金) 14:14:10 ] JFreeChartで描画したグラフの上にかぶせるようにShapeを描画する事は可能でしょうか
593 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 14:40:21 ] >>592 可能
594 名前:592 [2007/07/13(金) 15:02:09 ] JFreeChartについてもう一点 axisを共有した異種チャートの混合表示も可能でしょうか
595 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 15:25:30 ] >>591 javadocでは普通、原文とサイトのチュートリアルよく読むのオヌヌメ
596 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 15:44:35 ] >>594 異種で共有ってのがよく分からないけど、それも出来たと思う 前使った時に5,6種類のグラフを重ねてプロットしてたはず
597 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 15:45:43 ] >>1 てsと
598 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 17:02:50 ] 計算についての質問です double test = 17.56; というのがあって、これの100倍の答え(1756)を出したいのですが、 計算すると、1755.9999999999998などという答えがでてきます。 どのようにすれば期待した答えがでてくるのでしょうか。 試したことは下記の2つでどちらも変な結果になりました System.out.println(test * 100.0); System.out.println(test * 100.0f);
599 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 17:19:33 ] >>598 BigDecimal test = new BigDecimal("17.56"); System.out.println(test.multiply(new BigDecimal(100)));
600 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 17:20:37 ] >598 System.out.println(Math.round(test*100));
601 名前:598 mailto:sage [2007/07/13(金) 17:39:48 ] >>599-600 ありがとうございました 期待通りの答えをだすことができました。 単純に100倍するというのは難しいことなんですね・・・勉強になりました。
602 名前:デフォルトの名無しさん [2007/07/13(金) 19:22:03 ] >>593 >>596 有難うございました、早速使ってみました なかなか優れものですねこれは
603 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 19:51:42 ] >>601 誤差がね あるから
604 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 19:52:03 ] >>598 Javaに限ったことじゃないけど、プログラムで小数を扱うのは難しい
605 名前:デフォルトの名無しさん [2007/07/13(金) 19:55:11 ] 電卓でもいえるけどね
606 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 20:26:47 ] 量子コンピューターになればいいんじゃないかな?
607 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 20:31:58 ] 量子コンピュータは二進数使わないのか?
608 名前:デフォルトの名無しさん [2007/07/13(金) 20:46:13 ] アナログコンピューターでOK
609 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 22:42:44 ] >>576 試したこと無いけど DatagramPacket.getSocketAddress().getAddress() って何が帰ってくるの?
610 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 00:04:40 ] >>600 適当すぎw 答えが2.6とかだったら3になるなw
611 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 16:47:50 ] switch文で○○以上の場合はこの処理をするっていうのはできますか?
612 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 17:40:17 ] >>611 とりうる値がかなり限られているなら○○以上の値を複数のcaseで羅列して挙げておけばいいが、 そういう条件判断は普通はif文で処理したほうがいいと思う。
613 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 18:39:38 ] >>611 int flag = 0; if( 10 <= x) flag = 1; switch flag case flag: // 処理 break; default: // 何もしない? でどうだ? switch文は使わないのがベター 大雑把な書き方は覚えているけど、詳細忘れたんで、テキトー xが10以上の時、switch文で処理を分岐できるぞ。 業務で書いたならばぶち殺すけどなwwww
614 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 18:55:18 ] >>611 できません
615 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 21:07:48 ] >>613 case 1:
616 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 22:37:48 ] >>613 caseに変数は使えない。リテラルのみ。 自信ない時は試してから書こうぜ。
617 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 22:38:21 ] あ、定数もいけたか。
618 名前:611 mailto:sage [2007/07/14(土) 23:28:12 ] レスさんくす
619 名前:デフォルトの名無しさん mailto:sage [2007/07/14(土) 23:30:16 ] Rubyならできる
620 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 01:21:06 ] rubyもgroovyもいらない子
621 名前:デフォルトの名無しさん [2007/07/15(日) 12:13:26 ] データの読み込みについて質問です。 一度ByteにしてArrayListに格納して、取り出してbyteに変換しています。 もっとスマートな方法(このクラスを使った方が良い等)があれば教えて頂けないでしょうか。 ArrayList byteArray = new ArrayList(); int readByte = 0; while (readByte != -1) { readByte = stream.read(); if (readByte != -1) { byteArray.add(new Byte((byte) readByte)); } } Byte[] byteBig = (Byte[]) byteArray.toArray(new Byte[0]); byte[] byteTmp = new byte[byteBig.length]; for (int i = 0; i < byteBig.length; i++) { byteTmp[i] = byteBig[i].byteValue(); }
622 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 12:49:22 ] >>621 スマートとかじゃなくて、それじゃ落第です。動くだけ。性能でなさ杉。 1.もし読み込み対象データのサイズは先にわかるのであれば、1発バルクリ ードしておしまいのはず。そんな遅そうな処理をする必要はないです。 多分こんな感じで。 File target = new File("..."); byte[] buffer = new byte[target.length()]; FileInputStream in = new FileInputStream(target); in.read(buffer); I/O-CPU間のスイッチが発生しないので、速いですよ。 2.サイズがわからないにしても、1バイトずつ読むのはやめなさい。 たとえば100バイトずつ読めば、I/O-CPUスイッチの回数は1/100です。
623 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 13:41:28 ] JDBC4.0に対応しているDBってどのくらいある? PostgreSQLが完全対応で、Derbyがβって感じ?
624 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 13:56:15 ] >>622 new byte[target.length()] してから new FileInputStream(target) するまでの間に、 ファイルが書き換えられて長さが変わる可能性がある。 in.read(buffer); は確実にbuffer.lengthバイトを読み込む事を保証してないので、 実装依存にしたくなければ明示的にループ使って全部読み込まないとダメ。 I/O-CPU間のスイッチがどのタイミングで入るかは実装依存なので 100バイトずつ読んでもスイッチ回数が本当に1/100になるかは不明。
625 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 14:05:13 ] RandomAcceccFileの方を使えば100%保障じゃね?
626 名前:デフォルトの名無しさん [2007/07/15(日) 14:13:09 ] ByteBuffer
627 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 14:16:47 ] >>621 ByteArrayOutputStream out = ByteArrayOutputStream(); byte[] buf = new byte[1024]; int len; while(-1 != (len = stream.read(buf))){ out.write(buf, 0, len); } byte[] contents = out.toByteArray();
628 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 14:17:20 ] >I/O-CPU間のスイッチが発生しないので、速いですよ。 >2.サイズがわからないにしても、1バイトずつ読むのはやめなさい。 >たとえば100バイトずつ読めば、I/O-CPUスイッチの回数は1/100です。 おいおい、実装依存だぜそこは・・・って言おうとしたのにorz ち、ちゃんと気づいてたんだからね!?
629 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 14:36:36 ] 様々な回答ありがとうございます。 一通り試して各メリットデメリットを整理し、理解を深めたいと思います。 このスレは優しい方が多いですね。 もっと叩かれると思っていました。
630 名前:デフォルトの名無しさん [2007/07/15(日) 21:22:44 ] javaのlexとyaccどこ?
631 名前:デフォルトの名無しさん mailto:sage [2007/07/15(日) 23:03:47 ] Calendarクラスって使いづらくない?
632 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 00:39:43 ] 古いのはそうだね
633 名前:デフォルトの名無しさん [2007/07/16(月) 01:19:29 ] 上司から、1つのJavaプログラムソースの流れを追えるように、と指示が出されました。 このページの作成ボタンを押したらデータはどう飛ぶかとか…。 ヒントを求めてもこれといった答えをくれないので、Eclipceを前にして苦悩しています。 ど素人&抽象的な質問で申し訳ないですが、ソースを追う際のコツみたいなのはありますでしょうか?
634 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 01:22:31 ] メソッドの頭にブレークポイントを挿入してみたら?
635 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 01:35:42 ] >> 634 ありがとうございます。なるほど、それが簡単かもしれませんね。 でも、jspやらjavaやらが全部で何千と存在しているので、できればそれ以外の方法で検証したいのです。 変数が定義されてないかを調べるために変数を検索してみるといい、とは上司に言われたのですが、 あまり自分の中でピンとは来ません。 とんちんかんなことを言ってるかもしれませんが、ブレークポイント以外でもう一声いただけると助かります!
636 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 01:40:27 ] Eclipseなら右クリックで変数の宣言に飛ぶとかメソッドの定義に飛ぶとかできる
637 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 01:44:16 ] そうなんですか?! 明日、日付明けて今日ですが、会社行って試してみようと思います。 12時間後ぐらいに撃沈してるかもしれませんが、その時はまたご教授願いします…。 素人の質問に回答いただきありがとうございました!
638 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 05:08:20 ] C++からJavaに引っ越してきたばかりの初心者です。 class A { private int data; //外部からは見えない private setter(int data) { this.data = data; } //外部からは使えない public int getter() { return data; } } というクラスがあったとき、data は int 型なので、この値が外部からは 絶対に変更されないことは保証されていると思います(C++と同じ)。 しかし、これが基本型の int ではなく、一般的なクラスだった場合、 例えば StringBuffer だったりしたら、外部からでも StringBuffer str = getter(); str.append("hoge"); みたいにして操作することは可能です(ここはC++と違う)。 これを防ぐために思いつくのは、getter() で data そのものではなく data のコピーを返すことですが、 public String getter() { return data.toString(); } 1. これは標準的な方法ですか? 2. ざっと見たところ、StringBuffer と違って String には インスタンスそのものが保持している値を直接書き換える 関数はないようですが、int と同じように扱っても安全ですか? 3. StringBuffer.clone() って使えるのが自然なような気がするんですが、 なんで使えないんですか?
639 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 05:32:15 ] public StringBuffer getter() { return new StringBuffer(data); } Stringはimmutable StringBufferのclone()はObjectのclone()をオーバーライドしていないのでprotectedアクセスになりAからはアクセスできない
640 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 05:41:17 ] こんな時間にレスありがとうございます! 3点ともしっかり理解しました。 C++についても「分かったつもり」になっていただけの部分が だいぶありそうですので、これを機にもう一度見直してみようと思います。 色々と。
641 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 07:00:07 ] がんがれ
642 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 08:05:31 ] >>638 こういう方法もよくやる class A { // 外部から直接アクセス禁止 private StringBuffer buf = new StringBuffer(); // 許可するメソッドだけを間接的に公開 public append(String str) { buf.append(str); } } あわせて。>639のようにGetterはコピーして返せばOK
643 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 09:21:56 ] >>633 Eclipseがある今では古風なやり方だが、各所にSystem.out.println(".."); を配置すると今どこら辺の過程やってるのか分かるよ。
644 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 10:29:57 ] lnないほうがいいよ
645 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 10:31:48 ] 二重ループで外を●内を・にすると ●・・・・・・・●・・・●・・・・●・・・・・●・・・ みたいに楽しめる
646 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 11:21:11 ] >>638 javaはcall by referenceが無くていわばreferenceをcall by valueしてる。 ていうのをとっとと覚えた方が良いと思う。 むかし、MSにプリミティブのラッパークラスが 保持してるvalueを書き換える手段がないのは欠陥と非難されたことがあるよ。
647 名前:デフォルトの名無しさん [2007/07/16(月) 11:24:16 ] FlashからJavaに入った奴です、よろしくお願いします。 例えば、Flashでは、あるFlash(swfファイル)に、後から、別ファイルのFlashを、 ロードして実行/表示することができるんですが、 Javaアプレットの場合、後から、別archiveをロードして、その中のクラスを 利用したりすることは出来るんでしょうか。。
648 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 11:25:37 ] BASIC作ってた会社に言われたくない罠
649 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 11:26:17 ] できるよ
650 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 11:42:08 ] >>648 作ってないよ。あれは買い取っただけ。
651 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 12:07:30 ] >>650 ビルゲイツキタ━━━━━━(゚∀゚)━━━━━━ !!
652 名前:デフォルトの名無しさん [2007/07/16(月) 12:47:53 ] mainスレッドとmainスレッドからstartされるThread-0があって、GUIのボタンでThread-0の停止・開始を 制御するサンプルとかないですか?
653 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 13:30:04 ] >>652 一度止めた(止まった)スレッドを再開することはできない。 Threadの中でループを使って実行・一時停止を制御するか、ボタンのイベント毎にスレッドを作れ(止めろ)
654 名前:647 [2007/07/16(月) 14:21:16 ] >>649 ありがとうございました。この方向で、勉強してみます。 また、つまづいたら、よろしくお願いします。
655 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 15:06:05 ] >>653 ありがとうございます wait/notify使えば出来るかなと思ったのですがダメなんですね
656 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 17:52:30 ] JDBCでMySQLを使ってるんですが、setAutoCommitをfalseして commitとrollbackを使えば排他制御はできてるんですか?
657 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 17:54:16 ] commit/rollbackは排他制御じゃなくてトランザクションの仕組み それを使って排他制御ができるかどうかは>656次第
658 名前:デフォルトの名無しさん mailto:age [2007/07/16(月) 17:55:04 ] cから来たんですけど「final」って何ですか?馬鹿にしてるんですか?
659 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 17:57:41 ] >>658 constと同義
660 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 17:58:34 ] >658 includeってなんですか?馬鹿にしているんですか?
661 名前:デフォルトの名無しさん mailto:age [2007/07/16(月) 18:01:07 ] >>658 処理系側が安心して定数であると判断しているのです 大文字、小文字の判別が出来るものと出来ないものが有る為 どうしても定数宣言で必要になるのです
662 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 18:01:55 ] ん、もしかしてCしか知らないのかw
663 名前:656 mailto:sage [2007/07/16(月) 18:41:04 ] トランザクションと排他制御の違いがよくわかってませんでした。 dev.mysql.com/doc/refman/4.1/ja/lock-tables.html MYSQLでは、このページにあるようにロックテーブルすれば排他制御はOKですか?
664 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 18:46:16 ] 今のjavaのfinalは定数じゃなくて一度しか代入(初期化しか)できない変数だろ。 blank finalがあるから。
665 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 18:49:06 ] >>663 それはJavaの話ではないのでMySQLスレで聞いた方がいい 排他制御がシビアであるのでない限り、TimeStampを使って簡単な排他制御を行うことが一般的。 つまり、更新するレコードを取得した時にLAST_UPDATE_TIMESTAMPなどを取得しておき、UPDATE時はWHERE条件に含めてしまう(排他で引っかかれば更新結果0件)など。
666 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 18:50:42 ] >>664 むしろ、変数に代入された値(参照先も含む)の不変性を保証 釣りにマジレスはここまで。
667 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 18:52:46 ] 何が「むしろ」なんだ?>>664 のが的を射ているし。
668 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 19:24:02 ] >>665 timestampはそういうときに使えるんですね LAST_UPDATE_TIMESTAMPっていうのはMySQLの関数ですか? 探したんですが見つからないです。 あとこの方法だとテーブルにtimestamp型のカラムを持たせないとできないんですよね? もうMySQLの質問になってますね。すいません。これで最後にします。
669 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 19:27:31 ] >>667 JLS3以降(Java5以降)でfinalの役割が重くなって、 666のようになったはず。
670 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 19:31:13 ] >>668 いや各テーブルに定義するカラム 最終更新日時ってカラムは何かと便利だから全てのテーブルに含めてテーブル設計することが多い(この辺もMySQLスレかDB総合スレ)
671 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 19:31:19 ] >>669 finalの役割が重くなったって、具体的にchapterいくつよ
672 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 19:45:43 ] >>670 あーカラム名ですか。 たしかにあったら便利ですね。 勉強になりました。ありがとうございました。
673 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 19:59:01 ] >>658 final = 再代入不可 変更不可ではない(参照先が変更されれば変更可能) 逆にすべての参照先をfinalにすれば変更不可(immutable)にできる 再代入の意図がなければなるたけつけておくのが良策 Cのconstとは違うので注意
674 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 20:08:24 ] >>673 Cのconstはダブルポインタ先も固定のままだっけか?
675 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 20:14:56 ] >>671 666はマジレスパワーが足りず言葉不足 chapterは 17.5 Final Field Semantics あたりか? あとは自分で調べるか、やさしいエロイ人待ちなさい
676 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 20:30:43 ] 一度しか代入(初期化しか)できない変数 と 変数に代入された値(参照先も含む)の不変性を保証 の差が解らない… 一度しか代入できないって事は代入された値が不変って事じゃないの?
677 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 21:09:36 ] >>676 final StringBuffer buf = new StringBuffer(); buf = null; //これはエラーになる=一度しか代入できない。 buf.append("hoge"); //これはエラーにならない。参照先の不変性は保証されない。
678 名前:デフォルトの名無しさん [2007/07/16(月) 21:09:38 ] >>676 finalでStringBuffer持ってたら?
679 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 21:19:04 ] >>677 ,678 Java5から重くなって参照先の不変性を保証ということは、 buf.append("hoge"); でエラーになるということ?
680 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 21:21:12 ] >>679 それ嘘だから。エラーにはならないよ。
681 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 21:35:16 ] 気分、こんな感じ 1. あるスレッドにおける代入結果は、他のスレッドからすぐには見えない 2. ファイナルフィールドとはいえ、一回は代入される 3. 不変と称しているのに、代入される前のファイナルフィールドが見えたらいやん 4. final の意味を強化
682 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 22:12:43 ] >>679 5.0の同期周りで後付けされた仕様を拡大解釈でもしてるんじゃない? でもあれだ、static finalでプリミティブだと吐くバイトコードにリテラル埋め込んでるから定数と言えるかも。 あと、finalじゃなきゃinner classから参照できないんじゃなかったけ?
683 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 22:21:43 ] >>682 static final int a = Integer.getInteger("system.property"); みたいな事もできるから、「static final でプリミティブ」なだけじゃ定数とはいえない。 final でなければ参照できないってのは匿名クラスの話じゃないか?
684 名前:デフォルトの名無しさん [2007/07/16(月) 22:52:09 ] 付箋を作成したいのですが、コンパイルができません。 C:\sample>javac FusenExec.java FusenExec.java:6: シンボルを見つけられません。 シンボル: クラス Dodai 場所 : FusenExec の クラス Dodai fusen; ^ FusenExec.java:7: シンボルを見つけられません。 シンボル: クラス Dodai 場所 : FusenExec の クラス fusen = new Dodai(); ^ エラー 2 個 因みに、ソースはこれです。どこがおかしいかを指摘ください。 class FusenExec{ public static void main(String[] args){ Dodai fusen; fusen = new Dodai(); fusen.setSize(300,50); fusen.setVisible(true); } }
685 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 22:55:04 ] クラスパス上にDodai.classが存在しない
686 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 22:55:33 ] >>684 Dodaiクラスがないんだって。 コンパイルしてないんじゃねーの? おかしいところ? ソースコード→コンパイル→実行の流れ理解しているか怪しい
687 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 12:09:21 ] 流れ切るけどjogl用のモデルローダーってないかな? フォーマットは何でも良いんだけど。 できればソースコード公開義務のないライセンスがいいんだけど・・・。 java3d用なら色々あるんだけど、自分で実装しなきゃダメかな?
688 名前:デフォルトの名無しさん [2007/07/17(火) 13:31:43 ] 10万行のデータを描画するため自作GUIを作っているのですが、うまくいきません。 キャンバスに描画し、折り返し処理などは実現できたのですが、スクロール処理がうまく実現でしません。 少ないメモリで高速に描画できるソースなどはありませんでしょうか
689 名前:デフォルトの名無しさん [2007/07/17(火) 13:34:20 ] 段階に分けるのが一般的
690 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 14:18:47 ] こいつ、10万行のテキストデータを丸ごと読もうとかしてるのかwww
691 名前:デフォルトの名無しさん [2007/07/17(火) 14:24:41 ] そんな無茶した事無いから解らんのだが オーバーフローしないのか?w
692 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 14:32:32 ] Swingのスクロールの実装があるじゃないか。 ていうか10万って言ったらUnicodeでUTF-8で日本語で1行80文字としても殆どが1文字3バイト取られるからメモリを23Mbyte食うわけだが・・・。
693 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 14:34:35 ] >>688 10万行ってだけならなんとかなりそうだけど。 スクロール処理が上手くできないってのは 計算済みの折り返し情報を行毎に保持とかしてないんじゃね?
694 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 14:37:14 ] というかSwingには高レベルなEditコンポーネントがあるんだが、それを拡張しようとか思わないのか? 低レベルな事はすべて実装されてるだろうに。 Canvasとかに直描きとか?
695 名前:デフォルトの名無しさん [2007/07/17(火) 14:41:20 ] 方法としては694が一番手っ取り早いやね と言うか普通は新しいクラス造りが趣味でもない限りそうするけど
696 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 14:52:44 ] 現実問題として10万行スクロールするユーザーがいるとは思えないw
697 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 15:32:49 ] >>696 つ速読の練習
698 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 15:34:49 ] 2chの1スレ分でも10万行はないよなあ 3000〜1万行くらい?
699 名前:デフォルトの名無しさん [2007/07/17(火) 15:44:05 ] て言うかそんな整理されてないデータは価値も低い
700 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 17:32:52 ] とりあえずスレタイがちょうど目に付いたという理由で 「スレ立てるまでもない質問はここで」スレの過去ログを いくつか見てみたけど、だいたい1スレ7000行弱に収まってるね。 ってことは10万行つったら15スレ分ぐらい、 それを一気に表示されたって使う方は困るし、それよりは うまく分割するとか有益な情報を抽出するとかって方に 注力した方が得るものは大きいと思う。
701 名前:デフォルトの名無しさん [2007/07/17(火) 17:42:37 ] 解決としてバッファリング用の作業クラスを一つ作りファイルから必要分だけ抽出し表示用のクラスに 送り込めるようにするのがいいと思う。 但し、どうしても必要な場合に限定し、できうる限り整理されたデータを用いるべき。
702 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 19:21:45 ] その前に必要なデータの抽出だ。
703 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 19:47:51 ] >>688 こんなんでいいんでないの? import java.awt.*; import javax.swing.*; public class J688 extends JFrame{ JTextArea textArea = new JTextArea(10*10000, 40); JScrollPane scrollPane = new JScrollPane(textArea); public J688(){ super(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); for(int i=1;i<=textArea.getRows();++i) textArea.append("Line:"+i+"\n"); add(scrollPane, BorderLayout.CENTER); setPreferredSize(new Dimension(300, 300)); pack(); setVisible(true); } public static void main(String[] args) { new J688(); } }
704 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 22:09:22 ] 初歩的な質問ですいませんが。 標準入力でインスタンスの数が変わる場合、インスタンスの生成で インスタンス名をどう指定すればいいんでしょう? Player player1 = new Player; と言う感じに固定ならば書きますが、このplayer1が可変な場合に 変数などでどう表せば良いのかでつまづいて…。
705 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 22:11:19 ] 「インスタンスの数」ってなんだい? そこんとこもう少し詳しく
706 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 22:16:08 ] なんかよくわからんがエスパーで回答してみる System.inで読んだ内容からk個のインスタンスを作るんだったら 普通にk個インスタンスを生成して片っ端からListに入れればいいんじゃね?
707 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 22:20:19 ] 引数可変でその数だけ同一オブジェクトを生成するなら配列にでもぶちこんどけ ってパパが言ってた。
708 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 22:29:48 ] すみません 質問させてください 現在修行中の身で、JavaSE5.0を使って色々とOJTしております XMLを扱う場面で先輩からJAXB2.0なる便利なものを教えていただきました。 途中からJavaSE6に変えてJAXB2.0を楽しんでいたのですが、会社の命令でJavaSE6禁止命令が出ました(出ましたというより、もともと5.0か1.4しか使っちゃだめらしいです) そこで困っているのですが、またまた、先輩社員からJavaSE5.0使って、SE6のJAXB2.0だけコピーすりゃいいじゃんと言われました そんなことできるんですか?
709 名前:704 mailto:sage [2007/07/17(火) 22:35:09 ] >>705-707 早速どうもです 何と言うか、インスタンスの数が2つと決まっていれば Player player1 = new Player; Player player2 = new Player; と言う感じに2つ作れば出来ますが、標準入力で指定された数作ろうとした場合 下みたいな感じで配列なりで表してfor文ででも回せば良いかと思ったのですが。 m = 標準入力; for(int n = 0 ; n>=m ; n++ ){ Player **** = new player; } ここの***をどう記述したら良いのかが分からずどうにもうまく行かなくて。 初心者で引数可変、Listがちょっと分かりませんが調べてみます。
710 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 22:56:07 ] >>708 JAXB自体はJavaSE6以前からある。ここね。 ttps://jaxb.dev.java.net/ ここからダウンロードしたファイルからjar取ってきて、クラスパスに足せばいいよ。 「SE6のJAXBだけコピー」と言われると違うが、お前さんの解釈違いの可能性もあるので その先輩さんのことはとやかく言わないでおく。
711 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 23:04:44 ] >>708 いや、そんな事したらライセンスとライブラリの依存関係解決を別個にやる羽目になるじゃん。 JAXBのページがsunかその周辺のサーバーにホストされてるからそこ当たってみ。 >SE6のJAXB2.0だけコピーすりゃいいじゃん ライセンス管理意識なさ過ぎ。
712 名前:デフォルトの名無しさん [2007/07/17(火) 23:13:36 ] ファイル出力時のflush()についての質問です。 少し前に下記のようなコードを書いてプログラムを走らせたところ、出力ファイルの末尾が切れていました。 String output_file_str = "hoge.txt"; FileWriter output_file = new FileWriter(output_file_str); BufferedWriter output_file_buf = new BufferedWriter(output_file); /* 出力処理 */ output_file_buf.close(); output_file.close(); 調べた結果、close()する前にflush()をしなければいけないということが分かったので、下記のように直して現状は正しく動作しています。 String output_file_str = "hoge.txt"; FileWriter output_file = new FileWriter(output_file_str); BufferedWriter output_file_buf = new BufferedWriter(output_file); /* 出力処理 */ output_file_buf.flush(); output_file_buf.close(); output_file.close();
713 名前:712 [2007/07/17(火) 23:14:20 ] 続きです ここで、ふと疑問に思ったのが、FileWriterとBufferedWriterの両方にflushが存在している点で、 FileWriterは一文字単位でしかやり取りできない、BufferedWriterを使うことで行単位などでもやり取りができるということから 【BufferedWriter】−【FileWriter】−【ファイル】 とつながっていると思うのですが、この場合 output_file_buf.flush(); /* BufferedWriterの内容をすべてFileWriterにflush()する */ output_file_buf.close(); /* BufferedWriterの中身はすべて出力済みなので閉じてOK */ output_file.flush(); /* FileWriterの内容をすべて指定したファイルにflush()する */ output_file.close(); /* FileWriterの中身はすべて出力済みなので閉じてOK */ と両方でflushすべきなのかどうかで迷っています。 いくつかのページを参考に調べてみると、 String output_file_str = "hoge.txt"; BufferedWriter output_file_buf = new BufferedWriter(new FileWriter(output_file_str)); /* 出力処理 */ output_file_buf.flush(); output_file_buf.close(); といった感じにひとつずつ変数を定義するのではなくまとめて書かれていたのですが、FileWriterを明示的にflushしなくても安全なのでしょうか? 以上です。どなたかアドバイスよろしくお願いします。
714 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 23:19:03 ] >>712 > 調べた結果、close()する前にflush()をしなければいけないということが分かったので それは嘘。close() する前に flush() する必要はない。
715 名前:デフォルトの名無しさん mailto:sage [2007/07/17(火) 23:42:06 ] >>710 >>711 レスさんくすです 先輩のアドバイスは私の解釈違いかも知れないのでスルーしてください JAXBはSE6以前からあったんですね SE6で標準APIに加えられたとの解釈でOKですかね?
716 名前:712 [2007/07/18(水) 00:05:20 ] >>714 表現が少しあいまいでした。 正確には研究室の先生に出力が途切れる現象を伝えたところ、flush()すれば大丈夫との回答が得られ、実際にflush()の行を追加したところ、すべてが出力されたという状態です。 BufferedWriterのjavadocでは flush public void flush() throws IOExceptionストリームをフラッシュします。 定義: クラス Writer 内の flush 例外: IOException - 入出力エラーが発生した場合 -------------------------------------------------------------------------------- close public void close() throws IOExceptionストリームを閉じます。 定義: クラス Writer 内の close 例外: IOException - 入出力エラーが発生した場合 とあって、closeが内部でflushを行ってからストリームを閉じるとは書いてはないので、実は明示的に行わないとまずいのではと思ったのですが・・・ でもいくつかのページではcloseはflushを行った後にストリームを閉じるって書いてあって、でも各ページの説明で使っているサンプルコードにはちゃんとcloseの前にflushが入っているわけで・・・ 初めに出力されなかった問題点はもっと別のところにあるのかな?
717 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 00:10:38 ] >>709 配列作って pl[n] それから、「new Player;」 「n >= m」 は間違ってるから修正しとき
718 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 00:33:53 ] >>716 1.6 のAPIリファレンスでは >ストリームを最初にフラッシュして、閉じます。 って書いてある。 たぶん、あまりにも当然すぎて書かれなかっただけなんじゃないかと。 > 初めに出力されなかった問題点はもっと別のところにあるのかな? output_file_buf.close() を呼ぶ前に output_file.close() を呼んでいた、に一票。
719 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 02:42:29 ] >>715 そう。EE5.0にあるxmlライブラリをSEに持ってきた時に依存関係を解決するついでにくっついて来た感じ。 標準ライブラリに昇格しただけでJAXB自体は前からあった。
720 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 03:53:12 ] SwingとかWebStartとかXMLとか流行りそうで流行らんなー。
721 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 03:58:29 ] 720プロデュースで大々的にキャンペーンでもうってみてはどうだろう
722 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 05:19:42 ] Swingとxmlは流行るとかそういうものじゃないと思うが。
723 名前:デフォルトの名無しさん [2007/07/18(水) 09:59:11 ] 質問させてください。 以下のような処理を行いたいと思ってるのですが、行き詰まっています。 1. JScrollPaneのscrollble clientに、GridBagLayoutのJPanelを貼り付けて、ボタンの テーブルを作成。 2. JScrollPaneのcolumn headerに、JTableのcolumnNamesのような項目名をテーブルの 各要素の幅に同期するように作成。 上記の、2.の処理を上手くやる方法はないでしょうか? 最初は、JTableのセルにパネルを貼り付けられないかと考えていたのですが、探した限り やり方がみつからなかったので、この方法をとろうとしています。 良いお知恵をお持ちの方、ご教示願います。
724 名前:デフォルトの名無しさん [2007/07/18(水) 10:28:34 ] >最初は、JTableのセルにパネルを貼り付けられないかと考えていたのですが、探した限り >やり方がみつからなかったので、この方法をとろうとしています。 TableCellRenderer
725 名前:デフォルトの名無しさん [2007/07/18(水) 10:46:52 ] チュートリアルに無いか?
726 名前:デフォルトの名無しさん [2007/07/18(水) 12:06:38 ] いや、JDKのデモに付いてた気がする。
727 名前:712 [2007/07/18(水) 15:25:28 ] >>718 言われてみて、はっと気がついてソースコード見直したら /* バッファーの内容を全て吐き出す */ buf_output_file.flush(); /* ファイルクローズ */ output_file.close(); ってなってました・・・ すみませんでした〜〜〜(>_<) Javaで本格的に書き始めたのが、今回エラーの出たソースコードで、最近第2作目に突入していて頭の中がごっちゃになってました。^^;
728 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 18:08:40 ] char型の変数 c があるとして、 int n = (int)c; でUnicodeでの文字コードが取得できるらしいんですが、 これをShift-JISでの文字コードを取得するにはどうしたらいいですか?
729 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 18:54:30 ] > int n = (int)c; でUnicodeでの文字コードが取得できる 出来ません。 CharacterやStringクラスにコードポイントを返すメソッドがあるのでそれを使いましょう。 今のunicodeは21bitなんだな
730 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 19:03:00 ] >>728 char型の変数cに収まる範囲の文字コードについてはいい加減にこういうふうに char c = 'あ'; short s = java.nio.charset.Charset.forName("Shift_JIS").encode(String.valueOf(c)).getShort(); System.out.printf("%04x%n", (int)c); System.out.printf("%04x%n", s);
731 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 19:15:44 ] >>730 Charsetまで呼ばなくても、それならこれでいいんじゃね? for (byte b : String.valueOf(c).getBytes("Shift_JIS")) System.out.printf("%02x", b);
732 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 21:44:44 ] >>717 急いで書いたらしょうもないミスしてますね、すいません。 配列で出来るんですか…う、う…ん…。 何か根本的にやり方がおかしいようですね…。 勉強しなおしてきます。
733 名前:デフォルトの名無しさん [2007/07/18(水) 22:47:44 ] JTable にスクロール機能を持たせる場合、通常 JScrollPane を使用しますが、 大量データがある場合はパフォーマンスとリソースの観点から実用的では無い ので、JScrollBar を使用した手動スクロールを作成したいのですが、 作成方法を教えて頂けませんでしょうか? サンプルなどがあるHPでも結構ですので、ご教授頂けると幸いです。
734 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 22:57:28 ] 688
735 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 23:01:21 ] Frame上でJSplitPaneとか、Jの付くコンポーネント使って何か問題ありますか?
736 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 23:10:52 ] >>733 > 大量データがある場合はパフォーマンスとリソースの観点から実用的では無い JScrollPane使ってたら、描画が必要な部分しか描画しないはずだが。
737 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 23:12:34 ] 軽量が先、重量が後に描画に起因する事象。問題あるかどうかはやり方次第。
738 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 23:19:24 ] >>736 Swingの使い方間違えてんだろう・・・Swingで著しくパフォーマンス悪いのと描画に問題あるのは昔からマが使い方間違えてるだけだし。 JTreeを初期化時に全部ツリー作るとかさ。 そういうことだ>>733 ソース晒すなりしないと。 今のマシンスペックじゃあブラウザでFlash自慰サイト読み込んで メモリ1Gくらい食ってガンガン動かしても余裕だからjavaなんて論外。
739 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 23:46:53 ] public void run() { try { while (true) { Socket acceptedSocket = serverSocket.accept(); hogehoge(acceptedSocket); } } catch (InterruptedException e) { } catch (IOException e) { e.printStackTrace(); } finally { try { serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } 他のスレッドからThread#interrupt()で止められるサーバーってこう書くのかと思ったら 例外 java.lang.InterruptedException は対応する try 文の本体ではスローされません。 正しくはどう書くものなんでしょうか。
740 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 23:47:08 ] >javaなんて論外 Flexっていう便利なものがあるんだからJavaでGUI書くなんて 論外って意味なのか、Javaで書くと重いと文句を言うなんて (使い方を間違えてるだけから)論外って話なのか、どっちだろう
741 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 00:36:26 ] >>739 Thread#isInterrupted()、Thread#interrupted() 使って 自前で割り込みされたかチェック。 何したいのか良く分からんけど、 interrupt で止められるサーバって考え方自体が正しくないような気もするが。
742 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 00:47:41 ] >>739 ここでその手の話にまったく詳しくない俺が本で読んだだけの知識で答えるぜ 1.ServerSocket#accept()はInterruptExceptionを投げない→タイムアウトを使うしかないはず(nioあたりで止められるのはあった気がする) 2.Thread#interrupt()を実行したら勝手にInterruptExceptionが発行されるわけではない→Thread.currentThread().isInterrupted()でインタラプト状態を確認し手動で投げる 3.hogehogeがやたら時間のかかる処理でInterruptExceptionを使う場合hogehoge内で2の動作をすることでキャンセル可
743 名前:739 mailto:sage [2007/07/19(木) 01:12:45 ] 参考になりました。 ・・・が、方針の段階で間違っているんですかね・・・。 サーバーって普通どう止めるものなんでしょう?
744 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 01:40:36 ] そこでThreadPoolExecutorの出番ですよ
745 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 10:31:20 ] javaの配列の宣言で class Fuck { String str[] = new String[5]; public static void main(String[] args) { } } ってやると配列の宣言でエラーがでるんですが何故でしょうか? 配列の宣言文をメインの中でやるとエラーはでないんですが
746 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 10:35:46 ] static
747 名前:745 mailto:sage [2007/07/19(木) 10:46:32 ] すみませんソース間違えました; class fuckArr { static String str[] = new String[5]; str[0] = "myGOD"; public static void main(String[] args) { System.out.println(str[0]); } } で fuckArr.java:4: ']' がありません。 str[0] = "myGOD"; ^ fuckArr.java:4: <identifier> がありません。 str[0] = "myGOD"; ってエラーがでるんですが何故でしょうか? mainでstr[0] = "myGOD";ってやると通るのですが
748 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 10:46:41 ] >>745 配列の宣言(String str[] = new String[5];ってやってるところ)では エラーでないでしょ。 staticメソッドからは static でないメンバにアクセスできないけど。
749 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 10:51:08 ] >>747 そこには式文かけないから当たり前。 フィールド宣言時に初期化子つかってやるか、静的初期化子使え。 static String[] str = { "myGOD", null, null, null, null }; static String[] str = new String[]{ "myGOD", null, null, null, null }; static String[] str = new String[5]; static { str[0] = "myGOD"; }
750 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 10:52:11 ] ぬるぽ
751 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 10:52:42 ] class fuckArr { static String str[] = new String[5]; str[0] = new String("myGOD"); public static void main(String[] args) { System.out.println(str[0]); } }
752 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 10:54:30 ] >>747 str[0] = "myGOD";がある場所はコンストラクタやフィールド、メソッド、内部クラスの定義しか書けない場所。
753 名前:745 mailto:sage [2007/07/19(木) 11:08:51 ] >749-752 レスthx 単純に式文がかけない場所なんですね
754 名前:デフォルトの名無しさん [2007/07/19(木) 13:54:28 ] Java sound apiを利用してWebアプリケーションを構築したいと考えているのですが 例えばページ上でボタンを押したら録音が始まり10秒間録音してユーザーのローカルにファイルとして保存するようなJSPは 構築可能でしょうか? 頭でなかなかイメージできないので、可能か不可能かも分かりません 具体的な解説を付け加えてもらえれば、なお助かります
755 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 14:05:41 ] ファイルの内容を一行消したい場合は何を使えば良いのでしょうか?
756 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 14:20:30 ] >>754 無理というかJSPにする意味が分からんというか。 そういうのはJWSにした方が良いよ。
757 名前:デフォルトの名無しさん [2007/07/19(木) 14:37:26 ] >>756 JWSとJSPはサーバサイドかクライアントサイドかの差だけだと思っていたので、 サーバ側の自分が負担できればと思っていたのですが・・・ またもしJSPであれば、クライアント側はJRE等が必要なくて済むかと・・・ つまり先述の例であれば、JWSの方が良い理由があるということでしょうか?
758 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 14:53:09 ] サーバサイドのプログラムでクライアントの音声デバイスにはアクセスできない。 サーバにくっついてるマイクの音だけしか拾えない。
759 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 14:55:58 ] Javaを理解するためにはアルゴリズムを勉強したほうがいいでしょうか?
760 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 15:06:23 ] >>757 サーバー側で動くもの作ったことある? というかどういう風に動いてるか知ってる? 根本的なところから勉強した方が良い気がする。
761 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 15:07:03 ] >>759 Javaに限らずそれはしたほうがいい
762 名前:デフォルトの名無しさん [2007/07/19(木) 15:37:59 ] RMIでできるべ
763 名前:デフォルトの名無しさん [2007/07/19(木) 15:39:19 ] サーバ側のミキサーにアクセスするだけの話 だからそれほど難しい話ではない
764 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 15:44:09 ] >>761 ありがとうございます。 ちなみにビギナー向けでいい本ご存知ですか?
765 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 15:55:10 ] >>764 アルゴリズムの勉強は言語(Javaでもいい)の基礎が出来ていて多少書けることが前提 「アルゴリズム」とか「データ構造」でぐぐればネットでも勉強できる これはC言語だけどアルゴリズムの考え方自体は同じだから参考になると思う www.geocities.jp/ky_webid/algorithm/index.html Javaで説明されてる本も出版されてるみたいだけど読んだことは無い
766 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 16:08:57 ] >>765 そうですか。自分はJavaの勉強に行き詰っている状態なのでちょっと厳しいかもしれません ネットでも勉強出来るんですね?ありがとうございました
767 名前:デフォルトの名無しさん [2007/07/19(木) 16:22:07 ] 基本的なアルゴリズムが身につくと応用力が付く ネットで見たりするソースに隠れたものを理解できるようになる そうなるとどんどん力が付くよ。 最初はやはり本で少し学んだ方がいいかもしれない それほど高く無い値段で出回ってる。
768 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 16:35:37 ] 本日の部下との会話 俺:newってどういう意味? 部下: ____ / \ /\ キリッ . / (ー) (ー)\ / ⌒(__人__)⌒ \ あたらしく作るということです | |r┬-| | \ `ー'´ / ノ \ /´ ヽ | l \ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) 俺:newって単語の意味だけで想像して言っただろ? 部下:はい(´Д`;)ヾ
769 名前:デフォルトの名無しさん [2007/07/19(木) 17:00:11 ] 苦労してるな
770 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 17:03:28 ] >>765 フヒヒ 横からいいHPハケーン!
771 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 17:50:23 ] >>763 クライアント側のミキサーにアクセスしようとしてるんだと思うが?
772 名前:デフォルトの名無しさん [2007/07/19(木) 17:58:17 ] だったらそれでもいいだろ 難しく考えすぎ
773 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 18:16:19 ] 盗聴のような真似ができるから今問題になってるね
774 名前:755 mailto:sage [2007/07/19(木) 19:00:25 ] どなたか(´;ω;`)
775 名前:デフォルトの名無しさん [2007/07/19(木) 19:03:44 ] 読み込んだあと該当箇所のエスケープシーケンスを消す そのあと保存
776 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 19:04:45 ] 1行ずつよみこんで新たなファイルに書き込む。該当行はスキップ。
777 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 20:23:58 ] 特定の文字列に対して正規表現がマッチしている、みたいなのはできたのですが、 正規表現を指定してそれにマッチする文字列をランダムで作成する、みたいなことってできないでしょうか。 仕事なんでできないとだめなんですが、ご意見いただけないでしょうか。
778 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 21:10:16 ] >>777 ランダムで文字列を作成して、正規表現にマッチしていればループを抜ける
779 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 21:17:15 ] 正規表現を逆解析して、適切なテストデータを流すDBからデータとってくるとかかな むかーし、そんな感じのテストツール作ろうかと考えたこともあった。
780 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 21:30:12 ] 正規表現の逆なんて正規表現でのマッチングよりも難しいんじゃないか? 適当に使用する文字を絞り込んでから778の言うようにランダムに作成してマッチングかけるのが手っ取り早そうだ 仕事なんで出来ないとダメってのは何かおかしいと思うぞ 出来ないものは出来ないと言うべきだ
781 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 21:38:22 ] >>778 最初それで考えたんだが、文字数だとかが絡んだりするとそう簡単にはいかんことに気付き断念 >>780 普通はそうなんだろうが、そうもいかない会社はいくらでもあるのよ。 とりあえず対応できそうな構文のみでいってみるか・・・
782 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 21:43:34 ] >>781 だいたい何の用途で使うんだ? 正規表現って言ってもどこまで対応するかによってとんでもなく面倒だぜ
783 名前:754・757 mailto:sage [2007/07/19(木) 21:51:25 ] >>758 なるほど、これでだいぶ理解できました ありがとうございます >>760 全くの初心者です 今日、早速本を買ってきました これから勉強していこうと思います ありがとうございました。
784 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 22:27:57 ] >>774 特にAPIは無いんじゃないの?
785 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 22:32:00 ] >>781 1. ある表現から固定の決まったシーケンスを出すようにする [a-z]* なら aaa [0-9]* なら 000 2. あるシーケンスの正規表現マッチングを崩さないような変更を行うメソッドを いろいろ(対応する正規表現分だけ)用意する 例: [a-z]* の aaa を aab にするとか、 aaにするとか。 3. 1.に対して2.を適当な回数適用する どう? まぁできあがる表現に偏りはできると思うがね。 ランダムの定義が曖昧だしこれでいいよな? 1.のシードをある程度余分に作っておけばそれなりにばらけるかもしれないし。
786 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 22:57:47 ] こういうときこそSnobolですよ、奥さん。 自然言語マッチ用言語の本領発揮!
787 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 23:07:05 ] >>781 まずは対応できる正規表現のパターンを絞り込む事が重要だな 絞り込んじまえばたいしたことはないと思うが、全てに対応しろといったら1プロジェクトだろう
788 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 23:52:46 ] 1.4のプログラムを1.5のGenericsを使った記述に変更してますが、 よく分かりません。 例えば、配列の偶数要素をキー、奇数要素を値とするMapを生成するメソッド public static Map arr2map(Object[] arr) のMapをGenericsを使った記述にする場合、 (1)public static Map<Object,Object> arr2map(Object[] arr) (2)public static Map<?, ?> arr2map(Object[] arr) (3)public static <K, V> Map<K, V> arr2map(Object[] arr) などが考えられますが、どれがいいものでしょうか。 なにか、ガイドラインとなる書籍、URL等ありましたら教えてください。
789 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 00:00:27 ] >>788 言っている意味も考えられる選択肢もワカラネ そもそもObject[]の時点で終わってるのでGenericsに対応しない方がいいんじゃね? キーの型がKey、値の型がValueであるならば public static Map<Key, Vaue> arr2map(Object[] arr) が正しい。 キーも値も決まってないならば、 public static Map<Object, Object> arr2map(Object[] arr) となるけど、それならば public static Map arr2map(Object[] arr) のままでいいんじゃね?ww
790 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 00:03:01 ] 総称型使ってClassCastExceptionを起こすのはナンセンス
791 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 00:14:43 ] >>788 Map<? extend foo, ? extend bar>かMap<K, V>だろうねぇ。 けど、>配列の偶数要素をキー、奇数要素を値とする なんて非OOなレコードの持ち方が変。 keyとvalueのペアを持つエントリクラス作ってそれを持っておくだろ。 static Map arr2map(Object[])なんて変換関数用意するんじゃなくて初めからmapやsetで持ってkeyだけ・valueだけ詰めた配列返すメソッド用意する。 とか、こういう設計の方が自然。
792 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 00:18:16 ] >>789 みたいな非OOな考え方ができない奴も居るし、ループ回す時複雑だし・・・
793 名前:788 mailto:sage [2007/07/20(金) 00:37:15 ] >>789-792 引数のObject[]が非非OOな持ち方なので、無理に総称型 使う必要は無い(ClassCastExceptionに起こしかねない)と いうことですね。 設計考え直してみます。 ありがとう。
794 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 00:45:13 ] >非非OOな持ち方なので、無理に総称型 使う必要は無い(ClassCastExceptionに起こしかねない) いや、違う自分の良いように考えすぎ。 アプローチ間違ってますよってだけ。 キャストで例外出すってのはまた別の話。
795 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 00:58:01 ] >>788 俺だったら、こんな感じかなぁ /** 今後はこっち使ってください */ public static <K, V> Map<K,V> arr2map(Object[] arr, Class<K> keyType, Class<V> valueType) { Map<K,V> map = new HashMap<K,V>(); for(int i = 0; i < arr.length - 1; i+=2){ map.put(keyType.cast(arr[i]), valueType(arr[i+1])); } return map; } /** 互換性のため */ @Deprecated public static Map<?, ?> arr2map(Object arr) { return arr2map(arr, Object.class, Object.class); }
796 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 00:59:06 ] × map.put(keyType.cast(arr[i]), valueType(arr[i+1])); ○ map.put(keyType.cast(arr[i]), valueType.cast(arr[i+1])); × public static Map<?, ?> arr2map(Object arr) { ○ public static Map<?, ?> arr2map(Object[] arr) {
797 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 01:21:25 ] String.format("%02X", byte) の逆をやるにはどうするのが普通なんですかね。 つまり文字列"00"からは0x00、"79"からは0x79、"80"からは-0x80、 "81"からは-0x79、"FF"からは-0x01のbyte値を生成したいんです。
798 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 01:25:58 ] int val = (byte)Integer.parseInt(str, 16);
799 名前:797 mailto:sage [2007/07/20(金) 01:43:51 ] >>798 なるほど! ありがとうございます。
800 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 06:16:29 ] >>739 遅レスだが、ソケットを閉じる
801 名前:755 mailto:sage [2007/07/20(金) 10:32:14 ] レスくれた方どうも有難う御座います。 ググっても適当なメソッドや関数が見つからないと思ったら本当に無いんですか・・・ 凄く冗長な気がしますが大人しくファイル二つの間でコピーし合う事にします
802 名前:デフォルトの名無しさん [2007/07/20(金) 10:41:05 ] for( int i = 0; i < 10; i++ ) { int j = i; } こんな風にループ内で変数の宣言していると、回るたびに変数分のメモリを消費していく? int型の4バイト(?)づつ浪費することになる?
803 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 10:42:22 ] >>802 intはオブジェクトじゃないからならない。
804 名前:デフォルトの名無しさん [2007/07/20(金) 10:54:28 ] >>803 オブジェクトだとどんどん消費するってことですか? class Hoge { public static void main( String[] args ) { while( 1 ) { xxx(); } } public void xxx() { // ここでオブジェクトの宣言 } 上のようにやればxxx()が終了した時点でオブジェクトのメモリは解放?されると思ってるんですが合ってますか?
805 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 10:58:38 ] オブジェクトは xxx が終了した時点で ガベージコレクタによってメモリを開放される条件を満たすようになるが、 実際にメモリが開放されるのはそれ以降でガベージコレクタが実際に走った時。
806 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 10:58:56 ] xxx() が終わった時点で参照が外れてGCの対象にはなるが、 その後いつメモリが開放されるかどうかはGCまかせ。
807 名前:デフォルトの名無しさん [2007/07/20(金) 11:20:42 ] レスありがとうございます。 ループ内でオブジェクトを宣言する場合は>>804 のやり方で大丈夫でしょうか? メモリ周りを気にしています。 一番いいのはループ内でオブジェクトは宣言しないことですよね・・・ 軽くGCを調べたら「GCはマルチスレッドで動く」ってあったので期待したい。
808 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 12:14:44 ] >>807 変数宣言は、できるだけスコープを小さくした方がいい。 この場合なら、ループ内で変数宣言した方がいい。 変数のスコープが小さいときは、 最適化されて変数がレジスタのみ使用し、スタックメモリを消費しなくなる。 オブジェクトの生成はそういうわけにはいかず、 newの度にヒープを消費することになる。
809 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 12:47:38 ] いまどきはエスケープ解析されて、スタックに詰まれる。
810 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 13:46:12 ] メモり周りをシビアに使いたいなら Java じゃない方がいいんじゃないかなあ
811 名前:デフォルトの名無しさん [2007/07/20(金) 14:10:46 ] でも管理は楽
812 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 15:19:29 ] レジスタにのっけるかどうかのアルゴリズムって5.0のままだっけ?6で変わらなかった?
813 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 15:20:37 ] >>812 レジスタにのっけるかどうかのアルゴリズム自体が 6.0 で追加されたんじゃなかったか?
814 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 16:08:12 ] JDBCリクエストをラップして、 DB の多重化を簡易的に行えるライブラリはありませんでしょうか。 例えば、アプリケーション層のノードが二つ(A,Bとします) DBノードも二つ(X,Y とします)あるとすれば、 A,B ともラッパー経由で更新していれば X,Y に格納されており、 もし JDBC リクエストで X が落ちたら、Y のみに要求する、と言う形です。 この例であれば X への更新をプールして、X が復活したのを検出したら 流していってくれると最高ですが、この部分は X を復帰させる手続きと して手動でやれということでも構いません。
815 名前:814 mailto:sage [2007/07/20(金) 16:15:52 ] C-JDBC, Sequoia あたりはそうなんですかね… いまいち、一般的に使われているかどうかが分かりません。
816 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 16:43:41 ] フォントの実際の大きさを求めるにはどうすればいいのでしょうか。 JFrameにJTextAreaを乗せてデータを表示していましたが、一部の文字の色を 変える為に、JTextAreaからJTextPaneへ変更しました。しかし、JTextPaneでは JTextAreaのように行数と列数を指定できません。それはJTextPaneのフォント サイズが可変な為だと思います。けれでも私のプログラムのフォントは等幅で 大きさは全て等しく、色が一意でないだけなので、一文字の実際の高さと幅が分 かれば列数、行数ともに算出可能なはずです。そうすれば setPreferredSize(Dimension d)を使って出来上がりです。 そこで調べてみたところ、FontMetricsクラスを使えば期待する動作が行えそう です。FontMetricsは抽象クラスなので、Graphics.getFontMetrics(Font f)を使 ってインスタンスを生成しなければいけませんが、そのGraphicsクラスを使う方 法が分かりません。Canvs.paint(Graphics g)を使えばできますが、それだけの為 にCanvasクラスを使うのは違う気がしました。
817 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 17:12:03 ] >>816 使用するフォントを実際に指定できているわけだから そのフォントを表すFontクラスのインスタンスは得ることができるよね? そしたらあとはJComponent#getFontMetrics(Font)でFontMetricsのインスタンスを得ればいいじゃない
818 名前:デフォルトの名無しさん [2007/07/20(金) 20:51:39 ] 質問です。 OutputStream out = new OutputStream(); DataOutputStream dout = new DataOutputStream(out); という風にDataOutputStreamを作って、 dout.close(); を行うと、 out.close()も勝手にやってくれるのでしょうか?
819 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 20:57:47 ] JavaDocを見なさいって。基本中の基本。 見るのはFilterOutputStreamの方だというヒントは教えとく。
820 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 20:59:40 ] >>818 > dout.close(); を行うと、 > out.close()も勝手にやってくれるのでしょうか? 一応やってくれるけど、 例外食らった場合は out.close() してない可能性もある。
821 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 21:10:51 ] javaってどんなところに使われてるの?
822 名前:818 mailto:sage [2007/07/20(金) 21:10:58 ] >>819 >>820 ありがとうございます。
823 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 21:13:54 ] >>821 国防
824 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 00:42:06 ] >>821 火星
825 名前:デフォルトの名無しさん [2007/07/21(土) 01:01:23 ] 参考書とりあえずやったんですけど、どうすればいいですか? 後はAPIっていうのを見ながらやるんですか?
826 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 01:04:09 ] >>126 は具体的にどのように実装するのか教えていただけませんか。
827 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 01:43:16 ] >>825 何か作りたいから Java 勉強したんじゃないの?
828 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 03:09:46 ] >>825 やったのは単なる入門書で文法を学んだだけじゃないの? 参考書ってのは何かを作るときに参照するものだよ 特に作りたいものがないならばゲームでも作ってみるのがいいんじゃね GUI関連は業務じゃ使う機会少ないけど、デザインパターンとか設計力を鍛えるには一番だとばっちゃんが言ってたよ
829 名前:デフォルトの名無しさん [2007/07/21(土) 03:53:11 ] >>825 この辺りで宿題解いてみるのもいいと思うよ。 ★★ Java の宿題ここで答えます Part 62 ★★ pc11.2ch.net/test/read.cgi/tech/1184509890/1-100
830 名前:825 [2007/07/21(土) 12:52:27 ] >>828 >>829 ありがとうございます。参考になりました。
831 名前:788 mailto:sage [2007/07/21(土) 14:44:46 ] >>795-796 レス遅くなりましたが、 これ使わせてもらいます。 ありがとう。
832 名前:デフォルトの名無しさん [2007/07/21(土) 15:22:58 ] サーブレットを覚えたてです、家でも勉強しようと思って、tomcatをインストールしたのですが どうしてもindexに繋がりません、過去に習ってた時の学校では自分でインストールできたのに スタートさせてもアイコンはミドリの▲になるのに、右クリックをするとストップStopではなくStartが押せる状態になっています Tomcatは5.5、Javaは1.5 OSは2000XPでも2000Proでもどちらも同じ現象でダメでした XPのファイアーウォールを無効にしても無理でした 環境設定のPathは教室でインストールした時に、テキストファイルで貰っていたのをコピペしなおしても無理でした これ以上どう足掻いていいのか分かりません
833 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 15:29:56 ] //A class Hoge{ static void piyo(){} public static void main(String[] arg){ piyo(); } //B class Hoge{ Hoge(){ piyo(); } void piyo(){} public static void main(String[] arg){ new Hoge(); } Aのように書かずBのように書けば、piyoメソッドにstatic修飾子をつけなくてもよくなりますよね こう書くことになにか問題はありますか?
834 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 15:57:32 ] >>833 修飾子についての理解が不十分 staticをつけたメソッドはインスタンス化しないでも使えるが、 Bのpiyoメソッドはインスタンス化しないと使えない。
835 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 17:36:23 ] >>832 Eclipse上? 今のTomcatなんてインストーラーに従ってインストールするだけだろ?
836 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 17:37:18 ] ちなみに環境変数のPathだのCLASS_PATHは下手にいじるなよ
837 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 18:05:10 ] >>834 うまく言えんけど、おそらく833は 「mainメソッドで呼ぶ」という理由だけでstatic修飾子をつけるのはおかしいのでは? と考えた結果思いついたんじゃないか? 833への答えは持ってないけど、834の答えが的外れな気がしたんで口出し 834のであってたらすまん
838 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 18:20:47 ] >>833 たしかにAもBもpiyo()が実行されるという一点では同じなんだけど、 piyo()は本当にコンストラクタ内で処理すべき機能なのか考えるべき。 AとBではpiyo()やHogeクラスの意味合いが異なってくる。 piyo()が単にstaticメソッドから呼ばれるだけの下請け的存在ならAで十分だし、 Hogeをインスタンス化する必要がありかつpiyo()がインスタンス生成段階で必要な処理ならB。 class Hoge{ void piyo(){} public static void main(String[] arg){ Hoge h = new Hoge(); h.piyo(); } } こう書くのが適切な場合だってある。 何を実現するためにどうクラス設計をするかを考えてpiyo()の立ち位置を決めておくれ。
839 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 18:24:31 ] 優等生的回答 class Hoge{ public static void main(String[] arg){ Hoge hoge = new Hoge(); hoge.piyo(); } void piyo(){} }
840 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 18:42:46 ] newってのが何者かを勉強するといいと思う 単純にfor文とif文を駆使したプログラム入門ならば、全部staticでnewは配列作るときくらいしか使わないでOK クラスとか勉強する段階でnewを覚えるべきだが
841 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 19:07:22 ] >>832 localhost:8080/index.jsp でだめだったのかい? localhost:8080/manager/html ではどうだい?
842 名前:デフォルトの名無しさん [2007/07/21(土) 19:13:53 ] >>835 私もそう思ってたのでびっくりです >>836 CLASSPATHを作ってservlet-api.jar;.の位置を入れました ↑は自分で打ったけど、パソコンに入れたのは成功した教室のPCからのコピペなんで間違いはないと思います >>841 そこ自体がダメです タスクのアイコンがスタート状態になってても、ストップできずスタートがあるということは、スタートできてないんだと思う
843 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 19:21:23 ] >>842 CLASS_PATHを消せ 次にコマンドプロンプトからjava -version を打ってversionを確認せよ その上で再インストールして来い スタートできないならばログも嫁
844 名前:デフォルトの名無しさん [2007/07/21(土) 19:29:52 ] >>843 おかげで使えるようになりました ありがとうございました 前に入れたバージョンが残っててそっちを設定してたっぽい ゴメンナサイ 私は、恥かしい間抜けです
845 名前:デフォルトの名無しさん [2007/07/21(土) 21:23:30 ] ,===,====、 _.||___|_____||_ .. / /||___|^ l .. 答えろ ぶち殺すぞ!> (・ω・`)//|| |口| ||ω・` ) . ./(^(^ .//||...|| |口| |⊂ ) . / // ||...|| |口| ||し 新スレです . あ?てめぇどこ中だよ>( )//.... ||...|| |口| || 楽しく使ってね /(^(^ // .... .||...|| |口| || 仲良く使ってね "" :::'' |/ |/ '' " ::: ⌒ :: ⌒⌒⌒ :: "" ` :: ,, ::::: ,, ; ̄ ̄ ̄ "、 :::: " ,,
846 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 22:10:34 ] サーブレット書いてるんだけど、 doGetとdoPostあるじゃん。 どちらか一方に処理全部書いて、もう一方にはdoPost()かdoGet書けば いいだけなんだろうけど。 これでいいのか? てゆうか、分けて書くことってあるの?
847 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 22:18:16 ] >これでいいのか? いい。 >てゆうか、分けて書くことってあるの? 使い方による。
848 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 22:41:17 ] 例えばリクエストにGetを許可しないケース
849 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:00:41 ] 初心者です。javaのGUIアプリケーションってデザイン的によくないイメージがあるのですが、 見た目にこった実装ってできるのでしょうか? 例えば、ウィンドウを3D間隔で操作できるとか、swingコンポーネント等でも デザインが柔軟に変更できるとか。OS依存でも構わないです。(できればWindows) その他なんでもよいのですが、おもしろいデザインにするための技術情報など教えていただきたいです。
850 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:04:51 ] LookAndFeel(ようはスキン)を自作することはできる。 Swing synthでぐぐってみたら?
851 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:06:04 ] >>849 やろうと思えば3Dだろうとなんだろうと可能だが、簡単に出来るわけじゃない 単純に派手なUIが欲しいってのならば方向性は違うだろうね Eclipseで使われているSWTなんかを使えば簡単にWindows風のUIも可能 Swingだって6.0で大幅にパフォーマンスも向上しているから捨てたもんじゃない ただし、作るにはそれなりのセンスと時間が必要
852 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:26:17 ] >>850 htmlとcssみたいな関係なのでしょうか?調べてみますm(__)m >>851 javaを勉強し始めてから早一年経ちましたが、人の作ったライブラリを呼び出すだけの人になってますorz ちなみに最近netbeansを使ってGUIの作成ってやってみたのですが、VBチックで楽だなぁと思ったのですが 同じようなものなのかな? SWTなるもの調べてみますm(__)m
853 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:54:31 ] >>852 SwingなりSWTはツールを使わずに習得した方がいい 自然とOOPでの設計力が付くぞ
854 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:54:58 ] programming base .javaとか言うのを学校で使って 家でもちょっとやりたいと思ってるのですが、 家では開けず、あぁーなんかダウソしないといかんのかぁー。となっとります。 ほんとに初歩の初歩の質問で申し訳ないのですがどなたか教えて頂けるとありがたいです。 えー、ちなみに void on Idle とか使ってた奴です。(何だこの説明。。。
855 名前:デフォルトの名無しさん [2007/07/21(土) 23:57:39 ] JRE Version 6 Update 2 のインストーラーで質問。 ttp://www.java.com/ja/download/index.jsp ↑ここから辿ってダウンロードできる jre-6u2-windows-i586-p-s.exe と ttp://java.sun.com/javase/ja/6/download.html ↑ここの「Java Runtime Environment (JRE) 6u2」のダウンロードから辿って ダウンロードできる jre-6u2-windows-i586-p.exe の違いが分かる人いますか? 両方ダウンロードするとどちらも 14,566,808 バイトだけど、バイナリ比較すると一致しない…
856 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 00:15:19 ] >>853 ですね。。正直今の段階だと自動生成されたソースが何をやっているのか分からない状態です。 GUI開発が熟練してからツール使うことにします^^;
857 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 01:12:13 ] >>854 が釣りかエスパーか判断できないので誰か支援頼むw >>856 まあ、netbeansの吐くコードは汚いね。 いまさらSWT使う利点なんてないよ。 5.0/6のVMは早いし、SwingのSystemLnFもネイティブコードの呼び出し増えて見栄えもかなり近いし。 普通に使う分にはVMのメモリを多めに取ればSwingもSWTもたいして速度変わらん。 それに今時Swingで十分な速度でない環境だとjavaそのものが遅いし。 ここら辺のおかげでnetbeansがかなり使えるようになった。 SWTはjava風じゃないところがあるからまずはjavaを覚えた方が良い。
858 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 01:49:52 ] これを応えられるほどの凄腕エスパーは世界に3人といないだろう
859 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 02:55:56 ] SWTって自分でメッセージループ回してるところがWindouzuっぽくて嫌だ
860 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 09:19:55 ] ちゃんと授業を聞いている学校のクラスメートだったら分かるんだろうな
861 名前:816 mailto:sage [2007/07/22(日) 14:51:24 ] >>817 おお、うまくいきました。 Graphicsクラスからしか取得できないと思っていました。 ありがとうございました。
862 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 15:01:53 ] JFlexとJacでちょっとしたもの作ろうとおもってるんだけど、 ビルドをeclipse上で自動化したい場合ってどうすればいいの?
863 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 15:03:05 ] ×jac ○jay
864 名前:862 mailto:sage [2007/07/22(日) 17:47:46 ] 申し訳ございません。 eclipseのスレがありましたのであちらで質問します。 ありがとうございました。
865 名前:デフォルトの名無しさん [2007/07/22(日) 20:10:02 ] 英語と日本語が混ざった長文をテキストエリアなどに表示される場合、 正確に一画面文の文字数をカウントすることをご教授願います。 フォントサイズから一画面の文字数を数える場合、 英文が入るを正確にカウントできません
866 名前:デフォルトの名無しさん [2007/07/22(日) 20:14:06 ] できるよ。 文字数を読むメソッドがある
867 名前:デフォルトの名無しさん [2007/07/23(月) 02:05:51 ] >>846 通常、POSTとGETは使い分けるよ。使う目的も違うし、HTTPにおけるパラメータの 送信方法も異なってくる。また、Tomcatの場合はHttpServletRequestのsetCharacterEncodingは GETパラメータには利かない。(※いくつかの設定は存在する) Servletを学習するなら、同時にHTTPについて学習するのはすごく有意義だし、Web上に色々参考に なる記事が沢山落ちてるから、まずはPOSTとGETは具体的に何が違うのかを学習すると良いと思うよ。
868 名前:デフォルトの名無しさん [2007/07/23(月) 09:13:08 ] ちょっとでも、お役に立てれば。 ↓ www.yukinko-net.jp/
869 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 12:23:50 ] Rhinoの質問いいですか。 Rhinoでコマンドライン用のスクリプトを書こうとしているのですが、 コマンドライン引数の取り方が分かりません。 RubyでいうところのARGVです。 Rhino argv で検索しても C のソースしか引っかからないし。 どなたかお願いします。
870 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 12:32:59 ] args
871 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 12:57:16 ] >>869 RhinoはJavaによるJavascriptの実装だから、実装内容に関わるような話ならこのスレかもしれないが、 単なるスクリプトプログラミングについてここで聞くのはスレ違い。 ある言語について質問する時に、その言語の処理系が何で実装されているかに関わらず、 普通はその言語のスレで質問するだろ?
872 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 12:57:53 ] >>870 argsは定義されていないようです。 print(args); //=> ReferenceError: "args" is not defined. Rhinoは1.6R5です。
873 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 13:01:36 ] >>871 JavaScript一般の話ではなく、あくまでRhino固有の話なので、JavaScript関連のスレではなくここで質問しました。 Rhino専用のスレはないし、RhinoはJava6から標準装備ですし、ここが一番適切ではないでしょうか。
874 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 13:39:30 ] >>871 JavaScriptのスレでこんなもんわかるやついるわけないだろ。Javaスレ行けっていわれるのがオチ。
875 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 13:53:57 ] >>874 じゃあお前が答えてやれよ 俺はRhinoは嫌いだ >>869 arguments
876 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 14:07:55 ] >>869 jrunscript で実行してるなら arguments で取れるはず。 そうでない場合は、自前でScriptEngineにセットしないとダメなんじゃね? scriptEngine.getBindings(ScriptContext.ENGINE_SCOPE).put("arguments", args);
877 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 14:26:41 ] >>875 ,876 argumentsでとってこれました。ありがとうございました。 ちなみにこういった情報はどこで見つけるものなんでしょうか。
878 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 14:30:03 ] >>877 java.sun.com/javase/ja/6/docs/ja/technotes/tools/share/jrunscript.html
879 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 15:59:42 ] >>874 呼んだ? おまえら少しはEcma Scriptスレに顔出して上げてください。 ネタがないんで普段は実装と仕様の差異の話で盛り上がっとりますよ。 SpiderMonkyが人気ないからRhinoで持ちきりなんだが・・・。 java6のRhino劣化品。いらない子。 >>878 それmozillaのdocの劣化コピペだからmozillaの開発者向けサイトかRhinoのdocに全部書いてある。
880 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 16:28:58 ] >>879 一応別のツールだから劣化コピペとは言い切れないんじゃね? Rhino のツールでは -l でスクリプト言語指定したりできないっしょ。
881 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 18:51:12 ] いやjdk6に入ってるjs.jarはスループット優先でRhinoの機能かなりとっぱらってサイズ減らしてるんだよ。 さらにコンパイラ省かれてるから一切最適化されてない純粋なインタープリタで動いてる。 Rhinoのドキュメントに組み込みガイドがあって そこにスループット優先でビルドする手順が書かれてるんだけどそれと同じ事してる。+JavaAdaptorが劣化。 jrunscriptはそのRhinoのScripting APIに従った純粋なラッパー。 Rhinoの殆どの実装クラスがjavax.script.*じゃなくてcom.sun.*にあるから自分でJSオブジェクト実装とかクラスシャッターでセキュリティ制限とかできない問題もある。 ecmaスレで詳しい話題が出てるよ。
882 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 20:26:28 ] >>881 javax.script は Rhino とは別物だよ。 で、jrunscript と org.mozilla.javascript.tools.shell も別物。 だから jrunscript の、より詳しいドキュメントとして mozilla のドキュメント読めというのはダメ。
883 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:29:23 ] >>869 はjrunscriptとはいってないだろ。 Rhino1.6R5と言っただけ。Rhinoがjavaの実装で6から標準装備だからこっち来たと。 >>876 が勝手にjrunscriptと言い出しただけだろ。だからecmaスレ行けって。
884 名前:デフォルトの名無しさん mailto:sage [2007/07/23(月) 23:37:36 ] >>883 俺は >>879 にレスつけただけなんだが。なんで >>869 の話が出てくるんだ?
885 名前:デフォルトの名無しさん [2007/07/24(火) 01:27:16 ] Rhinoってなに?
886 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 01:39:57 ] どっかの誰かさんが作ったjavaのライブラリ
887 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 02:51:47 ] >>884 おまえ上の流れくらい読めよ。馬鹿だろ?
888 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 02:53:20 ] jdbcのドライバのロードを static { } 内に記述して一度だけ実行するようにしたいんだけど、 これって可能なんでしょうか。コードは以下のような感じ。 class Hoge { static { try { Class.forName("org.postgresql.Driver");
889 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:00:58 ] 誤爆 class Hoge { static { try { Class.forName("org.postgresql.Driver"); } catch (ClassNotFoundException e) { throw new InternalError(e.getMessage()); } public static Connection open() { Connection conn = DriverManager.getConnection("foo", "bar", "baz); return conn; } // 以下略 } コンパイルエラーは以下。 [javac] シンボル: 変数 DriverManager [javac] 場所 : Hoge の クラス [javac] Connection conn = DriverManager.getConnection("foo", "bar", "baz"); [javac] ^ [javac] エラー 1 個
890 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:06:50 ] 静的初期化子の中のcatch節の終了の}が無い
891 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:07:07 ] >>889 のソースコード、改めてみるとなかなかひどい抜けがあるけど勘弁してくれ。 クラスパスが通ってないのかなと思って servlet-api.jar にも classpath を通してみて HttpServlet を継承しただけのコードを書いてみたけど、こちらは問題なかった。 ビルドに用いている ant の build.xml のクラスパスの部分は以下。lib/ 内には postgresql.jar が配置されている。 <target name="compile"> <mkdir dir="${bin.dir}" /> <javac srcdir="${src.dir}" destdir="${bin.dir}"> <classpath> <!-- <fileset dir="lib"> <include name="*.jar" /> </fileset>--> <pathelement location="lib/postgresql.jar" /> <pathelement location="/usr/share/tomcat5.5/common/lib/servlet-api.jar" /> </classpath> </javac> </target>
892 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:13:33 ] >>890 取り急ぎ書いたんで抜けた。すまん。他にも "baz" の終わりの " が抜けたりしてる。 手元のコードはちゃんとしてるから大丈夫。
893 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:17:47 ] そして>>889 にはったエラーメッセージに肝心のエラーメッセージがはってないな。 DriverManagerに対して 「シンボルを見つけられません。」 というメッセージです。
894 名前:888 mailto:sage [2007/07/24(火) 03:20:11 ] 解決しますた。 DriverManagerってずっと postgresql.jar の中にあるクラスと思ってたら java.sql.DriverManager だったのな。。。
895 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:21:33 ] >>892 import java.sql.DriverManager;してる?
896 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:23:38 ] 遅かったorz 解決して何より まあシンボルが見つからないエラーは完全名を指定できていないミスが多いからね
897 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 03:23:59 ] まさに今同じミスをやらかして修正に追われていた。 Eclipseの補完機能に頼りすぎておんなじ名前のメソッド入った パッケージがこんがらがるとこういうことになる。
898 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 04:14:49 ] 設計時に使うパッケージは大方分かってるからワイルドカードでインポートして クラス名が被るのは限定名でアクセスしてあとから「インポートの編集」すると混乱が減るよ。
899 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 06:42:38 ] インポートのワイルドカード嫌う人おおいみたいだけどなんで? コンパイル遅くなるから? 実行時にも遅くなる? import *; ができないからどっちもどっち?
900 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 07:30:15 ] importの意味を知っていれば実行時に遅くなるなんて台詞は出てこないはずだぞ。
901 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 07:44:01 ] >>899 importは「このクラスはこいつらに依存してますぜ」というある意味クラスの設計情報みたい なもの。仕様変更やデバッグするときに鬼のようにimport hoge.*;とか書かれまくっていきな りプログラム中でクラスが使用されているとどのクラス追いかけたらいいのかわからなくなる。 でっかいシステムなら尚のこと。 俺の場合作る手間より直す手間を減らすため、かなぁ。
902 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 10:00:23 ] importなんて久しく意識してないな。eclipseが勝手に完全名書いてくれるからねえ
903 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 10:03:03 ] import hoge.* でもIDEのサポートでどのパッケージはわかるから別に困らんし、 使うオブジェクト全部をimportで指定するのは面度だが、 これもIDEのサポートでさほど手間でもない。 どっちでもいい気がするが、プロジェクトのやり方に合わせるのが基地。
904 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 10:16:44 ] 入門向け書籍でサンプルコードを1行でも削るために使用されてるだけじゃね?>import の *
905 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 10:31:57 ] importで*を使うと実行速度が低下するって聞いたんだけど本当?
906 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 10:37:36 ] >>905 >>900
907 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 10:51:50 ] 遅くならないの?
908 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 10:54:42 ] コンパイル時に解決されるのに、実行時に影響があるわけが
909 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 11:04:52 ] あーそうだね やっとわかった ごめんね
910 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 16:56:27 ] けど無駄なリンクが発生するから要らないリンク時間がかからない?javaって動的リンクだし。 まあ、無駄なアクセスがあればの話だけど。
911 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 17:00:45 ] 全然分かってないじゃないか
912 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 17:02:19 ] importじゃなくabbreviateとかそんな予約語だったほうが良かったのかな
913 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 18:12:23 ] >>910 hoge.Hegeクラスを参照しているソースファイル中で、 import hoge.*; とやった場合と、 import hoge.Hege; とやった場合でコンパイル後のclassファイル中のHegeクラスの名前の指定の相違点を確認。
914 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 19:33:39 ] import a.*; import b.*; とかなってるときに、 パッケージ b 内にしかなかったクラスの名前と同じクラスをパッケージ a に追加すると、 追加したところとは異なるところからコンパイルエラーが発生してびびる もっとも、たまたまシグネチャが合ってエラーが発生しなかったらと思うともっと心配かも
915 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 19:38:57 ] 無駄なリンクが発生するので、たぶん 要らないリンクに時間が掛かります(コンパイルに)
916 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 19:56:13 ] クラスサイズが大きくなるってのは?
917 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 20:11:12 ] ならないよ コンパイラの名前解決時に影響するだけ コンパイル後はまったく一緒、クラスファイルにはフルネームで格納される
918 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 20:15:09 ] >>915-916 無駄なリンクなんて発生しねえしサイズも大きくならねえよ importは単にこのクラスもしくはパッケージからクラス定義を拾ってこいっていうコンパイラへの指令 コンパイラの実装次第でワイルドカードを使った時のクラス検索の効率に差が出るかもしれんが
919 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 23:06:32 ] import * ワロタ どこの都市伝説だよw
920 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 23:43:08 ] import *; 永遠に compile oh what a night in jamaica!
921 名前:デフォルトの名無しさん mailto:sage [2007/07/24(火) 23:43:17 ] すべてのパッケージからクラスを探し出すのか
922 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 00:11:46 ] 結局クラスパス上になければコンパイルエラーだし クラスパス上にあるなら import *; でも探すことはできるはず。 importってコンパイルを手助けしてあげるためにあるのか? >>901 の意味合いももちろんわかるけど。
923 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 00:15:11 ] Javaのバージョンを変えてリコンパイルし直すと、ソースいじってないのにファイルサイズ増えるよね。 これってバージョンがあがってリンク先が増えたからだと思ってた。 富○通正社員の俺 協力会社の新人に笑われたorz
924 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 00:18:12 ] 大丈夫落ち込むほどYOUの会社の評価は高くない。
925 名前:デフォルトの名無しさん [2007/07/25(水) 03:05:55 ] そしてなにより板の空気をよめない 923は最悪
926 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 03:39:37 ] いろんな苦労の末に入ったばっかりなんじゃないかなー
927 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 08:37:36 ] Rhinoって何て読む? アール日野?
928 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 08:39:34 ] サイさんは英語でなんと言うのでしょう赤坂?
929 名前:デフォルトの名無しさん [2007/07/25(水) 09:27:12 ] >>923 落ち目だからな・・・。
930 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 12:52:40 ] J2EEとJavaは何が違うんですか?
931 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 12:56:24 ] >>930 それは関西と大阪は何が違うかという質問に近い。
932 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 13:03:05 ] >>931 いやいやいやw 関西と関西弁の違い、と思う
933 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 13:25:59 ] 日本人と関西人の違いだろ 企業と企業広報の違いでも有るかな
934 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:57:24 ] Javaで動画や音声のストリーミングって出来ますか? 動画はともかく、ねとらじとかをJavaから利用できないかな?
935 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:05:11 ] やろうと思えばできる、やるかどうかは別だが
936 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:06:21 ] >>930 ファミコンとディスクシステムのような関係
937 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:36:59 ] >>934 さがせばストリーミングライブラリがいくらでもある。 J2EEの名称はもう使われてないな。
938 名前:デフォルトの名無しさん [2007/07/26(木) 00:41:29 ] JAVAアプレットのプログラムを作ってるんですが Mainのプログラムから描画の処理のところだけ切り出して 別のクラスにかきだしたいのですがいくらやってもうまくいきません どうすればいいですか? どなたか教えて下さい
939 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 00:45:52 ] エスパーが来るまでお待ちください。
940 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 00:49:37 ] >>938 どうすればいいかは、 あなたが考えれば一番うまくいくでしょう。
941 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 00:57:00 ] まあパッシブレンダリングだと混乱するのも分かるけどな。
942 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 01:23:16 ] javaのパッシブ/アクティブレンダリングはそういう使い方するもんか? GUIにタイミング任せるか、プログラムで自分でやるかの話だろ? アプレットはエントリポイントが違うってんなら分かるが。 >>938 せめてソースくらい上げましょうぜ旦那?
943 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 01:28:40 ] >>938 描画処理? とりあえずソースだな。
944 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 01:35:17 ] プログラム内からrmiregistryを立ち上げたいのですが、 www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=36623&forum=12&7 itpro.nikkeibp.co.jp/article/COLUMN/20061208/256374/?ST=develop を見て、sun.management.Agent内でその処理を行っているのはわかったのですが このソースのどこで立ち上げてるかさぱり分かりません。 誰がわかる人がいたら解説お願いします。
945 名前:デフォルトの名無しさん [2007/07/26(木) 10:21:31 ] Java って、内部クラスから外側のクラスの this ポインタを取得することってできないの? class Outer { void Hoge() { Inner inner = new Inner(); inner.Foo(); } class Inner { void Foo() { // ここで Outer の this がほしい。 } } } コンストラクタで明示的に外側のクラスの this を渡すしかない?
946 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 10:35:56 ] >>945 Outer.this
947 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 14:24:44 ] class Inner はstatic finalのほうがよくね?
948 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 15:25:23 ] 派生元のクラスでprivateで定義されているメンバ変数に それを継承したクラスの方からアクセスするにはどうしたらよいですか?
949 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 15:41:37 ] >>948 java.lang.reflect.Field
950 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 15:42:49 ] >>948 private で宣言されたメンバは継承されない getter 用意してアクセスしろ
951 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 16:02:25 ] >>949 ありがとうございます 1.4でも使えますか?
952 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 16:08:39 ] 継承はされるだろ
953 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 16:22:11 ] >>952 java.sun.com/docs/books/jls/third_edition/html/classes.html#8.2 > Members of a class that are declared private are not inherited by subclasses of that class. > Only members of a class that are declared protected or public are inherited by subclasses > declared in a package other than the one in which the class is declared. 継承されてたら言語仕様に反する。
954 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 16:33:06 ] >>951 1.4でも使えるけど、セキュリティマネージャが許可しない場合は使えない。 例えばアプレットとかだと、Field#setAccessible() が許可されないはず。
955 名前:デフォルトの名無しさん [2007/07/26(木) 18:01:23 ] JAVAさんってC#くんが嫌いなんですか?
956 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 18:12:42 ] 普通設計段階でprotectedにするだろ。そういうの。 >>955 ゲイツ君がpure javaさんを嫌いで古臭いjavaさんの実行モデルを元に「・・・頼むよ君」と呼んできたのがC#くん。
957 名前:デフォルトの名無しさん [2007/07/26(木) 18:33:30 ] >>938 なんですが もう一度質問します。アプレットのメインクラスの中にある 描画処理・・・・たとえば↓ public void paint(Graphics g){ //描画処理 } を別のクラスに作って描画処理を丸々引き渡したいのですが 別のクラスから描画処理をやろうとするとウィンドウに描画処理が反映されません。 メインクラスからだと反映されるのですが・・・。 描画処理をほかのクラスに引き渡すにはどうしたらいいですか? たびたび質問してしまって申し訳ありません。
958 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 18:49:04 ] paintの引数のGraphics gを使えば、同じクラスだろうが別のクラスだろうが関係無くちゃんと描画されるハズ。 使ってるつもりなのに描画されないなら、多分つもりなだけで実際には使われて無いんだろう。 問題のコードをどっかにうpした方が回答がつきやすいと思うよ。
959 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 19:08:29 ] INT型の変数が2147483647を超えるとマイナスになってしまいますが、これを防ぐにはどうしたらいいものでしょうか
960 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 19:11:50 ] long
961 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 19:16:38 ] >>957 ソース
962 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 19:31:25 ] >>960 わかりました。long使ってみます ありがとうございました
963 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 19:41:33 ] すみません・・・ long b = Integer.parseInt(line); このようにlineを取り込むとlongでも小数点以下がなくなってしまいます longで取り込むにはどうしたらいいのでしょうか
964 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 19:48:59 ] longもintも整数を保持する型 doubleは小数を保持する型 ってかlongに変えたんならInteger.parseInt()使うなよ long用にはLong.parseLong()がある doubleを使う場合はDouble.parseDouble()とかもある これらを実行してどうなるか試してごらん
965 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 20:05:07 ] なるほど いろいろ種類があるんですね おかげさまで何とか動くようになりました!ありがとうございました
966 名前:デフォルトの名無しさん [2007/07/26(木) 20:10:25 ] >>958 できました ちょっとしたミスでした どもです^^;
967 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 20:42:31 ] >>947 親クラスの非staticなメンバに直接アクセスするような インナークラスだとstaticクラスじゃ無理。 たとえば、Iterableを実装するようなクラスがそれにあたる。 >>945 のケースだとOuterのthisを要求しているからstaticじゃ面倒だね。 そうじゃない場合、ただの別クラスがたまたまインナークラスになっている場合、 staticにしないとnewするのにいちいち、 new Outer().new Inner(); とかいうわからないコードを書かないといけないハメになる。 まあ、内部に非staticクラスしのばせるのもいいけど、 メソッド内にクラス定義書くのも乙だと思うけどな。かなり嫌われるけど。
968 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 21:00:58 ] JUnitをさわりだしたんだけど、これって基本的にpublicな関数・変数のみを 対象にするって感じでいい? 本当はprivateな関数のテストもしたいし、privateな変数にアクセスして チェックもしたいんだけど。 それともprivateを使わないで全部protectedにしてるとか?
969 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 21:16:31 ] >>968 JUnitは単なるツール どんなテストを行うかは別の問題
970 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 21:17:16 ] >>968 (1)リスク駆動で。気になったところからチェックする。 単純な getter や setter などトリビアルなものに対するテストを考えるくらいなら、 もっとやるべきことがあるはずだ、たぶん (2)protected にするくらいなら、パッケージプライベートで (3)どうせなら、テストファーストがお勧め テストを書こうとするだけで、モジュールの独立性や使い勝手などが 設計にフィードバックされる
971 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 21:59:18 ] >>956 わたしもprotectedにするべきだと思うんですが 提供されているソースをみるとそうなってなかったんですね
972 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 23:51:39 ] サーブレットについて質問。 コンテナに登録されているロール名の一覧を取得する 方法はない? あるロール名が登録されているかどうかを判別する だけでもいい。 コンテナはGlassfish v2 Beta 3だが、JEE汎用の方法が 嬉しい。
973 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 23:53:26 ] publicなり、protectedのテストがきちんとかかれていれば、privateメソッドもテストされるんでない? jcoverageとか使ってみれば?
974 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:33:53 ] for文が上手く動いてくれないです while(true){}でやるとちゃんと動くですが、どんな条件を入れても動いてくれません 他にもfor文とかの繰り返しはたくさんあるのですが、これだけ動いてくれません ■java 2 SDK SE v1.4.2_14 ■WinXP Home for文の中にprintlnを書いても全く表示されませんでした。 何が原因なのでしょうか? ttp://up.spawn.jp/file/up36584.txt
975 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:43:11 ] (´・ω・`)自己解決しました
976 名前:デフォルトの名無しさん [2007/07/27(金) 06:26:15 ] Java(Struts)で、10分に一回、あるテーブルのデータをチェックするという プログラムを作るにはどうすればよいのでしょうか? ずっと、そのチェックをはしらせときたいのです。
977 名前:968 mailto:sage [2007/07/27(金) 07:48:59 ] レスどーも >>969 一般的にどんな感じでテストしてるか知りたい。 >>970 JUnitは単体テストなので実装依存(ソースにべったり)のテストコードを 作るのか、あるいは外部から見える範囲内(内部での細かい動作まではテストしない) なのかを知りたいところ。 リスク駆動と言うのであれば、やはりprivateな変数・オブジェクトレベルでも チェックしたいかなーと思ったんだけど、普通はそこまではしないもんなのかな。 クラスや関数はパッケージローカルでいいとは思うけど。 >>973 とりあえずjcoverage見てみたけどよくわからんw IDEと連動しにくいツールは手を出しにくいかも。
978 名前:968 mailto:sage [2007/07/27(金) 07:51:55 ] ちなみに今はnetbeans使用
979 名前:968 mailto:sage [2007/07/27(金) 08:00:03 ] なんかこんなのあるな journal.mycom.co.jp/news/2007/07/20/006/index.html
980 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 08:47:09 ] 次スレ立てました。 【初心者】Java質問・相談スレッド104【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1185493592/
981 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 09:55:44 ] >>976 cron
982 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 10:33:24 ] Eclipseならプラグインがあったんだが。 >>979 ちょっと試してみたが、なかなか面白そうなツール。 要するに、テスト対象のコードをいじって、テストがそれを検出できるかを調べるツール。 カバレッジとはまた別の視点で単体テスト品質を計測するようだ。
983 名前:デフォルトの名無しさん [2007/07/27(金) 10:51:34 ] 文字コード変換について質問です。 開発環境の文字コードはEUCなのですが、 String sample= "さんぷる"; String sjSample = new String( sample.getBytes( "SJIS" ), "SJIS" ); 上の処理でSJISに変換されるんでしょうか? 変換された事を確認することってできないんでしょうか?
984 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 10:55:46 ] >>983 > 上の処理でSJISに変換されるんでしょうか? 一瞬だけ。 > 変換された事を確認することってできないんでしょうか? sample.getBytes("SJIS") の戻り値を確認。
985 名前:デフォルトの名無しさん [2007/07/27(金) 11:36:56 ] >>984 >一瞬だけ。 プログラム実行中は変換されたままですよね? >sample.getBytes("SJIS") の戻り値を確認。 戻り値を確認してみたら [B@ed0338 でした。 変換されたのはなんとなくわかりますけど、こういうもんですか?
986 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 11:43:53 ] >>985 > プログラム実行中は変換されたままですよね? no。すぐにGC可能状態になる。 > 戻り値を確認してみたら [B@ed0338 でした。 toString()が確認に使えるか、もチェックしてから使え。 sample.getBytes("SJIS") で戻ってきた配列の中身を確認しろ。
987 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 11:44:28 ] >>983 ,985 ソースコードを EUC で書いても、String は Unicode です getBytes("SJIS") で SJIS に変換されるけど、String に戻したらまた Unicode です
988 名前:デフォルトの名無しさん [2007/07/27(金) 12:33:10 ] >>986 配列の中身まではみていませんでした。 確認したら数値が入っていたので調べてみます。 >987 内部コードってやつですか・・・SJISで扱えるのはgetByte("SJIS")の戻り値だけってことですね。 すいません、質問を変えさせてください。 URLConnectionを使って相手先に複数のパラメータを送ろうとしているのですが、 日本語を扱うパラメータはSJISに変換することになっています。 この変換が上手くいかず、今はEUCで送ってしまっている状態です。 日本語パラメータをSJISで送るにはどうすればいいんでしょうか? SJISに変換した文字列を送ろうと思って最初の質問をしていました。
989 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 12:49:59 ] >>988 java.net.URLEncoder.encode("文字列", "SJIS");
990 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 15:02:02 ] 無料ホームページスペースを使って、JAVAアプリケットをおいてJAVAアプリケットから誰でもそのホーム ページのFTPに入ってパスワードを入れて ファイルを書き換えることはしてもいいんですか?
991 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 16:12:31 ] 規約嫁としか
992 名前:968 mailto:sage [2007/07/27(金) 16:35:58 ] JAVAアプリケット関係ない つーかJAVAアプリケットて何?w
993 名前:968 mailto:sage [2007/07/27(金) 16:37:02 ] あ、名前消すの忘れてたw
994 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 17:45:49 ] >>992 インストロールみたいなものじゃないの?
995 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 17:59:24 ] >SJISに変換することになっています。 分かりづらい地味な嫌がらせだな。せめてUTF-8にしてやればいいのにw >>990 鯖の規則読んで出来るか確認してjavaアプレットから どうやってFTP叩くかまで出来てからのご来場をお待ちしております。 じゃなきゃエスパー待ちになるぞ。
996 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 19:37:43 ] synchronized 指定されたメソッド呼び出しをしたら、 オブジェクトにたいしてロックが入るの? それともメソッドだけ?? class Hoge { public synchronized int hoge(){...} ... } Hoge hoge.hoge(); ↑ こうやったときに 別のスレッドからはhoge()だけ呼び出しできないのか、 それともhogeに対するアクセスは全部ロック解除待ちになるの?
997 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 20:40:28 ] >>996 hoge
998 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 20:40:39 ] synchronizedメソッドはsynchronized(this){}と同じ意味だった気がする だからhogeの他のsychronizedメソッドもロックされるな
999 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 20:44:21 ] メソッドは呼び出しできないけどオブジェクトにはアクセスできたと思う オブジェクトをロックする方法は別にあったはずだし
1000 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 20:45:07 ] ガチでか 勘違いしてたぜ(´ー`;)
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。