【初心者】Java質問・相談スレッド103【大歓迎】at TECH
【初心者】Java質問・相談スレッド103【大歓迎】 - 暇つぶし2ch1:デフォルトの名無しさん
07/06/27 07:23:27
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。URLリンク(pc10.2ch.net)

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
URLリンク(www.wikiroom.com)
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 URLリンク(www.wikiroom.com)
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
【初心者】Java質問・相談スレッド102【大歓迎】
スレリンク(tech板)

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

次スレは>>980あたりで。

2:デフォルトの名無しさん
07/06/27 10:29:50
C言語で

int hoge = 100;
char buf[256];
memcpy(&buf[10], hoge, sizeof(hoge));

という処理をJavaで行うにはどのようなコードになりますでしょうか?

3:デフォルトの名無しさん
07/06/27 10:57:21
>>2
char hoge = 100;
char[] buf = new char[256];
Arrays.fill(buf, hoge);



4:デフォルトの名無しさん
07/06/27 11:38:26
>>3
嘘はいけないぞw

>>2
そのような処理は行えない。
char[] hoge = new char[256];
char[] buf = new char[256];
Arrays.fill(buf, hoge);
または、
System.arraycopyを使う


5:デフォルトの名無しさん
07/06/27 12:49:54
バイナリーデータをintに入れたり出したりって
Javaだと難しいのでしょうか?

6:デフォルトの名無しさん
07/06/27 12:57:13
int は4バイトなので
それ以上のデータを入れる場合は高度な圧縮技術が必要であろう

7:デフォルトの名無しさん
07/06/27 12:57:37
>>5
4バイトまでだったらシフトやマスクしてふつーにできますよ。


8:デフォルトの名無しさん
07/06/27 13:00:57
int hoge = 100;
char buf[256];
memcpy(&buf[10], hoge, sizeof(hoge));

コンパイルエラーです
本当にありがとうございました


9:デフォルトの名無しさん
07/06/27 13:01:17
byte配列のことか?

10:デフォルトの名無しさん
07/06/27 13:08:36
>>5
import java.io.*;

public class TestBinary{
public static void main(String[] args){
try{
int i = 100;
BufferedWriter bw = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream("a.bin", true)
)
);
bw.write(i);
bw.close();
}catch(Exception e){
e.printStackTrace();
}
}
}


11:デフォルトの名無しさん
07/06/27 13:11:17
InputStreamReader isr = new InputStreamReader(
new FileInputStream("a.bin")
);
int j;
j = isr.read();
System.out.println(Integer.toString(j));
isr.close();


12:デフォルトの名無しさん
07/06/27 13:18:29
>>7
はい。計算すればできるってのはわかってました。
後だしですみません。
ただ、もうちょっと普通にできるのではないかと思ったので。

>>10
ファイルを使うっすか?
これのメモリー版ってないっすか?

13:デフォルトの名無しさん
07/06/27 13:21:04
>>8
ごめんなさい。
memcpy(&buf[10], &hoge, sizeof(hoge));

でお願いします。

14:デフォルトの名無しさん
07/06/27 13:23:33
>>12
ここまで出たんだからJavaDocでも調べろよ
InputStream系のクラスを組みあせればできるだろう

15:デフォルトの名無しさん
07/06/27 13:24:22
getByte()

16:デフォルトの名無しさん
07/06/27 13:28:56
URLリンク(sdc.sun.co.jp)
URLリンク(sdc.sun.co.jp)
URLリンク(sdc.sun.co.jp)


17:デフォルトの名無しさん
07/06/27 13:31:04
>>16
これだ!(・∀・)イイ!!

18:デフォルトの名無しさん
07/06/27 13:47:28
import java.io.FileInputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class GetBytesTest{
public static void main(String[] args) throws Exception{
FileInputStream inStream = new FileInputStream(”filename”);
FileChannel channel = inStream.getChannel();
ByteBuffer buffer = ByteBuffer.allocate((int)channel.size());
channel.read(buffer);
buffer.clear();
byte[] bytes = new byte[buffer.capacity()];
buffer.get(bytes);
channel.close();
}
}


19:デフォルトの名無しさん
07/06/27 13:48:17
URLリンク(www.itarchitect.jp)
URLリンク(www.itarchitect.jp)
URLリンク(www.itarchitect.jp)
URLリンク(www.itarchitect.jp)
URLリンク(www.itarchitect.jp)
URLリンク(www.itarchitect.jp)


20:デフォルトの名無しさん
07/06/27 14:58:12
Servlet から AWT を使うことってできる?
使うときに注意しなければいけないことってあるかな?

Toolkit.getDefaultToolkit();
を呼び出すと、AWT のスレッドが生成されるそうですけど、
Servlet から何度も呼び出しても、AWT スレッドは1つしか生成されないのかな。

21:デフォルトの名無しさん
07/06/27 15:18:35
>>20
鯖でGUI開くの?w
蔵のGUIとしてAWTにしたいってならば全く別の話

22:デフォルトの名無しさん
07/06/27 15:31:26
一応開くことは開くだろ
クライアントからアクセスあるたびにポップアップしまくるから
セッション終了したら閉じるように作っておくことが
とりあえず気をつけることかな

23:デフォルトの名無しさん
07/06/27 16:21:01
ポップアップするのはクライアント側で?それともサーバ側で?

24:デフォルトの名無しさん
07/06/27 16:30:38
サーバ側で

25:デフォルトの名無しさん
07/06/27 16:46:37
てことは
クライアント側からサーバサイドのGUIをつかえると言うわけではないの?

26:デフォルトの名無しさん
07/06/27 16:59:10
>>25
ん?
使えるが結果を見られないってことでは?


27:デフォルトの名無しさん
07/06/27 17:12:23
headlessモードについての話じゃない??

28:デフォルトの名無しさん
07/06/27 17:54:11
結果を見られないってどういうこと?
クライアント側でGUIは表示されるけど、イベントは受付けないとか?

apptet以外にクライアント側でGUI表示できるの知らなかったんで
詳しくお願いします。


29:デフォルトの名無しさん
07/06/27 17:56:54
>>28
> apptet以外にクライアント側でGUI表示できる

そんなこと誰も書いてないと思うが。


30:デフォルトの名無しさん
07/06/27 18:04:41
そういうことじゃないの?

31:デフォルトの名無しさん
07/06/27 18:18:26
というか、>>20 早く帰ってきて収拾してくれwww

32:デフォルトの名無しさん
07/06/27 18:32:38
ていうか誰が誰だよw
idない板はこれだからややこしい

33:デフォルトの名無しさん
07/06/27 19:26:06
servletがクライアントに渡すのは基本的にはHTMLや画像なんだから、ク
ライアントにAWTのウィンドウ等が表示されるわけないでしょ。どこで
JVMが動いているか考えればあたりまえ。

servletでAWTのウィンドウを出したりすると、とうぜんservletが動いて
いるサーバの画面にウィンドウが出ることになる。そんなことして意味
があることはまずないが、できないわけじゃない。(>>22)

画像処理などのためにservlet内でAWTを使うことがある。そういうとき
のために headless モードというのがある。(>>27)


34:デフォルトの名無しさん
07/06/27 19:32:52
今までphp+mysqlでやってたものですが、
jdbc+postgreSQLに手を出してみました。

php+mysqlのときみたいにaddslashをして
エスケープをしたいのですが、どうやったらいいかわかりません(涙)
java.sqlの中にはそういうものはないみたいだし・・・



35:デフォルトの名無しさん
07/06/27 19:48:52
涙を出す前にJDBCについて調べる気は無かったのだろうか?

36:デフォルトの名無しさん
07/06/27 19:53:47
なんでheadlessっていうの?
brainlessの印象を受けるからfacelessの方が良かった

37:デフォルトの名無しさん
07/06/27 21:10:26
>>28
GWT

38:デフォルトの名無しさん
07/06/27 22:55:55
>>34
PreparedStatementが勝手にやってくれる

39:デフォルトの名無しさん
07/06/27 23:32:07
LGPLが適用されているライブラリを利用する場合、
作成したプログラムの再配布の際にはソースコードの公開が必要でしょうか?

「動的なリンク、であれば利用元のプログラムはLGPLの呪縛から逃れられる」
というような解釈のようですが、動的なリンクとはJavaではどこまで該当するのでしょうか?

40:デフォルトの名無しさん
07/06/27 23:38:12
ソースコードを使うかバイナリを使うかじゃない?

41:デフォルトの名無しさん
07/06/28 00:11:12
入力した値が文字(列)か数か判定したのですが、どのような条件で判定できますか?

42:デフォルトの名無しさん
07/06/28 01:23:29
文字列.matches("\\d+")か文字列.matches("\\d*")

43:デフォルトの名無しさん
07/06/28 03:26:37
未だなにも調べてない状態なのですが
java3Dの中のvecmathパッケージについて
このパッケージでできるベクトル計算の利点はどんなところにあるんでしょうか
また、java3Dの直近の日本語Documentを探しているのですが見つからず、
できたらURLを教えていただけないでしょうか

44:デフォルトの名無しさん
07/06/28 06:40:37
>>42
「.」とか「-」とかは?


45:デフォルトの名無しさん
07/06/28 08:34:54
Javaでゲーム開発を考えているんですが、思考ルーチン関連での入門書で最適な本ってありませんか?
ゲーム理論系を探すと経済学関連のが多くて選択しにくいもので、実際のプログラム例などが載っている本がいいです。
言語はJavaが得意ですが、Cなども最低限の知識はあります。

46:デフォルトの名無しさん
07/06/28 08:39:51
>>45
ゲームという大きな括りではなく、どういう種類のゲームを作るかによって
学ぶものは変わってくると思うが。

47:デフォルトの名無しさん
07/06/28 08:44:00
>>46
確かにそうですね。
やりたい種類は、ターン制のストラテジーゲームです。
手札などに制限が多く、打てる手数は高々10~20程度。
ただし、先読みの要素が多いという感じです。
ぐぐってみたりするとげミニマックス法とか色々でてくるのですが、本として1冊は欲しいもので


48:デフォルトの名無しさん
07/06/28 08:57:05
>>40
ありがとうございます
単純に実行部分のバイトコードを添付するだけでいいわけですか
↓の部分が適用されるってことですか?

>もし著作物が『ライブラリ』とリ ンクされた実行形式ならば、著作物を完全かつ機械読み取り可能な
>「『ラ イブラリ』を利用する著作物」のオブジェクトコードあるいはソースコー ド(どちらかでも可) と一緒にし、
>ユーザが『ライブラリ』を改変した後 に再リンクして、改変された『ライブラリ』を含む改変された実行形式を
>作成できるようにする

49:デフォルトの名無しさん
07/06/28 11:16:54
postgresqlに接続しようとしてるんだけど

org.postgresql.util.PSQLException: The connection attempt failed.
Caused by: java.net.UnknownHostException: localhost

こんなエラーがでて接続できないんだけど、
これってJDBCドライバ自体は認識できてるんかな?
ずっと「JDBCドライバがないYO」って言われてたんで、そこが気になる。
誰か教えてくれー


50:デフォルトの名無しさん
07/06/28 11:53:45
>>49
いえす
localhost が解らんって言われているけど、postgresqlならば
jdbc:postgresql://localhost:5432/test
のようにURL指定してないとか?
それでもダメなら、localhost を 127.0.0.1 で試す。
後、WindowsのFireWallの可能性もあるかな?

51:49
07/06/28 13:37:37
>>50
レスありがとう。
なんとか動きました。

postgresqlにTCP接続する設定をやっていなかった。
// これがダメだったのかな?

postgresql.confを編集して
URL指定に「jdbc:postgresql://127.0.0.1:5432/hoge」で接続できました。
loclhostだと失敗したんで根本的な解決はしてない気もするけど、とりあえず動いたからおk!!!

52:34
07/06/28 13:52:52
>>38

ありがとうございます。
さっそく実行してみたのですが、次は

org.postgresql.util.PSQLException: The column index is out of range: 2, number of columns: 1.

と表示されてしまいます。
?の数とsetStringやsetIntの数が違うのかなと思ったのですが、
一緒でわかりません・・・




53:デフォルトの名無しさん
07/06/28 14:02:01
>>45
「15歳からはじめる~」って本を良く耳にする。でも読んだ事はない。

Javaでゲーム作成 2本目
スレリンク(gamedev板)

54:デフォルトの名無しさん
07/06/28 14:25:08
>>52
配列の要素数が0で始まるのか1で始まるのかをもういちど確認してくれ


55:デフォルトの名無しさん
07/06/28 14:34:25
現在の実行コンテキストが Applet として実行されているかどうかを判定することってできる?

56:デフォルトの名無しさん
07/06/28 14:44:03
getCodeBase()

57:デフォルトの名無しさん
07/06/28 15:10:44
Eclipse使ってたら・・・

PreparedStatement のメソッド setDate(int, Date) は引数 (int, Date) に適用できません。

どういうことだよorz


58:デフォルトの名無しさん
07/06/28 15:15:27
要するに

setDate(int, java.sql.Date) は引数 (int, java.lang.Date) に適用できません。

ってことだ。エラーメッセージが悪い。

59:デフォルトの名無しさん
07/06/28 15:44:17
サーブレットから別のデーモン スレッドを実行した場合、
そのスレッドを長時間実行してもタイムアウトになることはありませんよね?

60:45
07/06/28 15:47:26
>>53
それは既に読了です。
いい本ですが、あくまでSwing関連のJavaの入門書でした

61:デフォルトの名無しさん
07/06/28 18:35:06
>>60
まぁ、>>47みてやりたいことは大体判った。
結局のところ探索、評価の繰り返しをいかに精確かつ高速にやるか、というところが肝なわけで…
まともにやろうとすると結構専門的なところまで踏み込むことになるけれども一応参考資料(英語ですが)
URLリンク(www.cs.ualberta.ca)
もともとはリバーシのアルゴリズム解説だけれど、探索や評価のアルゴリズムは他にも応用がききそうなので。
日本語の資料だとつっこんだところまで解説したものってみたことないので情報工学とか数学関係の専門書を
あたった方が早いかもです。

62:デフォルトの名無しさん
07/06/28 19:28:14
>>60
ボーンデジタル

63:45
07/06/28 20:45:50
>>61
やはり専門的な分野になると英語になるのかぁ・・・
最初の1~2冊は日本語で勉強したかったんです。

Amazonで漁っていくつか候補があったのでとりあえず片っ端から買ってみますw

64:デフォルトの名無しさん
07/06/28 20:51:31
>>62
これですか・・・
URLリンク(www.amazon.co.jp)
流石にいい値段しますが興味はあります・・・むぅ

65:デフォルトの名無しさん
07/06/28 22:39:12
HttpURLConnectionで取得したデータ(画像)のnputStreamを
複数回読みたいんですが、どうしたらいいですか?

66:デフォルトの名無しさん
07/06/28 22:55:51
>>65
できない

InputStreamのStreamの意味を調べたことあるか?
尚、普通の人は画像データを変数に格納するだろう

67:デフォルトの名無しさん
07/06/28 22:58:41
>>65
一回closeしてしまったら、もう読み込めないから、もう一回接続して新しいInputStreamで読み込む。
もしくは、最初のInputStreamで読んだデータは手元にあるはずだから、それを利用する。

68:デフォルトの名無しさん
07/06/28 23:02:55
>>66
> InputStreamのStreamの意味を調べたことあるか? 
あります、すみません
resetメソッドとかよくわからずに使ってうまくいかなかったもので…

> 尚、普通の人は画像データを変数に格納するだろう 
InputStreamが引数なメソッドを2つ呼び出す必要があるんですが、
やっぱそのたびに生成しなきゃいけないんでしょうか。
↑これがよくわからんかったのでリサイクルしたいと思いました。

>>67
接続は1回にしたいです。

69:デフォルトの名無しさん
07/06/28 23:05:13
ああ、closeしてなくても一回読み出したデータをもう一回読み出すのはInputStreamでは無理だから、
頭からもう一度とはいかない。全データのプッシュバックをサポートするstreamを作って、
HttpURLConnectionのInputStreamに接げばいけるかもだが、
それは最初に読んだデータを再利用するようにした方がいいような気が。

70:66
07/06/28 23:11:05
>>68
言い方がきつかった、すまん
ただ、Streamってのは流れなんだ、流れてくるものを2回読むことはできない
だからデータを溜めておかなければならない。

ちなみに、使うメソッドがInputStreamで引数を持つという事自体がおかしいということはないか?
Imageで受けたり、byte[]で受けたり出来ないような特殊な事情があるのか、検討して欲しい。

それでも、どうしてもInputStreamにしなければならないならば、byte[]等でキャッシュしておき、自前で再度流すようにコーディングする必要があるな

71:デフォルトの名無しさん
07/06/28 23:11:30
>>68
InputStreamのサブクラスにはByteArrayInputStreamというものもある。
何もネットから読み込むだけのストリームではない。
最初にそのメソッドを呼ぶ前にHttpURLConnectionでバイト配列にデータを読んで、
そのメソッドにはバイト配列をバッファにしたByteArrayInputStreamを渡してやればいい。

72:デフォルトの名無しさん
07/06/28 23:31:38
>>70
最終的にはswtのImageを作るんですが、
その前に元のデータのハッシュを取る必要があるんです。
最初はImageを作って それからgetImageData().dataのハッシュを
取ればいいかと思ってたんですが、dataってビットマップ(広義)と知って…

>>71
そうですね、
一旦bete[]にバッファしてそれぞれByteArrayInputStream作ることにします。

ご協力ありがとうございました。

73:57
07/06/29 00:12:38
>>58

ありがとう やっと意味がわかったよ



74:デフォルトの名無しさん
07/06/29 00:22:36
>>72
そういうのってNIOでやるんじゃない?

75:デフォルトの名無しさん
07/06/29 00:29:41
>>72
DigestInputStream

76:デフォルトの名無しさん
07/06/29 00:51:14
Javaを使って遠隔機械操作をしたいんですが関連するパッケージを
教えてください。

RMIとかなんでしょうか

77:デフォルトの名無しさん
07/06/29 00:54:31
>>76
遠隔機器操作だけじゃわからん。どういう事をやりたいか具体的に書く。

78:デフォルトの名無しさん
07/06/29 01:05:56
サーボモーターの制御及び遠隔監視ですが、被制御側にJAVAとCのプログラムを配する予定です。
知りたいのは、ネットワークのストリームの確立方法と制御命令の伝達方法、及び監視情報のリアルタイム
での送受信方法です。



79:デフォルトの名無しさん
07/06/29 01:10:10
78の補足
回線は優先無線の両方を考えてますが、とりあえず有線の方法、通常のインターネット経由の方法で
教えていただけたらと思います。

80:デフォルトの名無しさん
07/06/29 01:17:50
Cも使うのならベタにSocket使えばいいんじゃね。

81:デフォルトの名無しさん
07/06/29 01:20:20
Set<Foo> set = new HashSet<Foo>();
for(Foo f: set) {
    // ここで set を変更
}

で ConcurrentModificationException が出るときの解決案って

for(Foo f: set.toArray(new Foo[set.size()])) {
    // ここで set を変更
}

以外にどのようなものがありますか?

82:デフォルトの名無しさん
07/06/29 01:43:20
なんか1.5ぐらいからJavaの文法、複雑になっちゃったな
>>81とか俺には理解できない・・・

83:81
07/06/29 02:14:21
>>82
大丈夫。Java7 あたりから俺もわからなくなる。

84:デフォルトの名無しさん
07/06/29 02:26:47
やさしいjavaで勉強初めて一週間程たちます。
色々調べたのですがわからなかったので、初歩的な質問ですが教えてください。

class Car
{
int n;
}
とした時に

Car car[ ] = new Car[3];

のような配列ぽい変数にできるのでしょうか?
今試しているのですがエラーになります。
コンストラクタを使ってオブジェクトを作る時は配列は使用できないのでしょうか?
先のページには出来ている様なコードが書いてあるのですが、抽象クラスでないとダメなんでしょうか?

85:デフォルトの名無しさん
07/06/29 02:27:12
>>80
失礼Cはマイコン用のCで低レベルの制御用にのみ使うものです、通信そのもは複雑なネットワークに
も対応できるようにJAVAを使おうと思っています。


86:デフォルトの名無しさん
07/06/29 02:29:50
>>84
配列要素それぞれをnew Car()で生成する必要があります
Vector使ったほうが簡単では?

87:デフォルトの名無しさん
07/06/29 02:31:17
>>84
エラーの種類がわからないから断定は出来ないけど、
おそらく発生しているエラーは NullPointerException だと思う。

Car[] car = new Car[3];
for (int i = 0; i < car.length; i++)
    car[i] = new Car();

88:デフォルトの名無しさん
07/06/29 02:34:24
>>86
>>87
なるほど!!
まずは配列要素それぞれで生成するわけですね。
早速試してみます。

89:88
07/06/29 02:42:00
>>87さんのコードを書き加えたら出来ました!
ありがとうございました!

90:デフォルトの名無しさん
07/06/29 03:11:34
Javaアプレット(ファイル名:abc.jar)でOKボタンを押したときのイベントで、Javaアプレット自身を再起動させるプログラムを書きましたが、時々動作しなかったりしています。

OKボタンを押したときのイベントの中にRuntime.exec()で2つのシェルスクリプトを実行するプログラムを書きましたが、
1つ目のJavaアプレットのプロセスをkill するスクリプトは常に動作しますが、2つ目のJavaアプレットを起動するスクリプトが動作したり、動作しなかったりしています。
・1つ目 stop.sh:(abc.jarのプロセスをkill するスクリプト)
・2つ目 start.sh:java -jar abc.jar

String[] cmd= {"stop.sh", "start.sh"};
Runtime.getRuntime().exec(cmd)
でcmdにスクリプトを渡すようにしています。
この書き方はだめなのでしょうか?

ソースは手元にありません。すみません。
よろしくお願いします。

91:デフォルトの名無しさん
07/06/29 03:22:45
アプレットから Runtime.exec ですか。実に危険だな。

92:デフォルトの名無しさん
07/06/29 03:35:31
>>90
2つ目動作することある?

Runtime#exec(String[]) の2つ目以降の要素は1つ目の要素の引数ではないか?


93:90
07/06/29 03:47:39
すみません。間違えていたと思います。

>String[] cmd= {"stop.sh", "start.sh"};
>Runtime.getRuntime().exec(cmd)

String cmd[] = new String[2];
cmd[0]="stop.sh"
cmd[1]="start.sh"
Runtime.getRuntime().exec(cmd[0])
Runtime.getRuntime().exec(cmd[1])



94:デフォルトの名無しさん
07/06/29 04:39:48
>>85
組み込み用Cしか動かないような環境でJava動くの?


95:デフォルトの名無しさん
07/06/29 04:43:53
>>90
どうせネタだろうけど

Runtime.getRuntime().exec(cmd[1]);
Runtime.getRuntime().exec(cmd[0]);

これでいいよ


96:デフォルトの名無しさん
07/06/29 06:48:01
>>81
setの変更がremoveのみなら、こういう手も。
for(Iterator<Foo> iter = set.iterator(); iter.hasNext();){
 Foo f = iter.next();
 if(...){
  iter.remove();
 }
}
せっかくの enhanced for loop が使えないのはもったいないけど。

97:デフォルトの名無しさん
07/06/29 07:45:23
>>81
こんな感じにする
Set<Foo> set = new HashSet<Foo>();
Set<Foo> temp = new HashSet<Foo>(set); // 丸々コピー
for(Foo f: set) {
    // ここで temp を変更
}
set.clear();  // 一度、空にしてから
set.addAll(temp); // 全部詰めなおす

参照の問題が起きないのであれば、2行を、set = temp;としてもいいけど、
このメソッドでSetを生成して返すのでもなければ、clear addAll のコンボのがいいと思う。
もし、他のスレッドからsetの更新の可能性があるならば、同期も取ろう


98:デフォルトの名無しさん
07/06/29 15:40:33
URLConectionでリクエスト送信→レスポンス受信な処理をやろうとしてるんですが、
ループ内でリクエスト送信後、レスポンス受信の前に次のリクエストを送る事ってできないんでしょうか?
レスポンスを待たずにリクエストを送りたいと思っています。
こういうのはthreadを使うべきなんでしょうか?

99:デフォルトの名無しさん
07/06/29 17:11:46
threadを使うべき

100:デフォルトの名無しさん
07/06/29 17:53:15
国際化対応って最後にまとめてやったほうが効率いいですか?

101:デフォルトの名無しさん
07/06/29 19:48:07
>>100
はじめから考えなきゃだめな部分とそうでない部分がある。

まあ、とにかくはじめに検討することが大事。

102:デフォルトの名無しさん
07/06/30 00:14:50
ArrayList<Integer>クラスのインスタンスをint[]クラスに代入したいのですが、どうしたらよいのでしょうか?
toArray()メソッドを使おうと考えたのですが、Integer[]クラスへの代入はできるもののint[]クラスへは代入できませんでした

103:デフォルトの名無しさん
07/06/30 01:00:43
>>102
ArrayList<Integer>とint[]は一方が他方のサブクラスの関係でないので代入できない。
リストの各要素をint[]の各要素に代入したいのなら、
toArrayでInteger[]を生成したあとで、同じ要素数のint[]を作って、各要素に代入していく。

104:デフォルトの名無しさん
07/06/30 01:03:39
ArrayList<Integer>から各要素を直接取り出してint[]の各要素に代入してもいいし。

105:デフォルトの名無しさん
07/06/30 01:25:21
配列a[]と変数b,c,dがあったとして、

if(a[ i ] && b+c<=d)

という条件文の場合、条件を日本語を訳すと「a配列のⅰ番目の要素とb+cがともにd以下の場合」ということでいいんでしょうか?

106:デフォルトの名無しさん
07/06/30 01:30:52
「a配列のⅰ番目の要素とtrueかつb+cがd以下の場合」

107:デフォルトの名無しさん
07/06/30 01:31:33
×要素と
○要素が

108:デフォルトの名無しさん
07/06/30 01:32:17
JAVAの通信についての質問です、お願いします。

URL url = new URL(address);
URLConnection connection = url.openConnection();
としたとしてサーバーに「GET」としてリクエストが行くと思うのですが、ヘッダーのUser-AgentがJava/1.5.0_12となっています。
ネット上のデータを取得するときに、指定したヘッダーをサーバーに送信するやりかたはあるでしょうか?

今はテストとして、URLリンク(www.cybersyndrome.net)をURLクラスで取得して、User-Agentの書き換えをあれこれ試してるんのですが、
URLConnectionのsetRequestPropertyなど試してもなかなかうまくいきません。

よろしくお願いします。

109:デフォルトの名無しさん
07/06/30 02:16:26
>>108
setRequestPropertyはストリームを開く前にセットしないと効果がないよ。
URLConnection u = new URL(...).openConnection();
u.setRequestProperty("User-Agent", "hogehoge");
InputStream s = u.getInputStream();
こんな感じで。
もし、hogehoge Java/1.5.0_12みたいに後に元のUser-Agentが付いても構わないなら、
javaのオプションに-Dhttp.agent=hogehogeとかやるだけでいける。

110:デフォルトの名無しさん
07/06/30 02:24:22
BufferedReaderクラスのreadLineメソッドで一行ずつ読み込む処理を行っているのですが,
現在まで読んだ文字数を知る方法はないでしょうか?

読み込んだ文字列の長さを足していけばいいと思ったのですが,
改行が削除されているために,改行コードがCRかCRLFかわからない場合うまく数えられないのです.

111:デフォルトの名無しさん
07/06/30 02:30:11
>>110
BufferedReader#readLineではたぶん無理
一文字ずつ読んで行にまとめる処理は自分でやる

112:110
07/06/30 02:31:56
>>111
thx
了解です

113:デフォルトの名無しさん
07/06/30 02:35:55
もし改行コードが一貫していることが分かってるなら
とりあえず最初の行末端が出るまでは一文字ずつ読んで
改行がLFかCRLFかCRかを判断したら
あとはreadLineで読んで改行の種類に応じて行ごとに文字数に1か2を足してやる手もある

114:110
07/06/30 02:37:43
すみません,追加で質問させてください.
BufferedReaderで現在まで読んだバイト数(現在位置)も知ることは無理でしょうか?

115:108
07/06/30 02:44:38
>>109
継続的にUAの改変をしたいのでプログラム中に書こうと思ってます。
試した処理が
URL url = new URL(String address);
URLConnection connection = url.openConnection(); //オブジェクト取得
connection.setRequestProperty("User-Agent", "hogehoge"); //ヘッダーセット
connection.connect(); // 接続
という風にやってます。
その後は、BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));で読み込んでreadlineでデータ読み込むとやっぱりUAがJAVAのままになってます。

ぐぐって出てくるサイトはPOST処理について書かれてるものばかりで。
URLで中身取得するだけなら、これ以上処理はないと思ってるのですが。

connect()前にヘッダー送られてるのでしょうか…

116:デフォルトの名無しさん
07/06/30 02:52:28
URLConnectionの方でUser-Agentを設定してるのに
実際にデータを読むときはなんでURLからストリームを開いてるの?

117:デフォルトの名無しさん
07/06/30 02:54:22
if(blp==0) i=2;
for(;i<bln;i++){

}

if(blp==0){
i=2;}
for(i=2;i<bln;i++){
}

は一緒の意味?

118:デフォルトの名無しさん
07/06/30 02:56:18
>>114
多分無理っぽい。自分でカウントするしかなさそう。

>>115
わざわざconnectしなくてもデータを読もうとした時点で勝手に接続してくれるよ。

119:デフォルトの名無しさん
07/06/30 02:58:50
>>117
blpの値によって違う

120:110
07/06/30 02:59:18
>>118
ありがとう.了解です.


>>113の方法でやってみることにします

121:デフォルトの名無しさん
07/06/30 03:01:21
>>119
もしblpが0と1の2種類の場合、0と1でどう違うのでしょうか?

122:デフォルトの名無しさん
07/06/30 03:09:07
blpが非零の時にif文が終了した時点でiに何がセットされてるか考えてみ

123:デフォルトの名無しさん
07/06/30 03:10:59
>>122
実際に実行してみて分かりました!

124:108
07/06/30 03:15:28
>>116
ありがとうございます、UA表示が変わりました。
どうやら、本でURL先のデータ表示だけをする部分に
URLリンク(journal.mycom.co.jp)
ここのヘッダー取得処理を加えたときに、ごっちゃになったようです、すみません…

>>118
私も最初はconnect()いらないんじゃないかと思ったんですが、ぐぐったときに出たサイトで
// コネクション生成(この時点では、接続されていない)
con=(HttpURLConnection) url.openConnection();
とあったので、そういうものだとばかり思ってました。

ありがとうございました、またがんばろうと思います。

125:デフォルトの名無しさん
07/06/30 06:27:34
仕様書よりも馬の骨サイトの方を信用する癖は無くした方がいいよ

126:デフォルトの名無しさん
07/06/30 07:33:53
実行中のウィンドウがアクティブでなくなってもキーボード入力を受け付ける方法ってありませんか?

127:デフォルトの名無しさん
07/06/30 08:41:40
ありますよ

128:デフォルトの名無しさん
07/06/30 21:08:43
Servlet アプリケーションの設定って、どこに記述すればいいの?
Windows アプリケーションでいうところの INI ファイルみたいな
設定ファイルって Servlet にはないの?
properties ファイルはローケール依存テキストを記述するものだから
適当じゃないよね?

129:デフォルトの名無しさん
07/06/30 21:18:21
ここにその質問文を書く時間があれば、
グーグル先生に「Servlet 設定ファイル」で聞いてみろよ。
URLリンク(www.google.co.jp)

130:128
07/06/30 21:25:19
>>129
調べたんだけど、どこか分からないんです。
コンテキスト ファイルでもないし、server.xml でもないし、web.xml でもない。。。

外部プログラムのパスとか、アップロードしたファイルを記録するディレクトリとか、
Servlet を配備するユーザーが書き換えれるような設定ファイルって、どれになるのかな?


131:デフォルトの名無しさん
07/06/30 21:31:00
>>130
そういうことか
アプリケーション自体の設定ファイルなんぞ、読める場所に好きな形式で書いておけばいい
変更も少なく数も少なければ、web.xmlに記述するのもあり。
よくやるのは、設定ファイルのパスをweb.xmlに書いておき、実際の設定ファイルは別にするという形
そうすればテスト用の設定ファイルとかを使い分けるのが楽。

形式はXMLにするかプロパティファイルにするか独自形式か、それは好きにしてくれ

132:128
07/06/30 21:34:23
>>131
ありがとう。とても参考になったよ。

133:デフォルトの名無しさん
07/06/30 21:43:49
>>131
ありがとう。とても参考になったよ。

134:デフォルトの名無しさん
07/06/30 23:23:18
swingのJButtonについてですけど、ActionPerformed()の中でIconをsetIcon()で交互に付け替えています。
しかし、ボタンを2回以上押すとアイコンの後ろに「...」のような文字が入ります。 ちなみに、setActionCommand()も
同時に使っています。 何かのバグでしょうか?

アプリは簡単な動画再生プログラムでPlayとPauseのアイコンを入れ替えるだけのものですが、何か解決方法は
ないでしょうか?

135:デフォルトの名無しさん
07/06/30 23:27:30
>>134
ソースみなきゃ何ともいえないけど・・・
JButton playButton = new JButton();
JButton pauseButton = new JButton();
と個別にインスタンス作って、setEnableで制御した方が確実な気がする
どうしても1ボタンで済ませたいのであれば、setVisibleで見せる/見せないの制御を行うほうが自然

136:88
07/06/30 23:50:05
以前「やさしいjava」で勉強してて質問した88です。
値渡し、参照渡しの理解で苦しんでます。

値渡し、参照渡しは言語によってあったりなかったりぽいのですが、これは理屈どうこうっていうより「java仕様」って事で覚えた方がいいのでしょうか?
なぜ値渡し、参照渡しと別々の考え方なのかが理解できないでいます。

「やさしいjava」曰く、クラス型変数は代入=参照渡しだから~という内容で、int型等を「基本型」とくくって「基本型の変数は値渡し」と書いてあります。
他のサイトやwikiで調べてみると、基本型とかクラス型とか、そういう考え方は一切なく、intやdoubleは値渡しで処理して、String型等は参照渡しがjavaの仕様と書いてあるような気がしました。

やさしいjavaで「クラスで生成された変数は参照型の処理をされる」と書いてありますが、自分のコードのクラスで生成した変数だろうが、クラスライブラリ使用での変数だろうが、
どっちもクラス型変数のような気がして、いまいち「int型やdouble型は基本型の変数」というのが納得いきません。

int型やdouble型等は値渡し、String型は参照渡し みたいな感覚で覚えていいのでしょうか?
うまく説明できてい上に初歩すぎる質問かもですが、よろしくお願いします。


137:デフォルトの名無しさん
07/06/30 23:57:57
>>136
URLリンク(www.google.com)

138:デフォルトの名無しさん
07/07/01 00:11:09
>>136
やさしいJavaはろくな目にあわないなw
Javaでのプリミティブ型は特殊だという認識を持った上で、メソッド呼び出しの時は全てインスタンスの参照が渡されると認識するならばいいんじゃないか?

納得して先に進みたいならば、この辺に結構詳しく書いてあった
URLリンク(d.hatena.ne.jp)

139:88
07/07/01 00:27:18
>>138
仕組みについては理解できました!
クラス型の変数というところでひっかかっていたようです。
クラスで作った変数1=変数2だと参照型というのは理解していたのですが、
やさしいjavaで「String n」の引数に「一号車」と代入する時はクラス型変数なので参照型 という記述があって、
なぜString型がクラス型の変数なのか?とワケワカラン状態になってました。
プリミティブ型が特殊っていう考え方が非常にわかりやすかったですw
値渡しが基本で、参照渡しが特殊 ではなくて、参照渡しばっかりのjavaの中でプリミティブ型は値渡しが行われてる仕様 って事でいいんですね。
勉強になりました。ありがとうございました!

140:デフォルトの名無しさん
07/07/01 00:36:18
>>139
クラス型変数?
違和感を感じたのはそこか!
「クラス型変数なので参照型」は逆だ、逆。
「インスタンス(正確にはその参照)は、参照型変数に代入できる」が正しい
だから、参照型変数の型は必然的にクラスになる

インスタンスの存在に関する記述がテキトーなんだな、その本は

141:デフォルトの名無しさん
07/07/01 00:38:14
Eclipseにてデバッグした後、プログラム終了時に、
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# EXCEPTION_ACCESS_VIOLATION 。。。

というメッセージがコンソール画面に出て来るときがあります。
Eclipseのデバッグ画面には、このエラーが発生した箇所が出てこないので、どこで発生しているのか分かりません…
このエラーメッセージが出た場合、とりあえずプログラムのどこをチェックすべきですか?
ACCESS_VIOLATIONってことなので、C言語だったらポインタ演算してる箇所とかをチェックするんですが…

142:デフォルトの名無しさん
07/07/01 00:39:09
javaの値型はC++の値型とは違うからなぁ・・・

143:デフォルトの名無しさん
07/07/01 00:45:57
>>141
Swingとかマルチスレッド関連?
どの手のアプリケーション実行していての話だろうか。
デバッグ時だと予期せぬ状態としか言いようがないな

144:デフォルトの名無しさん
07/07/01 00:54:24
>>141
それが出たときは飼い犬に咬まれたと思って諦めろ

145:デフォルトの名無しさん
07/07/01 01:02:59
>>143
今はSwingとマルチスレッド両方使ってます。Swingだけで出てきたこともあります。
エラーが発生した後、logファイルが吐かれてて、そこには
 
Current thread (0x00837440): JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=5020]

と書かれてました。自分で作ったスレッドで発生したわけではないのかな…

>>144
諦めろ…ということは、原因を突き止めるのがすごく難しい問題だったり、まさかJavaの仕様だったりするんですか…

発生確率は1/10くらいなので「仕様」ということにしておきます。

146:デフォルトの名無しさん
07/07/01 01:09:08
>>145
マルチスレッドだと単純に不安定になるよ
デバッグでなく発生するのであれば、別の問題だろうけど
そうでないのであれば原因を突き止めるのはデバッグモードを創れるレベルが要求されそうな予感

147:デフォルトの名無しさん
07/07/01 01:12:19
>>139
>値渡しが基本で、参照渡しが特殊 ではなくて、参照渡しばっかりのjavaの中でプリミティブ型は値渡しが行われてる仕様

値渡しが全て。
プリミティブは、その値自身が、値渡しされる。
オブジェクトは、そのオブジェクトへの参照が、値渡しされる。

148:デフォルトの名無しさん
07/07/01 01:12:37
連続してデバッグしたりするとよく出るね

149:デフォルトの名無しさん
07/07/01 01:18:11
>>145
VMのバグ、または、JNIでの呼び出し先でのバグかも
Javaのプログラムを見ても解決するはずない、たぶん

150:デフォルトの名無しさん
07/07/01 02:55:57
すみません、超初歩の質問です。
URLリンク(www.javadrive.jp)を参考に
したのですが、java test1を実行すると

「注釈処理が~」というエラーメッセージが出ます。
エラーは1つです。

で、ためしにjava ソース で検索したものを実行させて
みたのですがこれも同じメッセージでエラー1つです。

これは設定が間違っているということなのでしょうか?


151:デフォルトの名無しさん
07/07/01 02:58:55
自分が書いたソース晒せー

152:150
07/07/01 03:02:09
>>151
 これです

class test1
{
public static void main(String args[])
  {
System.out.println("Hello World!");
}
}


153:150
07/07/01 03:03:36
なんかずれてる・・
もう1度

class test1
{
public static void main(String args[])
 {
System.out.println("Hello World!");
}
}

154:デフォルトの名無しさん
07/07/01 03:10:09
エラーメッセージじゃなくて警告だろ。
そのまま実行すれば実行できるよ。

155:デフォルトの名無しさん
07/07/01 03:11:12
そこは間違ってないな・・・throwされた例外を全部そのままコピペして。

あとjavacとjavaのバージョン

156:150
07/07/01 03:19:46
あ”あ・・
いろいろいじってたらまた出来なくなってきた
操作可能なプログラムまたはバッチファイルとして認識されません
とか出てきた・・・
ちょっと出直してきます。すみません・・・

javacのバージョンとは??
javaはjdk1.6.0_01です

157:150
07/07/01 03:23:53
あと、システムの環境変数で、PATHの所だけ
C:\Program Files\Java\jdk1.6.0_01\bin に変えればよいみたい
なのですが、間違えて class PATH とPatch もこれに
してしまったのですが、問題アリでしょうか??


158:デフォルトの名無しさん
07/07/01 03:26:01
PATHをいじったんだろう。そこでハマるのは本質じゃないから

cd C:\TestClass
C:\Java\jdk1.6.0_01\bin\javac test1.java
C:\Java\jdk1.6.0_01\bin\java test1

みたいにフルパスで指定するべし


159:デフォルトの名無しさん
07/07/01 03:38:28
というか普通は

JAVA_HOME = <install_dir>
Path = %Path%; %JAVA__HOME%\bin;

とする。
CLASS_PATHは必要な時だけ。

環境変数Pathって復元できたっけ?

160:150
07/07/01 04:05:09
なんとか最初の問題まで戻れました。
エラーはこういう表示です。

エラー:クラス名 'java' が受け入れられるのは、注釈処理が明示的に要求された場合だ
けです
エラー 1 個

C:\jsample>


こっから全く進めません・・・
ぐぐっても出てこないし



161:150
07/07/01 04:06:58

ファイル名をjavaに変更しました

162:デフォルトの名無しさん
07/07/01 04:21:33
ソースファイル名をtest1にしてjavac→java

163:150
07/07/01 04:26:10
>>162
 ダメです・・・
 同じメッセージしか出ません。
 なんでだろう????頭こんがらがってます
 3時間くらいずっとつまずいでます

164:デフォルトの名無しさん
07/07/01 04:27:13
答:今日はあきらめて寝る

165:デフォルトの名無しさん
07/07/01 04:29:58

Test01.java

------------------------------------

class Test01
{
public static void main(String args[])
 {
System.out.println("Hello World!");
}
}


166:150
07/07/01 04:30:14
'java' が受け入れられるのは、注釈処理が明示的に要求された場合だ
けです

このメッセージをぐぐっても出てこないのは
やっぱり普通はこういう事にはならないからなのでしょうか。
うーーーーん・・

>>164
 6時までは頑張ってやってみます
 ダメなら寝る

167:デフォルトの名無しさん
07/07/01 04:31:04
ミスった

Test01.java

public class Test01
{
public static void main(String args[])
 {
System.out.println("Hello World!");
}
}


168:デフォルトの名無しさん
07/07/01 04:32:29
javac test1 とやると「注釈処理が明示的に要求され・・」と出るようだ。
javacでは拡張子の.javaを含むファイル名を指定する必要あり。
java では拡張子の.classは付けない。

javac test1.java
java test1


169:150
07/07/01 04:49:15
CLASSファイルが作成されたらいいんですよね????

できましたーーーーーーーーーーーーー!!
ファイル名に .java をつけてjavaファイルにしていなかったのが
1番の原因だったと思われます。

ただ、サイトや実用書のように文字が表示されないのが
よくわかりませんが、とりあえず第一関門突破です
ありがとうございました

170:デフォルトの名無しさん
07/07/01 04:53:15
>>150
コマンドプロンプトとかDOSとかCUIってしってるか?

171:150
07/07/01 04:57:42
>>170
 コマンドプロンプトは分かります。
 DOSはDOS-Vとかのでしょうか?(真っ黒い画面のがそう?)
 DOSとCUIは言葉は聴いたことありますが今いちよく分かりません・・
 

172:デフォルトの名無しさん
07/07/01 04:57:55
JMenu m = new JMenu("ファイル選択");
m.add(new JFileChooser());

という感じで、JMenuにJFileChooserを置いて、メニュー内に選択画面を出す…
という変なことやってみたいんですが、ちゃんと表示はされます。
でも、スクロールバーが動かなかったり、ボタンも機能してくれません。
やっぱり無理なんですかね

173:デフォルトの名無しさん
07/07/01 05:00:12
hoge.java.txt っつーのもあるな

174:150
07/07/01 05:00:56
JAVAファイルをCLASSファイルに変換させるとこまでは
できましたが、Hello Worldの表示が出ない・・・


175:デフォルトの名無しさん
07/07/01 05:03:47
>>171
じゃあさっき生成されたclassファイルがあるディレクトリ(フォルダ)に潜って

java test1

>>172
メニューアイテムが選択された時にチューザを表示するようにする。とか。

176:150
07/07/01 05:12:33
>>175
 今までコンパイラとインタプリタを勘違いしてました。
 コンパイラで文字を出そうとしていたのですが
 やっと意味が分かってきました。
 
 でも、CLASSファイルができたので

 java test1 で出てきそうなのですがエラーになります


 うーーん・・・
 もうちょいやってみます

177:デフォルトの名無しさん
07/07/01 05:21:40
public class Test01
~~~~~~~~~~~~

178:150
07/07/01 05:29:22
Exception in thread "main" java.lang.No ClassDef FoundError:test1

このようなエラーがでます。
おかしいなぁ・・

179:デフォルトの名無しさん
07/07/01 05:40:49
もしかして元もとの環境変数Pathに;.含んでない?
ないなら追加。

180:デフォルトの名無しさん
07/07/01 05:48:14
ところでさ、>>1のwiki内のリンク参照するとたまに
URLリンク(ezrenai.takara-me.com)
にリダイレクトされるんだけどPHPおかしくない?

181:150
07/07/01 05:48:51
>>179
 PATHなんですが、いろいろいじったせいで
 元々設定してあったのを全部消して今は

 C:\Program Files\Java\jdk1.6.0_01\bin

 を設定してあります。; はどこに追加すればよいでしょうか?

182:150
07/07/01 05:51:20
すいません、がいしゅつ質問してしまいました。
>>1をちゃんと読んでなかったので
ちょいと行ってきます!!

183:150
07/07/01 06:21:16
なんかよく分からないけど、一応できました。
質問答えてくださったみなさんありがとうございました!
やっと次に進めます


184:デフォルトの名無しさん
07/07/01 06:35:34
皆さんて2人くらいしか居ない気がするw
どうせ俺はvipの深夜保守組だし気にするな。
ただし、昼間は頭使えw

185:デフォルトの名無しさん
07/07/01 09:00:24
色について以前質問したものですが
WEB上で見るときに色の情報がポップアップで見れたりできるようにしたいんですが
どなたか作ってもらえませんか
URLリンク(sky.ap.teacup.com)
欲を言えば最後に絵の具の番号で言うとどうなるのか変換してくれるボックスみたいのがあれば
うれしいんですが


186:デフォルトの名無しさん
07/07/01 09:03:21
モニタのキャリブレーションしてるか?

187:デフォルトの名無しさん
07/07/01 09:05:54
キャリブレーションってなんですか

188:デフォルトの名無しさん
07/07/01 09:12:49
Googleで検索くらいかけてから反応しような

189:デフォルトの名無しさん
07/07/01 09:36:13
>>168-169
Javaのエラーメッセージって相変わらず不親切だな。MSほどじゃないけどさ。
普通に「拡張子(.java)をつけてください」って出せよな


190:デフォルトの名無しさん
07/07/01 09:39:17
そこら辺の屑モニタにキャリブレーションする意味もないだろ。
元が狂いまくってんだし、幅が効かん。
それともそっち系のモニタの話?

にしても>>185はひどいな。

191:デフォルトの名無しさん
07/07/01 12:53:48
JAVA3Dなのですが、1秒ごとに1つずつ同じ図形をずれた位置に追加表示
させるにはどのようにすればいいのでしょうか。
↓こんな感じです

  最初 □

  一秒後□□

もう一秒後□□□



できれば5個くらい表示させたところで停止させる処理の記述も
教えていただけるとありがたいです。
よろしくお願いします。


192:デフォルトの名無しさん
07/07/01 14:15:28
キャンバスに文字を表示しているんですが、
public void paint(Graphics g) {
        ・
g.drawString("文字間隔",x,y);
        ・
}
その文字の間隔を任意に設定はできないんでしょうか?
ご教示願います。

193:デフォルトの名無しさん
07/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
07/07/01 16:43:43
>>193
わかりました。やってみます。ありがとうございました。

195:デフォルトの名無しさん
07/07/01 17:28:44
gifイメージをアイコンに読み込んで表示するプログラムですが、jarに固めるとgifファイルを
読み込んでくれません。 imagesディレクトリに入れてあり、ディレクトリ構造は同じなのですが、
何か MANIFEST.MFに書き加える必要はあるのでしょうか?

196:デフォルトの名無しさん
07/07/01 17:43:17
URLリンク(240k.main.jp)

197:デフォルトの名無しさん
07/07/01 17:48:03
>>196
わかりました。やってみます。ありがとうございました。

198:195
07/07/01 17:56:28
195だけど、getClass().getResource()を使うとうまくいった。 疲れた・・・

199:デフォルトの名無しさん
07/07/01 18:13:22
public class longtest {
public static void main(String[] args) {
long a=2147483647;
System.out.println(a);
}
}

このプログラムのaの値をより大きく表示できるように改変してください。
この値よりも1でも大きくなるとエラーが出てしまいます。
値は出来るだけ大きいほうが良いです。

200:デフォルトの名無しさん
07/07/01 18:16:20
jarに固めるとファイルを読み込めなくなるハマリの初心者的2大原因
1.リソース検索してそのURLを指定せず、ファイル名を直接指定している。
2.Windowsのような大文字小文字の区別をつけないファイルシステムを使っていて、区別をつけるjar内の事情を気にしていない。

201:デフォルトの名無しさん
07/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
07/07/01 18:24:37
>>197
おいおい、IDでないからってパクるなよw
やってみたけど、めんどうですね。ところでMFCの
SetTextCharacterExtra
みたいに1発で指定できないですかね。
setCharacterSpacing
というのがあるみたいですけど、使い方がわからないです。

203:デフォルトの名無しさん
07/07/01 18:36:35
やってることは子供じみてるけれど、
自分の質問に対するレスへの自分を騙ったレスではないんだからいいんじゃね?
騙りとは違うからIDが出ないこととは無関係。

一発で指定したいのなら、後々のことも考えてsetTextCharacterExtraメソッドを自作する。

204:191
07/07/01 18:39:34
URLリンク(www.javaopen.org)
↑をもとに作ってみようとしたんですが、これだとBranchGroupや
TransformGroupはどこで定義すればいいのでしょうか?

205:デフォルトの名無しさん
07/07/01 18:42:30
>>203
了解。

206:デフォルトの名無しさん
07/07/01 20:22:37
>>204
リンク先のソースのどこにもBranchGroupやTransformGroupはないが?
自分のソース貼り付けてくれよ

207:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/07/01 21:43:43
>>207
java Shukudai453 数字
で実行

210:デフォルトの名無しさん
07/07/01 21:47:10
>>207
どんな環境でなにをどうやったらそうなったのか書け
それすら出来ないならば、ここでもスレ違いだ

211:デフォルトの名無しさん
07/07/01 21:51:49
ええっと
URLリンク(sourcepost.sytes.net)
を実行したんですが・・・

212:デフォルトの名無しさん
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をきれいさっぱり忘れて他の本をじっくり読む。マジオヌヌメ。



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