【初心者】Java質問・相談スレッド103【大歓迎】at TECH
【初心者】Java質問・相談スレッド103【大歓迎】 - 暇つぶし2ch212:デフォルトの名無しさん
07/07/01 21:53:29
実行とは?
Javaのバージョンは?
そもそもコードを理解できている?
あと、学ぼうとする気ある?

213:実行したのはこっちの間違いでした
07/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:デフォルトの名無しさん
07/07/01 21:59:19
すいません>>213は忘れてください・・・

>>212
自分ホント分からないものだらけなんで。。。
明日までに完成させたいんです

215:デフォルトの名無しさん
07/07/01 22:02:41
そんな状態になるまで勉強をしなかったお前が悪い

216:デフォルトの名無しさん
07/07/01 22:04:27
完成させることは無理
同情の余地も無い

大学名と学部を晒したら変わりに提出しておいてやるよ


217:デフォルトの名無しさん
07/07/01 22:23:19
だから宿題スレの701嫁

218:デフォルトの名無しさん
07/07/01 22:28:12
絶望的に理解不足だなw

219:デフォルトの名無しさん
07/07/01 22:28:16
>>208
URLリンク(www.seman.cs.uec.ac.jp)


220:デフォルトの名無しさん
07/07/01 22:29:26
C++で typedef std::vector<std::string> strings_t; という感じに
ArrayList<String> に別名を付けたり出来ますか?

221:デフォルトの名無しさん
07/07/01 22:32:56
>>220
public class StringList extends ArrayList<String> {}
とかすれば出来る(?)けど、何にも意味がないような

222:デフォルトの名無しさん
07/07/01 22:38:17
コンストラクタも定義する必要がありそうな

223:デフォルトの名無しさん
07/07/01 22:38:51
>>220
Javaにはない

224:デフォルトの名無しさん
07/07/01 22:43:02
>>208
URLリンク(launch4j.sourceforge.net)


225:デフォルトの名無しさん
07/07/01 23:11:45
というかエイリアス使えるようにしたらC++みたいにタイプ数減らすためだけに
エイリアスを乱定義して可読性が落ちるからやめてほしいなぁ。

226:デフォルトの名無しさん
07/07/02 06:35:51
Javaの入門書、何を買うべきか迷っています。アドバイスをお願いします。

私の今のレベルは、Cが「少しは」できる感じです。
(配列・構造体・ポインタなど、基礎的な部分は分かる。
 コンパイラの挙動やプリプロセッサに関してもある程度分かる。
 作ったことがあるプログラムは、一つあたり1000行(.cファイル二つ、.hファイル一つ)程度)

個人的には、『独習Java』か『やさしいJava』かなあ、と思っていますが、どちらか決め難い。
他にもお勧めがあれば教えてください。

227:デフォルトの名無しさん
07/07/02 06:38:14
Javaとか言語にこだわらずに
オブジェクト指向の勉強もした方がいいよ


228:デフォルトの名無しさん
07/07/02 06:49:48
boolean[]の[]の中ってint型しか入らないんでしょうか?
long型では無理?


229:デフォルトの名無しさん
07/07/02 07:14:56
>>226
やさしいJavaはこのスレでもよく話題(笑)にあがるが、少なくともCをかじった人には糞本でしかない
独習Javaがいいと思う

>>228
無理
intの上限以上の配列を確保するってメモリどうなるかは考えた上で設計した方がいい

230:デフォルトの名無しさん
07/07/02 07:22:13
うーんそうなると代用とか利きますか?
どうしてもintの上限以上の配列を確保したいんですが・・・

231:デフォルトの名無しさん
07/07/02 07:23:43
>一つあたり1000行
って言われても全く規模が分からんな・・・未だにこんな言い方してる奴がいるのか。

悪いことは言わんからやさしいjavaはやめとけ。
他の糞本を読んだことないから他にどれが地雷かは分からんが
よほどのものでない限り普通に読めるはず。

後は何がしたいかによってそのジャンルの参考書もいるけど
javaの場合標準ライブラリが多くをカバーしてるんでjava+JAXP等
java開発者向けに標準ライブラリを使った専門分野な本も多くある。
これは外部ライブラリを学習するよりとっつき易さがあるので入門時にはそういう本もおすすめ。

あと、SwingはAWT覚えてから手を出した方が良い。
SwingとAWTは別ライブラリで作法が違うけどSwingはAWT上に構築されてるからSwing中で
(Swingが充実して最近減ったが)AWTのやり方が必要になってくることがあるが両方知ってないと混乱することがある。


232:デフォルトの名無しさん
07/07/02 07:29:45
>>230
intの上限を超えて配列は確保できない
そもそも上限を超えた配列を確保できてもライブラリを含め、使うことができない

配列ではない方法で同じデータ構造を持つ方法なんて幾らでもあるだろ
手っ取り早いのはlongをとって、全bitに対してフラグとして扱うとかな
分割して使うことができないとも考えられないし、一体何がしたいの?

233:デフォルトの名無しさん
07/07/02 07:32:14
>>231
1000ステップ程度ならば、規模を表すにはいいんじゃね?
自分はmainだけで収まるような簡単なサンプルが~100ステップ程度
いくつかの関数にわけてロジックを組み立てるというところで500~1000ステップ程度と感じている
個人差もあるし大雑把だけどねw

234:デフォルトの名無しさん
07/07/02 07:34:01
!seisu[n]

の!はどういう意味ですか?

235:デフォルトの名無しさん
07/07/02 07:34:41
>>230
boolean の情報量しかないんなら、
int の配列にして、その 32 ビットの 1 つ 1 つを boolean と見なせばいい。

236:デフォルトの名無しさん
07/07/02 07:35:44
あ、性格には
if(!seisu[n]){

ですね

237:デフォルトの名無しさん
07/07/02 07:36:35
>>230
現実的にはプリミティブな要素型を持つ配列を生成するケースは少ないので
だいたいの場合はint以上の長さの配列を確保するとすぐにメモリなくなる。

この場合、longを長さに取るコンテナを自作してメモリではなくディスクから読み書きして
必要な分だけメモリに置くクラスを作るのとかする。
マージソート自力で実装する程度のことが出来るならできるんじゃね?

というか配列の要素数は初期化時にint未満の型使ってもワイドニング変換でintになってるからな。

238:デフォルトの名無しさん
07/07/02 07:38:32
>>233>>235

つまり、long型の変数を宣言して、その各ビットを、0か1かによって、フラグとして代用するってことでしょうか?
3ビット目が1の場合、booiean[3]=true ってことですか?

239:訂正
07/07/02 07:40:15

つまり、long型の変数を宣言して、その各桁を、0か1かによって、フラグとして代用するってことでしょうか?
100の位が1の場合、booiean[3]=true ってことですか?

240:デフォルトの名無しさん
07/07/02 07:42:15
>>238 そんな感じ。

241:やってみます
07/07/02 07:43:24
ありがとうございました

242:デフォルトの名無しさん
07/07/02 07:44:40
>>233
細かい突っ込みだがCだと無意味な行が多いからステップ=LOCとは限らんような・・・。
テトリスくらいのをちゃんと関数分けてコメント書いてたら1000行くらいかな?

243:すいません・・・
07/07/02 07:47:11
if(!seisu[n]){
の!はどういう意味ですか?


244:デフォルトの名無しさん
07/07/02 07:51:19
条件反転

245:すいません・・・
07/07/02 07:53:16
!a=1のとき

の場合は

a=1以外のとき

ってことですか
でも>>243の場合はどういう意味になるのか分からないんです画・・・

246:デフォルトの名無しさん
07/07/02 07:57:09
seisu[n] が boolean 型で、その真偽を反転

247:すいません・・・
07/07/02 07:57:59
ありがとうございました

248:デフォルトの名無しさん
07/07/02 08:00:48
boolean a = seisu[n];
if(!a)...

こういうこと

249:デフォルトの名無しさん
07/07/02 08:01:03
「new」って調べたら
「new演算子: クラスのインスタンスを生成します 」
って出てきたんですがいまいち意味が・・・

250:デフォルトの名無しさん
07/07/02 08:07:11
本読め。本。

251:デフォルトの名無しさん
07/07/02 08:13:40
朝っぱらから二つのjavaスレがgdgdだな。
他人に考えさせる前に自分の頭使おうぜ?

252:228です
07/07/02 08:18:47
結局一からやり直すことにしました。
僕がやりたいのは、素数を探し出すプログラムで、例えば
「boolean[]のboolean[9967]=false」
だった場合、
「9967は素数ではない。」
といった感じで、素数であるかないかの表を作っていたわけですが、それだとintの上限以上の
素数を記憶できないってことで、皆さんの助言通りに、
「long型の各ビットをbooleanの真偽の代用にする」ことを目指しております。
で、さっきは分かったように思ったのですが、今考えて見るとやっぱりちょっと分からないところが出てきて・・・
long型の各ビットをbooleanの真偽の代用にする、とのことですが、long型の桁数ってint型の上限より少ないですよね?
ってことは「long型の上限の長さの配列」で代用するって意味だったのかなあっと思ったのですが、
配列の長さはintの上限を超えられないんですよね・・・?
結局、できるだけたくさんの素数であるかないかの表を作るにはどうすればいいんでしょう・・・?

253:デフォルトの名無しさん
07/07/02 08:22:52
普通は boolean に素数かどうかを貯めていくんじゃなくて、
素数を貯めていくんじゃないかな?

254:デフォルトの名無しさん
07/07/02 08:24:27
long は int の2倍のサイズなんだが

255:228です
07/07/02 08:27:23
それは、格納できる数字が2倍なのであって、
「longに格納できる最大の数」の「桁数」では素数表には少なすぎますよね?

256:デフォルトの名無しさん
07/07/02 08:28:07
配列にすればいいだろ?

257:デフォルトの名無しさん
07/07/02 08:28:10
javaってbitの集合扱うライブラリなかったけ?

258:デフォルトの名無しさん
07/07/02 08:30:11
>>252
全部メモリに持ち続ける必要ないでしょ。
区切りでファイルに吐けばlong使う必要ない。

259:デフォルトの名無しさん
07/07/02 08:30:16
BitSet ってのがあるな。

260:228です
07/07/02 08:31:03
その配列ですけど、
例えば
long n[99999999999]
とかはできるんですか?
配列の長さはどうやってもintの上限を超えられないby>>232
と聞いたので・・・

261:デフォルトの名無しさん
07/07/02 08:31:13
そもそも素数かどうか判定した時にメッセージ出力すれば良いんじゃない?
なんでループ分けるの?

262:デフォルトの名無しさん
07/07/02 08:31:18
でも、BitSet だとインデックスが int に収まらないといけないんだよな。

263:228です
07/07/02 08:32:11
>>258
すいません詳しくお願いします
(つまり足りなくなったら他の奴に乗り換えろってこと?)

264:デフォルトの名無しさん
07/07/02 08:35:37
>>260
配列の個数×longのビット数 だけの情報が扱えるじゃん。

265:デフォルトの名無しさん
07/07/02 08:36:52
で、素数表作って何をしたいんだろうか。
素数かどうかの判定でもするの?

266:228です
07/07/02 08:37:30
なるべくたくさんの素数表を作っておく必要があるんです

267:デフォルトの名無しさん
07/07/02 08:37:34
>>237

268:デフォルトの名無しさん
07/07/02 08:38:34
それは「素数かどうかのフラグ」を貯める方式じゃないと不都合があるの?
素数を貯めていくんじゃダメ?

269:デフォルトの名無しさん
07/07/02 08:38:41
>>266
>なるべくたくさんの素数表を作っておく必要があるんです
俺らはそれが何のためかと聞いている。

270:デフォルトの名無しさん
07/07/02 08:41:07
普通は long 型配列にでも素数を貯めていくよね。
prime[0] = 2;
prime[1] = 3;
prime[2] = 5;
prime[3] = 7;
prime[4] = 11;
みたいに。

271:デフォルトの名無しさん
07/07/02 08:50:27
素数の総数がint超えるって話じゃない?

272:デフォルトの名無しさん
07/07/02 08:51:26
ていうかお前らそろそろおなかいっぱいだろ?

273:デフォルトの名無しさん
07/07/02 08:56:37
素数かどうかのフラグで保存してるから
素数の総数が int を越えるとダメになるんじゃないの?

274:デフォルトの名無しさん
07/07/02 08:57:19
ちがうや。
素数の値が int を越えるとダメになる、だ。

275:デフォルトの名無しさん
07/07/02 08:59:16
Mapの実装て保持できるのエントリに上限あったけ?

276:デフォルトの名無しさん
07/07/02 09:06:32
long 配列に素数を貯めていっても、
素数が意外と多いからスペース削減にはならんっぽいな。
ファイルに書き出していけばいいけどもん。

277:デフォルトの名無しさん
07/07/02 09:09:26
そもそも素数かどうかのテーブルに何の意味があるんだ?
そこから間違ってる気がするんだが・・・

278:デフォルトの名無しさん
07/07/02 09:09:42
67,867,967 が 4,000,000 番目の素数か・・・。

279:デフォルトの名無しさん
07/07/02 09:15:41
ていうか素数の数がlong要る整数ってlongで足りるの?

今度はry・・・とか聞きそうな気がしてきた。

280:デフォルトの名無しさん
07/07/02 09:19:55
javaでも無限リストが扱えれば楽なんだけどな。
こういう問題は関数型の方が得意か・・・

281:デフォルトの名無しさん
07/07/02 09:20:04
素数判定の効率は悪いな。 >素数かどうかのテーブル

282:デフォルトの名無しさん
07/07/02 09:23:11
言い方が悪かった。
素数表の作成効率は悪いな。 >素数かどうかのテーブル

283:デフォルトの名無しさん
07/07/02 09:26:03
ん? いや、スペース削減にはなるや。
うん。やっぱり素数を配列に貯めていった方が、
速度的にも容量的にもいいみたいだ。

284:デフォルトの名無しさん
07/07/02 09:27:08
ん? いや、やっぱりスペース削減にはならんや・・・。
ちょっと混乱してきた・・・。

285:デフォルトの名無しさん
07/07/02 09:31:58
boolean * intとlong * intじゃ考えるまでもないぜ!

286:デフォルトの名無しさん
07/07/02 09:34:15
いや、式が何か違う気がするが伝わるはずだ!

287:デフォルトの名無しさん
07/07/02 09:40:28
素数かどうかのテーブルを使えば、
最大バイト数×8 の大きさの素数まで扱える。

素数を貯めていく場合、
最大バイト数/64 個の素数が扱える。
この時の素数の最大値が最大バイト数×8より大きければ
素数を貯めていく方が容量効率がいいことになるんだけど、
圧倒的に足りないから容量効率は悪いっぽ。

288:デフォルトの名無しさん
07/07/02 09:49:14
javaのbooleanって1byteに絶対すき間なく敷き詰めるんだっけ?
配列は飛び飛びなのに。

289:デフォルトの名無しさん
07/07/02 09:51:07
どちらにしろインデックスが int 越えられないんじゃなあ。

290:デフォルトの名無しさん
07/07/02 09:52:06
だから自分で作れとry

291:デフォルトの名無しさん
07/07/02 09:55:14
朝っぱらから3時間も続いてんのかこの流れ

292:デフォルトの名無しさん
07/07/02 10:10:00
所詮mp3も再生できない学術言語だからな

293:デフォルトの名無しさん
07/07/02 10:30:46
出来るだろ。どっからmp3が出てくんだよw

294:デフォルトの名無しさん
07/07/02 13:00:32
時代はOggとかAC3だろ

295:デフォルトの名無しさん
07/07/02 13:10:17
URLリンク(java.sun.com)

296:デフォルトの名無しさん
07/07/02 18:05:58
MD5で暗号化したのをSystem.out.printで表示すると巧く表示されるのですが、
JLabel.setTextで表示すると、後ろから1桁か2桁しか表示されません。
どうすれば全部表示されますか?

297:デフォルトの名無しさん
07/07/02 18:13:19
Java始めて半年の初心者です。
今は秀丸を使っているのですが、
上級者の方は後々「Java専用プログラミングエディタ」みたいなのを使い始めるのでしょうか。

298:デフォルトの名無しさん
07/07/02 18:21:20
>>296
どうやってMD5をかけたか、MD5をかけた後の変数の型、
System.out.print()した方法、setText()した方法をコードで示しましょう。

それから、MD5は暗号ではないです。



299:デフォルトの名無しさん
07/07/02 18:22:03
>>297
さいきんはEclipseを使う人が多いかもしれない。


300:デフォルトの名無しさん
07/07/02 18:23:11
>>296
digestをbyte配列で得てprintの方は順番に配列要素を表示していってるから全部表示されて、
JLabelの方には配列要素を順番に引数としてsetTextでセットしているから、
結局最後の配列要素しかJLabelには現れないというオチだったり。
もしそうなら、setTextはappendTextでないということは分かってないよね?

301:デフォルトの名無しさん
07/07/02 18:26:09
eclipseは別にJava専用プログラミングエディタではないと思うが
>>297
自分が慣れたエディタを使えばええやん

302:デフォルトの名無しさん
07/07/02 18:27:00
javaファイルからJavacsriptって動かせる?
xmlHttpRequest使いたいんだけど。
通信ってURLConnection使うしかない?

303:デフォルトの名無しさん
07/07/02 18:39:23
>>302
rhino

304:デフォルトの名無しさん
07/07/02 19:28:35
XmlHttpRequestはXML Extrasの成果だろ

305:デフォルトの名無しさん
07/07/02 20:52:25
GWT

306:デフォルトの名無しさん
07/07/02 20:58:11
ていうかURLConnectionから開いたInputStreemからDOM構築すれば良いだけだろ?
それかDOM Level 3 Load and Save使えよ。

307:デフォルトの名無しさん
07/07/02 20:58:36
>>297
そろそろEclipseに乗り換えてもいいと思うよ
禿丸使うよりも生産性が上がる

308:デフォルトの名無しさん
07/07/02 21:48:50
>>297
いきなりeclipseは導入で手間取りそうだね。
詳細なリファクタリングやコードフォーマットを頻繁に行わないならnetbeansでも良いと思う。

ヴュジュアル主体の開発とテキスト主体の開発っていうコンセプトの違いは大きいから選んだ方が良いけど。


プロトタイプでっち上げてそれをリファクタリングしまくりながら肉付けしていき開発する俺には
リファクタリング・フォーマッティング・ドキュメンテーションの面でnetbeansはかなり効率悪い。

けどGUI部分は書きたくないしリファクタリングなんてどうでもいいぜ!って人ならnetbeansの方が効率良い。

netbeansでGUI組んでeclipseでリファクタリングでも良いかも。

309:お願い!!
07/07/02 23:16:47
こんばんは。

WEBアプリケーションでよくファイルアップロード機能があると思います。
その仕組みとして直接クライアントで指定したファイルを
サーバにアップロードしないでDBにBLOGなどで登録は可能でしょうか?

可能であればその仕組みを教えてください。
よろしくお願い致します。


310:デフォルトの名無しさん
07/07/02 23:39:00
日本語でおk
どっちにしてもサーバは使うことになると思うが。


311:デフォルトの名無しさん
07/07/02 23:43:24
現在、C++のプログラムをJAVAに書き換えようとしているのですが、
C++で使われている構造体をJAVAで再現することは可能でしょうか?
もしそのまま流用して動作するのであれば有難いのですが・・・。
宜しくお願い致します。

312:デフォルトの名無しさん
07/07/02 23:44:55
>>309
FTP使えば?

313:デフォルトの名無しさん
07/07/02 23:46:40
>>309
マルチ乙

314:お願い!!
07/07/02 23:51:59
>どっちにしてもサーバは使うことになると思うが。
すみません。

サーバはAP、DBともに使うのですが、
どちらのサーバにも物理ファイルをアップロードしないで
クライアントにあるファイルを直接バイナリ変換して
DBに登録に登録出来るかが知りたかったのです。


315:デフォルトの名無しさん
07/07/02 23:53:51
>>314
クローズドなシステムだったら署名つきJavaApplet上で
JDBCでBLOBデータを流す感じかな。

とりあえず日本語の勉強しておいたほうがいい。

316:デフォルトの名無しさん
07/07/03 00:16:26
作った後のこと考えるとJWSの方が楽だろうね。

ファイルを直接バイナリ変換ってなに?
普通バイナリをBase64でテキストにエンコードするんじゃないの?

317:デフォルトの名無しさん
07/07/03 00:51:49
「アップロードしない」の意味がわからん。
バイナリ変換と言ってるが何をバイナリ変換するんだ?
アップロードされてないものを変換できないぞ。

318:デフォルトの名無しさん
07/07/03 01:18:54
>>314
アップロードしない → サーバにデータを送らない → サーバのDBに登録できない

319:デフォルトの名無しさん
07/07/03 01:26:28
物理ファイルをアップロードする → HDDから当該ファイルのセクタの磁気材料をひっぺがしてサーバの投入孔に入れる

320:デフォルトの名無しさん
07/07/03 01:45:00
>>314
クライアントにDBをインストールしてそこに目的のファイルをINSERT

バックアップファイルを作成

サーバにFTPでバックアップファイルを転送

サーバのDBにリストア

321:デフォルトの名無しさん
07/07/03 01:52:17
英文の書かれたtxtファイルがあって、そこに出現する英単語の出現頻度をカウントして、
降順にソートした状態で出力したいのですが、どのようにすればよいのでしょうか?

TreeMap使えばいいのかなーと思ったのですが、どうやってカウントしていけばいいのかというところで
ちょっとわからなくなってしまって・・・

322:デフォルトの名無しさん
07/07/03 02:00:22
英単語をキーにして出現頻度をバリューにして出現するたびに
マップを検索してなければその単語をキーにして頻度を1にして新規に加えて
あればその単語の頻度を1増やす

323:デフォルトの名無しさん
07/07/03 02:01:11
TreeMap#size() じゃダメなの?

324:デフォルトの名無しさん
07/07/03 02:06:59
コレクションに入れられるのは参照型なので
出現頻度はIntegerなどのラッパークラスを使って頻度更新のたびに入れ替えていくか
new int[1]した配列を入れてint[0]の値を更新していくか
その辺りは自分のポリシーで

325:デフォルトの名無しさん
07/07/03 03:20:07
なんとなく AtomicInteger を使ってみるとか

326:デフォルトの名無しさん
07/07/03 08:20:15
何?この素人集団w

327:デフォルトの名無しさん
07/07/03 09:23:48
流れぶった切るけど前944であがったJCursesってちゃんとつかえるの?

JNIのロード方法が特殊でjarに固めるとロード時にNoClassDefFoundErrorが出るし、固めずに実行するとExceptionInInitializerErrorが出る。

ちゃんと使えてる人居たらどうやって使ってるか教えてほしい。

うちの環境はjdk6u1とwin用JCurses 0.9.5

328:デフォルトの名無しさん
07/07/03 16:35:10
>>325
無駄では?


329:デフォルトの名無しさん
07/07/03 17:08:21
>>325
並行処理やるわけでもないのに何でそんなのが必要になるんだよw

330:デフォルトの名無しさん
07/07/03 18:18:22
単語を見つけるたびにスレッド一つ作って実行したりして。w

331:デフォルトの名無しさん
07/07/03 18:39:15
>>328-330
”なんとなく” という単語に俺が言いたいことを全部押し込めたわけだが

332:デフォルトの名無しさん
07/07/03 19:51:04
不可逆圧縮だったようです。
笑いどころも無いので皆さん解凍できなかった様子。

333:デフォルトの名無しさん
07/07/03 21:49:12
java.lang.thread
というエラーの解決法教えてくださいm(_ _)m

334:デフォルトの名無しさん
07/07/03 21:50:20
>>333
エラーは何ですか?

335:デフォルトの名無しさん
07/07/03 21:50:58
という莫迦がキてますよ

336:335
07/07/03 21:51:56
すまん>333ニダ

337:デフォルトの名無しさん
07/07/03 21:54:50
>>333
解決方法は質問じゃなくて自分で勉強することだろうな

338:お願い!!
07/07/03 22:00:08
本日色々調べてみました。
javaでのファイルアップロードの仕組みとして
一般的にクライアントで指定したファイルをサーバに
一度アップロードしてからデータベースへ
BLOB(バイナリラージオブジェクト)で登録するようです。

ただし、私の知りたいその2段階で行う処理を
サーバに一度もファイルを置かずに1段階で
データベースに登録が技術的に可能なのかが解かりませんでした。。


339:デフォルトの名無しさん
07/07/03 22:12:13
>>338
可能

340:お願い!!
07/07/03 22:14:03
やっぱり可能ですか?
出来そうな感じもするのですが
実装方法はどうしたらいいのでしょうか?

341:デフォルトの名無しさん
07/07/03 22:15:20
>>340
ちったあ調べれ

342:デフォルトの名無しさん
07/07/03 22:16:46
>>338
一度もサーバーに置かないというのは物理ファイルのことだよな?

それならば、サーバーの能力、転送量次第
十分に運用に耐えられると判断したならば、Servlet内でbyte[]やTempファイルなんかをメモリ上に作成すればいい
例えば数Kバイト程度のCSVファイルが1時間に1つ程度送られてくるとかならば、オンメモリでも問題ないだろう
だけど、例えばそれが月頭の特定時間に1万ファイル/分で転送されてくるならば止めた方がいいだろう


343:デフォルトの名無しさん
07/07/03 22:21:00
今勉強中の者ですが、
8進数や16進数など現場でつかいますか?

344:デフォルトの名無しさん
07/07/03 22:25:06
16進数は使いまくり。
8進数は使わない。

345:デフォルトの名無しさん
07/07/03 22:27:09
>>343
君が将来勤める工事現場では8進数も16進数もたぶん使わないんじゃないかな

346:デフォルトの名無しさん
07/07/03 22:30:56
16進? java.awt.Colorくらいかね?w

347:デフォルトの名無しさん
07/07/04 01:49:01
>>343
chmod 755 hogehoge.cgi

とかは 8進数


348:デフォルトの名無しさん
07/07/04 03:53:14
GUIとGraphicsについて初心者向けに解説しているサイトを教えてくださいmm

349:デフォルトの名無しさん
07/07/04 09:39:04
>>348
やだ

350:デフォルトの名無しさん
07/07/04 09:48:55
バイナリエディタって何?って奴らばっかだな

351:デフォルトの名無しさん
07/07/04 13:18:31
>>348
これからも聞きたいときは聞きに来ていいんだよ

答えたいときに答えるから


352:デフォルトの名無しさん
07/07/04 13:55:35
>>348
URLリンク(ja.wikipedia.org)
URLリンク(ja.wikipedia.org)

353:デフォルトの名無しさん
07/07/04 21:05:03
>>343
16進はよく使う。8進はあまり使わないが>>347のように使うことはある。


354:デフォルトの名無しさん
07/07/04 21:35:56
それ Java か?

355:デフォルトの名無しさん
07/07/04 22:36:41
URLリンク(java.sun.com)
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:デフォルトの名無しさん
07/07/04 22:37:46
もみあげ

357:デフォルトの名無しさん
07/07/04 22:39:16
>>335
その nested exception is: の後が重要。そっちも書いて

358:355
07/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
07/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
07/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
07/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
07/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
07/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:デフォルトの名無しさん
07/07/04 22:57:31
なげーよww
java.lang.ClassNotFoundException: example.hello.Hello だ、原因はStackTraceは一番下(元の)例外を読むのが原則
サーバの方でパスが通っている場所にクラスファイルがない

365:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/07/04 23:06:09
クラスパスもわかんないやつがRMIって。

367:355
07/07/04 23:09:00
>>366
動かしてみてびっくりでしたww

368:355
07/07/04 23:19:26
C:\Program Files\Java\jdk1.5.0_12\bin直下に置いたら動いたww

369:デフォルトの名無しさん
07/07/04 23:30:08
Caused by: java.lang.ClassNotFoundException: example.hello.Hello
が原因を教えてくれているな。
エラーメッセージには答えそのものが書いてあることが多いからよくよめ

370:デフォルトの名無しさん
07/07/04 23:32:09
>>368
まて、bin直下にクラスファイルを置かないと動かないってどういうことだよ!


371:デフォルトの名無しさん
07/07/04 23:35:48
>>370
そういうことだよ

372:デフォルトの名無しさん
07/07/04 23:43:32
>>371
そういうことじゃなくて、rmiregistry.exeを>>365のディレクトリ上に配置すればイイーンダヨ♪


373:デフォルトの名無しさん
07/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:
07/07/05 01:38:21
ある文字が英語のアルファベットかしりたいんですが、判別できるメソッドはないですか?
Character.isLetter(char)は日本語の文字にもtrueを返してしまいます。

375:デフォルトの名無しさん
07/07/05 01:45:08
>>373
結論いうと可能。アプレットだよね。

ソースファイルに以下のコメント記述でアプレットタグの内容を書く。
/**
<APPLET>内容</APPLET>
*/

コンパイルしたら、appletviewer.exeというjavaの実行フォルダにある
ビューワを使えば読める。

こんな感じ
c:\>appletviewer "ソースファイル名"

ただし、ブラウザと多少動作が違うから確認程度で我慢すること。
詳しくはぐぐれ

こことかどうよ
URLリンク(www.itlb.te.noda.sut.ac.jp)

376:デフォルトの名無しさん
07/07/05 01:53:33
>>374
あったようななかったような、、A~Z、a~zの範囲なら自作のAPIを作っても手間がそんなにかからないと思うけど。

URLリンク(charset.7jp.net)




377:デフォルトの名無しさん
07/07/05 01:59:02
>>375
ありがとうございます!

378:デフォルトの名無しさん
07/07/05 02:00:24
Cには関数ポインタなるものが存在しますが、Javaにも似たような使い方ができるコーディング方法ございますか?

379:デフォルトの名無しさん
07/07/05 02:06:44
そろそろできる

380:デフォルトの名無しさん
07/07/05 02:10:14
Methodsクラスをなめるように操作すれば出来なくもない

381:デフォルトの名無しさん
07/07/05 02:41:15
とりあえず、高橋麻奈のやさしいJAVAを一冊読んだのですが、
次はなにかを作りながら覚えて言ったほうがいいかなと思ったのですが

なにかいい参考書や方法はあるでしょうか?

みなさんはどういうステップJAVAを学んでいかれたのでしょうか?
よかったら教えてください。

382:デフォルトの名無しさん
07/07/05 03:02:31
>>381
資格取ったり仕事で使ったりしたから、いろいろ知ってるけど。
どうでもいいような事とかJavaで出来ること、出来るけど困難なこと、そもそも出来ないこと
の区別が付けることが出来たら、お客さんに気に入られるよってアドバイスする俺はSE兼PGです。
趣味の範囲ならアソシエイツを取る勢いで浅く広く覚えれば面白いと思うよ。深く追求すると嫌になるから。
URLリンク(suned.sun.co.jp)

383:デフォルトの名無しさん
07/07/05 09:35:44
お客さんに気に入られてアドバイスしているが
ほとんど無報酬のボランティアで答えている俺は
SE兼PG兼奴隷です。

384:デフォルトの名無しさん
07/07/05 10:37:04
JavaってFTPクライアントはカンタンにできると思っていましたが
ソケットで自作しないとだめなんでしょうか?

385:デフォルトの名無しさん
07/07/05 10:57:13
標準ライブラリのみなら、そういう認識であってる。
外部のライブラリ使えば簡単にできる。commons netとか
URLリンク(jakarta.apache.org)

386:デフォルトの名無しさん
07/07/05 11:37:20
>>378
Java "Script"なら関数オブジェクトを変数に入れて
コールすれば内部処理的にも関数ポインタに近いんだけどなぁ・・・
クロージャが追加されれば似たような事が出来るけど
Javaのクロージャってレキシカルスコープ引き継ぐんだろうか?

>>381
やさしいjavaをきれいさっぱり忘れて他の本をじっくり読む。マジオヌヌメ。


387:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/07/05 12:10:35
>>387
\rが入ってるとか?

389:デフォルトの名無しさん
07/07/05 12:11:16

LFだけ消して
CRLFを消してないから
CRが残ってる



390:387
07/07/05 12:21:08
なるほど、改行コードは\nしか使っていなかったので盲点でした
\rを消して無事に一行で出力することができました
>>388さん>>389さんご回答ありがとうございました!

391:デフォルトの名無しさん
07/07/05 13:04:01
\nはエスケープシーケンスで改行コードは別だよね?
Javaのばあい、動作してるプラットフォームの改行コードに変換されるんじゃなかったけ?

392:デフォルトの名無しさん
07/07/05 13:25:24
1行目も2行目もNo

393:デフォルトの名無しさん
07/07/05 13:28:12
ブラウザから送ってきたものそのままだと思うが、
ブラウザがどういった改行コードを送ってくるかは環境依存?それとも何か決まりはある?

394:デフォルトの名無しさん
07/07/05 13:36:19
MacからはCRで送られてくるし
WindowsからはCRLFで送られてくるし
UNIX系からはLFで送られてくるよ

HTTP以外のSMTPとかのプロトコルだと
ちゃんとCRLFになってるみたいだけどね


395:デフォルトの名無しさん
07/07/05 13:52:38
JTreeでエクスプローラみたいなの作ろうとしてるんだけど
システム上でファイルに関連付けられてるアイコンを
自動的に表示するような方法ってない?

やっぱりひとつひとつアイコン設定するしかない?

396:デフォルトの名無しさん
07/07/05 13:55:19
あるよ

397:デフォルトの名無しさん
07/07/05 13:56:43
UIリソース変えるだけで済まない?

398:デフォルトの名無しさん
07/07/05 14:00:00
>>396
そうなんだ!
どうやるの?

399:デフォルトの名無しさん
07/07/05 14:56:46
>>398
ファイルに関連づけられてるアイコンって、
OS依存な気がするんだが・・・>>396は何か勘違いしてる気が・・・

400:デフォルトの名無しさん
07/07/05 14:59:09
違うよ、お前に言ったんじゃないよ

401:デフォルトの名無しさん
07/07/05 15:00:06
>>399
JTree上のアイコンだろ?

402:デフォルトの名無しさん
07/07/05 15:12:33
確かにフォルダの絵とかはUIリソースで変えられると思うが
エクスプローラみたいなのを作りたいってことは、exeファイルのアイコンとか
関連づけられたアプリのアイコンとかにしたいってことなんじゃないの?
>>401

403:デフォルトの名無しさん
07/07/05 15:47:41
>>402
そういうことっす

404:デフォルトの名無しさん
07/07/05 19:04:57
アイコンを用意するところからだな。

405:デフォルトの名無しさん
07/07/05 20:49:42
インスタンスの生成と破棄に関するパフォーマンスを調べたいのですが、測定ツールみたいなものはありますか?

406:デフォルトの名無しさん
07/07/05 21:03:29
>>403
同じプログラムを Linux へ持っていたらまったく意図した通りに動かない、ということですな・・・


407:デフォルトの名無しさん
07/07/05 21:05:44
Write once, Run one platform.


408:デフォルトの名無しさん
07/07/05 21:30:39
ファイラはどうやってアイコンとってきてるんだろね
デフォルトはシステムのどっかにアーカイブされてるんだろうが

409:デフォルトの名無しさん
07/07/05 21:45:57
explorer.exe とか run32.dll のなかにアイコンリソースがいっぱいあるね

410:デフォルトの名無しさん
07/07/05 21:50:05
JDICにそれっぽいAPIがありそうな感じ。
URLリンク(jdic.dev.java.net)
この辺のAssociationとか使えそうじゃね?
URLリンク(jdic.dev.java.net)

411:デフォルトの名無しさん
07/07/05 22:50:43
URLリンク(jdic.dev.java.net) のしたの方にデモがあるね
URLリンク(javadesktop.org)


412:デフォルトの名無しさん
07/07/05 22:51:45
サーバプログラムでクライアントから入力があれば、文字列を受信して、画面にその文字列を表示してループを抜ける。
また、画面から入力(Enter)があれば、ループを抜けずに、プログラムを強制終了させる。
上記の問題で条件文のことで質問があります。

while(true){
// 省略
if(System.in.available() > 0)
break;
}
「入力があれば」は上記if文でいいのでしょうか?
またEnterキーが入力された場合はどのように条件文を書けばいいのですか?

413:デフォルトの名無しさん
07/07/05 22:58:57
jarファイルにしたら外部に別のファイルを出力させることはできませんか?

414:デフォルトの名無しさん
07/07/05 23:01:12
>>411
それだと、ファイルの種類にかかわらずアイコンが全部同じになってるんだよね。
他に方法があるといいんだけど。

415:デフォルトの名無しさん
07/07/05 23:07:24
>>412
まったく意図が通じていないと思うがエスパーしてみる
socket.getInputStream() を使ってバイナリを受信するべし

416:412
07/07/05 23:20:24
すいません。
・画面からの入力が「Enterキー」ならプログラム強制終了。
の部分だけを知りたかったんです。
サーバ、クライアントなしでただのプログラムとして考えてください。


417:デフォルトの名無しさん
07/07/05 23:21:27
Javaでなんか作ってるスレない?

418:デフォルトの名無しさん
07/07/05 23:30:01
スレリンク(tech板)

419:デフォルトの名無しさん
07/07/05 23:33:58
System.inをScannerに放り込んで、nextLine()で終了。
Scanner scanner = new Scanner(System.in);
scanner.nextLine();

420:デフォルトの名無しさん
07/07/05 23:42:01
>>414
たぶんもう見てると思うけど
URLリンク(wisdom.sakura.ne.jp)
の一番下のとか
URLリンク(terai.xrea.jp)
とかがあるよね
でも >>395
「やっぱりひとつひとつアイコン設定するしかない? 」
の不満は解消されてないっぽ
シコシコやっても >>406-407 みたいになるのがオチ


421:デフォルトの名無しさん
07/07/05 23:43:41
ネットワークプログラミングの参考書で
お勧めの教えてくらさい

軽くその本の内容も書いてくれると嬉しいです

422:デフォルトの名無しさん
07/07/05 23:49:54
Javaネットワークプログラミングの真髄

423:デフォルトの名無しさん
07/07/05 23:57:28
>>422
サンクス
ググってみたが,出版されて日が浅いせいか
全然レビューないな
とりあえず,明日本屋で立ち読みしてみるわ

424:デフォルトの名無しさん
07/07/06 00:04:15
>>420
jdicのAssociationServiceのgetFileExtensionAssociationで拡張子指定して
Associationを取得してgetIconFileName()を使うとなんか帰ってくるな。
なんでか「絶対パス,整数」の形式になってる。
数字の意味がわからないが絶対パスの先はアイコンではなく
実行ファイルなのであった・・。

ああ、もしかするとアイコンを使ってるファイルのパスが帰ってくるのか(´д`)


425:デフォルトの名無しさん
07/07/06 00:04:25
執筆者乙

426:デフォルトの名無しさん
07/07/06 00:05:50
>>424
整数はリソースの番号だろ


427:デフォルトの名無しさん
07/07/06 00:06:45
>>424
アイコンを使ってるファイルのパスじゃなくて
アイコンを格納しているファイルだろうね

428:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/07/06 00:24:49
>>428
乙。


430:428
07/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:デフォルトの名無しさん
07/07/06 00:43:17
>>428
javax.swing.filechooser.FileSystemView 使えば
Windows では 16x16のアイコンと、ファイルの種類だけは取れる。

432:デフォルトの名無しさん
07/07/06 07:27:44
これは覚えておかなくては

433:デフォルトの名無しさん
07/07/06 09:46:41
質問です。

Eclipseでプログラミングをしているのですが、
log4jとJCOMを外部jarとして追加しています。

この状態でjarファイルとしてプログラムをエクスポートすると、生成されたjarがそのまま実行できません。
CLASSPATHが通ってない・・・みたいなエラーが出ます。

通常のjarみたいにダブルクリックで起動させたいのですが、これはどうすれば解決できるでしょうか?

434:デフォルトの名無しさん
07/07/06 10:18:12
>>433
実行可能Jarでググれ。

435:デフォルトの名無しさん
07/07/06 10:33:12
>434
ググってみたんですけど、
外部Jarを使ったプログラムのエクスポート方法
などが載ってるページが見つかりませんでした。



436:デフォルトの名無しさん
07/07/06 10:56:55
「実行可能Jar」でググった1番最初に見つかるが、
お前さんが使ってるGoogleは別物なんだな。
わかった。ズバリ答え。
MANIFEST.MFにこう書け。

Class-Path: log4j.jar jcom.jar

log4j.jarとjcom.jarは、実行するJarファイルと同じフォルダに置くこと。

437:デフォルトの名無しさん
07/07/06 12:19:50
>>436
ありがとうございます!!
無事に実行することができました。

これで実行jarと同じ階層に3つのjarファイルがあるわけなんですが、
コレを1つのexeファイルにしたいんです。

Fat jarでまとめてexewrapでexeにする・・・というのはできるんでしょうか?

438:デフォルトの名無しさん
07/07/06 15:46:00
>>437
そこまで手順が確定しているなら自分でやってみればできるかどうかすぐ分かる。

439:たかひと
07/07/06 16:49:12
jspからftpサーバにファイルをアップロードするには
どのようにすればいいのでしょうか。
宜しくお願いします。

440:デフォルトの名無しさん
07/07/06 17:52:31
launch4j

441:デフォルトの名無しさん
07/07/06 18:05:44
log4JってWebアプリに使ってもいいですか?
スレッドとかぶつかっても平気ですか?

442:デフォルトの名無しさん
07/07/06 21:19:09
log4jはスレッドセーフじゃないです。残念ながら。
まぁ日付の書式に気をつければ何の問題もないけどね。

443:デフォルトの名無しさん
07/07/06 21:31:28
UDPだから負荷が重いときはデータ抜けしますよ

444:デフォルトの名無しさん
07/07/08 00:53:30
URLリンク(logging.apache.org)
> 1.7 Is log4j thread-safe?
> Yes, log4j is thread-safe. Log4j components are designed to be used in heavily multithreaded systems.

まことに残念

445:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/07/08 02:00:34
スレッドに挑戦しようと思い、スレッドを含んだものを作ってみたのですが、コンパイルするときにスレッドの例外というのが発生してしまいます
単純に宣言や拡張が何か足りないだけなのでしょうか…

447:デフォルトの名無しさん
07/07/08 02:02:35
コンパイルするときに例外が発生ってどゆこと

448:デフォルトの名無しさん
07/07/08 02:04:26
>>445
i = i | (b & 0xFF)

449:デフォルトの名無しさん
07/07/08 02:04:33
>>445
0xFF と AND でもとれば

450:445
07/07/08 02:10:40
>>448
>>449

ありがとうございます。できました。(; ´д`)

451:デフォルトの名無しさん
07/07/08 02:16:37
i = i | (b & (byte)0xFF)

452:
07/07/08 02:59:39
Eclipseでどんなプログラムでもデバックモードで走らせると、いつも最初にTrueTypeFon.open()262行ででNullPointerExceptionが発生しています。
Eclipse3.21 JDK1.6.0_02、Windows2000SP5です。同じような症状の人いますか? 普通に実行してる分にはNullPointerExceptionは発生しないのですが。


453:452
07/07/08 03:01:22
どんなプログラムではありませんでした。Swingをつかうプログラムでした。

454:デフォルトの名無しさん
07/07/08 03:04:30
そのぬるぽは君のプログラムからじゃなくてEclipseから発生してるもの?

455:デフォルトの名無しさん
07/07/08 04:41:18
exewrapすると中身は見れないんですか?

456:452
07/07/08 04:44:03
自分のプログラムからだと思います。でも自分のプログラムが悪いという問題ではないと思います。
GUI(Swing)を使えば必ず出てきます。
階層的にはJFrame#initの呼び出しの果てに
Window#init(GraphicsConfiguration gc)
が呼び出されて、さらにその後もメソッドの呼び出しが続いてTrueTypeFon.open()でヌルポが発生してしまいます。

ただこのヌルポ、デバッグモードで動かさないとわかりません。
Eclipseならデバッグモードじゃなくてもヌルポが発生したらコンソールに知らせてくれるはずなのだと思いますが。

457:デフォルトの名無しさん
07/07/08 07:33:33
最低限のソースを


458:452
07/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
07/07/08 11:10:08
最初のJFrameのコンストラクタの呼び出しの中でヌルポが発生しています。

460:デフォルトの名無しさん
07/07/08 11:31:51
>>452
それでも発生するならばEclipseの実行環境(JRE)の設定でJDK1.6となっているかを確認。
さらに、プロジェクトのプロパティからコンパイルレベルが、6.0になっているかを確認
ダメならば、Eclipseを入れなおしてみる

とりあえず、そんなとこかな?

461:452
07/07/08 12:17:34
>>460
どうもありがとうございます。JREの設定でJDK1.6、コンパイルレベルが、6.0、ともになっています。
ちょうどEclipse3.3が出たから、アドバイスどおりEclipseを入れなおしてみます。

462:デフォルトの名無しさん
07/07/08 12:23:47
>>461
3.3.1が出るまでは冒険でしょでしょ(=ω=.)

なんかプラグインが衝突しているんかねぇ
大量にプラグインいれた環境とかならば、再インスコがベストだろうな。
VEとかいれているならばかなり怪しい

463:デフォルトの名無しさん
07/07/08 13:46:20
コンパイルはできているのですが実行したら
Exception in thread "main" java.lang.NoClassDefFoundError:Sample1とエラーが出ます
そこでシステム環境変数のCLASSPATHを削除したら治ったのですがこれは削除してもよかったんでしょうか?

464:デフォルトの名無しさん
07/07/08 13:47:11
「.;」をわすれてね?


465:デフォルトの名無しさん
07/07/08 14:04:21
javacとjavaコマンドでやっているのか?
CLASSPATHは環境変数に設定するとトラブルを誘発するので勧めない

必要な時、javaコマンドなどのオプション-cpで設定する方がいいよ

466:デフォルトの名無しさん
07/07/08 14:08:51
>>465
はいそうです。
CLASSPATHの値を控えずに消してしまいました。元の状態に戻すことは不可能ですか?

467:デフォルトの名無しさん
07/07/08 14:16:00
>>466
不可能
Windowsのバックアップ機能とかあるならば可能かもしれないけど、そっちは詳しくないので知らん
何度も言うけどCLASSPATHに値を設定してトラブルになるより、-cpの使い方学べ、その上でCLASSPATHに必要ならば設定汁

468:デフォルトの名無しさん
07/07/08 14:23:49
>>467
そうですか・・ありがとうございました。
まあ今のところ問題なく動いているので大丈夫だと思いますが
ちなみにCLASSPATHは全くいじってませんでした。

469:2人の女性と付き合っている高1です
07/07/08 19:54:12
>>467
よこから割り込みますがCLASSPATHを環境変数に設定するとまずいという
ご意見がありますが、どういう時にまずいのでしょうか?

僕は現在JavaSE6up2しかマシンにインストールしていませんが、そんな
状況で起こりうる誤作動の事例をよろしければ教えてください。

470:桜井葵
07/07/08 20:11:37
ビジュアルクラスを開いたら『新規ファイルをエディターに設定しよぅとしてエラーが発生しました』『java.lang.NullPointerException』って出てプログラムしか出ないんですけど、誰か助けて下さい(ノ_・。)

471:デフォルトの名無しさん
07/07/08 20:46:41
>>469
CLASSPATHでググれカス

472:デフォルトの名無しさん
07/07/08 20:47:50
>>469
2人とも妊娠

473:デフォルトの名無しさん
07/07/08 23:43:42
ちった、役に立つかも!

URLリンク(www.yukinko-net.jp)


474:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/07/09 12:56:49
>>474
JDK 6 はあるよ。>>1のWikiサイトからたどれる。
URLリンク(java.sun.com)
ここのJDK 6u2をダウンロードすればおけ。

with BetBeansってのは、IDEが付いてくる。
最初はエディタでやろうとしているなら、いらない。
with Java EEは、初心者なら忘れてしまってもかまわない。

476:デフォルトの名無しさん
07/07/09 13:10:49
質問です。
URLConnectionでGETパラメータを送ろうとしているんですが
どの時点で送信しているのかがわかりません。

String urlString = "URLリンク(hoge.com)
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
07/07/09 13:14:35
>>475
ありがとうございます。
後のいろいろな機能はあとから付けられるのでしょうか。
どのようにつけたらよいのでしょうか。
よろしくお願いします。

478:デフォルトの名無しさん
07/07/09 14:06:21
>>477
Java EEはここから
URLリンク(java.sun.com)
NetBeansはここから
URLリンク(www.netbeans.org)

後でダウンロードしてインストールできる。最初からなくても大丈夫。

479:デフォルトの名無しさん
07/07/09 14:10:17
JDK6はあるはずだが・・・

480:デフォルトの名無しさん
07/07/09 16:10:37
>>476
自分の書いたレスをじっくり読み直すんだ
前者以外に答えがあると思うかね

481:デフォルトの名無しさん
07/07/09 16:44:22
ポップアップについての質問です
いまJPanel上を右クリックでJPopupMenuを表示するところまではできたのですが、メニューを選んだときの処理をどうすべきかわかりません。
MouseEventだとどのメニューを選んだかわからず、ポップアップにつけたJMenuItemにsetActionCommandを付けようにも、JPanelにaddActionListenerがないため、どのように識別させるのかがわかりません。
また、上の識別の問題に関連するものですが、JPanel別にメニューを付けてるのですが、大部分が重なる処理なので、呼び出し元(JPanel)を識別して、イベント処理で振り分けるということはできないでしょうか。

以上2点、お願いします。

482:481
07/07/09 17:01:07
書いた直後なんですが、1つ目できました
ボタン処理のようにJMenuItemごとにアクションリスナーを登録するという方法があるようで、そうするとメニュー選択時に呼ばれるようになりました。
どうも、検索したときのキーワードの範囲が広すぎたようね…
2つ目はいまだわからず、getComponentだとパネルの位置はわかるんですが、ActionCommandのように得ることはできないですかね。

483:デフォルトの名無しさん
07/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
07/07/09 17:37:35
>>483
なるほど、ActionMapってそういう使い方をするためにあったんですね。
もう少し調べて試してみます。
ありがとうございました。

485:デフォルトの名無しさん
07/07/09 18:24:07
初歩的な質問です。
一度描画したものをドラッグで移動させるにはどのような方法があるのでしょうか?
「java ドラッグ」とかでググっても出てこない・・・

486:デフォルトの名無しさん
07/07/09 18:26:55
>>485
[1] ドラッグされたことを知る
[2] 描画したものを移動させる

がんがれ

487:デフォルトの名無しさん
07/07/09 18:32:29
>>486
[1]についてはマウスイベントで成功しました。
[2]がよくわかりません。
いちいち白塗りして細かく描きなおすのでしょうか。

488:デフォルトの名無しさん
07/07/09 19:43:28
>>487
スプライト処理でぐぐってみれ。
要はTVゲームのスプライトと同じで描画領域と位置をコントロールする
後はマウスのイベントで移動量を測ればOK

489:デフォルトの名無しさん
07/07/09 22:54:08
>>487
昔WebStartのサンプルで画像エディタがあって、コンポーネント単位で画像の移動、重ね貼りが
出来るのがあったけど、そういうのを作ろうとしているの?


490:デフォルトの名無しさん
07/07/09 23:09:17
会社の先輩がドラッグアンドドロップできるカードゲーム作ってたな。
あれだ、ソリティアみたいなやつ
結構簡単に出来るといっていたけど、ソースみてもわからんorz

491:デフォルトの名無しさん
07/07/09 23:40:07
昔はXORしたりしてたけど
今ならレイヤーで簡単

492:デフォルトの名無しさん
07/07/10 00:32:21
すみません。ごくごく簡単なカウントアップするサーブレットをつくったんですが、
ブラウザを2つ立ち上げると2つとも同じ数をカウントしていきます。int変数でカウントを記録しています。

ブラウザAを立ち上げる→1と表示される
ブラウザBを立ち上げる→2と表示される
ブラウザAの更新ボタンを2回クリック→4と表示される
ブラウザBの更新ボタンを1回クリック→5と表示される

これだと、いろんなユーザにint変数が共有されてしまうようにおもうんですが
これでいいものなんですか?

以下、ソースを載せます。

493:492
07/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:デフォルトの名無しさん
07/07/10 00:35:53
素人の俺でも分かる。
サーブレットのインスタンスは通常1個しか生成されず、
複数のリクエストは同じインスタンスを呼び出す

495:デフォルトの名無しさん
07/07/10 00:38:07
ついでに言うと、スレッドセーフにしなければならないから、
原則、インスタンスフィールドは作らない

496:492
07/07/10 00:42:53
>>494-495さん
どうもありがとうございます。よ~くわかりました。doGetメソッドの中で宣言したらよかったです。
ありがとうございました。

497:デフォルトの名無しさん
07/07/10 00:45:29
doGetのなかで宣言したら毎回0→1になるだけ

498:デフォルトの名無しさん
07/07/10 00:49:54
>>490
DnDをどうやって認識させるかで書き方が変わるね。

499:デフォルトの名無しさん
07/07/10 01:16:58
(わかっているx座標:x,わかっているy座標:y,斜辺,傾き)を引数で受け取って
求めたいX座標Y座標の値を返す関数を作りたいのですが教えてください。

500:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/07/10 08:28:03
メール受信のためのプロキシーを作りたいのですが…。

パソコンのバックグラウンドで待機して、メール受信時にまずプロキシがメールデータ
を取得し、迷惑メールでなければそのままメールクライアントにメールデータを渡したい
です。

サーバーソケットを作って待機しているのですが、メール受信時にローカルにバインド
されるポート番号を検出できず悩んでいます。当然、110番で待機してはダメですよね?

メールクライアント側でプロキシサーバーアドレス、ポートを指定できれば早いのですが…。
(IEのように)

アンチウィルスソフトは、ローカルにプロキシサーバーを置いているように見受けられる
のですが、どうやって実現しているのでしょう?

どなたか、アドバイスをお願いいたします。

502:デフォルトの名無しさん
07/07/10 10:33:56
JTableなんだけど、他のコンポーネントからTABでフォーカス移動してくると、
まだ一度もセルにフォーカス取得してない状態だとフォーカスが消えたようになる。
もう一度TABを押すとようやくセルが選択状態になるのだが・・・・・。
一度セルにフォーカスを取得すると他のコンポーネントから一発で移動できるように
なるんだがな・・。
ちなみにScrollPaneは使っても使わなくても同じでした。
JDKは1.5す。

どなた原因&回避策おながいします。

503:デフォルトの名無しさん
07/07/10 10:43:18
>>501
あれはシステムに食い込んでるからこそできること。
Java では原理的に無理。
メーラーではメールサーバーに localhost を指定して、
設定その他は自分のプログラムでやるしかないと思う。

504:501
07/07/10 11:35:41
>>503
レスありがとうございます。

メーラーのメールサーバーに localhost を指定して、通信をパイプする
ような感じで実装してみようと思います。

この場合、メールアカウントごとの設定がめんどくさいっすねー・・・。
どうやって保持しようかしら。




505:デフォルトの名無しさん
07/07/10 14:25:52
そもそも、メーラー側が優秀なフィルタを持ってるこのご時世に自分で作っても意味はないよ。
屑メーラーを捨てれば良いだけ。

それとも、まともなスパムフィルタを作れるほどの
技術があるならメーラーそのものから作るって方法もある。

506:デフォルトの名無しさん
07/07/10 14:44:29
>>505
既にあるから作る意味ないって?
つまらない考え方だな。

507:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/07/10 15:22:18
メーラーの(優秀な)フィルタと自分のフィルタを置き換えなくちゃ
いけないならともかく、上乗せできるなら悪いことじゃないでしょ、
普通に考えても

509:デフォルトの名無しさん
07/07/10 16:25:27
>>507
java.sql.Connectionをラップしたクラスを作れば?
ほとんど全てのメソッドはスルーするけど、
commit()やrollback()が呼ばれたらIllegalStateExceptionを投げるようなの。

510:509
07/07/10 16:28:05
コンパイルではじきたいのね。スマン。
それならAspectJという手も。
URLリンク(www.kronos-jp.net)

511:デフォルトの名無しさん
07/07/10 16:49:20
commit()やrollback()が無いインターフェイスNewConnectionを新しく作る。
DBクラスY,ZにはNewConnectionを渡す。
NewConnectionのラッパークラスを作り、DBクラスY,Zからconnectionのアクセスが出来るようにする。
で、どうよ?

512:デフォルトの名無しさん
07/07/10 17:16:50
実行入力画面でアルファベットでなく日本語を入力するにはどうすればいいのですか?

513:デフォルトの名無しさん
07/07/10 17:40:48
てか、それはJavaの質問なのか?
WindowsマシンならALT+変換押せ

514:デフォルトの名無しさん
07/07/10 17:56:06
>>509-510
ありがとうございます。そうです、コンパイル時にはじきたいです。

>>511
その場合、
Connection connection = DriverManager.getConnection( 略 );
↓※
NewConnection newConnection = new NewConnectionWrapper();

※の部分の、実際のconnectionをnewConnectionにどうやって渡してあげればいいですか?
頭がこんがらがってきた・・・

515:デフォルトの名無しさん
07/07/10 18:02:00
>>514
まずは落ち着け。


516:デフォルトの名無しさん
07/07/10 18:06:05
変数の型を調べる方法ってありますか?


517:デフォルトの名無しさん
07/07/10 18:07:04
これでよかろ。
NewConnection newConnection = new NewConnection(connection);
ただし、NewConnection は java.sql.Connection になれないので、
java.sql.Connectionを前提にしているプログラムが既にあるなら、
それを書き直さないといけなくなる。新規開発ならいいけどね。

あとは個人的な感覚だけど、独自規則のAPIを強制されるのはイヤダ。
APIは標準だが実装は(APIの範囲内で)独自、なら許せるが。

518:デフォルトの名無しさん
07/07/10 18:17:13
>>517
なるほど。newConnectionの中でconnectionをprivateで持っておいて
commit()とrollback()は作らず、それ以外はnewConnectionのpublicメソッドを通して
connectionに投げると。ありがとうございます。

>あとは個人的な感覚だけど、独自規則のAPIを強制されるのはイヤダ。
>APIは標準だが実装は(APIの範囲内で)独自、なら許せるが。

自分も独自APIを強制して自由度を奪うのは好きじゃないですが
DB関連クラスだけでcommit()とrollback()のみの制限ならギリギリ許容範囲内かなと思っています

519:デフォルトの名無しさん
07/07/10 18:20:17
>>516
判定したい型が決まっているなら
instanceof演算子
とりあえず型を知りたいだけなら
"不明オブジェクト".getClass().getName()

520:デフォルトの名無しさん
07/07/10 19:57:44
SPAMメールを受けたときに
逆に送信者に攻撃を仕掛けて
二度と送ってこないようにするには
Javaではどのような方法がありますか?

521:デフォルトの名無しさん
07/07/10 20:32:13
Javaを辞めるしかないです。
さようなら。

522:デフォルトの名無しさん
07/07/10 20:48:44
>>520
オーケー。いい方法を思いついた。
試してみたいので、お前のメールアドレスを教えてくれ。

523:デフォルトの名無しさん
07/07/10 21:41:06
root@localhost

524:デフォルトの名無しさん
07/07/10 21:58:09
javaのプログラムからコマンドプロントを使ってcdコマンドなどで自動的に特定のフォルダに移動して、特定のファイルを実行したいのですが、探しても方法が見つかりません。

よろしければ教えていただけないでしょうか?

525:デフォルトの名無しさん
07/07/10 22:05:35
フレームのサイズ変更についての質問です。
サイズを変更したことをリアルタイムに感知したいんですが、どのような方法があるでしょうか?
MouseMotionだとD&Dしてる間はメッセージが送られず、componentResizedも試しましたがマウスボタンを離した瞬間しか感知しません
(できればその移動距離か変更後のサイズも知りたいです)
JAVAではそういうのは想定してないんでしょうか。

>>524
Windowsなら、○○.batっていうファイルつくって右クリック編集
中に
------------
cd 移動先
java メインクラスの名前
-----------
の2行を書けばできるます。
詳しくはバッチファイルでしらべてくらはい

526:デフォルトの名無しさん
07/07/10 22:06:09
Excelのファイルがいくつかのフォルダに分かれて存在していて
それぞれのフォルダはさらにサブフォルダをいくつか持っています
全部のフォルダをたどって全部のExcelファイルから
特定のシートの特定のセルを抽出していきたいのですが
どのようにすればよいのか検討も付きません

527:524
07/07/10 22:12:30
バッチファイルをつかってjavaのクラスファイルを実行するのではなく、javaのプログラムからコマンドプロントのコマンドを入力して特定の処理をしたいのですが。

そのやり方を知っていたら教えて下さい。

528:デフォルトの名無しさん
07/07/10 22:14:57
>>527
そういうことね、勘違いしてた

529:デフォルトの名無しさん
07/07/10 22:57:20
>>524
Runtime.getRuntime().exec(☆DOSコマンド☆);
特定の処理がわからないのでここまで

530:デフォルトの名無しさん
07/07/10 23:06:56
>>527
jrunscriptつかえ。そういうときのためにわざわざ用意されたんだから

531:デフォルトの名無しさん
07/07/10 23:27:40
ワンランク上になりたいんだけどなにしたらいい

Java歴半年くらいでいまJSPとかデータベース使って小規模なシステム作ってる

532:デフォルトの名無しさん
07/07/10 23:42:01
>>524
java1.5ならProcessBuilderが熱い

533:デフォルトの名無しさん
07/07/10 23:49:44
>>531
EclipseのプラグインとかSwingなどのGUI
イベントドリブンなアプリケーションに慣れ、スレッドをある程度使いこなすと差は出来る

534:デフォルトの名無しさん
07/07/11 00:29:28
>イベントドリブン
そこで Visual C++ ですよ

535:デフォルトの名無しさん
07/07/11 00:40:07
>>533
EDTで時間かけてイベントキュー詰まらせてアーーーー!!とか・・・
VMのスレッド実装の差異やCPUの数が2以上あってアーーー-!!とか?

個人的にはJWSに触れとくのお勧め。

536:デフォルトの名無しさん
07/07/11 02:45:59
MouseListenerとMouseMotionListenerは同時に使えない?なんてことはないよな・・・
どっちかを消すと上手くいくのに、
どちらも宣言するとシンボルが見つかりませんといわれる・・・

537:デフォルトの名無しさん
07/07/11 02:51:48
自己解決。頭がおかしくなっていたようだった

538:デフォルトの名無しさん
07/07/11 13:28:05
Javaを用いて掲示板を作っています
形はそこそこ出来てきたので「同一人物(同IP)からの二重投稿を禁止する」機能をつけようとしているのですが
こういったものを作るのに便利なクラスはあるのでしょうか?

539:デフォルトの名無しさん
07/07/11 15:19:11
インデント不良って何ですか?

540:デフォルトの名無しさん
07/07/11 15:23:12
if (a > b)
  b = a;
  a = 1;
System.out.println(b);

みたいに書いてa > bでないときでもa = 1;が実行されるように錯覚させる悪い奴のこと

541:デフォルトの名無しさん
07/07/11 15:25:29
逆だ
a > bの時にしかa = 1;が実行されないように、だ

542:デフォルトの名無しさん
07/07/11 17:19:25
はじめからブロックにしとけば良いんだよ。
どうせ後から変更されるんだし。

if (a > b){
  b = a;
}
a = 1;
System.out.println(b);

543:デフォルトの名無しさん
07/07/11 19:31:51
if (a>b) b=a;
a = 1;
System.out.println(b);

こう書けば短い。

544:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/07/11 23:56:24
swingのフレームワークで定番なのは何なのでしょうか?
今注目されてるのがあれば教えてください。

547:デフォルトの名無しさん
07/07/12 00:12:42
swingの定番って意味ワカラネーよ
java3dとかその拡張ライブラリのことか?

548:デフォルトの名無しさん
07/07/12 00:21:01
たった2行正確に読めないのかよ。
"フレームワークの"定番って書いてあるだろ

549:デフォルトの名無しさん
07/07/12 00:21:57
Swing自体がフレームワークのような気もする。

550:デフォルトの名無しさん
07/07/12 00:31:47
そうだね


551:デフォルトの名無しさん
07/07/12 00:34:40
フレークワークの意味が解っていないに1票。
定番はBorderLayoutとGridBagLayoutだよ、で満足するのかな(=ω=.)

552:デフォルトの名無しさん
07/07/12 00:36:31
>>544
runメソッド内でThread.currentThread().getName()を出力してみれば?
あと、myTimeoutExceptionクラスのコンストラクタの中でもThread.currentThread().getName()を出力して
違いが分かれば無問題♪


553:デフォルトの名無しさん
07/07/12 00:43:35
>>544
Webサーバとクライアントのイベントのやり取りを調べてくれ、それじゃ実装できん
1.クライアントでタイムアウトを検知したい
 ⇒ JavaScriptなどで実装
2.サーバーでタイムアウトを検知したい
 ⇒ 最初のアクセス時間を記録していて差分を取ればいい

尚、2の場合、「せっかっく頑張って入力したのに><」ってなるので注意。

554:546
07/07/12 00:46:37
>>546です。
swing自体フレームワークなのですが、
URLリンク(journal.mycom.co.jp)
URLリンク(itpro.nikkeibp.co.jp)
をみて、只気になっただけです。

555:デフォルトの名無しさん
07/07/12 05:40:19
結局、どれもSwing作法の定型句を隠ぺいして楽する枠組みに落ち着く気がする。
javaでswing以上のGUI出しても高度なだけでどのOSでも通用するGUIが提供できなくなるんじゃないかな?

LnFがjavaなだけでwin/macユーザーは避けるし。
ポトペタ支援はJSRガンガン出すだろうね。
そんなところじゃない?
やっぱベクターベースのGUIツールキットはまだ早いだろうか?

556:デフォルトの名無しさん
07/07/12 06:50:33
java.lang.Mathクラスを使わずに、double型の変数を
小数点以下二桁まで残して切り捨てたいです。

第一感はこういう感じですが、もっと良い方法があれば教えてください。

double total = 1234.5678;

int tmp = (int)(total*100);
total = tmp/100.00;

557:デフォルトの名無しさん
07/07/12 07:00:49
>>556
表示の時にのみ切り捨てるべきと考えて、NumberFormat
小数点2桁と固定ならば、intで【全て】計算して、表示する時に100で割る。

558:デフォルトの名無しさん
07/07/12 07:13:07
>>556
total = new BigDecimal(total).setScale(2, BigDecimal.ROUND_DOWN).doubleValue();

559:あ
07/07/12 10:31:48
部分検索するプログラムを考えています。
String型のabcがあってabcともにnullならDBの内容を全部返し、bcだけnullならaの値を返すなど全8通りのif文をうまく考えられません。
どなたか1つでもいいのでお願いします。

560:デフォルトの名無しさん
07/07/12 10:36:26
aを返すとか全部返すとかどういう意味?
全部返すときはa列とb列とc列を連結して返すの?

561:デフォルトの名無しさん
07/07/12 10:42:08
SQLのWHERE句をStringのパラメータによって変更するってこと?

562:あ
07/07/12 10:55:29
559です。
値を取得するってことです。
いまアプリケーション作っててサーブレットに書く内容がうまく表現できなくて…
if (i == null && t == null && p == null) {
String sql = "select * from *****";
ResultSet rs = stmt.executeQuery(sql);
とか考えてたんですけど…

563:デフォルトの名無しさん
07/07/12 11:40:11
なにがしたいのかさっぱりわからない。説明足りなすぎ

564:デフォルトの名無しさん
07/07/12 11:45:05
String abcという書き方ではなく、a,b,cの3つのStringがあり、それぞれnullかnullでないかを判断する必要があるということなのでしょう。


565:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/07/12 12:43:04
>>565
URLリンク(java.sun.com)
あたりだね。

567:デフォルトの名無しさん
07/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
07/07/12 13:09:21
>>566-567
こんな質問に、的確な返答をありがとうございます。

そうですか、文書で定義されているんですね。

以下チラ裏
Javaって言語の定義が明確なイメージがあるから、こういうどっちとも取れる構文を許容するのは少し以外。
C++なんかでも、オーバーロードには定義が重ならないように注意しているのに、なんか意図して許容してるのかなあ。
まあ、「実装するのがややこしいorパフォーマンスに問題が出る」っていう可能性が一番高い気もする。

569:デフォルトの名無しさん
07/07/12 13:15:48
>>568
printfがやりたかっただけ。

570:デフォルトの名無しさん
07/07/12 14:47:05
>>568
だからこそJLSで明確な定義があるんじゃないか

571:デフォルトの名無しさん
07/07/12 16:17:51
printfって要る派と要らん派でもめなかったけ?
swap要るか要らんかの話みたいだと思った記憶があるんだが。

572:sage
07/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:デフォルトの名無しさん
07/07/12 22:11:25
スレッドを指定して停止したり、再開させることってできますか?

574:デフォルトの名無しさん
07/07/12 22:13:14
>>573
できません。自分でフラグを用意してください。

575:556
07/07/12 23:15:53
>>557
レスありがとうございます。

doubleを使わないんですね。
intで計算すると、どんな良い事があるんでしょうか。

>>558
ごめんなさい
使えるのはjava.util.*だけでした。


576:デフォルトの名無しさん
07/07/12 23:48:21
すいません、質問させてください。

「UDTの通信で自分のIPアドレスと、通信している相手のIPアドレスを比較するプログラム」というプログラムを作っています。そこで、
相手のIPアドレスは、DatagramPacket.getAddress() で
「192.○.○.○」という様に普通に取れるんですが、
自分のIPアドレスを、InetAddress.getLocalHost().getHostAddress() で
「2001:0:4136:・・・・」という様に(ググってみるとIPv6のIPアドレスらしいんですが)比較できません。
IPv4で自分のIPアドレスを取得するにはどうすればいいんでしょうか?

よろしくお願いします。


577:デフォルトの名無しさん
07/07/13 00:04:31
>>572 うろ憶えだけどXmlMixed?だったかで出来たかも

578:デフォルトの名無しさん
07/07/13 00:52:58
>>576
UDT?

579:デフォルトの名無しさん
07/07/13 00:59:48
>>574>>573
たしか一時停止とかならできるのが有ったよ


580:デフォルトの名無しさん
07/07/13 01:01:46
>>579
どうやってやるのですか?
特別なライブラリを使用するとかでしょうか??

581:デフォルトの名無しさん
07/07/13 01:18:02
指定してってのは無理じゃねーの

582:デフォルトの名無しさん
07/07/13 01:22:08
対象の Thread が分かってるなら suspend も resume も可能だろが

583:デフォルトの名無しさん
07/07/13 04:25:34
イベント処理がGUIの例ばかりでよくわかりません。
どなたかGUIではないイベント処理のサンプルコードを教えてくださいませんでしょうか。

584:デフォルトの名無しさん
07/07/13 05:21:09
じゃあ、プッシュ型のxmlプログラミングでも・・・

まあ、それは良いとして単純なCUIだとループ中にキー入力拾うだけ。
それ以上のものはコンソール制御できないjavaには無関係で
どっちにしても例に出すようなサンプルコードはないよね。

イベントドリブンでググった方が良いと思う。

585:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/07/13 08:15:59
>>585
それ結局はGUI+スレッドに関連したプログラミングなんじゃ・・・。

まあ、java.awt.*パッケージにイベント周り集中してるからjavaのイベント処理は
ヘッドレスじゃないだろって考え方もできるから>>583の質問も的を射てないかも知れんが。


587:デフォルトの名無しさん
07/07/13 11:16:43
java.io.File#listFiles や java.io.File#list は

> 結果の配列の名前文字列は特定の順序にはなりません。
> アルファベット順になるわけではありません。

とありますが、これは名前文字列以外の点においても
不定(少なくとも保証はしない)と言うことなのでしょうか?

588:デフォルトの名無しさん
07/07/13 11:21:40
>>587
実装的にはOSのAPIが返す順番そのものなので、たいていはディスク上の
ディレクトリに記録されている順番になる。だから、意味のある順番で
はない。


589:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/07/13 11:46:45
Tomcatのコネクションプーリングについて以下でOK?

server.xmlのJNDI(ResourceParams)の設定でfactoryにBasicDataSourceFactoryなどの
コネクションプーリングに対応した、データソース実装クラスのfactoryを
指定する事で行われる。

factoryの指定がない場合は、driverClassNameで指定したJDBCドライバの
DataSource実装クラスが使用される。

よって、factoryなしで、JNDIの記述だけでは、プールが行われるとは限らない。
PostgreSQLの場合、付属のJDBCドライバでは、プールはされない。

591:デフォルトの名無しさん
07/07/13 11:57:10
>>588-589
ありがとうございます。やはり、と言うところですが
訳抜けと言う点は驚きました。

592:デフォルトの名無しさん
07/07/13 14:14:10
JFreeChartで描画したグラフの上にかぶせるようにShapeを描画する事は可能でしょうか

593:デフォルトの名無しさん
07/07/13 14:40:21
>>592
可能

594:592
07/07/13 15:02:09
JFreeChartについてもう一点
axisを共有した異種チャートの混合表示も可能でしょうか


595:デフォルトの名無しさん
07/07/13 15:25:30
>>591
javadocでは普通、原文とサイトのチュートリアルよく読むのオヌヌメ

596:デフォルトの名無しさん
07/07/13 15:44:35
>>594
異種で共有ってのがよく分からないけど、それも出来たと思う
前使った時に5,6種類のグラフを重ねてプロットしてたはず

597:デフォルトの名無しさん
07/07/13 15:45:43
>>1
てsと

598:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/07/13 17:19:33
>>598
BigDecimal test = new BigDecimal("17.56");
System.out.println(test.multiply(new BigDecimal(100)));

600:デフォルトの名無しさん
07/07/13 17:20:37
>598
System.out.println(Math.round(test*100));


601:598
07/07/13 17:39:48
>>599-600
ありがとうございました
期待通りの答えをだすことができました。
単純に100倍するというのは難しいことなんですね・・・勉強になりました。

602:デフォルトの名無しさん
07/07/13 19:22:03
>>593>>596
有難うございました、早速使ってみました
なかなか優れものですねこれは

603:デフォルトの名無しさん
07/07/13 19:51:42
>>601
誤差がね
あるから

604:デフォルトの名無しさん
07/07/13 19:52:03
>>598
Javaに限ったことじゃないけど、プログラムで小数を扱うのは難しい


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch