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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/

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

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals を使え。

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

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

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

次スレは>>980あたりで。
2デフォルトの名無しさん:2006/03/14(火) 13:40:05
そして2もGET
3デフォルトの名無しさん:2006/03/14(火) 13:43:58
3げっと!
4デフォルトの名無しさん:2006/03/14(火) 13:46:25
前スレ>>998 とても参考になりました。ありがとうございます。
5デフォルトの名無しさん:2006/03/14(火) 13:57:03
ここのウィキ
http://www.wikiroom.com/java/
ってずっと落ちっぱなしですか?

6デフォルトの名無しさん:2006/03/14(火) 14:48:18
ヒープとスタックに関する質問です。
次のような認識はあってますか?

char ch[];//スタックに ch[]分の領域を確保
ch = new char[5];//ヒープに char[5]分の領域を確保

7デフォルトの名無しさん:2006/03/14(火) 14:54:49
前すれ>968よ。
あの面積を求める式は、円の面積だ。
class Circleで定義されているだろ。


8デフォルトの名無しさん:2006/03/14(火) 15:01:13
×char ch[];//スタックに ch[]分の領域を確保
○char ch[];//スタックに ch 配列への参照を確保
9デフォルトの名無しさん:2006/03/14(火) 15:04:13




          ま た 参 照 か

 




 
10デフォルトの名無しさん:2006/03/14(火) 15:50:12
>>8
○char[] ch;//スタックに ch 配列への参照を確保
116:2006/03/14(火) 16:00:47
char[] ch;//スタックに ch 配列への参照分の領域を確保

じゃ変ですかね?
12デフォルトの名無しさん:2006/03/14(火) 16:02:34
13デフォルトの名無しさん:2006/03/14(火) 16:07:53
推敲するほど蛇足になる日本人気質が出るからここらへんでやめとけ。
14デフォルトの名無しさん:2006/03/14(火) 16:23:30
なんでNullReferenceExceptionじゃなくてNullPointerExceptionなの?
15デフォルトの名無しさん:2006/03/14(火) 16:29:37
>>14 JAVAHOUSEでも同じような事いってますね。
http://java-house.jp/ml/archive/j-h-b/020633.html#body
16デフォルトの名無しさん:2006/03/14(火) 16:33:33
高木ひろみちゅ大先生が大昔 JH で同じ事を言っていたような…
命名に関しては個人の見方でいろいろ解釈できるのではっきりしたもんは得られんよ。
どの理由で納得するか、それだけの問題だから。「Java NullReferenceException」 で
検索して納得できる理由を探してみ。

ちなみに API リファンレンスに NullReferenceException って表記されてる箇所があります。
暇があったら検索してみそ。
17デフォルトの名無しさん:2006/03/14(火) 16:46:09
>>14 ここらへんあさると面白いかも
http://java-house.jp/ml/archive/j-h-b/037965.html
18デフォルトの名無しさん:2006/03/14(火) 16:47:46
UndefinedObjectException

とでもしておけばいいのにね。

ちなみにSmalltalkはUndefinedObjectというエラーになる。
19デフォルトの名無しさん:2006/03/14(火) 16:51:11
>>9
値渡し、参照渡し、ポインタ渡しを議論する
http://pc8.2ch.net/test/read.cgi/tech/1142322025/
20デフォルトの名無しさん:2006/03/14(火) 17:05:26
String s = null;
System.out.println(s.valueOf(10));

なにこれ?
21デフォルトの名無しさん:2006/03/14(火) 17:11:38
ぬるりじゃ語呂が良くないからでしょ。ぬるぽ
22デフォルトの名無しさん:2006/03/14(火) 17:12:01
valueOf() メソッドってクラスメソッド。
だから、変数sはnullかもしれないけどString型だから
valueOf()を呼んでもエラーにならない。
23デフォルトの名無しさん:2006/03/14(火) 17:18:59
>>22 サンクス
2418:2006/03/14(火) 17:19:52
うう、恥ずかしいこと書いてしまった、UndefinedObjectというエラーじゃないな。
忘れてくれ。

MessageNotUnderstoodだった
SmalltalkはnilというUndefinedObjectのインスタンスで初期化されるから
nilがMessageNotUnderstoodというエラーを発生させてるんだった。

25デフォルトの名無しさん:2006/03/14(火) 19:05:25
見た目は比較的どうでもいいから、
バグの少ないLook And Feelありませんか?

バグの少なさ >> 速度 > 見た目
26デフォルトの名無しさん:2006/03/14(火) 20:27:36
JavaアプレットとJavaアプリケーションとで通信するプログラムを作成してます。
アプレットがクライアントで、アプリケーションがサーバです。

クライアント上(windows)からサーバ(Linux)へ、2バイト文字を送ると文字化けして
しまいます。
サーバをwindows上で動かしてる時は、2バイト文字でも問題無く表示されているの
で、
恐らくLinuxの文字コードの問題だと思うのですが、対処の仕方がわかりません。
どなたかご教示願います。
27デフォルトの名無しさん:2006/03/14(火) 21:09:23
>>26
InputStreamReaderとOutputStreamWriter生成時にキャラセット指定

例:
new BufferedReader(new InputStreamReader(socket.getInputStream(), "UTF8"));
new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8"));
28デフォルトの名無しさん:2006/03/14(火) 23:09:08
【積年の】旦那にしてる密かな仕返し【恨みじゃー】
http://human5.2ch.net/test/read.cgi/ms/1141694640/

8 名前:可愛い奥様[] 投稿日:2006/03/07(火) 11:05:23 ID:8dtluKkp
夫の歯ブラシで洗面所の排水溝掃除。
洗面所をビショビショに汚した罰だ。

20 名前:可愛い奥様[age] 投稿日:2006/03/08(水) 00:40:17 ID:pRrk6A21
前に頭きた時あって
1度だけ歯ブラシで肛門カキカキしちゃった

22 名前:可愛い奥様[] 投稿日:2006/03/08(水) 01:27:12 ID:gU5mHc7J
よかった。どこのお宅も同じようなことしてて。

24 名前:可愛い奥様[] 投稿日:2006/03/08(水) 01:36:35 ID:SSSFsTqE
そうそう、ヘンなモノはダンナのお皿へ直行だよね。

41 名前:可愛い奥様[] 投稿日:2006/03/08(水) 11:55:18 ID:sjj+/60Q
見てるだけで気が晴れるな!
皆さん、頑張ってね!

42 名前:可愛い奥様[sage] 投稿日:2006/03/08(水) 20:33:51 ID:Ju2N1s7+
年金分割が楽しみじゃのう

63 名前:可愛い奥様[] 投稿日:2006/03/10(金) 08:55:20 ID:qLfJYpJR
家族で密かにはぶっている。

男性は肉体が汚く、精神が美しい傾向がある。(気に入らない相手に肉体的攻撃を加える⇒精神的攻撃も加える男は猛者)
女は肉体が美しく、精神が汚い傾向がある。(気に入らない相手に精神的攻撃を加える⇒肉体的攻撃も加える女は猛者)
女は隠れて悪事をする。気に入らない女子を便所でボコったり、便器舐めさせたり、男の友人を使ってレイプ、仲間外れにしたり。陰口、嫉妬。
女は対人関係において、この汚い性格を隠そうとするため、外面が非常によくなる。(猫かぶり)
男性諸君は外面に騙されないように気を付けて下さい。
29デフォルトの名無しさん:2006/03/14(火) 23:25:34
>>25
metal
30デフォルトの名無しさん:2006/03/14(火) 23:49:34
>>28
(;^ω^)
31デフォルトの名無しさん:2006/03/15(水) 14:13:10
教育に関してなんですが…
商業高校卒の新人を教育することになったんですが
高校ではVBAだけしかおそわってないらしいのですが
VBA脳の人にJAVAを教える上で肝になるところって
どこらへんでしょうかねぇ。
32デフォルトの名無しさん:2006/03/15(水) 14:18:34
>>31
オブジェクト指向の概念じゃない?
カプセル化とか隠蔽とか。

まぁ、いわゆる基礎だ。
33デフォルトの名無しさん:2006/03/15(水) 14:40:08
>>32 やはり、そこらへんになりますかねぇ。ありがとうございます。
34デフォルトの名無しさん:2006/03/15(水) 17:38:36
便乗して、C++バリバリな香具師に教えるときはどうしたらいいと思う?
ほっとくのが一番?
35デフォルトの名無しさん:2006/03/15(水) 17:43:34
自力でバリバリになったんなら、Javaもどうってことないでしょうね。
口でバリバリって言ってるだけなら、相模灘に沈めましょう。
3626:2006/03/15(水) 19:55:57
>>27
そのコードで文字化けが直りました
どうもありがとうございました

えと、もう1つ質問なのですが、
アプレット(windows)からサーブレット(Linux)へGET通信を行うプログラムを作成しておりまして、サーブレットでクライアントからのデータを受け取った際に日本語が文字化けしてしまいます

クライアント側ソース(送信)
URL url = new URL( サーバサーブレットURL );

HttpURLConnection httpc;
BufferedReader urlIn;

// 接続と送信
httpc = (HttpURLConnection)url.openConnection();
httpc.setRequestMethod( "GET" );
urlIn = new BufferedReader(new InputStreamReader(httpc.getInputStream(),"EUC_JP") );

サーバ側ソース(受信)
doGet( HttpServletRequest request, HttpServletResponse response )

request.setCharacterEncoding( "EUC_JP" );
response.setContentType( "text/html;charset=EUC_JP" );

// クライアントからのデータをDBに追加
String sql = "insert into testdb values( '" +UserName+ "', '" +UserScore+
"', CURRENT_TIMESTAMP )";
sql = new String( sql.getBytes( "EUC_JP" ), "8859_1" );
db.execute( sql );
3726:2006/03/15(水) 19:58:57
続きです

このようにEUC_JPに変換して追加してるのですが、日本語部分が??となってしまいま


環境は
[クライアント]
OS・・windows xp home
開発環境・・java sdk 1.4.2_08
プログラム・・javaアプレット

[サーバ]
OS・・centOS 4.2
開発環境・・java sdk 1.5.0_04
プログラム・・javaサーブレット
DBソフト・・postgreSQL 7.4.5(EUC_JPになるように設定済み)

となってます
また、poderosa上からリモートアクセスでテーブルに日本語でデータを追加すると文
字化けしません

御教示の程、宜しくお願い致します
38デフォルトの名無しさん:2006/03/15(水) 20:47:01
>>request.setCharacterEncoding( "EUC_JP" );

何を根拠にクライアントから送信されているのが EUC-JP であると断定しているのだ?
おそらく Windows は Windows-31J で送信しているのに
EUC-JP として認識させようとしているから、化けている。
39デフォルトの名無しさん:2006/03/15(水) 21:04:31
サーバーからダウンロードさせて、XMLを自動作成するアプレットを作っています。
XMLライブラリについて、JRE1.3は外付け、JRE1.4は組み込みとなっていますが、
クライアントのJREのバージョンがどれであっても対応できるようにソースコードを書くことは可能でしょうか?
40デフォルトの名無しさん:2006/03/15(水) 21:32:27
>>39
アプレットって複数jar並べるとかで、ライブラリ指定できなかったっけ。
できるならxerces-jとかを並べておく。1.3ではそれが使われ、1.4は勝手に内部のを使う。
難点は毎回xerces-jなんぞ落とす負荷かな。
41デフォルトの名無しさん:2006/03/15(水) 21:36:27
>39
サーバで1.4動かしといてXMLを送るんでは駄目ですか、そうですか。
42デフォルトの名無しさん:2006/03/15(水) 21:51:34
>>38
クライアントからサーバへ送信する際に
EUC_JPに変換してから送信している為です
43デフォルトの名無しさん:2006/03/15(水) 22:11:33
>>42
ServletコンテナはTomcatか?
デフォルトではgetのパラメータはsetCharacterEncoding()メソッドでは変換できないぞ。
44デフォルトの名無しさん:2006/03/15(水) 22:30:57
C言語ライクに関数へのアドレスを引数に指定したいのですが、JAVAではその様な事が出来ますか?
もし出来るならばどの様に引数を取ればいいのでしょうか
45デフォルトの名無しさん:2006/03/15(水) 22:36:28
>>44
関数へのアドレスうんぬんは、目が覚めたら、変な寝言言っちゃったなあと思うこと。
なんのために関数を渡すかによって違うので、その目的を教えてみそ。
コールバックが欲しいなら、Observerパターンとか見ると少し幸せになれます。
46デフォルトの名無しさん:2006/03/15(水) 22:40:36
>>43
http-bodyに対してだけだからな、できるのは。
new String(str.getBytes("ISO-8859-1"), encoding);
めんどくせ・・・
47デフォルトの名無しさん:2006/03/15(水) 23:17:09
>>45
例えば複数のボタンがあって
AbstractActionを継承しているクラスをリスナーに設定するとします。
しかしボタンAとボタンBで望まれる動作は違うので上記のクラスはそのボタン専用のクラスを定義するべきです。
それでは冗長なので、コンストラクタに任意のメソッドへのアドレスを渡し、それを保存し
actionPerformed(ActionEvent)メソッドの処理内容をその保存したメソッドを処理させる・・・
としてみたいのです。
48デフォルトの名無しさん:2006/03/15(水) 23:23:21
Tomcatの文字コード変換ならフィルタ使えよ
49デフォルトの名無しさん:2006/03/15(水) 23:25:52
>>47
一つのオブジェクトに二つ以上の役割を持たせるのは止めましょう
「それでは冗長なので・・・」とか言う前にオブジェクト指向を学習した方がいいよ
50デフォルトの名無しさん:2006/03/15(水) 23:32:55
('A`)分からないなら分からないって言えよ
51デフォルトの名無しさん:2006/03/15(水) 23:33:26
実際冗長だからC#にはデリゲートがある
52名無し募集中。。。:2006/03/15(水) 23:44:09
だがデリゲードの採用をSunは断ったんだがな
53デフォルトの名無しさん:2006/03/15(水) 23:47:37
抽象メソッドを持つ抽象クラスを継承して、
変数の異なる複数のクラスのインスタンスを作成します。
そのインスタンスを一つの配列に格納したいのですが、
どのようにしたらよいのでしょうか?
54デフォルトの名無しさん:2006/03/15(水) 23:50:18
共通の基底クラス、インタフェイスにnewしちゃえばいいんじゃね?
5553:2006/03/15(水) 23:51:27
>>54
抽象クラスのさらに上のクラスを作るということでしょうか?
56デフォルトの名無しさん:2006/03/15(水) 23:53:51
それでも型キャストすれば問題ないだろうけど
57デフォルトの名無しさん:2006/03/15(水) 23:56:43
てすと
58デフォルトの名無しさん:2006/03/15(水) 23:59:35
>>53
抽象クラスがAbstractFooならAbstractFoo[] foo でいいんじゃね?
俺勘違いしている?
5953:2006/03/15(水) 23:59:40
>>56
どのようなタイプの配列に型キャストをすればよいのでしょうか?
6053:2006/03/16(木) 00:00:34
>>58
ただのabstractクラスです。
61デフォルトの名無しさん:2006/03/16(木) 00:01:37
public abstract AbstractFoo{}とするなら
AbstractFoo[] foo = new AbstractFoo[整数];
でいいんじゃね?
62デフォルトの名無しさん:2006/03/16(木) 00:04:27
public abstract class AbstractFoo{}の間違え
6353:2006/03/16(木) 00:07:30
皆さんありがとうございました。
無事解決しました。
64デフォルトの名無しさん:2006/03/16(木) 11:07:53
JSPの中にJSPをインクルード出来る機能があると聞いたのですが、その際にパラメータを渡すことは
できないでしょうか。

具体的には下記の様な日付を選択させるセレクトボックスを部品化したいなと
思ってるんですが、この時選択の初期状態をパラメータで渡せれたらなぁと思ってます。

[2006▼][10▼][1▼]
65デフォルトの名無しさん:2006/03/16(木) 11:14:09
<jsp:param name="year" value="2006" />
66デフォルトの名無しさん:2006/03/16(木) 11:24:00
>>65 ありがとうございました。
67デフォルトの名無しさん:2006/03/16(木) 12:29:27
>>64
そういうのって、JSPのインクルードでやるもの?
俺はカスタムタグ作っていたけど。
確かにカスタムタグだと、作るのが面倒くさい気もするが、
こういうことをインクルードで実現するのってどうなん?
68デフォルトの名無しさん:2006/03/16(木) 12:37:57
どうなん? と言われてもこの程度はほぼ趣味の範囲だろ。
69デフォルトの名無しさん:2006/03/16(木) 12:48:50
もし一箇所しか現れない(予測される再利用もない)なら、カスタムタグよりインクルードのほうがいいかと。
70デフォルトの名無しさん:2006/03/16(木) 13:08:11
TLD の作成・配置やら web.xml の修正やら考えたら <jsp:include> の方がよくね?
JSP に記述するもんはたいして変わんないんだし。
データベース照会して休日取ってくるとかいう処理が必要ならそれこそ拡張タグ
ライブラリでも良いけどさ。
71デフォルトの名無しさん:2006/03/16(木) 13:20:28
次のようなインナークラスを含むクラスを作ったときに
staticであるmainメソッドからはインナークラスは呼べないようですが
staticからインナークラスを呼べない理屈ってどういうことでしょうか?

public class TataiseiTest
{
public TataiseiTest(){}

public static void main(String args[]){
ClassA class_a = new ClassA();
}

class ClassA{
ClassA(){};
ClassA(int i){};
public void print(){
System.out.println("ClassA.print()");
}
}
}
72デフォルトの名無しさん:2006/03/16(木) 13:29:00
>>71
インナークラスをstatic宣言していないから、オブジェクトから生成しなきゃいけなくなってるの。
static class ClassA { ... }
とするか、
TataiseiTest t = new TataiseiTest();
A a = t.new A();
とするかのどちらか。
73デフォルトの名無しさん:2006/03/16(木) 13:42:31
>>72 ありがとうございます。

次のコードも、コメントの理由でコンパイルが通らないんですが。
そもそもスタティックなクラスってナニなんでしょうか?
そしてスタティックなクラスをnew するってどういうことでしょうか?

下記のコードでa2.iとb2.iがちゃんと別々の値となっている所に
違和感を感じます

74下記のコード:2006/03/16(木) 13:43:11
public class StaticTest
{
public StaticTest() { }

public static void main(String args[]){
InnerClass a1;
a1.i=10;//a1が初期化されてない可能性があります

InnerClass b1;
b1.i=10;//b1が初期化されてない可能性があります

InnerClass a2 = new InnerClass();
a2.i=10;

InnerClass b2 = new InnerClass();
b2.i=100;

System.out.println("a1.i="+a1.i);
System.out.println("b1.i="+b1.i);
System.out.println("a2.i="+a2.i);
System.out.println("b2.i="+b2.i);
}

static class InnerClass{
int i;
}
}
75デフォルトの名無しさん:2006/03/16(木) 13:46:11
>>74
static とは関係ない。

普通に、

Object o;
String s = o.toString();

とかやっても同じ結果になる。
76デフォルトの名無しさん:2006/03/16(木) 13:51:05
eclipse wiki 死んでますか?
77デフォルトの名無しさん:2006/03/16(木) 13:52:03
生きてました すまんこ
78デフォルトの名無しさん:2006/03/16(木) 13:56:55
>>75 理解しましたありがとうございます。

ただ、staticなクラスをnew するっていう感覚については、やっぱりよくわからないです。
79デフォルトの名無しさん:2006/03/16(木) 14:02:50
staticをつけるとクラスに付属するもの。つけなければオブジェクトに付属するもの。
80デフォルトの名無しさん:2006/03/16(木) 14:04:12
>>78
もしかしてCのstatic変数みたく、固定のメモリ領域を静的に占めるとか考えてない?
8176:2006/03/16(木) 14:18:07
なんかeclipsewiki真っ白なんですが、私だけでしょうか?
82デフォルトの名無しさん:2006/03/16(木) 14:25:44
君だけ
83デフォルトの名無しさん:2006/03/16(木) 14:27:48
www.eclipse.netだと真っ白でeclipse.netだとちゃんと出ますた。
問題は個々のリンクがwww.eclipse.netなところ。一ページずつeclipse.netにすれば見えますが。
8476:2006/03/16(木) 14:39:45
>>83
どもっす。
めんどくさいですね・・・
85デフォルトの名無しさん:2006/03/16(木) 14:58:46
今直してる真っ最中なんじゃないか?
見えたり見えなかったりするぞw
86デフォルトの名無しさん:2006/03/16(木) 15:31:46
古いバージョンのJUnitってどこで手に入るでしょうか?
junit3.8.1がほしいのです。http://www.junit.org/に行くと4.0しか見当たらなくて

j2sdk1.4.2_03+JDeveloperで使おうとしてます。
87デフォルトの名無しさん:2006/03/16(木) 15:36:52
複数のクラスでそれぞれ大きさが違うフォントで描画したいのですが、
この場合、それぞれのクラスで独自のフォントを作って持つのが
一般的なのでしょうか?それとも、ひとつのフォントを使いまわして
描画するときだけ大きさを変えたりするのでしょうか?
88デフォルトの名無しさん:2006/03/16(木) 15:37:38
修正
クラス→オブジェクト
89デフォルトの名無しさん:2006/03/16(木) 15:46:42
>>86
www.junit.orgに書いてあるsourceforge.netのほうを見てないでしょう。
3.8.2とかもあるよ。どうしてもアーカイブがなければCVSからソース落としなさいな。
90デフォルトの名無しさん:2006/03/16(木) 15:47:34
最近Javaはじめたんですが、オブジェクト指向って何なの?
モノとして扱うとか書いてあるけどどうもいまいち。
Cは今までも触ったことあるんだが、違いが分からん
クラスや継承があるから・・・ってわけでもないよな
Cでもmain関数だけで書くことはないし

入門書レベルじゃ違いはないってだけかな
9167:2006/03/16(木) 15:47:45
>>70
でも<jsp:include>って、HTTPリクエスト投げているんでしょ?
だとしたら、カスタムタグに比べて、負荷が大きいと思った。

「部品化したい」ということも>>65に書いてあるのだから、
あちこちで使ったら、1ページのリクエストを処理するのに、
内部的に何度もリクエストを送信することになるんでは?
92デフォルトの名無しさん:2006/03/16(木) 15:51:41
>>89 ありがとうございました。
おかげさまで、サンプルのテストクラスとテストケースの実行に成功しました。
でもJDeveloperだとSwing風のテストが実行できないくさいですね。 かなり しょぼ〜んです。
93デフォルトの名無しさん:2006/03/16(木) 15:55:33
>>90
クラスの中のメソッドの中身について言えばCの関数とほぼ同じだよ。
違うのはその外側。
94デフォルトの名無しさん:2006/03/16(木) 15:59:41
>>90 ここが結構いいと、お勧めしてみたりする
http://kmaebashi.com/programmer/object/index.html
95デフォルトの名無しさん:2006/03/16(木) 16:01:27
>>70
実際にHTTPプロトコルの送受信が行われるわけじゃない
96デフォルトの名無しさん:2006/03/16(木) 16:03:54
>>93-94
サンクス、読んでくる
97デフォルトの名無しさん:2006/03/16(木) 16:22:08
>>96
そうだ。C言語でもオブジェクト指向的に作られている標準関数がある。
それは FILE * 使って読み書きする関数群だ。
98デフォルトの名無しさん:2006/03/16(木) 16:37:43
>>91
> でも<jsp:include>って、HTTPリクエスト投げているんでしょ?

投げません。RequestDispatcher#include() と同じ。
99デフォルトの名無しさん:2006/03/16(木) 17:05:07
strutsをはじめようと思っているのですが、
作るwebアプリケーションに向き不向きはあるのでしょうか?
たとえばECサイトは向いてる気がするのですが、
単純なレンタル掲示板などは不向きな気がします。
どうなんでしょうか?
100デフォルトの名無しさん:2006/03/16(木) 17:12:49
>>99
なぜそう思うのか、根拠を書かないと何とも言えないな
掲示板程度ならPHPでいいよ
101デフォルトの名無しさん:2006/03/16(木) 17:16:40
>>99
向き・不向きはある。特性的にも規模的にもパフォーマンス的にも。
102デフォルトの名無しさん:2006/03/16(木) 17:18:25
>>100
なぜかといいますと、ECサイトは入力フォーム処理が多く、
ログイン処理やセッショントレースなどを必要としますが、
レンタル掲示板は、入力フォームは書き込みのときのみで、
セッション管理も、例えば掲示板のデザイン変更などかな。
と思ったからです。

>>101
パフォーマンスは普通に考えて落ちますよね。
10367:2006/03/16(木) 18:30:53
>>98
なるほど。私の勘違いが分かりました。ありがとう。
104デフォルトの名無しさん:2006/03/16(木) 18:33:12
>>43
そうです、Tomcatです

>>46
ふむふむ、そうだったんですか

とりあえず、
クライアントから送る時は文字コードを指定せずに
サーバで受け取った際に
UserName = new String( UserName.getBytes("8859_1"), "Shift_JIS" );
db.execute( "insert into "+DBName+" values( '" +UserName+ "', '" +UserScore+ "', CURRENT_TIMESTAMP )" );

という風に、変換してDBに追加したら文字化けせずに追加出来ました
どうもありがとうございました
105デフォルトの名無しさん:2006/03/16(木) 18:49:36
>>104
tomcatのバージョンにもよるが
useBodyEncodingForURI でググってみ。
106デフォルトの名無しさん:2006/03/16(木) 20:14:04
>>105
へぇ、こんな設定があったんですね
初めて知りました
サーバ内のserver.xmlを見てみた所、この記述はどこにも見当たりませんでした

情報どうもありがとうございました
10739:2006/03/16(木) 21:18:16
>>40>>41
レスありがとうございます。

クライアントに手間をかけさせないようにしたいのですが、
やはりそれは不可能なのでしょうか。

例えば、if文でJREのバージョンごとに別のXMLライブラリを呼びだすようにするとか。。。
やはりJRE1.3で読み込むとJRE1.5用のコードが仇になってエラーが発生してしまうのでしょうか?
108デフォルトの名無しさん:2006/03/16(木) 23:10:03
マルチスレッド環境で、staticメソッドが危険なのって
インスタンス変数を書き変えるケースの他 
何が考えられるんでしょうか。

例えばソケットのクライアント部品なんかがstaticメソッド
だったりしても問題はないですか
109デフォルトの名無しさん:2006/03/16(木) 23:15:17
>>108
複数の接続開くならstaticメソッドじゃだめだろ。
むしろ、staticメソッドでそんなことやろうと思ったこともない
110デフォルトの名無しさん:2006/03/17(金) 00:34:59
staticメソッドからクラスのstatic変数にアクセスするのはセーフじゃないけど
staticメソッド内のローカルな変数はスレッドセーフですよね。
と、いう事はメソッド内でnew Socket()することで作られるオブジェクトから成るセッションも
セーフなんじゃないかと思ったのです。で、頻繁に使うのでUtility的にstaticで、と。
>>109さん
だめな理由が今いちピンと来ないのでもう少し具体的に、
もしくはソースが有ったら教えて下さい。

111デフォルトの名無しさん:2006/03/17(金) 01:37:13
接続をマルチスレッドにしたいんじゃないの?
それならどっちにしろ new しなきゃだめじゃん
112デフォルトの名無しさん:2006/03/17(金) 01:51:22
>111
違います。
マルチスレッド環境でSocketクラスをnewするためのメソッドが
staticメソッドで大丈夫か、という話です。

先ほど本件に関して以下の様な文章を見つけました。

「staticメソッド内でnewして、その参照をローカル変数に代入しているのならば、
他のスレッドにその参照を渡さない限り(自分からしかアクセスできないのだから)大丈夫です。」

109さんの回答とはまったく逆ですよね。
多分staticメソッドについてぼんやりとした理解の方が多いのでしょう。
web上にも様々な相反する見識が散らばっていて、驚きました。

と、いう訳で誰か理路整然とした説明をガツンとかましてくれる方、待っています。
113デフォルトの名無しさん:2006/03/17(金) 01:56:09
>>108
static なメソッドに synchronized をつけると
Class レベルの同期になるというのも、危険な理由のひとつでは。

あと >インスタンス変数を書き変えるケースの他 
この部分なんだけど immutable な変数(Stringとか)ならOKでは?

ここら辺を参考にしてみては?
Java並列プログラミングTips
ttp://www.netgene.co.jp/java/concurrentTips.html
114デフォルトの名無しさん:2006/03/17(金) 02:07:52
>>112
よくわからんけど、Socketをnewするだけのメソッドを作って、
それをスレッドに渡して、そのスレッドをどんどんstartしていくの?
115デフォルトの名無しさん:2006/03/17(金) 07:48:35
>>112
こういうこと?
public static Socket createSocket(){
 Socket socket = new Socket(SERVER, DEFAULT_PORT);
 socket.setSoTimeout(3000);
 // 以下、ソケットのデフォルト設定が続く
 return socket;
}

定数の一部が未定義なのは雰囲気読んでくれ。
これはスレッドセーフだ。こういうのなら普通にするよなあぁ。

スレッドセーフかどうかは、スタックとヒープのメモリ管理の仕方を理解していれば
混乱することはないけどな。
依存するクラスのメソッドがスレッドセーフでない、とかだとちょいと面倒だけど。
116デフォルトの名無しさん:2006/03/17(金) 08:17:09
staticなユーティリティなんてやめてしまえ
よほど普遍的出ないかぎり後悔するよ
117デフォルトの名無しさん:2006/03/17(金) 08:47:18
ローカルなオブジェクトで、直接的にも間接的にも参照を外に漏らさなければ
static であろうがなかろうが、他のスレッドからアクセスできないのでスレッドセーフ。
ただし、Socket みたいな外部に繋ぐようなものは、
間接的に参照をさらしている可能性があるだろう。要熟読ドキュメント

new もオブジェクトが無くても実行できる点から見れば
ある意味 static メソッド

new でなく static メソッドがインスタンスを返すファクトリーメソッドは、
メソッドに任意の名前を付けられるなどnew に比べ利点が多い。
欠点は、それが一目ではファクトリーメソッドであることが分からないこと。
118デフォルトの名無しさん:2006/03/17(金) 09:40:10
String.sprit : String[]の結果の要素数だけを取得するようなメソッドはありますか?
119デフォルトの名無しさん:2006/03/17(金) 10:09:52
>>118
普通に split やって length だけ求めて結果を捨てちゃえばいいのでは?
int n = str.split(regex).length; とか。まあ、無駄と言えば無駄なんだが。
個数に応じて内容を使ったり使わなかったりする場合は普通に String[] に
入れて length 求めればいいんじゃないだろうか。で、使う場合はその配列を
使うと。
120デフォルトの名無しさん:2006/03/17(金) 10:33:28
>>118
>>119に同意。
仮にメモリ使用量や速度を気にしてるとしても、問題ないレベル。
このレベルに悩むぐらいなら、他の事に時間を使ったほうが良いかと思います。
121デフォルトの名無しさん:2006/03/17(金) 12:36:33
>>113
>あと >インスタンス変数を書き変えるケースの他 
>この部分なんだけど immutable な変数(Stringとか)ならOKでは?

Java 5.0 以降(言語仕様3版)で、
final 修飾子がフィールドにちゃんと付いているクラスのインスタンス変数なら
OK だけど、それ以外はだめ。

ややこしいので、だめってことにすれば安全w
122デフォルトの名無しさん:2006/03/17(金) 14:27:15
下記の様な方法で配列を作ることがあると思うんですが、この場合でも配列の要素
ってヒープに作られてるんでしょうか?

int[] test
= { 10, 75, 24, 32, 98,
72, 88, 43, 60, 35,
54, 62, 2, 12, 82,
};

123デフォルトの名無しさん:2006/03/17(金) 14:28:48
うn
124デフォルトの名無しさん:2006/03/17(金) 17:58:46
BigOって何
125デフォルトの名無しさん:2006/03/17(金) 18:06:21
マルチスレッドの同期のとこさっぱり意味が分からないorz
誰かボスケテ
126デフォルトの名無しさん:2006/03/17(金) 18:28:46
ラスボスは父親





以上FF12のネタバレでした
127デフォルトの名無しさん:2006/03/17(金) 20:23:27
ヒープとかスタックとか気にするのは良いけど、役立ててるのか?
128デフォルトの名無しさん:2006/03/17(金) 22:12:52
JAVAを勉強しようとおもうのですが、
JREとSDK双方ともインストールが必要なのですか?
129デフォルトの名無しさん:2006/03/17(金) 22:19:07
>>128
SDKをインストール時にJREも一緒にインストールされる。
SDKだけダウンロードしてインストールすればいいよ。
130デフォルトの名無しさん:2006/03/17(金) 22:24:29
>>129
ありがとうございます。
131デフォルトの名無しさん:2006/03/17(金) 22:58:15
>>126
まさか、悪の皇帝に操られていて機械の体になってるとか
王女は実は血のつながった兄弟だったとか言うんじゃなかろうな
132デフォルトの名無しさん:2006/03/17(金) 23:25:49
うわーベタな少年漫画みたいだ
133デフォルトの名無しさん:2006/03/18(土) 01:18:19
Java 5.0 で

Vectorを拡張して使ってます、
内部のadd_abc関数で警告が出てしまいます、どうしましょう。

「警告: [unchecked] raw 型 java.util.Vector のメンバとしての
add(E) への無検査呼び出しです。」

public class abcVector extends Vector {

………(省略)

public void add_abc( ABC abc_dat ){
add( abc_dat );←警告された
}
………(省略)
}
134デフォルトの名無しさん:2006/03/18(土) 01:31:19
>>133
マルチ乙…ってか、ABCだけを格納するVectorを作りたいだけなら、

Vector<ABC> abcVector = new Vector<ABC>();

でいいじゃん。
135デフォルトの名無しさん:2006/03/18(土) 01:32:53
>>133
Vectorを拡張したクラスにはABCクラスのオブジェクトしか入れないつもり
にしているのなら、
  public class AbcVector extends Vector<ABC> {
のようにしてやればいいと思う。


136デフォルトの名無しさん:2006/03/18(土) 02:27:20
>>134
その方法は知ってました。でもありがとう。

>>135
この方法を探していたんです。感謝!感謝!
(133本人←初心者マーク)
137デフォルトの名無しさん:2006/03/18(土) 02:50:52
ラスボスは、
悪の皇帝に操られて機械の体になっている血の繋がった王女





の格好をしている父親
138デフォルトの名無しさん:2006/03/18(土) 04:45:17
いや、王女の血は繋がってない方がいいだろ。
とマジレス
139デフォルトの名無しさん:2006/03/18(土) 04:48:49
で、>1のウィキのページがなんかおかしいんですけどどうしたらいいでしょうか?
お勧めの本とか載ってないかなと思ったのですが。
140デフォルトの名無しさん:2006/03/18(土) 09:10:33
>>139 http://www.wikiroom.com/java/
さきほど復旧しました。中の人、乙!

http://www.wikihouse.com/pukiwiki/index.phpのWhat's Newに経緯が書いてあった。
141デフォルトの名無しさん:2006/03/18(土) 11:05:01
>>140 >中の人
GJ!
ありがとうございます。
142デフォルトの名無しさん:2006/03/18(土) 12:24:10
>>138
繋がっていると思ってたけど、実は繋がっていなかった!

が最強
143デフォルトの名無しさん:2006/03/18(土) 13:36:44
writeln("");を使用するときに("")内に21"と入れたい場合、21"の記入方法は変更せずに
記入するにはどうすればよいですか?

144デフォルトの名無しさん:2006/03/18(土) 14:01:49
>>143
プリプロセッサを自作
145デフォルトの名無しさん:2006/03/18(土) 15:47:56
なぜあなたはJavaでオブジェクト指向開発ができないのか
って本の中のプログラムをそのままEclipseで組んでみたんだけど、
メソッドは引数()に適用できませんだの○○を解決できませんだのエラーが出まくる…何で?
ttp://www.uploda.org/uporg339332.txt
146デフォルトの名無しさん:2006/03/18(土) 15:54:58
class Player{
private double playerHand = 3 * Math.random();
 public int showHand(int playerHand){
  this.playerHand = playerHand;
 }
}

これはもうだめだ。見捨てよう
147デフォルトの名無しさん:2006/03/18(土) 15:55:42
if(result = true)
148デフォルトの名無しさん:2006/03/18(土) 16:03:22
>>146
何がダメなんですか?
149デフォルトの名無しさん:2006/03/18(土) 16:34:30
なぜオブジェクト指向で開発できないか垣間見ることができた気がする
つーか、その本読んでもダメってことがわかった
150デフォルトの名無しさん:2006/03/18(土) 16:45:20
やらなきゃ単位取れんからこっちだって必死なんです
151デフォルトの名無しさん:2006/03/18(土) 16:51:19
>>150
単位なんてとれなくたって別に死ぬわけじゃない。
ゆっくり覚えなよ。
勉強嫌いになっちゃうよ。
できることを1つ1つ積み上げていけばいい。
わからないことは正直にわからないと、調べていないことは調べていないと正直に言える人間になればいい。
152デフォルトの名無しさん:2006/03/18(土) 16:55:37
もうそんな悠長なこと言ってられる状況じゃないから焦ってるんですよ
今月中にJavaの基礎全部叩き込まなきゃ学校辞めることになるんだから
まぁ他人からすりゃ俺の都合なんぞどうでもいいことですがね…
153デフォルトの名無しさん:2006/03/18(土) 17:12:42
その通り。個人の都合を持ち出すな。
学生なのにそこをわきまえているとは、なかなか見どころある。
社会人にもなってわかってない奴も多いからな・・・
154デフォルトの名無しさん:2006/03/18(土) 17:16:15
まあそんなこと関係なしに>>146が何故駄目なのかが分からない
155デフォルトの名無しさん:2006/03/18(土) 17:42:48
>>154
俺も初心者だからわからんが、とりあえず
main関数がないから動かないんじゃないか?
プログラムがこれで全部じゃない気がする。
156デフォルトの名無しさん:2006/03/18(土) 17:42:58
こんな低脳クズ野郎がJavaを勉強しないで欲しい
これだからPGの地位が下がるから困る
157155:2006/03/18(土) 17:47:57
>>156
低脳クズ野郎は認めるが、PG以外雇ってくれるところが無いのよ。
そろそろクビなりそうな予感はあるけど。
158デフォルトの名無しさん:2006/03/18(土) 17:55:00
そのときその場の状況がどうであろうがなるようにしかならんでしょう。
焦ってようがどうだろうが入門書を一冊じっくり読むことができんと話にならんでしょ?
わからない箇所を潰して行ってどうにかなりそうな問題なのかどうかはこっちからじゃようわからんし。
159デフォルトの名無しさん:2006/03/18(土) 18:03:16
Javaの基礎覚えないと、単位がもらえないか知れんけど
学校辞める必要はないんでないかい?家庭の事情は知らんけど。
今年度単位とれなくても次年度から取っていっても、卒業までに追いつかない
ようなカリキュラムになってるのかな、それなら留年確定だが。
残り十日がんばれ。
160デフォルトの名無しさん:2006/03/18(土) 18:08:19
//最終的な勝者を表示するメソッド
Player finalWinner = judgeFinalWinner(player1, player2);


//最終的な勝者を判定して返すメソッド
private Player judgeFinalWinner(Player player1, Player player2){

Player winner = null;

//プレーヤー1,2から勝ち数を聞く
int player1wincount = player1.getWinCount();
int player2wincount = player2.getWinCount();

//勝敗を判定する
if(player1wincount > player2wincount){
winner = player1;
}
else if(player1wincount < player2wincount){
winner = player2;
}

return winner;
}

とりあえずこれで何でplayer1を解決できません、player2を解決できません ってエラーが出るんだ
文法上どこも間違ってないのに
161http://www.vector.co.jp/soft/win95/util/se072729.html:2006/03/18(土) 18:15:25
TextSSの64bit化ってできない?
162デフォルトの名無しさん:2006/03/18(土) 18:19:28
何が原因かを追究していくしか。
Player finalWinner = judgeFinalWinner(player1, player2);をコメントアウトして
コンパイルしてみるとか。player1、player2に関係するところをコメントにしたり
しなかったりしてコンパイルしてみては?
163デフォルトの名無しさん:2006/03/18(土) 18:24:36
>>160
> 〜を解決できません
Player というクラスをコンパイルできていない可能性。

>>147 みたいな箇所が動作不良の原因。


まあ、どうしても出来ないなら宿題スレに丸投げするか、ね。
お奨めしないけど。
164デフォルトの名無しさん:2006/03/18(土) 18:36:11
コピペしたらPlayerクラスはコンパイルできるから、他っぽい。
165デフォルトの名無しさん:2006/03/18(土) 18:36:14
>>148
<致命的な点>
戻り値の宣言が int なのに return が無い。もしくは、
戻り値の宣言を void にする。
166デフォルトの名無しさん:2006/03/18(土) 18:38:34
>>165
>>145からの抜粋で本来はreturnもあるのよ。
167デフォルトの名無しさん:2006/03/18(土) 19:16:04
>>160
ソースはどう分けてますか?
クラスごとにファイルを分けておいて。
あと書き込むとき、
名前欄に同一者を示す言葉を入れてね。

>>145
のソースでまず挙げられるのが
Player クラスに getName() メソッドが定義されていない。
気になるところ幾つもあるけど一つずつね。
168デフォルトの名無しさん:2006/03/18(土) 19:32:56
- Player.getWinCount メソッド定義に引き数が要らない可能性。
- Judge に finalWinner 変数が定義されていない。
(winner が finalWinner になってしまっている。)
- Judge.judgeJanken メソッド内での player.showHand メソッド呼び出しに
引き数が付いていない。
- Judge クラスに player1WinCount と player2WinCount の変数定義がない。

169デフォルトの名無しさん:2006/03/18(土) 19:46:36
all in one eclipse3.1とTomcat5.5を使用しています。
eclipseからtomcatを登録して、スタートさせました。
そして、http://localhost:8080/ をブラウザで立ち上げたのですが、
404がかえってきます。
server.xmlのdocBaseなどもきちんと設定してるのですが、
どんな原因が考えられますか?
170デフォルトの名無しさん:2006/03/18(土) 19:59:33
>>169
実はTomcatがスタートしていないとか。
対応OS、ファイアウォールの設定はどうかな?
171デフォルトの名無しさん:2006/03/18(土) 20:50:00
>>170
おっしゃるとおり、eclipseからうまくTomcatがスタートしていないです。
all in one eclipseの設定ミスっぽいので、もう少し調べてみます。
ありがとうございます。
172デフォルトの名無しさん:2006/03/18(土) 22:52:58
eclipseでクラスファイルができなくて泣いています。
設定方法を教えてください。お願いします。
173デフォルトの名無しさん:2006/03/18(土) 23:01:18
専用スレ池
174デフォルトの名無しさん:2006/03/18(土) 23:01:42
[CTRL]+[B] ?
175デフォルトの名無しさん:2006/03/18(土) 23:11:59
176デフォルトの名無しさん:2006/03/19(日) 00:05:31
>>172
パースペクティブがJavaに成っていない予感
177デフォルトの名無しさん:2006/03/19(日) 00:23:36
>>160
>とりあえずこれで何でplayer1を解決できません、player2を解決できません ってエラーが出るんだ

ふつうに

>//最終的な勝者を表示するメソッド
>Player finalWinner = judgeFinalWinner(player1, player2);

この player1, player2 がどこにも定義されていない予感
178デフォルトの名無しさん:2006/03/19(日) 05:43:43
入門書読んで一応理解はできる、
30行程度のプログラムなら書けるけど
100行以上とかになると全然書けなくなる…
どうしたらいいんだ
179デフォルトの名無しさん:2006/03/19(日) 05:45:02
必要に迫られれば書けるようになる
180デフォルトの名無しさん:2006/03/19(日) 07:03:23
実装が目的じゃない
あくまで実現手段だ
何を実現させたいか、
それ次第
そういうことに気付
かない奴は、向かない
181デフォルトの名無しさん:2006/03/19(日) 07:04:27
>>178
行数はとくに重要じゃないんじゃないの?
182デフォルトの名無しさん:2006/03/19(日) 09:23:08
>>178
GUIプログラムに挑戦してみると行数は稼げそうな気がする。
簡易ファイル名変更ソフトとか。便利さを追求してくと結構色んな
機能が考えられそう。ファイル複数選択、連続入力、一括変換、連番サポート、
ドラッグアンドドロップ、出来るだけマウスを使わないでとか。
簡単なものでいいからソフト一本作ってみるのが、早いんじゃない?
183デフォルトの名無しさん:2006/03/19(日) 09:59:07
こんなフォーマットで書けば行数が稼げる

public void f(boolean a,
int b,
int c)
{
if(a)
{
...
}
}
184デフォルトの名無しさん:2006/03/19(日) 10:06:37
初めて投稿します。
自分で作成したクラスの hashCode() 実装って、何か指標みたいなのはあるのでしょうか?
developer works でそれの記事はあるのですが、この方法だと hash が衝突しそうな気がします。
equals() の条件を満たすため、ある程度の妥協有りきで実装するんでしょうか?
185デフォルトの名無しさん:2006/03/19(日) 10:17:13
>>184
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/Object.html

これ以上の指標は無いと思うが、不足だろうか?

# 真も偽も、equals の代わりには、ならないのよね。
186デフォルトの名無しさん:2006/03/19(日) 10:23:20
ありがとうございます。
自分の過ちに気がつきました。

hashCode() は vm のメモリ管理として使われると勘違いしていました。
vm の instance 管理は System.identityHashCode(Object) なのですね。
187デフォルトの名無しさん:2006/03/19(日) 10:53:20
>>185を見る限り、
return 0;
でも間違いではないってこと?
188デフォルトの名無しさん:2006/03/19(日) 10:57:40
>>187
hashCode と equals の一般的なルールに従うなら。
189デフォルトの名無しさん:2006/03/19(日) 12:24:07
>>184
.Net側の hashcodeの説明
http://msdn2.microsoft.com/ja-jp/library/system.object.gethashcode(VS.80).aspx

javaでもいえるのだが計算時に循環参照をしてはダメというのもある。
190デフォルトの名無しさん:2006/03/19(日) 12:54:08
64bitVMではintよりlongのほうが計算がはやかったりするのでしょうか?
191デフォルトの名無しさん:2006/03/19(日) 12:57:40
>>190
64bitのintって64なの?
unsigned long long intとかいう奴ちゃう?
それがintなの?つか、longって何?
192デフォルトの名無しさん:2006/03/19(日) 13:01:11
>>145
それ何ページ目?
193デフォルトの名無しさん:2006/03/19(日) 13:02:37
eclipse3.1.1でstrutsの開発をしているのですが、
コンパイルをしてもアクションのクラスファイルだけ作成されません。
その他も、作成されるクラスと作成されないクラスファイルがあります。
何が原因でしょうか?
194デフォルトの名無しさん:2006/03/19(日) 16:19:52
なんでJAVAの本って簡単なサンプル解説するだけで問題ではいきなり難しいプログラム書かせようとするの?
しかもまだやってない範囲の部分混ぜようとするし
著者は読者をバカにしたいだけか?
195デフォルトの名無しさん:2006/03/19(日) 16:23:41
>>194
それのほうが自分で調べたりするからいいじゃん。
教えられた枠から出ようとする好奇心がないと勉強なんてむりだろ
196デフォルトの名無しさん:2006/03/19(日) 16:26:33
ゆとり教育か。
197デフォルトの名無しさん:2006/03/19(日) 16:38:34
文字一つでも間違えりゃダメになるプログラミングを他の勉強と一緒にするなよ
198デフォルトの名無しさん:2006/03/19(日) 16:42:34
>>197
すまん、言いたい事がよくわからん。
199デフォルトの名無しさん:2006/03/19(日) 16:42:44
>>197
じゃあしょうがないな、javaはあきらめてくれ
200デフォルトの名無しさん:2006/03/19(日) 16:44:57
SEとかPGになるとこんなに性格腐るんだよね
201デフォルトの名無しさん:2006/03/19(日) 16:51:04
そう。だからお前には向いてない。
はやく割り箸を袋に入れる作業に戻るんだ。
202デフォルトの名無しさん:2006/03/19(日) 16:52:57
>>200
奴隷のような環境も多いから・・・
中途半端に仕事できる人が一番割りに合わない気がする。
203デフォルトの名無しさん:2006/03/19(日) 16:53:46
ドカタがドカタに向かって何言ってんだと思った
204デフォルトの名無しさん:2006/03/19(日) 17:31:33
>>194
Javaの問題というか、あなたが選んだ本が糞本だっただけではないでしょうか。
数は少ないですが、まともな入門書は一応あります。
よろしければ、本のタイトルを教えてもらえませんか?
205デフォルトの名無しさん:2006/03/19(日) 17:35:15
独習Java
206デフォルトの名無しさん:2006/03/19(日) 17:43:12
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27359
これでsynchronizedを外して実行しても、何度やっても同じ結果にしかならないんだけど…
解答を見たら、違う結果になることもあるらしいんだけど
main()でスレッドの完了を待機してるわけだから、synchronizedってあっても無意味じゃないの?
207デフォルトの名無しさん:2006/03/19(日) 17:54:11
>>205
独習Javaは、演習問題中心のスタイルが評価されているが、ついてけない人には厳しいのかもな。
ちなみにこれ、元は8年も前に出版された洋書。その翻訳が、内容をほとんど変えずに未だに版を重ねている。
第3版でJava5対応とか謳ってるけど、はっきり言って羊頭狗肉もいいところ。

俺ならこれを勧める。
「明解 JAVAプログラミング入門 2nd Edition」
http://www.amazon.co.jp/exec/obidos/ASIN/479800779X/

または、思い切ってこれくらいの方が、わかりやすいかもしれない。
「やさしいJava 第3版」
http://www.amazon.co.jp/exec/obidos/ASIN/4797331828/
208デフォルトの名無しさん:2006/03/19(日) 18:01:10
>>206
+=演算子の実行中に他のスレッドが動くことはなかったような希ガス。
deposit()を、
int newBalance = balance + amount;
balance = newBalance;
としたら結果が変わるかも。
209デフォルトの名無しさん:2006/03/19(日) 18:01:14
>>206
run() 内の for のループカウント数をうんと増やすと、結果が変わってくるのがわかるよ。
ループ数が少ないから、スレッドの切り替えの必要がないと、
VMが判断しているためかな。
210ジン:2006/03/19(日) 21:56:11
すいません。Java経験の浅いビギナです。
本とか、HPとか、もちろんAPIもクラスをたどったりしたのですが、
なかなか解決が出来ないので質問させてくださいm(__)m
Imageクラスで出来た画像(オブジェクト)から
Fileクラスのオブジェクトを作りたいのですが、なかなかつながりません。
Fileクラスを作るには
ImageIO.write(RenderedImage ,String,File)クラスを使うと良いと思いますが、
Image→RenderedImageとかできますか? 他の方法が良いのでしょうか?
どなたかご教授を!!
211デフォルトの名無しさん:2006/03/19(日) 22:00:35
>>210
BufferedImage 使え。 RenderedImage 実装してるから。
212デフォルトの名無しさん:2006/03/19(日) 22:02:40
>>210
他のいい方法があるかも知れないが

RenderedImage の具象クラスを作り(たぶん BufferedImage)、
そこから Graphics オブジェクトを取得して Image をカキカキ
213ジン:2006/03/19(日) 22:03:22
>>210
即答ありがとうございます。
やってみます。m(__)m
214デフォルトの名無しさん:2006/03/19(日) 22:06:48
>>206
main スレッドと子スレッドとの競合はないが、子スレッド間の競合がある
215デフォルトの名無しさん:2006/03/19(日) 22:21:57
StringBuilderなどのバッファから
Stringをコピーをせずに生成する方法はありませんか?
元のバッファはそれに伴いReadOnlyになって構いません

いい方法があれば教えてください。
216デフォルトの名無しさん:2006/03/19(日) 22:27:23
String str = new String( StringBuilder::toString() );
は?
217デフォルトの名無しさん:2006/03/19(日) 22:28:32
>>216
それはStringBuilder#toStringがおもっくそコピーしとります。
218デフォルトの名無しさん:2006/03/19(日) 22:30:47
new Stringしている時点であぼーん
219デフォルトの名無しさん:2006/03/19(日) 22:34:11
>>215
たぶん無理。そもそも StringBuffer を readonly にする方法が無いし。

この場合、いい方法とは本当にコピーを生成してはいけないのかを考える事だな。
220215:2006/03/19(日) 22:38:49
巨大なログファイルを読み込むのでコピーしたら凄いことになってしまいます。
221デフォルトの名無しさん:2006/03/19(日) 22:41:04
>>220
それは、String でなく Stream をベースにする話だと思う今日この頃
222デフォルトの名無しさん:2006/03/19(日) 22:49:16
String にしないで CharSequence 使ってもいーんじゃねーかと思う今日この頃。
223デフォルトの名無しさん:2006/03/19(日) 22:50:23
>>184
Jakarta commons を使っていいなら、
Lang の HashCodeBuilder が便利。
ていうか、自前でやるとすごい面倒そうだ。
224デフォルトの名無しさん:2006/03/19(日) 22:58:49
ハッシュは任意の小さな数字にプリミティブな
全ての数値を掛けていくのがシンプルでパフォーマンスのバランスが良い
不変クラスだったりハッシュ値計算対象が多い場合は
最初のhashCode呼び出しのみ計算対象としてキャッシュさせるべき
setterがあるならそこでalready=falseみたいにして
再度ハッシュ値を計算するようフラグを立て直すべし
225デフォルトの名無しさん:2006/03/19(日) 23:08:08
>>224
>不変クラスだったりハッシュ値計算対象が多い場合は
>最初のhashCode呼び出しのみ計算対象としてキャッシュさせるべき

スレッドセーフ性に注意
スレッドセーフでない不変クラスは情けないような希ガス

int のアトミック性を利用すれば、
多重計算の可能性がある代わりに同期の必要性を避けることができるかもしれん。
String クラスがそれっぽいことやってたような。
226デフォルトの名無しさん:2006/03/19(日) 23:13:20
当たり前のようにアトミック性とかのコトバ使うのはどうかな
227デフォルトの名無しさん:2006/03/19(日) 23:23:01
class ThdC extends Thread {
AppMain appmain;

public ThdC(AppMain am){
appmain = am;
}
public void run(){
for(int i=0;i<=1000;i++){
                             処理略
try{
ThdC.sleep(appmain.intSpeed*appmain.stopTimeC);
}
catch(InterruptedException e){
//処理なし
System.out.println("Err");
}
}
}
}

このスレッドがスリープしている間にイベントで一時停止させて、イベントで続きから再開したいのですが、いいメソッドがありませんか?
228デフォルトの名無しさん:2006/03/19(日) 23:29:41
スレッドが全く理解できないんだけど
飛ばして先に他のとこ勉強しても問題ない?
229デフォルトの名無しさん:2006/03/19(日) 23:33:46
だーめ。そんな覚え方、お兄さん納得できないな。
例え配点的にどうでもよかったとしてもスレッド使えないJava認定者は存在に困るよ
230227:2006/03/19(日) 23:35:05
スレッド一時停止的なメソッドがないかと・・・・
スレッドは普通のスリープ入りスレッドだと思います、わざわざ乗せるほどでもなかったんですけどすいません。
Threadクラス見たんですけど
stop
yield
isInterrupted

いいものがなくて・・・・相談しました
231デフォルトの名無しさん:2006/03/19(日) 23:36:35
>>227
普通はフラグかなんかで停止と再開を制御する。

普通でないやり方としては、推奨されていないのを承知で Thread.suspend() と Thread.resume() 使うとか。
232デフォルトの名無しさん:2006/03/19(日) 23:39:00
>>227
ゴリゴリ実装するしかなさげ?

処理側:
try {
 while(! finished) {
  synchronized(this) {
   while(! stopRequired) {
    wait();
   }
  }
  finished = doSomthingALittle();
 }
} catch(InterruptedException e) {
// 中断処理
}

制御側:
void synchronized 一時中断() { stopRequired = true; notifyAll(); }
void synchornized 一時中断を再開() { stopRequired = false; notifyAll(); }
233デフォルトの名無しさん:2006/03/19(日) 23:39:36
>>215
String str = new String(StringBuilder)
のToString()を除いたほうではどう?
ソースを見る限りでは String と StringBuilder 間で char配列が共有されるみたいだけど…
234227:2006/03/19(日) 23:39:47
>>231
フラグ・・・なるほど、
でもできたら単純にメソッドで一時停止みたいのがいかったのですが、
ちょっと調べてみます、ありがとうございます。
235デフォルトの名無しさん:2006/03/19(日) 23:40:06
スレッドは大事。
>>206 へのレスが伸びないところを見ても、
ここの住人はスレッド理解していない人が多い。
>>227の場合sleepじゃなくて、waitしてnotifyかな。
236デフォルトの名無しさん:2006/03/19(日) 23:40:58
>>229
じゃあスレッドを分かりやすく解説してくれる本とかサイトとかないですか?
ググっても詳しい解説とか無しにいきなり長文サンプルとか載ってけるだけのとこしかない…
237デフォルトの名無しさん:2006/03/19(日) 23:42:41
238227:2006/03/19(日) 23:42:47
>>235
waitってどこのメソッドですか?
239デフォルトの名無しさん:2006/03/19(日) 23:43:27
>>238
java.lang.Object
240デフォルトの名無しさん:2006/03/19(日) 23:43:30
>>238
Object
241227:2006/03/19(日) 23:43:58
↑あごめんなさい
ありました。wait

242デフォルトの名無しさん:2006/03/19(日) 23:44:21
>>233
されない、されない。
StringBuilder#toString()の戻り値を代入してるだけ。
中身はString(char value[], int offset, int count)だよ。
243デフォルトの名無しさん:2006/03/19(日) 23:47:44
>>236
Java のマルチスレッド関係では 100% リファーされるダグリーの本が古典っぽいが、
英文むず。日本語訳が絶版で、でも友達が持ってたの貸してもらったが、ひど。
244215:2006/03/19(日) 23:48:39
CharSequenceで何とかするようにします。
幸いにもMatcherを作る場合の引数はCharSequenceですしね。
これにてクローズ、ありがとう。
245233:2006/03/19(日) 23:51:14
>>242
StringBufferクラスのToString()は return new String(this);を行っていて、
StringクラスのStringBufferを引数にとるコンストラクタは、
public String (StringBuffer buffer) {
synchronized(buffer) {
buffer.setShared();
this.value = buffer.getValue();
this.offset = 0;
this.count = buffer.length();
}
}
となってるんだけどやっぱり間違ってる?
ソースはj2sdk1.4.2_08のを見てます。
246227:2006/03/19(日) 23:55:43
スレッドでwaitを使ってみました
Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
at yoshimune.MouseListenerAppMain.mousePressed(AppMain.java:350)
at java.awt.Component.processMouseEvent(Component.java:5485)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
スレッドが止まってくれません なぜでしょうか・・・モニターの所有権??

フラグでやってみます
247デフォルトの名無しさん:2006/03/19(日) 23:57:13
>>245
5.0だとこうだな
public synchronized String toString() {
    return new String(value, 0, count);
}
248233:2006/03/20(月) 00:02:30
>>242 , >>247
なるほど意味が分かりました。
スレ汚し失礼しました。
249デフォルトの名無しさん:2006/03/20(月) 00:03:36
>>246
これじゃ、だれもエスパーできんだろう。
と、あさはかな凡人は思うのであった。
250デフォルトの名無しさん:2006/03/20(月) 00:07:48
>>246
とりあえず、エラーメッセージをよくよめ。
そして、こう叫ぶのだ。

   ぬ   る   ぽ  !
251デフォルトの名無しさん:2006/03/20(月) 00:11:42
ArrayListの10行目に値を挿入する書き方ってどうするのでしょうか?
252227:2006/03/20(月) 00:14:44
たびたびすいません。ぬるぽです
フラグでもだめでした原因をまとめてみます。
やりたいこと、アプレットのクラスから三つの独立したスレッド実行させます。それぞれのスレッドにはsleep文が入っております。
イベントを発生するとひとつのスレッドがとまる、そしてイベントでまた動き出す。
それを三つ作りたいだけなんです。
sleep時間をイベントで変化させてとめてみたんですけど、入るとそのsleep終わるまで待ってなきゃいけない。
フラグでどうすればいいのですか?
253デフォルトの名無しさん:2006/03/20(月) 00:17:01
>>252
だからぬるぽなんだって
254227:2006/03/20(月) 00:19:30
NullPointer=ぬるぽ?
255デフォルトの名無しさん:2006/03/20(月) 00:20:21
>>251
俺たちは辞書じゃないということをまず念頭に入れて考え直して欲しい。
256デフォルトの名無しさん:2006/03/20(月) 00:43:47
>>236
マルチスレッド・プログラミングの基本
http://www.javaworld.jp/technology_and_programming/-/10943.html

>>237
その本ダメ、著者がスレッドのことをあまり理解していないのに本を書いてる。
257デフォルトの名無しさん:2006/03/20(月) 01:23:19
>>236
IBM の developerWorks は、結構良い記事が多いっぽく、参考になる。

Javaの理論と実戦: Javaメモリ・モデルを修正する 第1・2回
http://www-06.ibm.com/jp/developerworks/java/040416/j_j-jtp02244.html
http://www-06.ibm.com/jp/developerworks/java/040514/j_j-jtp03304.html

Javaの理論と実践: 安全な構築のテクニック
http://www-06.ibm.com/jp/developerworks/java/020823/j_j-jtp0618.html

前者は、上級レベルになってるけど、これが上級なら
マルチスレッドは上級者じゃないと弄っちゃだめってこと。ていうか、弄るな!orz
258デフォルトの名無しさん:2006/03/20(月) 01:25:33
>>257
最後の部分、なんかあったのか?w
259デフォルトの名無しさん:2006/03/20(月) 01:30:03
>>256
あれダメなの?
ってか2chで聞くと必ず否定的な答えしか返ってこないんだよな…
260デフォルトの名無しさん:2006/03/20(月) 01:35:14
>>259
俺もその本参考になったと思うけど・・・・
261デフォルトの名無しさん:2006/03/20(月) 10:13:49
これから自作する外部の機器と通信したいんだけど
Javaからとなるとどんなのが手軽?
USB?RS-232C?
262デフォルトの名無しさん:2006/03/20(月) 10:22:47
TCP/IP でソケット通信
263デフォルトの名無しさん:2006/03/20(月) 10:26:51
>>262
Javaとしては通信しやすいんだけど
TCP/IPに対応した機器作るのってめんどくさくない?
264デフォルトの名無しさん:2006/03/20(月) 10:27:30
>>263 CSとかプロトコルコンバータとか知らない?
265デフォルトの名無しさん:2006/03/20(月) 10:33:23
>>264
おお、こんなものがあったのか。
サンクス

だが高いなorz
266デフォルトの名無しさん:2006/03/20(月) 10:34:12
>>263
めんどくさい。↓使うとか。
http://www.shoshin.co.jp/c/lantro/xport.html

JNI で作る気があるならどれもたいして変わらない。
267デフォルトの名無しさん:2006/03/20(月) 10:40:07
>>266
そうか・・・
何とかやってみる。
268デフォルトの名無しさん:2006/03/20(月) 10:59:39
本「独習Java」ジョセフ・オニール著を買って今日からJavaをはじめましが、11ページで
いきなり、躓いてしまいました。コンパイルをすると
「エラー:File.javaを読み込めません」となってしまいます。
ファイルは存在しますし、パスの設定もしております。

どんな、原因が考えられるでしょうか?
269デフォルトの名無しさん:2006/03/20(月) 11:04:34
最近本ネタ多いが春休み?

>>268
ファイルが存在しない。
270デフォルトの名無しさん:2006/03/20(月) 11:08:17
271デフォルトの名無しさん:2006/03/20(月) 11:09:47
>>268 こことか、一通り確認してみたら
http://javafaq.jp/S002.html#S002-02

解決したらレポして、参考にする。
272268:2006/03/20(月) 11:24:27
>>269->>271さん
解決しました。拡張子が.java.javaになっていました。
お騒がせして申し訳ありません。
273デフォルトの名無しさん:2006/03/20(月) 12:48:36
>>272
ニュータイプだな。
274268=272:2006/03/20(月) 13:14:01
コンパイルは通りましたが、実行時に下記のようなエラーが出ます。
Exception in thread "main" java.lang.NoClassDeFoundEroor: file

>>271さんの指摘してくれたサイトには、
>実行時エラーがでていることから、javaインタープリターは動いています。
>HelloWorld という名前のクラスがみつからないというエラーです。
>
>プロンプト> java -classpath . File
>
>でどうでしょう? これでうまくいくならば CLASSPATH環境変数の
>設定に . (ドット、ピリオド)がないのが原因です。
>CLASSPATH環境変数は、間違い易いことが多い機能ですので完全に理解するまでは使わず、
>-classpath 実行時オプションでクラスパス(java VM がクラスファイルを探すパス)を
>教えてあげることをお勧めします。

とありまして上記のようにすれば実行できました。
CLASSPATH環境変数の設定に . (ドット、ピリオド)がないとは、どういう意味ですか?
また、CLASSPATH環境変数はどうやって設定するのでしょうか?

初歩的な質問ばかりですみません。
275デフォルトの名無しさん:2006/03/20(月) 13:26:48
java.net.URLConnection#getContentType()って、
charsetを含まないものを返すの?

ためしに、www.yahoo.co.jpにつないでgetContentType()してみて。
同じインスタンスにgetHeaderField("Content-Type")したときと違う値を返す。
276デフォルトの名無しさん:2006/03/20(月) 13:57:58
>>274
. は、カレントディレクトリ。
この場合は、実行したときのディレクトリ
CLASSPATH の設定はシェルによる。OSと環境がわからないと。
277268=272=274:2006/03/20(月) 14:08:14
>>276さん
レスありがとうございます。
動作環境は、Windows XP HOME SP2、Javaは、JDK5.0です。
278デフォルトの名無しさん:2006/03/20(月) 14:54:14
ならcmd.exe?
SET コマンドで、

SET CLASSPATH=.:%CLASSPATH%

とかやってみるとか。
恒久的には、マイコンピューターのプロパティの詳細の環境変数のとこに。
ここにいれるのは、SET CLASSPATH で出てきた文字全部であって、%CLASSPATH%ではない
279デフォルトの名無しさん:2006/03/20(月) 14:55:05
って区切りは ; だな。 .;%CLASSPATH% で。
280デフォルトの名無しさん:2006/03/20(月) 15:04:31
web.xml で /hoge 以下の URL だけデフォルトの動作 (JSP プロセッサやファイルサーブレット) で、
それ以外は自作のサーブレットへ渡したいんだけど、url-pattern はどう書けばええんじゃ?
url-pattern のワイルドカードは正規表現みたいに 「/hoge/* 以外」 って記述できる?
281デフォルトの名無しさん:2006/03/20(月) 15:24:11
>>280
コンテナ依存だけど、
Tomcatなら default と jsp というservlet-nameを持つサーブレットへのマッピングを書くことで、
「/hoge/*はデフォルト」という指定ができそうな予感。
282デフォルトの名無しさん:2006/03/20(月) 15:25:55
LineBreakMeasurer.nextLayout(float wrappingWidth, int offsetLimit, boolean requireNextWord)
の三つ目の引数の意味が、ドキュメントを見てもぐぐってみても試してみても
さっぱりわかりません。知ってる方がいたら教えてください。
283デフォルトの名無しさん:2006/03/20(月) 15:40:50
>>281
そうか、互換性のある記述はできなさそうね。default サーブレットの簡易版くらいなら自作サーブレットに
組み込めるんだけど、JSP プロセッサはさすがに無理だしなぁ。

ふと思ったんだが、/hoge 以下のリクエストは FilterChain#doFilter()、それ以外は自作サーブレットと
同じ処理をする Filter クラス作って /* にマップすれば良いのかな? お、何か出来そうなふいんき
284デフォルトの名無しさん:2006/03/20(月) 15:43:31
>>282
java.awt.font.LineBreakMeasurer のサンプル見たけど、英文の改行処理用の引数だと思われ。
英文は基本的に単語の途中では改行できないって奴ね。ハイフンつけられるなら話は別だけど。
行頭だと false、行頭以外では true に設定してるし。
285277:2006/03/20(月) 16:06:38
>>278,279さん
レスありがとうございます。試してみます。
286デフォルトの名無しさん:2006/03/20(月) 16:24:42
>>284
なるほど。そういわれればそんなふうに意味が取れますね。ありがとう。
ドキュメント分かりにくすぎ
287デフォルトの名無しさん:2006/03/20(月) 17:24:08
public class HelloWorld{
//色々
}

なんて書くと思うんですけど。
private なクラスってありえるんでしょうか?
288デフォルトの名無しさん:2006/03/20(月) 17:27:23
>>287
メンバ型なら private なクラスもあるよ。

トップレベルには public か無指定(パッケージプライベート)にしかできないけど。
289デフォルトの名無しさん:2006/03/20(月) 18:16:56
スレッドがムズいんですけど
290デフォルトの名無しさん:2006/03/20(月) 18:33:55
下らない質問かもしれませんが

Socket で通信してるとき
一方が close() したのを、もう一方はどうやって調べるんですか?
isConnected() を見てもずっと true のまんまですし
291デフォルトの名無しさん:2006/03/20(月) 18:36:27
socket.getInputStream().read() が負の値を返すかどうか。
プロトコルはちゃんと設計しないと簡単に破綻する。
292290:2006/03/20(月) 18:48:44
>>291
ありがとうございます。
read() で調べようとすると、
まだ接続されていた場合はブロックされませんか?
293デフォルトの名無しさん:2006/03/20(月) 18:55:19
>>292
available()を使えと思ったが、接続されてないとブロックって何だ?
サーバならServerSocketでacceptするわけだし、クライアントだとconnectするんだから接続しないとStreamが手に入らないと思うぞ
294290:2006/03/20(月) 18:59:24
>>292
いや、逆に接続がまだ切れてない場合にブロックされませんかね?
read() のとき
295デフォルトの名無しさん:2006/03/20(月) 19:04:59
>>292
ブロックされる。だから 「接続されているかどうか確かめる」 なんてのはそもそも無理。
どうしてもと言うなら Socket に setSoTimeout(5000) とか設定して read() しる。
SocketTimeoutException が発生したらソケットは生きてる。負の値が返ったら閉じてる。
ハンドシェイクの遅延で正しい結果にならないこともあるし、そもそも閉じてないと判定
されても次の瞬間に閉じられることだってある。だから、そもそもそんな判定なんて
しなくても良いようにプロトコルの設計が大切。
296290:2006/03/20(月) 19:16:24
>>295
なるほど、そんなもんなんですね。
勉強になりました
297デフォルトの名無しさん:2006/03/20(月) 21:56:40
俺はマンドクサいのでとりあえずHTTPを使ってしまうわけだが
298デフォルトの名無しさん:2006/03/21(火) 00:48:38
今後のJavaの文字列操作はCharSequesnceが中心になるのかな?
でもinterfaceとしてはcharAt乱用だろうし、遅そうだな・・・
299デフォルトの名無しさん:2006/03/21(火) 02:29:39
筑紫23の偏向報道に対しスポンサー不買運動始まる
http://live22x.2ch.net/test/read.cgi/news/1142873437/
300デフォルトの名無しさん:2006/03/21(火) 04:37:26
CGIサーバー上から取得したHTMLファイルから、CGIのPOSTをJAVAで任意に送信内容操作・送信するにはどのようにすればよいでしょうか?
HTMLファイルはコンボボックスと送信ボタンがあります。送信内容はコンボボックスの値で、送信は送信ボタンが押されたときの処理をJAVA上で実現したいんですが・・
どうか、よろしくお願いします。
301デフォルトの名無しさん:2006/03/21(火) 08:11:55
JSPやServlet使う
これらを勉強しなさい
302デフォルトの名無しさん:2006/03/21(火) 08:17:30
クライアント、サーバーどちらで処理したいか整理したほうがいい
⇒要求をもう少し掘り下げて整理したほうがいい
5W1Hって知ってるでしょ?
303デフォルトの名無しさん:2006/03/21(火) 08:27:06
the Worst Web Worker Waits Waist Holder.

ま、ダイエットしろってことで。
304デフォルトの名無しさん:2006/03/21(火) 11:45:39
FileChannel#close() を呼び出したときって、その FileChannel 生成元の
入出力ストリームまでちゃんとクローズしてくれる?
305デフォルトの名無しさん:2006/03/21(火) 11:59:17
>>107でレスがなかったのでもう一度、、、
クライアントのJREバージョンを見分けて、
それ毎に別々に読み込むXMLライブラリを変えることは可能でしょうか。
たとえば、↓みたいに書くとか、、

String javaVersion = System.getProperty("java.vm.version");
if(javaVersion.startsWith("1.0") || javaVersion.startsWith("1.1")
|| javaVersion.startsWith("1.2") || javaVersion.startsWith("1.3")){
//apacheの外付けjarの処理を記入
}else if(javaVersion.startsWith("1.4")){
//crimsonを使用した処理を記入
}else{
//組み込みxercesなどを使用した処理を記入
}
306デフォルトの名無しさん:2006/03/21(火) 12:09:47
>>305
XercesJいっしょにくばっちゃえばいいじゃん。あと、
java.vm.versionを見るのは駄目。たとえばうちの処理系だとこうなる。
java.vm.info=J2RE 1.4.2 IBM J9 2.2 Windows XP x86-32 j9n142-20040917 (JIT enabled)
J9VM - 20040916_0908_lHdSMR
JIT - r7_level20040915_1801
java.vm.name=IBM J9SE VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Sun Microsystems Inc.
java.vm.specification.version=1.0
java.vm.vendor=IBM Corporation
java.vm.version=2.2
APIリファレンスにちゃんと説明があるから読むように。
307デフォルトの名無しさん:2006/03/21(火) 12:15:17
>>305 あと、ユーザに手間をかけさせたくないというならJava Pluginを適切に
使って所望のバージョンのJREがクライアント側に自動インストールされるようにすること。
そのためにHtmlConverter.exeがJDKに同梱されている。
308デフォルトの名無しさん:2006/03/21(火) 12:49:27
"static"使うときってどんなとき?
今まで"static"って複数ユーザで
使いまわすモノだと思ってた...

こーゆー時は"static"使うと便利だよとか、
ここは使うしかないっしょ!!ってのある?

今はsingletonパターン使うときくらいしか使ってない
こーゆーの
private static Class singleton;

if (singleton == null) {
singleton = new Class();
return singleton;
}
return singleton;
309デフォルトの名無しさん:2006/03/21(火) 12:54:33
それsingletonにならんでしょ
310デフォルトの名無しさん:2006/03/21(火) 13:25:04
private static Class singleton = new Class();

return singleton;
とするのが普通だよな
311デフォルトの名無しさん:2006/03/21(火) 17:47:39
strutsのアクションであるjarに含まれているメソッドを実行するとエラーに
なります。
そのアクションにmainを追加して、Javaアプリケーションとして実行すると
うまくいけます。
エラー内容はjava.lang.NoClassDefFoundErrorです。
どういった原因が考えられますか?
312デフォルトの名無しさん:2006/03/21(火) 17:53:23
実行時に参照可能なクラスパスに含まれていないから
313デフォルトの名無しさん:2006/03/21(火) 17:54:47
>>311
>>1を読んでないから。
314デフォルトの名無しさん:2006/03/21(火) 18:00:37
あなたにはその価値があるから
315デフォルトの名無しさん:2006/03/21(火) 18:13:39
SQL で LIKE 使ってワイルドカードで検索する場合:

SELECT FOO FROM BAR WHERE NAME LIKE 'a%'

PreparedStatement のプレースホルダってどう書けば良いの?

stmt = con.prepareStatement("SELECT FOO FROM BAR WHERE NAME LIKE [ここどう書くの?]");
stmt.setString(1, "a");
316313:2006/03/21(火) 18:28:11
>>315
Q. PreparedStatement の文字列値はどのようにバインドするのですか。
ttp://edocs.beasys.co.jp/e-docs/wls/docs81/faq/oraclejdriver.html#239847
317デフォルトの名無しさん:2006/03/21(火) 18:30:30
>>312
お返事ありがとうございます。
その回避方法はどうすればいいのですか?

eclipseで外部JARの追加でそのJarファイルを追加しているのですが。
318デフォルトの名無しさん:2006/03/21(火) 18:34:25
>>316
あれ? PreparedStatement のプレースホルダーって埋め込み値の % や _ をエスケープするんじゃなかったの?
フリー入力値を LIKE で検索するとき注意が必要ってこと?
319デフォルトの名無しさん:2006/03/21(火) 18:46:25
PreparedStatement のtoString()使うと実際に使われるSQL文が見られるから、
試してみるとか。
あとは、ソース見るとか。
320デフォルトの名無しさん:2006/03/21(火) 22:12:46
Java 5.0 で… また、Generics にひっかかってしまいました。(^_^;
Vectorに繋がっているものを移動させています。
Vectorはどんなクラスが格納されているかわかりません。
警告が出てしまいます。どうすればいいでしょう?
  ↓
「警告: [unchecked] raw 型 java.util.Vector のメンバとしての
insertElementAt(E,int) への無検査呼び出しです。」
     ‥ ‥ ‥
public void moveElement( Vector VecObje ,int index ,int newIndex )
throws ‥省略 {
  Object ObjeTemp1 = VecObje.get(index);
    ‥省略
  VecObje.remove(index);
  VecObje.insertElementAt( ObjeTemp1 , newIndex );←ここで警告
}
321デフォルトの名無しさん:2006/03/21(火) 22:18:38
>>320
Generics 使ってるなら
public <T> void moveElement( Vector<T> VecObje ,int index ,int newIndex )
とか?
322デフォルトの名無しさん:2006/03/21(火) 22:20:17
1.4のソースとしてコンパイル
323デフォルトの名無しさん:2006/03/21(火) 22:41:08
>>320-322
@SupressWarnings("unchecked")
public void moveElement( Vector VecObje ,int index ,int newIndex )
はどう?だめかな。
324デフォルトの名無しさん:2006/03/21(火) 22:56:06
どうでもいいが、変数名を大文字で始めるな
325デフォルトの名無しさん:2006/03/21(火) 23:25:12
strutsで文字化けを回避するには、
new String(str.getBytes("ISO8859_1"), "Shift_JIS");
で、文字コードの変換をしてやらないと駄目なんですか?
何かもっと効率のいい方法はありませんか?
環境は、struts1.2、Tomcat5.5です。
326デフォルトの名無しさん:2006/03/21(火) 23:32:27
>>321-324
みなさんどうもありがとう。(320)( ^∇^)
321さんの方法で警告静めました。
Vectorの後の<T>はなんとなくわかりますが、public <T> void の<T>
はどうしてこうなるのかさっぱり理解していません。

>>323
@SupressWarnings("unchecked")
これはすご過ぎて意味が全然わかりません。
327デフォルトの名無しさん:2006/03/21(火) 23:34:37
>>326
あのねーちゃんだな
328デフォルトの名無しさん:2006/03/21(火) 23:41:27
コレクション・フレームワークって
ArrayListとHashMapしか使ったことがありません。
他のものを使うことってありますか?
329デフォルトの名無しさん:2006/03/21(火) 23:42:43
>>320,321
型は何でもいいっていってるんだから T じゃなくて ? では。
330デフォルトの名無しさん:2006/03/22(水) 00:00:02
>>328
あります
331デフォルトの名無しさん:2006/03/22(水) 00:03:50
>>325
request.setCharacterEncoding("MS932");
332デフォルトの名無しさん:2006/03/22(水) 00:11:27
>>328
LinkedListはinsertやremoveに強い
はずが要素数が膨大にならないとArrayListより効率が悪い

LinkedHashMapは挿入された順番を保持する
keySet#iteratorと一緒に使えば何かに使える

TreeMapはキーが整列される
等幅StringやIntegerをキーとして使えば
keySet#iteratorで何かに使える
333デフォルトの名無しさん:2006/03/22(水) 00:38:04
Javaってコーヒーなの?紅茶なの?
334328:2006/03/22(水) 00:45:21
>>332
ありがとうございます。
挿入された順番を保持したい、キーを整列したい、
という場面は今までありませんでした。
そういう時には便利そうですね。

Setは、iteratorのkeyset取得以外の
用途ってありますか?
335デフォルトの名無しさん:2006/03/22(水) 00:47:55
>>329 T じゃなくて ? では。
?でやると内部はどう書き換えるのでしょうか?
336デフォルトの名無しさん:2006/03/22(水) 01:01:27
>>334
Setは重複を許さないという点が何よりの特徴
Java5.0から登場したタイプセーフenumと相性がよく
整数定数によるビットフラグなどを利用した経験があるなら
5.0から登場したEnumSetを見てみる価値はある
337デフォルトの名無しさん:2006/03/22(水) 01:49:11
>>333
たぶんコーヒー
338デフォルトの名無しさん:2006/03/22(水) 07:37:53
っJavaBeans
339287:2006/03/22(水) 09:01:52
>>288 メンバ型のクラスって何ですか?インナークラスのことですか?
340デフォルトの名無しさん:2006/03/22(水) 11:20:57
>>333
コーヒーですな。
で、Java は本当は発音が「じゃわ」なんだけど、
英語読みでは「じゃば」。
341デフォルトの名無しさん:2006/03/22(水) 12:24:41
>>339
クラスのメンバになってる型。

inner class はメンバ型のなかでなら、static が付いてないものだけを指す。
342デフォルトの名無しさん:2006/03/22(水) 15:24:13
String型のデータが空の場合null
int型が空の場合って何でしたっけ?
343デフォルトの名無しさん:2006/03/22(水) 15:32:00
プリミティブ型に空もへったくれもないと思うが
344デフォルトの名無しさん:2006/03/22(水) 15:36:19
ひょっとしてデフォルト値のことか?
345デフォルトの名無しさん:2006/03/22(水) 16:10:55
すみません,質問させてください.
FileInputStreamを使っていて,read()を呼び出すこと無くEOFを検出する方法はありますか?
ファイルの読み込み位置を変えること無くEOFを検出したいのですが.
# available()は使うべきではなく,
# b=new byte[0]; int i=read(b); ではi==0にないそうなのですが…わかりません.
346デフォルトの名無しさん:2006/03/22(水) 16:13:08
># b=new byte[0]; int i=read(b); ではi==0にないそうなのですが…わかりません.
「b=new byte[0]; int i=read(b); ではEOFに関わらずi==0になってしまうそうなのですが」
の間違いです.何度もすみません.
347デフォルトの名無しさん:2006/03/22(水) 16:15:08
・読み出したバイト数を保存しておいて File#length() と比較
・RandomAccessFile を使用して getPosition() と length() を比較
・FileChannel を使用して position() と size() を比較
348デフォルトの名無しさん:2006/03/22(水) 16:17:13
ありがとうございます.FileInputStreamより他の方法を使えということですね.
勉強になりました.
349デフォルトの名無しさん:2006/03/22(水) 18:54:47
どうにもわからないので質問させてください。
目的はgifと図形を印刷したいです。
drawimageのthisが悪いようなのですがどう悪いのかわかりません。
すみませんが教えていただけないでしょうか

class PrObject implements Printable{
public int print(Graphics g,PageFormat fmt,int pageIndex){
if (pageIndex > 0){
return Printable.NO_SUCH_PAGE;
}else{
Graphics2D g2d = (Graphics2D)g;
Image img01 = Toolkit.getDefaultToolkit().getImage("test.jpg");
g2d.drawimage(img01,100,100,this);
g2d.drawRect(100,100,100,100);
return Printable.PAGE_EXISTS;
}
}
}
350デフォルトの名無しさん:2006/03/22(水) 19:04:08
>>349
症状は?
351デフォルトの名無しさん:2006/03/22(水) 19:12:25
>>350
eclipseのエラーメッセージでは
「メソッドdrawimage(Image,int,int,PrObject)は型Graphics2Dで未定義です。」
と出ます。
352デフォルトの名無しさん:2006/03/22(水) 19:18:17
drawImage
   ~
353デフォルトの名無しさん:2006/03/22(水) 19:24:39
>>352
ありがとうございます。
正直死にたいです、申し訳ありませんでした。
これからはよく見直します。
354デフォルトの名無しさん:2006/03/22(水) 19:42:29
XML + XSL で HTML を出力しようとしてるんだけど JDK 1.4 標準の Transformer って
XML を完成させてからでないと使えないの? FilteredWriter 版みたいなのってないの?
355デフォルトの名無しさん:2006/03/22(水) 20:06:51
フリーのJava開発環境で、小さくて軽いものを探しています。
EclipseやJBuilderのような大掛かりなものでなくて、
プロジェクト管理機能を持ったエディタ程度のものでかまいません。
356デフォルトの名無しさん:2006/03/22(水) 21:05:56
>>353
イ`
357デフォルトの名無しさん:2006/03/22(水) 21:07:26
>>355
案1) Emacs(WinならMeadow)とJDEE。最近の動向は知らんけど。
案2) JEdit
358デフォルトの名無しさん:2006/03/22(水) 21:57:57
Emacsはあまり好きくないです。
ファイル一覧がパッケージの構成と同じツリー状になって表示されるタイプのがほしいです。
359デフォルトの名無しさん:2006/03/22(水) 22:25:36
>>345
ちょっと待て。なんで available() は使うべきではないんだ? 何か問題でも?
360デフォルトの名無しさん:2006/03/22(水) 23:02:20
オイオイ available() は残りの長さを調べる目的のものじゃないだろ。
361デフォルトの名無しさん :2006/03/22(水) 23:18:29
パッケージ javax.printを使って、JPanel内に描画させた文字や図形を、A4用紙に印刷する事を試みています。
しかしながら、JAVAのAPIドキュメントを見ても訳が分かりません

分かりやすいHP、参考書を教えてくれませんか。
ソースコードの記述例があれば、大変ありがたいです。
よろしくお願いします。
362デフォルトの名無しさん:2006/03/22(水) 23:23:08
>>359
それ実装依存だから。
ドキュメント見ても、「ファイルの残りバイト数が返る」とは書いてない。

仕様にないものに依存しておいて「問題ない」と考える、その考え方そのものが問題。
363デフォルトの名無しさん:2006/03/22(水) 23:53:13
364デフォルトの名無しさん:2006/03/23(木) 00:04:05
ZIP ファイルの中に日本語のファイル名やディレクトリ名があると
ZipInputStream#getNextEntry() で IllegalArgumentException が発生しますが
何か対処法ないですか? 多分 Shift_JIS のファイル名を UTF-8 で戻そうとして
文字化けして ? の文字で失敗してると思うんだけど。

java.lang.IllegalArgumentException
  at java.util.zip.ZipInputStream.getUTF8String(ZipInputStream.java:298)
  at java.util.zip.ZipInputStream.readLOC(ZipInputStream.java:237)
  at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:73)
  …
365デフォルトの名無しさん:2006/03/23(木) 00:05:58
VisualStudio2003でプログラムを組んでいるのですが
printf関数が使えません。
サンプルどおりに組んでいるのですが、

'java.io.PrintStream' にメソッド 'printf(String, int)' が見つかりません。

と表示されます。どうすれば使えるようになるのでしょうか?
366デフォルトの名無しさん:2006/03/23(木) 00:10:29
それって J++?
JDK 1.5 を使ってください。
367デフォルトの名無しさん:2006/03/23(木) 00:11:44
ん、J++ じゃなくて J 何とか.NET だったかな。
368デフォルトの名無しさん:2006/03/23(木) 00:14:22
>>364
org.apache.tools.zip.*
369デフォルトの名無しさん:2006/03/23(木) 03:16:23
>>364
それ俺もハマった。で、ソース追いかけて行って解明。
もうね、バイナリを何も考えずにutf8としてビット演算とかして
Stringにしてたよ。しかも protected のメソッドで。ふざけんなSun。
継承して置き換えられねえだろうが。ヴォケ。
370デフォルトの名無しさん:2006/03/23(木) 03:17:04
あ、間違えた。protected じゃない。それならできるんだが、そうじゃない。
private のメソッドだ。
371デフォルトの名無しさん:2006/03/23(木) 03:28:03
>>368
どうも、org.apache.tools.zip って Ant の方か。必死に Commons を探してしまった。
これって ZipInputStream の代わりになるものが無いからいちいちファイルにしてやらんと
いかんわけね…

>>369
FilteredInputStream のサブクラス作ってファイル名部分のバイナリだけ UTF-8 に
置き換えて読み返すような方法が既存のクラスそのまま使えるし良いかと思って
るんだが、ZIP のフォーマットに精通してるわけでもないのでなかなかなぁ。
372デフォルトの名無しさん:2006/03/23(木) 09:50:08
クライアントとサーバーの間に配置して、
クライアントから受け取ってサーバー側にリレーするだけのプログラムってどうやって書いたら良いですか。
単にリレーするだけなら、ソケットとかは使う必要ないですよね?
373デフォルトの名無しさん:2006/03/23(木) 09:58:13
テレパシーで通信してるならソケット使う必要は無いだろうね。
374デフォルトの名無しさん:2006/03/23(木) 10:10:51
テレパシーのUDPのポート573720568273番でよろしく
375デフォルトの名無しさん:2006/03/23(木) 10:28:46
>>372
つまりルーターと同じようにPCを使うってこと?
何のためにそんなコードを書きたいのか分からないが、
別にプログラムを書かなくても単にケーブルをつないでルーティングテーブルに
エントリーを入れたら、中継ノードになるのでは?
プログラミングコードとしては単なる中継ノードとしてでもソケットクラスは使うのでは。
376デフォルトの名無しさん:2006/03/23(木) 10:59:11
EARファイルとWARファイルの違いって何ですか?
377デフォルトの名無しさん:2006/03/23(木) 11:04:25
単に右から来たパケットを左に流すだけなら、ソケットクラスなんか使わないでも記述できるんじゃ?
378デフォルトの名無しさん:2006/03/23(木) 11:12:47
>>376
拡張子。jarもwarも同じツールで作れる。
379376:2006/03/23(木) 11:16:30
>>378 中身の構成について、EARファイルはこういう構成でなければならない。とかってありますか?
たとえば、WARだと中にWEB-INFがあってweb.xmlが書いてあって。ってのが一般的な構成ですよね?
380デフォルトの名無しさん:2006/03/23(木) 11:21:49
EARは、JARやWARを含めることができる。
ルートにMETA-INFがあって、その中にapplication.xmlがある。
381376:2006/03/23(木) 11:23:59
>>380 ありがとうございます。それを手がかりに調べて見ます。
382デフォルトの名無しさん:2006/03/23(木) 11:26:55
parは何なのん?
383デフォルトの名無しさん:2006/03/23(木) 11:31:49
プロアクションリプレイ
384382:2006/03/23(木) 11:36:14
>>383
ありがとうございます。それを手がかりに調べてみます。
385デフォルトの名無しさん:2006/03/23(木) 14:34:20
イベントのハンドリングを自分のすきなタイミングで行いたいのですが、
できますか?
386デフォルトの名無しさん:2006/03/23(木) 15:03:18
>>385
普通のリスナとかでイベント受け取って、
遅延イベントプールな List に突っ込んでおくとかすれば擬似的にできるかも。

普通はやらん。手間かかって、複雑性やらバグの可能性とか増えるだけだし。
387デフォルトの名無しさん:2006/03/23(木) 15:19:43
球体を表示するプログラムってどんな風に書けばいいんですか?
388デフォルトの名無しさん:2006/03/23(木) 15:21:23
Graphics#drawOval()
389I need you:2006/03/23(木) 15:28:40
スレ汚しすいません。
<html>

<head>
<title>ヤードをメートルに換算。</title>
<script language="JavaScript">
<!--
function yard 2meter(){
yard = document.form1.meter.value;
meter = yerd * 0.9144;
document.form1.meter.value = meter;
}
// -->
</script>
</head>

<body>
<font size="5">メートルに換算!</font>
<hr>
<form name="form1">
<input type="text" value="0" name="yard">ヤードは<br>
<input type="button" value="換算"oncrick="yard 2metre()"><br>
<input type="text" value="0" name="metre">メートルです
</form>
</body>

</html>
が動かないのですが。
ドコがおかしいのでしょうか?何方かお願いします。
390デフォルトの名無しさん:2006/03/23(木) 15:30:02
>>389
>>1の下のほう見て
391デフォルトの名無しさん:2006/03/23(木) 15:34:58
392I need you:2006/03/23(木) 16:22:44
>>390さん
>>391さん
レスありがとうございます。
スレの皆さん、誤爆してしまい本当にすみませんでした。
>>391さん
Googleに飛ばせとはどういうことですか?
お手数をかけますがご指導のほどよろしくお願いします。
393デフォルトの名無しさん:2006/03/23(木) 16:40:02
>>362
俺が聞きたかったのはファイルの EOF の判定をするのに available() を
使うべきではないというのはなぜなのかなのだが。普通のファイルなら
全部ブロックせずに読めるんじゃないの? (UNIXのFIFOや/dev以下の特殊な
ファイルだと0が返ることはあるかも知れないが)。
394デフォルトの名無しさん:2006/03/23(木) 16:49:20
> 普通のファイルなら全部ブロックせずに読めるんじゃないの?

だから仕様に無い前提を勝手に脳内生成してるのがおかしいんだって。
395デフォルトの名無しさん:2006/03/23(木) 17:35:11
>>394
なるほど。じゃあ available() の存在価値は無に等しいね。
396デフォルトの名無しさん:2006/03/23(木) 17:41:28
available() のまともな用途なんて思いつかないな。select() みたいに
ブロッキング無しでデータが到達してるかどうか判定するくらい。
でも非ブロッキングのデータ持ってても 0 を返せるから意味が無いか。
Socket でやるなら setSoTimeout() でタイムアウト仕掛けた方が確実で
ポータビリティも高い。
397デフォルトの名無しさん:2006/03/23(木) 21:55:08
public class Thread1 extends Thread{
public static void main(String[] args) {
Thread1 countten = new Thread1();
countten.start();

for(int i = 0; i < 10; i++){
System.out.println("main: " + i);
}
}

public void run(){
for(int i = 0; i < 10; i++){
System.out.println("run: " + i);
}
}
}

これを実行すると
main: 0
run: 0
main: 1
run: 1
…となると例題に載ってるんだけど、mainの0〜9が表示されて次にrunの0〜9が表示されてしまいます…
なんででしょうか
398デフォルトの名無しさん:2006/03/23(木) 22:01:31
>>397
抜けが無いなら、例題が間違ってる。
同期処理してないので、交互になる保証は全く無い。

実行環境の Thread の実装によっては、交互になるのかもしれんが……
399デフォルトの名無しさん:2006/03/23(木) 22:03:49
>>397
i < 10 を i < 100にしてどうなるか
400デフォルトの名無しさん:2006/03/23(木) 22:17:07
>>398-399
数を増やすと、交互にはなりませんでしたが途中でバラバラに混じりました
401デフォルトの名無しさん:2006/03/23(木) 22:35:59
>>397
せっかくなのでどこに載ってた例題なのか晒してちょ

>>400
何が起きてるか分かりやすいな
402デフォルトの名無しさん:2006/03/23(木) 22:45:07
>>401
Java言語プログラミングレッスンのスレッドの章ですた
403デフォルトの名無しさん:2006/03/23(木) 22:58:41
>>402
> Java言語プログラミングレッスン
って結城浩さんの?

web においてあるプログラムリスト見たけど、
ぱっと見たところ、>>297 みたいのはないぞ。
404デフォルトの名無しさん:2006/03/23(木) 23:46:28
>>402
>>403
とりあえず配布してるzipの16章の中に
それらしきコードはあったね。

本文読んだこと無いから分からんけど、もしかすると、
>>397
> これを実行すると
> main: 0
> run: 0
> main: 1
> run: 1
> …となると例題に載ってるんだけど、
ってのは、厳密にその通りの順番になるって説明してるんじゃなくて、
両方が平行して実行されてることを示そうとしてるだけなんじゃないのかな?
日本語の読解力の問題じゃねぇかと思えてきた。
405デフォルトの名無しさん:2006/03/24(金) 00:20:59
>>404
あった、src2/chap16/CountTenA.java か。

Amazonの「なかみ」で検索したけど、たぶん >>404 の解釈であってるっぽい。
406デフォルトの名無しさん:2006/03/24(金) 08:59:04

new String( xxx , "UTF-8");

とやって文字コードの変換をやりたいのですが、
変換後の文字列が???となっちゃいます。

入力文字列がUTF-8Nであるようなのですが、
これはjavaで簡単に変換する方法ないでしょうか
407デフォルトの名無しさん:2006/03/24(金) 09:15:43
コンパイルオプションでも円コーディングをしてしていないとか
408デフォルトの名無しさん:2006/03/24(金) 16:26:17
>>406
Javaの"UTF-8"はBOMなし、というかBOM考えてないよ。
(utf8は8ビットだから元から不要)。なのでUTF-8Nが
Javaの"UTF-8"だ。BOM付きutf8の文字列を変換しよう
とするとBOMのコードがそのまま入る(\ufeff)。

'?'になるのはまた別の理由だと思う。
409デフォルトの名無しさん:2006/03/24(金) 20:40:32
あのJAVAというかプログラミングに関して質問なのですが、
else if分とswitch分ってどちらを使ったほうがいいのですか?
410デフォルトの名無しさん:2006/03/24(金) 20:42:25
適切なほう。
411デフォルトの名無しさん:2006/03/24(金) 21:03:06
>>409
どちらでもいいとき、というのは1変数に離散的な値が入っているケース。
そういうときはswitchのほうが、case 値: と値を明記するので見やすいことが多いです。
自分はやりませんが、値がいくつもならんでswitchのブロックが長くなるときは、あえてif文に
して、何を比較しているか明示する人もいます。

もちろん値が連続的なものは範囲指定などが必要なので、必然的にifになります。
412デフォルトの名無しさん:2006/03/24(金) 21:23:07
DOS 時代の C の話なので聞き流して欲しいが、switch 文の方が
コンパイルでジャンプテーブル作る分俄然速かったな。Java は
どうか知らんし、今時それでたいした差が出るとは思えんが。
413デフォルトの名無しさん:2006/03/24(金) 21:26:02
ん?普通に考えてswitchのが早いでしょ?
default入れないswitchがCでは高速に動作するはずだよな
Javaでもおんなじだと思う
414デフォルトの名無しさん:2006/03/24(金) 21:45:43
そこはコンパイラがうまくやってくれるんじゃないの
415デフォルトの名無しさん:2006/03/24(金) 22:03:25
if〜elseとswitchはバイトコードまで違うようですね。

static void a(int n) {
if (n == 1) {
n = 5;
} else if (n == 2) {
n = 5;
}
}

static void a(int);
Code:
0: iload_0
1: iconst_1
2: if_icmpne 10
5: iconst_5
6: istore_0
7: goto 17
10: iload_0
11: iconst_2
12: if_icmpne 17
15: iconst_5
16: istore_0
17: return
416デフォルトの名無しさん:2006/03/24(金) 22:04:09
static void b(int n) {
switch (n) {
case 1:
n = 5;
break;
case 2:
n = 5;
break; //
}
}

static void b(int);
Code:
0: iload_0
1: lookupswitch{
1: 28;
2: 33;
defaul
28: iconst_5
29: istore_0
30: goto 35
33: iconst_5
34: istore_0
35: return
417デフォルトの名無しさん:2006/03/24(金) 22:16:27
ふーん、ちゃんとジャンプテーブル作るんだ。まぁ整数定数の制約設けてるんだから当然か。
418デフォルトの名無しさん:2006/03/24(金) 22:32:52
tableswitch使うこともあるわな。
static void b(int n) {
switch (n) {
case 1:
n = 5;
break;
case 2:
n = 5;
break;
case 3:
n = 5;
break;
}
}

static void b(int);
Code:
0: iload_0
1: tableswitch{ //1 to 3
1: 28;
2: 33;
3: 38;
default: 40 }
28: iconst_5
29: istore_0
30: goto 40
33: iconst_5
34: istore_0
35: goto 40
38: iconst_5
39: istore_0
40: return
419デフォルトの名無しさん:2006/03/24(金) 22:44:07
このへんはcaseの数とかによってオプティマイザが使い分けるから、
気になる人は複数の条件で調べた方がいいね。
420デフォルトの名無しさん:2006/03/24(金) 22:48:46
何で調べてるの?

そういや気になったことがひとつ。
KeyEvent.VK_0などの定数でswitchすると
何か生のときより遅くなる気がする。

気のせいだといいんだけど、真実ならうめこんじゃおうかな
421デフォルトの名無しさん:2006/03/24(金) 23:05:19
public static final int でもコンパイル時に値が決まらないものもあるけど、
ソース見ると KeyEvent.VK_??? は普通の数値リテラルみたいだからコンパイル時に
埋め込まれると思ス
422デフォルトの名無しさん:2006/03/24(金) 23:15:58
ぐぐったらこんなん見つけた。
http://blog.livedoor.jp/lisper/archives/16161645.html
>case のラベルで埋まっている個数を n として、その間の数値で空いて
>いる個数を e とします。
>そのときの店主の判断は以下のようになります。
>n * 4 - 10 >= e ∧ n > 3 のときは tableswitch
>そうでないときは、lookupswitch ということが秘密裏に判りました。
423デフォルトの名無しさん:2006/03/24(金) 23:24:30
>>419
複数の条件調べるぐらいなら javac とかのソース見た方が早いんじゃ……
424デフォルトの名無しさん:2006/03/24(金) 23:57:57
lookupswitchとtableswitchってなんですか?
425デフォルトの名無しさん:2006/03/25(土) 00:02:39
426デフォルトの名無しさん:2006/03/25(土) 00:48:35
Javaの習得目的で、ネトゲの完全自動化というものにチャレンジしようと思うのですが
ある一つの画像にしぼり、その画像に反応したらキー入力という流れにしたいのですが
アプリを作った経験が無いので文法こそ結城浩のJava言語プログラミングという書籍を片手にやってるのですが
この文法を書いてみろと言われたらその一つの文法を書けるのですが
それらを組み合わせてプログラムを作り上げていく方法が分かりません

Java習得にあたり最初にこんなプログラム作ってみたら?という物があればアドバイスして頂けないでしょうか
427デフォルトの名無しさん:2006/03/25(土) 01:28:49
>>426
最初じゃないよね。もし本当に最初ならHello Worldになっちゃうけど。
自分が就職してプログラムを作るための教育を受けたときは、
・BigDecimalみたいなのの実装
・各種アルゴリズムを使ったサーチやソート
・FFT実装
・ピクセル画像・ベクトル画像・テキストのコンバータと表示・印刷
くらいを基礎にやりました。C言語だったけど。

目的からして、最後の例なんかをやってみては。
428デフォルトの名無しさん:2006/03/25(土) 01:44:14
ゲームの入力を自動化したいだけだろ。Robot クラスで遊んでみれば?
ただ別ウィンドウの表示画面取り込みは native メソッド使わにゃ出来んな。
429デフォルトの名無しさん:2006/03/25(土) 02:32:33
別ウィンドウの表示画面もRobotで取り込めますが。
430デフォルトの名無しさん:2006/03/25(土) 02:34:46
そうだっけ? 失礼
431デフォルトの名無しさん:2006/03/25(土) 02:39:22
createScreenCapture() か orz
JNI でスクリーンキャプチャして Bitmap 画像作ってたのは 1.1 の頃だった…
432デフォルトの名無しさん:2006/03/25(土) 03:26:42
Java って、バイトコード生成時はほとんど最適化を行わないって昔聞いたが
433デフォルトの名無しさん:2006/03/25(土) 05:10:45
そりゃあおめぇ JDK 1.1 時代の話じゃねぇ?
434デフォルトの名無しさん:2006/03/25(土) 06:05:05
いや、1.2 の頃からずっと 「最適化は JIT に任せてコンパイラはいらんことしない」 って方針だよ。
435デフォルトの名無しさん:2006/03/25(土) 08:27:52
手元のはインライン最適化ぐらいはやる。
436デフォルトの名無しさん:2006/03/25(土) 09:40:24
そりゃ定数のインライン展開や定数条件文の削除なんかは今でもやってるけど
実行順序を変更したり勝手にジャンプ作ったりするような最適化の話よ。
437デフォルトの名無しさん:2006/03/25(土) 11:10:07
PostgreSQL 8.1 の BYTEA 型のカラムに PreparedStatement#setBinaryStream() で
でかいバイナリ入れようと思ったんだけど、20MB くらいので OutOfMemoryError が
発生します。ひょっとして PostgreSQL のドライバって一回バイナリをメモリに展開して
SQL 投げてんの?
438デフォルトの名無しさん:2006/03/25(土) 15:30:12
不特定の実行環境に対するバイトコードを
どうやって最適化したらいいと言うのだ?
439デフォルトの名無しさん:2006/03/25(土) 15:36:09
SunのJavaコンパイラとgccのJavaコンパイラの選択の基準を教えてください。
440デフォルトの名無しさん:2006/03/25(土) 16:42:31
Sunはちんこ
gccはまんこ
441426:2006/03/25(土) 17:39:09
>>427
レスありがとうございます、Hello Worldをやった直後です汗
最後の項目覚えておきます、有益な情報をありがとうございました

>>428
そうです、自動化する為に覚えているわけではないですけど
知人から作りたいものが無ければ中々やる気も続かないよと言われたので
今自分が一番欲するものとして自動化ソフトでした、今すごくワクワクしてます
Robotクラスについて調べたのですがUWSCというスクリプトソフトに似てますね
目標を立てられたのでそれを目指して勉強します!本当に感謝!
442デフォルトの名無しさん:2006/03/26(日) 00:11:22
import javax.servlet.*;
import javax.servlet.http.*;

ここでエラーになっちゃうんですが
何ファイルのある場所をクラスパスに指定すればいいんですか?
よろしくお願いします
443デフォルトの名無しさん:2006/03/26(日) 00:30:11
servlet.jar or j2ee.jar or その開発環境/実行環境の jar を片っ端から
444デフォルトの名無しさん:2006/03/26(日) 00:34:30
練習を兼ねてアプリケーションを作っています。
drawLineなどで描いた図形が、上に別のウィンドウが重なったりすると
消えてしまいます。ググってもよくわからないのです。
どなたかお願いします。
445デフォルトの名無しさん:2006/03/26(日) 00:47:09
http://www.google.com/search?num=100&hl=ja&inlang=ja&ie=Shift_JIS&oe=Shift_JIS&q=drawLine%81@java&lr=lang_ja
検索結果の8.キャンバスってところが参考になるかな?
俺も初心者だからよくわからんが。
446デフォルトの名無しさん:2006/03/26(日) 03:31:25
paintをオーバーライドしてそこで書け
447デフォルトの名無しさん:2006/03/26(日) 07:06:42
【社会】電子政府も縦割り弊害 各種申請、同一PCで無理 JREのバージョンがばらばら 総務省[03/26]
http://news19.2ch.net/test/read.cgi/newsplus/1143317790/
448デフォルトの名無しさん:2006/03/26(日) 09:46:46
サーブレットとjspで作られたサイトがあるのですが、
サーブレットでログイン処理や検索をして結果をjspで表示しています。
普通は、ログインのとき

index.jsp(ログイン画面) -> サーブレット -> 成功ならwelcome.jsp

という手順でページを移動するのですが、
いきなりwelcome.jspに来られるとログインしていないのに
ページが表示されてしまいます。

そこで、welcome.jspでsession.getAttribute("userid")などがセットされているかをチェックし、
nullであればindex.jspに戻るようにしようと思ったのですが
それでは不正なユーザがわざわざuseridをセットされたかのようなリクエストを送った場合、
welcome.jspが表示されてしまうのですがどのような対策があるか教えてください。
449デフォルトの名無しさん:2006/03/26(日) 09:51:15
welcome.jsp を WEB-INF/ の下のどっか (例えば WEB-INF/jsp/) に置く。
450448:2006/03/26(日) 09:53:57
>>449
そこに置いたら誰もアクセスできなくね?
サーブレットから読み込むとか?
451デフォルトの名無しさん:2006/03/26(日) 09:57:05
ブラウザ直は NG だが RequestDispatcher の forward でちゃんと機能する。
一応定石技だからどのコンテナでも出来ると思うが。
ってひょっとしてログイン成功したらリダイレクトで welcome.jsp 表示してるとかか?
452デフォルトの名無しさん:2006/03/26(日) 10:09:04
>>451
リダイレクトでやってました。
最初はforwardだったんだけどリロードとかでいちいち
メッセージが表示されるのは嫌かなと。
453デフォルトの名無しさん:2006/03/26(日) 10:17:53
なら、クライアントがどうリクエストを偽造しても勝手に HttpSession に変な値を入れるのは不可能なので
JSP の頭にそんなコードを記述すれば良い。

<%
  if(session.getAttribute("userid") == null){
    response.sendRedirect(request.getContextPath() + "/index.jsp");
    return;
  }
%>

まぁ他に JSP がたくさんあるなら /* のリクエストにログイン確認用の Filter
仕掛けた方が楽だと思うが。
454デフォルトの名無しさん:2006/03/26(日) 10:21:06
JavaでWindowsのウインドウハンドルを取得したり
他アプリのキー入力をフックしたりすることは可能ですか?
455デフォルトの名無しさん:2006/03/26(日) 10:22:33
>>453
>>クライアントがどうリクエストを偽造しても勝手に HttpSession に変な値を入れるのは不可能
ま じ で す か !
サンクス!
456454:2006/03/26(日) 10:28:04
あ、ウインドウハンドルというのは
別アプリの画面のやつです。
たとえば画像ビューワのタイトルバーに表示されている
画像ファイル名文字列を取得する、みたいな処理を
したいのですが。
457デフォルトの名無しさん:2006/03/26(日) 10:31:30
JNI
458デフォルトの名無しさん:2006/03/26(日) 10:33:33
無理です。Robot クラスを調べればあるいは君がやりたいことが出来るかもしれません。
昔の MS JVM は非公開クラスたどって何とか HWND 取れたけどね。
459デフォルトの名無しさん:2006/03/26(日) 11:47:45
ttp://www5c.biglobe.ne.jp/~ecb/java/07_06.html
>使い終わったインスタンスを nullに置き換えないと、
>このガーベージコレクターはそのインスタンスが使用中なのかわからないため、
>掃除することができません。したがってnullを代入することが推奨されています。

これマジですか?
460デフォルトの名無しさん:2006/03/26(日) 11:52:33
マジですがローカル変数ならスコープ抜ければ GC の対象になります。
461デフォルトの名無しさん:2006/03/26(日) 12:10:31
>>455
マジですかって・・・・
462デフォルトの名無しさん:2006/03/26(日) 12:26:54
>>459
「nullを代入することが推奨されています。」は嘘だな。
Javaわかってない奴が作った俺コーディング規則で縛られたプロジェクトとかは除くが。
463デフォルトの名無しさん:2006/03/26(日) 13:00:35
null代入については既にこのスレでは結論が出ている。
464デフォルトの名無しさん:2006/03/26(日) 13:06:00
FA 厨キタコレ
465デフォルトの名無しさん:2006/03/26(日) 13:06:37
>>453
>これマジですか?
この文がどの文章にかかっているかわからないけど、
破棄されるかどうかは GCのルーツから参照されているかによる。

>>463
その結論を良かったら教えてください。
466デフォルトの名無しさん:2006/03/26(日) 13:14:02
Javaのソースを実行形式ファイル(exeファイル)にするには、
どうすれば良いのでしょうか?
467デフォルトの名無しさん:2006/03/26(日) 13:34:56
>>466
そういうコンパイラ使うか、
jarファイルをexewrapなどでラッピングする(この場合実行にJREが必要)
468デフォルトの名無しさん:2006/03/26(日) 14:05:30
exe作りたいやつは.netでもつかえ
exeってことはWindows限定なんだろ?
469デフォルトの名無しさん:2006/03/26(日) 16:57:47
限定もクソもないだろ
470デフォルトの名無しさん:2006/03/26(日) 20:21:21
どういうこと?
471デフォルトの名無しさん:2006/03/26(日) 20:36:32
彼女欲しいってこと
472デフォルトの名無しさん:2006/03/26(日) 23:08:41
>>466
GCJ
473デフォルトの名無しさん:2006/03/26(日) 23:11:14
>>459
それはもう昔の話ともいえる部分が含まれている。
というか都市伝説が含まれている。

詳しくは「Javaの落とし穴」の「SoftReference」について
説明があるページを読め。他のページはほとんどが
古いから鵜呑みにするな。

それから 「dw 都市伝説」でぐぐれ。
null代入するとかえって遅くなることもあることがわかる。
474デフォルトの名無しさん:2006/03/26(日) 23:11:59
>>466
JETでぐぐれ
475デフォルトの名無しさん:2006/03/26(日) 23:16:55
>>473
>説明があるページを読め。他のページはほとんどが
>古いから鵜呑みにするな。
そんな本紹介するな馬鹿
476デフォルトの名無しさん:2006/03/26(日) 23:18:46
>>474
exewrapよりいいのか?
477デフォルトの名無しさん:2006/03/26(日) 23:26:25
Javaが主に使われている分野ってのはケータイアプリ以外ではJSPですか?
478デフォルトの名無しさん:2006/03/26(日) 23:33:21
>>456
SWT の org.eclipse.swt.internal.win32.OS#FindWindow 使えば?
将来のバージョンでは消えてるかも知らんけど。
479デフォルトの名無しさん:2006/03/27(月) 01:42:35
>>475
せっかちで短絡的な奴だな。
古い本でもあてになるところはあてになる。
すべてを否定するのは盲目。
480デフォルトの名無しさん:2006/03/27(月) 01:44:04
>>477
なんか安直な解釈だな。
いったいどんな目的でJavaの何が知りたいのか
まず話せ。それが解れば回答者は無駄な遠回りを
せずに済みエネルギーの無駄遣いにならず
お前の質問に答えやすい。
481デフォルトの名無しさん:2006/03/27(月) 01:45:52
>>479
一節しか参考にならないと書いておいて
それを読めと勧める奴は頭がおかしいだけだろw
482デフォルトの名無しさん:2006/03/27(月) 02:43:52
その章だけ立ち読みすればいいだろ
483デフォルトの名無しさん:2006/03/27(月) 02:46:42
>>481
せっかちで短絡的な奴だな。

484デフォルトの名無しさん:2006/03/27(月) 02:52:45
「この本のこの章だけ読め」 なんて薦め方は普通の人はしないなw
485デフォルトの名無しさん:2006/03/27(月) 02:54:22
漫画雑誌の特定の漫画だけ読むヤツもいるだろ
486デフォルトの名無しさん:2006/03/27(月) 08:20:43
なに、必死になってるの?
487デフォルトの名無しさん:2006/03/27(月) 11:47:33
488デフォルトの名無しさん:2006/03/27(月) 12:04:21
「○○ってマンガあんじゃん、△△に連載されてる奴で。今週の×コマ目
 すごくいい台詞出てるから見たほうが良いよ。他は見る価値無いけどw」

なんて言われて本当に見るのは正直者の >>485 くらいのもんだろう。
489デフォルトの名無しさん:2006/03/27(月) 12:09:18
>>481
>>484
>>488
いい加減に汁
490デフォルトの名無しさん:2006/03/27(月) 12:12:38
どうした?顔が真っ赤だぞ?
491デフォルトの名無しさん:2006/03/27(月) 13:37:23
お前ら面白いな。
とりあえずSoftReferenceについてググれ。
あの本は、Listやvectorの説明は確かに古臭いが、
GUIについては参考になるものはあった。
492デフォルトの名無しさん:2006/03/27(月) 14:01:55
Tomcat でクラスファイルが入れ替わったりすると自動的にアプリの中だけ再起動させてるじゃん。
あの有効/無効や時間ってどこで設定するの?
493デフォルトの名無しさん:2006/03/27(月) 14:21:07
> Tomcat でクラスファイルが入れ替わったりすると自動的にアプリの中だけ再起動させてるじゃん。
デフォルトではそんなことしてません。あなたの使う開発ツールか何かがそうしているのでしょう。

> あの有効/無効や時間ってどこで設定するの?
server.xmlまたはコンテキスト設定ファイルです。
494デフォルトの名無しさん:2006/03/27(月) 14:22:53
Javaでeps画像を表示することは可能でしょうか?
ご存知の方がいらっしゃいましたらヒントでもいいので教えていただけないでしょうか
よろしくお願いします。
495デフォルトの名無しさん:2006/03/27(月) 15:49:51
>>494
たぶん、このライブラリ使えばできる模様。
ttp://www.lowagie.com/iText/
496デフォルトの名無しさん:2006/03/27(月) 15:50:01
Swingで、コンボボックス3つ(A, B, C)を連動させたいと考えてます。
Aが変化すればBの中身を、Bが変化すればCの中身をそれぞれDBから取得したいです。
それぞれItemListenerを設定し、getStateChangeがItemEvent.SELECTEDだったら
DBへアクセスするようにしました。
ただし、Bの中身を消してDBの中身を入れている間は
フラグでイベントを走らせないようにしています。
#走らせるとstackOverflowでエラーが発生してしまいます。

Aを変えてBは変更されますが、Bがひとつしかなかったりすると
変更されたタイミングでCが動きません。
どうにかしてここでB→Cと動かすにいい方法はありませんか?
497デフォルトの名無しさん:2006/03/27(月) 16:02:29
すいません、自己解決できそうです。
力技だけど、イベントを制御しているフラグを解除する前に
リスト(-1)をセット→フラグ解除→最初を選択で
なんとか動かせそうな予感がしてます。
すいません。
498デフォルトの名無しさん:2006/03/27(月) 16:17:22
>>495
ありがとうございます
壁が高そうですが調べてみます
499デフォルトの名無しさん:2006/03/27(月) 18:53:24
JDK1.4を使用しています。
以下のコードを実行しました。

BigDecimal bd = new BigDecimal("99999999999999.99");
DecimalFormat df = new DecimalFormat("#############0.00;-############0.00");
System.out.println(df.format(bd));

実行結果が99999999999999.99となることを予想したのですが、なぜか
99999999999999.98 と表示されてしまいます。
ググってみたのですがなかなか原因が見つからず、もし原因をご存知の方がいらっしゃいましたら、
教えていただけないでしょうか。
500デフォルトの名無しさん:2006/03/27(月) 19:01:40
ならんけど
501デフォルトの名無しさん:2006/03/27(月) 19:05:39
>>499
Linux の JDK 1.5.0_05 で試したが、そうはならないなあ。
99999999999999.99 って出る。
502デフォルトの名無しさん:2006/03/27(月) 20:00:07
>>499
JDK のソースを読んだけど、NumberFormat 内で BigDecimal を
double にしてから表示してるっぽいんだよね。そのせいで精度が落ちてる。
JDK5.0 では、DecimalFormat 内で format が上書きされてて、
BigDecimal を BigDecimal のまま処理してて、精度が落ちてない。

1.4 で扱うなら、DecimalFormat を拡張して、BigDecimal 扱えるようにするとかしないとダメっぽい。
503トリマ:2006/03/27(月) 20:09:41
こんばんわお初でつ☆いきなりなんですが、メールボム(爆弾メール)の作り方知ってる方どなたか居ますか?作り方を伝授して欲しいのですが…
504デフォルトの名無しさん:2006/03/27(月) 20:52:00
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
 |  次でボケて!!! |
 |               |
 |__________|
    ∧∧ ||
    ( ゚д゚)||
    / づΦ
505デフォルトの名無しさん:2006/03/27(月) 20:55:37
JDK 1.4 のコアライブラリって XPath 入ってないんだっけ? XSLT 使えてるから
どっかに入ってると思うんだけど。
506デフォルトの名無しさん:2006/03/27(月) 21:18:36
そもそもメールボムってなんなのよ
507デフォルトの名無しさん:2006/03/27(月) 21:29:49
正規表現に合致する文字列をランダムに
効率よく生成するにはどうしたらよいでしょうか?
508デフォルトの名無しさん:2006/03/27(月) 22:24:17
java1.3のswingのクラスを直列化したバイナリデータfileがあり
これを5.0で動かしたいのですが、なにか良い方法はないでしょうか?

どうも1.4以降データの形式が変わったみたいで
単純にObjectInputStream(file)としただけではserialVersionUIDが違うとおこられました。
509トリマ:2006/03/27(月) 22:45:52
>>506
メールボム:一通送っただけで、その受信者100〜1000通のメールを受信させる。早い話が嫌がらせメール。
510デフォルトの名無しさん:2006/03/27(月) 22:59:21
>>508
1.3 じゃ XML でシリアライズも出来ないから無理そうな希ガス
511デフォルトの名無しさん:2006/03/27(月) 23:01:07
>>503
1. Linux を入れる
2. bash で mail コマンドを無限ループで回す
512デフォルトの名無しさん:2006/03/27(月) 23:05:06
正指令電磁的記録等作成罪ではウイルス作成しただけでも罪になるが
メールボムやスパムは対象外だったか忘れた
513デフォルトの名無しさん:2006/03/27(月) 23:05:35
不正指令電磁的記録等作成等だたコピペミス
514デフォルトの名無しさん:2006/03/28(火) 01:29:39
初歩的な質問ですみません。
HashMapにputできる数って決まっているのでしょうか?
調べてみたのですがどこにも制限値が載ってなくて困っています
Java1.4.1を使っています。
515デフォルトの名無しさん:2006/03/28(火) 01:33:33
書き忘れましたが、putした数が90000件を越えたあたりで
プログラムが終了してしまいます。(正確でなくてすいません。)
Exceptionが何故かひろえない状態です。
516デフォルトの名無しさん:2006/03/28(火) 01:33:35
メモリが許す限り
517デフォルトの名無しさん:2006/03/28(火) 03:19:14
OutOfMemoryErrorなんじゃない?
ErrorはExceptionでキャッチできない
518>>508:2006/03/28(火) 04:33:37
>>510
そうですか…。

ObjectInputStream#resolveClass()とかも調べてみましたが無理っぽいです。
どうも力業で行くことになりそうです。
ありがとうございました。
519デフォルトの名無しさん:2006/03/28(火) 07:17:40
>>515
DB使え。HSQLDBならスタンドアローンのプログラムに組み込みやすい。
520デフォルトの名無しさん:2006/03/28(火) 07:28:47
>>518
シリアライズはJavaかSUN JVMどちらの仕様か知らないけど
SUNのJavaDocでは同一バージョンでのシリアライズしかサポートしないと明言してるよ
521デフォルトの名無しさん:2006/03/28(火) 07:43:33
たまに persistent なデータをシリアライズで DB にぶち込んでる設計とか
見かけるんだけど、偶然耳にして指摘してももう遅いフェーズとかになってんだよなぁ。
522デフォルトの名無しさん:2006/03/28(火) 08:35:36
>>521
何故persistentデータをシリアライズでDBに格納するのがいけないのですか?
523デフォルトの名無しさん:2006/03/28(火) 09:06:50
独学でJavaの勉強を開始しました。
以下のようなサンプルのソースで分からないことがあります。

public void paint(Graphics g) {
//クリア
g.setColor((255<<16)+(255<<8)+255);
g.drawString("フォント中:"+
fontM.stringWidth("あ")+"x"+
fontM.getHeight(),0,20,g.LEFT|g.TOP);
}
「<<」とか「|」ってなんでしょうか?調べてもよく分かりません。
ご存知の方、かご教授願います。
よろしくお願いします。
524デフォルトの名無しさん:2006/03/28(火) 09:13:00
ビット演算子
2進数
でぐぐれ
525デフォルトの名無しさん:2006/03/28(火) 09:13:05
>>523
ビット演算子で勉強しる
526デフォルトの名無しさん:2006/03/28(火) 09:13:32
いままでネトゲにハマってJAVAの勉強とまってたけど・・・
今日から復活するよ><
527デフォルトの名無しさん:2006/03/28(火) 09:56:20
>>503
分かりました。じゃあ図や絵を沢山使って分かり易く作り方を書いた
300MバイトのPDFファイルの解説書を、そのままでは受け取れないかも
知れないので10kバイトづつに分割して3万通のメールとしてお送り
しますのであなたのメールアドレスを教えて下さい。
528デフォルトの名無しさん:2006/03/28(火) 10:56:13
>>499
System.out.printf()
とFormatter使えよ
529デフォルトの名無しさん:2006/03/28(火) 10:56:39
>>507
Random
530デフォルトの名無しさん:2006/03/28(火) 11:23:02
>>514-15
HashMap.javaのソースコード
読んでみたらこうかいてあった。
/**
 * The maximum capacity, used if a higher value is implicitly specified

 * by either of the constructors with arguments.

 * MUST be a power of two <= 1<<30.

 */
static final int MAXIMUM_CAPACITY = 1 << 30;
531494:2006/03/28(火) 11:51:22
iTextのライブラリではイラストレータ等で使われているepsファイルは無理のようです。
できそうな感じなのに惜しい。
すみませんが引き続き情報等あればお願いします。
532デフォルトの名無しさん:2006/03/28(火) 12:35:52
eps2やeps2cと間違えてたりしてないよな?
533499:2006/03/28(火) 14:36:39
>>502
早速のご回答ありがとうございました。
内部で勝手にdoubleに変換されていたとは。。
JDK1.5にするか、それが無理でJDK1.4のままで行かざるを得ないなら、独自でDecimalFormatの独自拡張も考慮します。
534デフォルトの名無しさん:2006/03/28(火) 14:47:26
Java5 だとこんなことも出来て楽だ。

BigDecimal bd = new BigDecimal("99999999999999.99");
System.out.printf("%17.2f%n", bd);

printf() の中で同じことをしているのかも知れないが。
535デフォルトの名無しさん:2006/03/28(火) 14:55:28
>>515
-Xmx オプションで最大ヒープサイズを変更したらどうなる?
536デフォルトの名無しさん:2006/03/28(火) 20:50:14
putするときの一件のオブジェクトのサイズが
いくつくらいになるかによってかわってくるもんだね。
HashMapのソースを見る限りでは
90000件のデータがあると
少なくとも90000ものサイズの配列まで生成しようとする。
537デフォルトの名無しさん:2006/03/28(火) 20:53:53
>>529
いい案が思い浮かばないからって片手間で済ませるなよ
わかりませんって書いてるようなもんだぞ
538デフォルトの名無しさん:2006/03/28(火) 21:27:35
>>507が何したいかわからないから
しょうがないでしょう
539デフォルトの名無しさん:2006/03/28(火) 21:28:00
教えて君に教える必要はなし。
そこいらの本屋やサイト検索すればわかることだし
540デフォルトの名無しさん:2006/03/28(火) 21:47:46
このスレって自分の能力以上の質問が出るとすぐにこうなるよな
初級者が初心者の質問を待つだけのスレだから無理も無いが
541デフォルトの名無しさん:2006/03/28(火) 21:57:59
>>540
いやいや、そりゃそうだろ。
自分のわかるところのだけ教えてあげればいいんじゃね?

でも正規表現の質問は中身は簡単だけど、
あいまいすぎて無理な例。
542デフォルトの名無しさん:2006/03/29(水) 00:00:07
>でも正規表現の質問は中身は簡単だけど、

難しすぎて死にそうだが・・・
543542 上級者:2006/03/29(水) 00:06:17
難しすぎて誰も答えられない質問のはず
544デフォルトの名無しさん:2006/03/29(水) 01:10:52
日本語でおk
545デフォルトの名無しさん:2006/03/29(水) 01:59:49
どこで質問すればよいのかわからない中、ここが一番適当と思ったのでここで質問します。

Webページ上のJavaランタイムがどれもうまく動作しなかったので、
なぜか入っていた(以前間違えて入れたんだと思います)
J2SE Development Kit 5.0 Update6
J2SE Runtime Enviroment 5.0 Update 4
J2SE Runtime Enviroment 5.0 Update 6
をアンインストールして、最新のJREをインストールしました。

それでもだめだったのでMicrosoft VMをアンインストールしてみたところ、
@ITにSunの方も再インストールしなければならないと書いてあるのを見つけました。
そこでプログラムの追加と削除を見たらなぜかアンインストールしたはずの上記3種が残っており、
削除を試みると上二つでは「このバージョンの〜」というエラーと「インストール中に致命的なエラーが発生しました」
というエラーが表示されてしまいうまくアンインストールできません。
一番したのでは「変換するときにエラーが発生しました。指定された変換のパスが有効であることを確認してください」
と表示されこちらもうまくアンインストールできませんでした。

どうしたら正常にJAVAが動く環境になるでしょうか?
OSはXPのSP2です。
546デフォルトの名無しさん:2006/03/29(水) 10:55:55
>>540
質問書の意図するところがわからず
曖昧模糊としていては
質問に答えてもほとんどが推測に過ぎず
見当が外れる可能性が高まり
それは質問者にとっても回答者にとっても
良いことではない。

よって質問者はもっと具体的に何がしたいのか
何が目的なのかもっと明確にすべきだ。
それを文句垂れるあたなは一体何が言いたいのか
547デフォルトの名無しさん:2006/03/29(水) 10:58:40
>>545
> どこで質問すればよいのかわからない中、ここが一番適当と思ったのでここで質問します。
> Webページ上のJavaランタイムがどれもうまく動作しなかったので、
 〜〜〜〜〜〜〜〜〜〜〜〜〜

この意味がわかりませんが。何がいいたいのでしょうか?
Appletを表示させたいだけですか? それともJavaWebStartを使いたいだけですか?
それともServletの話ですか? もしAppletの話だったら使用しているブラウザは何ですか?
それをはっきりさせて下さい。
そんなこともわからずに適当なことを言う人はこのスレで質問する資格はありません。

548デフォルトの名無しさん:2006/03/29(水) 11:02:49
いちいちスルーできない奴が心当たりのある初心者
549デフォルトの名無しさん:2006/03/29(水) 11:57:36
回答者にエスパーを求めて
誰も回答してくれなかったら
愚痴を零して偉そうなことをいう質問厨
は確かにウザイがな。

最近の10代後半、20代前半に見られる若い餓鬼に
そういうのが増えてきているみたいだが。
やる気が無いくせにウザイだけだな
550545:2006/03/29(水) 12:22:02
>>547
あ、申し訳ありません、たぶんAppletだと思います。ブラウザはIE6です。

ttp://www.kdn.gr.jp/~shii/sand/index-jp.html
こちらのサイトさまの要JAVAと書いてある「砂」ファイルのところを開くと、
リンク切れの画像ファイルのように×印が表示されてしまいます。
551デフォルトの名無しさん:2006/03/29(水) 14:06:05
>>550
JavaSE 5 Update5 SDKで
Mozilla Firefoxを使ってみているがとくに問題なかったぞ。

Appletなら、ブラウザの設定がどうなってるか確認してみ。
それからコントロールパネルのJava plkuginの設定がどうなっているかも。
そこでjava.exe,javaw.exeのパスが設定されているはず。



それにしてもこのAppletのソースコードみてみたな。
このシミュレーションにかなり興味ある。
流体力学か何か使って計算しているのか?
552デフォルトの名無しさん:2006/03/29(水) 14:47:07
IEがJavaアプレットを利用しないセキュリティ設定になってるという事は?
553デフォルトの名無しさん:2006/03/29(水) 15:25:28
yieldって何て読むんですかね?
554デフォルトの名無しさん:2006/03/29(水) 15:57:11
はじめまして。

Javaアプリケーションのサービス化をしてくれるソフトで、
Windows2003に対応していて、かつフリーなものって何かありますか?
JMidoriServiceは更新ストップしてるようですし。
555デフォルトの名無しさん:2006/03/29(水) 15:59:09
Javaアプリケーションのサービス化って何ですか?
556デフォルトの名無しさん:2006/03/29(水) 16:05:17
Windowsのサービスマネージャで起動・停止できるようにってことかと
かくいう自分は知りません
557デフォルトの名無しさん:2006/03/29(水) 16:27:49
558デフォルトの名無しさん:2006/03/29(水) 16:59:16
559デフォルトの名無しさん:2006/03/29(水) 17:22:38
既に完成している自サイトにサーチエンジン選択可能な外部サーチエンジンによる
検索機能のみを自作、若しくは加工して付けたいのですが、参考になるサイトや
そういった物を解説しているサイトを教えて下さい。
560554:2006/03/29(水) 18:01:39
おおっ
ありがとうございます!
561デフォルトの名無しさん:2006/03/29(水) 18:23:06
javaのプログラムで内部的に作成したオブジェクトをSQLデータベース(mysql)に入れ
後で読み出すということをしたいのですが
javaのコードだけでこれを完結させるにはどうやればできるでしょうか?

シリアライズなどではなく、どうしても
データベースでなければいけないのです
562545:2006/03/29(水) 18:34:57
>>551-552
詳細設定を見ると、
Java (Sun)
<applet>にJRE 1.5.0_06を使用(再起動が必要)
のところにチェックが入っていました。

「コントロールパネルのJava plkuginの設定」というのはコントロールパネルにある、
「Java(開くとタイトルにはJava コントロールパネル)」というのでよろしいでしょうか?
Javaアプレットのランタイム設定というのがあったので開いてみたところ、
製品名 バージョン 場所 Javaランタイムパラメーター
JRE 1.5.0_04 C:\Program Files\Java\jre1.5.0_04 (空)
JRE 1.5.0_06 C:\Program Files\Java\jre1.5.0_06 (空)
となっていました。
jre1.5.0_04のフォルダにはlib\ext\QTJava.zipというファイルしかありませんでした。

詳細の<APPLET>タグのサポートでもちゃんとInternet Explorerにチェックが入っていました。

FireFoxで>>550のページをみるとやはり×マークでしたが、
今度は右クリックでコンソールが呼び出せたので見てみたらNullPointerExceptionなどのエラーが出ていました。
こちらが全文です。
http://www.uploda.org/uporg350101.txt.html
563デフォルトの名無しさん:2006/03/29(水) 18:41:15
>>561
シリアライズして BLOB 型のカラムにぶちkめ
564デフォルトの名無しさん:2006/03/29(水) 19:11:05
>>563
そうだそうだ!ぶちこめ!
565デフォルトの名無しさん:2006/03/29(水) 19:13:09
>>564
左手は添えるだけ。
566デフォルトの名無しさん:2006/03/29(水) 19:14:40
先端は空気を抜く
567デフォルトの名無しさん:2006/03/29(水) 19:51:31
ピンホールに注意
568デフォルトの名無しさん:2006/03/29(水) 19:59:11
備え付けのは使わない
569デフォルトの名無しさん:2006/03/29(水) 20:37:52
>>553
〔ji:ld〕
570デフォルトの名無しさん:2006/03/29(水) 21:30:19
>>549
エスパるレベルの質問じゃないと思うが
長文で愚痴らなきゃいけないほど傷ついたん?
571デフォルトの名無しさん:2006/03/29(水) 23:38:33
>>545
1,IEで見たいのかFireFoxでみたいのかどっちなの?
2,そのPCにQuickTimeが入ってませんか?
QuickTimeはJavaのClassPathを勝手に書き換えるためそれが原因かもしれません。
詳しくは「QuickTime java ClassPath」で検索してみてください。
572545:2006/03/30(木) 00:24:49
>>571
IEです。FireFoxでの報告もしたのはFireFoxで見れたという報告をいただけたからです。

たしかにiTunes関係でQuickTimeが入っています。
しかし、ウェブサイトを参考にしてCLASSPATHを
".;C:\Program Files\Java\jre1.5.0_04\lib\ext\QTJava.zip"
と書き換えて再起動してみましたが、やはり×マークのままでした。
573デフォルトの名無しさん:2006/03/30(木) 01:28:56
で、このスレと何の関係があんの?
574デフォルトの名無しさん:2006/03/30(木) 01:31:23
>>573
同意、google様に頼めよ
575デフォルトの名無しさん:2006/03/30(木) 11:01:35
toStringメソッドに関して質問です。
自分でクラスHogeを作ってtoStringメソッドを実装せずに。toStringを呼び出すと
ObjectクラスのtoStringが呼び出されると思うのですが、このときObject型のAPIリファレンスの
toStringの項目を読むと


Object クラスの toString メソッドは、オブジェクトの派生元のクラス名、アットマーク (@)、および…


と書いてあるのですが、「派生元のクラス名」と書いてあるのに、実際にはHogeクラスのクラス名が
表示されます。これはどういうことでしょうか? 「派生元の」って言われるとObjectクラスのクラス名
が表示されるイメージがあるのですが
576デフォルトの名無しさん:2006/03/30(木) 11:13:21
>>575
日本語版でアレ?と思ったら原本の英語版を読もう

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#toString()
「オブジェクトの派生元のクラス名」は
「the name of the class of which the object is an instance」となってる。
577デフォルトの名無しさん:2006/03/30(木) 12:41:43
>>576 わかりました。ありがとうございます。
578デフォルトの名無しさん:2006/03/30(木) 12:49:52
>>572
QuickTimeのせいで似たようなめにあったことがあるが
とりあえずQuickTimeをアップグレード白。
新しいマシンでiTunesと一緒に新規にQuickTimeをインストールしたときはQuickTimeのパスなんか
通らない。
579デフォルトの名無しさん:2006/03/30(木) 12:52:32
>>575
読めないのか
[とか@とか特殊な表示でオブジェクトの状態を表現しているだけだろうが。

Object#toString()の実装方法がわからなければ
Jakarta Commons LangのToStringBuilderクラスを使え。
付帯的にこのクラスの使い方がわからなければ
Eclipseのプラグイン Commons4Eを使え。
自動的に自作クラスにtoString(), hashCode(), equals(), compareTo()
を実装してくれる。
580デフォルトの名無しさん:2006/03/30(木) 12:53:32
>>570を見ていると
教えて君の餓鬼が愚痴をこねて甘えているだけに
しか見えないな。答えられるなら替わりに答えてみな。
581デフォルトの名無しさん:2006/03/30(木) 13:05:13
すいません。初心者です。javaってインターネットにつないでないとインストールできないんですか?
582デフォルトの名無しさん:2006/03/30(木) 13:11:54
>>581 JAVAの入門書とか買えば、ついてくるんじゃないかな。
583577:2006/03/30(木) 13:17:57
>>576
英語は苦手なんですが…

「the name of the class of which the object is an instance」

X「オブジェクトの派生元のクラス名」
○「インスタンス化されたオブジェクトのクラスの名前」

で理解しておくことにします。少なくとも派生って言葉はでてこないよなぁ…
584デフォルトの名無しさん:2006/03/30(木) 13:18:48
どうもすいません。自己解決できました
585デフォルトの名無しさん:2006/03/30(木) 13:23:02
何かアホそうな爺さんが愚痴こぼしてるな。
586デフォルトの名無しさん:2006/03/30(木) 13:53:55
>>581
つながなくてもインストールできる。
587勉強中:2006/03/30(木) 14:10:43
「記憶容量をメモリの変数とする」の意味を教えてください。
1バイトメモリと3バイトメモリでは変数の数が違ってくるような木が
するのですが。お願いします。
588勉強中:2006/03/30(木) 14:22:52
587ですが、記憶容量を変数の数で表すということですか。
>583 英語の字面から訳すとオブジェクトがインスタンスであるクラスの
名前。
589545:2006/03/30(木) 15:14:34
>>573-574
Googleは一番最初に行きました。
1時間ほど検索したり見つかったサイトを調べたりしていましたが、今回の件に関する情報は見つかりませんでした。
なので「Java 質問 site:2ch.net」で一番上に出てきたこのスレで質問をしたのです。

>>578
AppleからダウンロードしてみたらiTunesもついてくるものでしたが、これで問題ないでしょうか?
インストールして見ましたが駄目、再起動しても駄目でした。


ちなみに、>>550のサイトの「初期状態」を開くとこういう状態になっています。
http://www.imgup.org/iup184508.jpg.html
590デフォルトの名無しさん:2006/03/30(木) 15:17:28
QuickTime関連はテンプレ入れといた方が良いんじゃない?
591デフォルトの名無しさん:2006/03/30(木) 15:21:05
>>587
「記憶容量をメモリの変数とする」と言った人か、書いた人に聞くのが一番早いと思う。
592デフォルトの名無しさん:2006/03/30(木) 15:35:43
専門で
C、javaかC、C#を習ってこようと思います
どちらがいいと思いますか?
593デフォルトの名無しさん:2006/03/30(木) 15:43:09
>>592
専門はオススメしないってのはあり?

無しなら講師がマトモそうな方だね。
言語の好き嫌いで選ばない方が良いと思う。
594デフォルトの名無しさん:2006/03/30(木) 15:59:39
>>587
> 「記憶容量をメモリの変数とする」の意味を教えてください。
日本語が不自由な人間に聞いてくれ。
595デフォルトの名無しさん:2006/03/30(木) 16:03:04
>>589
とりあえずパスからクイックタイム関連を抜き取れ。
おれは抜き取ったら問題なく動いた。
ぬきとってもQuickTimeにはとくに影響を与えない。
596デフォルトの名無しさん:2006/03/30(木) 16:10:55
>>593
講師は皆まともといえばまともだと思います。
javaのほうは設計も勉強して初級SE
C#のほうはプログラマです
597デフォルトの名無しさん:2006/03/30(木) 16:16:48
>>596 奨学金とか借金してでも大学いけ
598デフォルトの名無しさん:2006/03/30(木) 16:28:26
一つお聞きしたいのですが、BufferedReaderで文字入力を取り込んで、
それら複数をコレクションを使って一旦格納しといて、指定ファイルに出力させる
プログラムをやってるところなのですが、
それに加えて、文字入力の際の文字数や入力可能な行数は
どのようにして設定できますか?

いまのところ使用中のテキストはコレクションで終わっていて、
どういった手法、或いはツール等を使えばよいか分かりません。

すいませんが、ご指南の程宜しくお願い致します。
599デフォルトの名無しさん:2006/03/30(木) 16:30:29
>>579 のような思いっきり的はずれでえらそうなレスを久しぶりに見た
600デフォルトの名無しさん:2006/03/30(木) 16:33:46
分析、設計、構築の構築という部分はPGの開発とは違うんですか?
601デフォルトの名無しさん:2006/03/30(木) 16:37:30
>>579
ワロタ
ageとく
602デフォルトの名無しさん:2006/03/30(木) 16:38:09
>>600
現場や状況によりけり。明確な境界はない。
603デフォルトの名無しさん:2006/03/30(木) 16:45:19
>>602
つまり構築というのも仕様に沿って
プログラムを書くということなんですか?
604デフォルトの名無しさん:2006/03/30(木) 16:59:27
>>603
構築って言葉であらわされる作業の中にプログラミング作業を含まれる事があるって位に考えると良いよ
605デフォルトの名無しさん:2006/03/30(木) 17:03:27
PG と SE の役割が明確に分かれてるなら、PG は SE が起こした仕様書通りに
コードを書き単体テストをする人。ただまぁ PG が見つけた仕様の矛盾を SE が
ちゃんと拾わなくて最後は PG が設計と分析やってたとか、設計も実装もする
SE とか、いろいろあるわな。
606デフォルトの名無しさん:2006/03/30(木) 17:08:40
仕様書通りにコードを書くって言っても
それは細かい動きをプログラマが考えるってことで
丸写しできるわけじゃないですよね?
607デフォルトの名無しさん:2006/03/30(木) 17:15:13
仕様書の細かさや着眼点は客や社内や PM の方針によりけり。大手銀行系だと
マジでコードを日本語で書いてるくらい細かい所もある。
608デフォルトの名無しさん:2006/03/30(木) 17:15:36
「Javaの鉄則」の鉄則48に"リテラルクラス"というのが出てくるんですが、
リテラルクラスって何ですか?
609デフォルトの名無しさん:2006/03/30(木) 17:17:41
public class Literal{
  ...
}
610デフォルトの名無しさん:2006/03/30(木) 17:23:30
>>607
そんな仕様書細かく書いてあるって事はPGいらなくないですか?
611デフォルトの名無しさん:2006/03/30(木) 17:24:47
PGはパンチャー
612デフォルトの名無しさん:2006/03/30(木) 17:32:22
ここはjavaのスレだからSEよりの人が多いのだろうか
パンチャーって・・・
613デフォルトの名無しさん:2006/03/30(木) 17:53:00
PGはぱんちゅ
614デフォルトの名無しさん:2006/03/30(木) 17:59:13
仕様書書く人がわかるところは細かく、わからないところは1行さらっと。
そして、さらっと書いたところのプログラムが異様に大きくなる罠。
615545:2006/03/30(木) 18:04:33
>>595
環境変数のパスですね?
CLASSPATH、PATH両方から抜き取ってみましたが改善は見られませんでした。


また、このような情報を見つけたので解決策を実行してみましたが、やはりこちらも解決には至りませんでした。
http://www.java.com/ja/download/help/error_applying_transforms.xml
616デフォルトの名無しさん:2006/03/30(木) 19:08:27
>>609
特定のクラスの名前というよりは、
何らかの特性を持ったクラスの総称のような感じではないかと思うのですが
617デフォルトの名無しさん:2006/03/30(木) 19:17:02
"リテラルクラス" の検索結果 約 20 件中 1 - 10 件目 (0.07 秒)
618デフォルトの名無しさん:2006/03/30(木) 21:04:46
16進数の 0x0D0A をテキストファイルに出力したいのですが、
2バイトだと出力できないのでしょうか?
char c = 0x0A;として0x0Aは出力できました。
Windowsです。
619デフォルトの名無しさん:2006/03/30(木) 21:08:50
OutputStream out = new FileOutputStream("hoge");
out.write(0x0D);
out.write(0x0A);

Writer out = new FileWriter("hoge");
out.write("\r\n");
620デフォルトの名無しさん:2006/03/30(木) 21:34:47
正直0d0aってダサイよな?
もっとましな数字なかったのか
621デフォルトの名無しさん:2006/03/30(木) 21:36:48
何だとコラ?
622デフォルトの名無しさん:2006/03/30(木) 21:47:48
PG の仕事は営業から
623デフォルトの名無しさん:2006/03/30(木) 21:51:21
>>621
\r\nの方ですか?
624デフォルトの名無しさん:2006/03/30(木) 22:17:34
>>608
読んどらんのでよーわからんが、
たぶんプリミティブ型のラッパークラスどもだと思う
625デフォルトの名無しさん:2006/03/30(木) 22:53:46
>>608
そんな本は捨ててしまえ。
仮に原書が良くても、そんな訳じゃ他の単語も怖いわ
626デフォルトの名無しさん:2006/03/30(木) 22:57:23
>>615
解決策のうち、インストールの方もダメでしたか?
627デフォルトの名無しさん:2006/03/30(木) 23:17:32
>>619
thx. ただ単純に連続して出せばいいのか… \r\nってことね。
628デフォルトの名無しさん:2006/03/30(木) 23:17:46
そういや以前ここだったかで、Javaでも共用体が使いたいって言ったら
Effective Jave嫁!ってアホみたいに勧める奴が居たんだよ
んで、読んでみたらまるで意味の無いことが書いてあった
上手く説明できないがわざわざサブクラスに置き換えさせるためだけに
腐った共用体の例題書いてとやかく言ってるだけみたいな

やっぱ共用体って大事だよな
今はBufferがあるからそれでいいんだけど
629デフォルトの名無しさん:2006/03/30(木) 23:38:52
>>628
自分で結論出てるのならレスするなよ


文句のレスつけて自分の理解してない事を相手に説明させようとする池沼に見える
630デフォルトの名無しさん:2006/03/30(木) 23:40:50
>>629
勧めた本人ですか?糞本薦めないでくださいね
631デフォルトの名無しさん:2006/03/31(金) 00:22:03
630 名前:デフォルトの名無しさん[sage] 投稿日:2006/03/30(木) 23:40:50
>>629
勧めた本人ですか?糞本薦めないでくださいね
632デフォルトの名無しさん:2006/03/31(金) 00:24:24
何だ本読んでも理解できないから説明させようと必死に煽るという
馬鹿が精一杯考えたお決まりの手法か( ´_ゝ`)
633デフォルトの名無しさん:2006/03/31(金) 00:31:47
説明なんて求めてないから糞本薦めないでくださいね
634545:2006/03/31(金) 00:37:48
>>626
はい。msiexec.exe〜の一連のをコマンドプロンプトに入力してみたところ、
インストールはできました。
そしてデスクトップのJava Web Startのアプリケーション(Draw 4 App)も動くことを確認しましたが、
依然としてアプレットは×印のままで使えませんでした。
635デフォルトの名無しさん:2006/03/31(金) 02:05:04
角度を0〜359に変換するうまい方法はないでしょうか?
400→40
-500→220
7000無量大数→160
パソコンて-500/360=-2余り220ってできないんだね
636デフォルトの名無しさん:2006/03/31(金) 02:08:17
そして635は算数ができない。
637デフォルトの名無しさん:2006/03/31(金) 02:15:27
>>636
>>635これはひどいwwww
638デフォルトの名無しさん:2006/03/31(金) 02:17:12
>>634
ここは、「プログラム」板のjavaスレだ。
もう二度とレスするな。
そしてみなさん放置してください。
639デフォルトの名無しさん:2006/03/31(金) 02:21:00
>>635
400度ってそもそも角度といえるの?w
複数周回したという意味なんだろうけど気になった。
/じゃなくて%使えば余りを求めることは出来るよ。
640デフォルトの名無しさん:2006/03/31(金) 02:24:20
>>634
素直に再インストールしたほうがいいよ

Win98時代はJavaのせいでファイル名がバグりまくったなぁ
そのファイルが消せないとんでもなさで、おかげで当時はJavaが大嫌いだった
641デフォルトの名無しさん:2006/03/31(金) 09:56:43
>>599
偉そうというより啓蒙している姿が伺える。
啓蒙思想家
642デフォルトの名無しさん:2006/03/31(金) 09:59:37
>>615
とりあえず、
コマンドプロンプトで
echo %PATH%
echo %CLASSPATH%
と入力したときの結果を見せれ
643デフォルトの名無しさん:2006/03/31(金) 10:04:57
>>625
いや。あの本は使えるぞ。Javaの格言より使える。格言のほうは古いからというのもあるが。
鉄則も今となっては古いが。どちらも一回読んだらイラネ、だな。

リテラル なんたらとかいうのが出てきたことは確かだが。

っていうか何ページにリテラルクラスと書いてあるんだ? >>608よ。
ページ番号教えれ。今読んでるところだから。
644デフォルトの名無しさん:2006/03/31(金) 10:06:02
>>628
お前餓鬼だな。
645デフォルトの名無しさん:2006/03/31(金) 10:06:48
>>635
お前頭悪いね
646デフォルトの名無しさん:2006/03/31(金) 10:11:27
派遣が煽りに終始するスレにもどったようです
647545:2006/03/31(金) 10:26:18
>>640
>>615でインストールされたのはバージョンが古いもののようだったので、
アンインストールして最新版をインストールしなおしてみましたが結果は同じでした。

>>642
はい。
PATH
C:\Perl\bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\WBEM;C:\WINDOWS\System32\spool\DRIVERS\W32X86\3;C:\Program Files\ATI Technologies\ATI.ACE\

CLSSPATH
%CLASSPATH%

CLASSPATHが表示されないのはいま空っぽに設定してるせいかと思われます。
648デフォルトの名無しさん:2006/03/31(金) 10:39:07
>>647
> CLSSPATH
スペル間違えてるぞ。

もう一回確認しろ!!!!!!!!!!!!!
649545:2006/03/31(金) 12:33:18
あーあのCLSSPATHは後から追加したものですから・・・・・・
やはり「%CLASSPATH%」と出力されました。
650デフォルトの名無しさん:2006/03/31(金) 12:37:27
>>647
Javaのパスが通ってないんじゃ動かなくて当然じゃないかw
651デフォルトの名無しさん:2006/03/31(金) 12:40:01
長げぇな。まぁ回答してる奴もいるから良いか。
652643:2006/03/31(金) 12:45:10
>>608
> 「Javaの鉄則」の鉄則48に"リテラルクラス"というのが出てくるんですが、
> リテラルクラスって何ですか?

よくみたら鉄則48か。
P.187-190だな?

初版第一版発行だが
「リテラルクラス」なんて一つも出て来ないぞ?

確かに「Javaの鉄則 エキスパートプログラミングのテクニック」
ピーター・ハガー著m株式会社ドキュメントシステム=訳
ピアソン・エデュケーション出版

の本だな?





653デフォルトの名無しさん:2006/03/31(金) 12:49:40
654デフォルトの名無しさん:2006/03/31(金) 12:51:20
>>625
今リテラルクラスでぐぐってみたが
Sun認定試験のところにも引っかかったぞ。
655デフォルトの名無しさん:2006/03/31(金) 12:53:43
Smalltalkにもリテラルクラスという用語が使われているわけだが。
656デフォルトの名無しさん:2006/03/31(金) 12:54:22
Test.class ← これのことじゃねえかと リテラルクラスとは。
バイナリファイルのこと
657デフォルトの名無しさん:2006/03/31(金) 12:55:53
いや違う、どうやら
値をもったクラスのことなようだ。
結局IntegerやDoubleなどのラッパークラスのことか。
Stringなども含まれる。
単なる、メソッドだけのクラスじゃないっつーことで
658デフォルトの名無しさん:2006/03/31(金) 13:06:37
>>654
あわてんぼさん、飛んだ先をよく見れ


配列の宣言方法(2)
明示的な割り当てをしない配列
リテラル
クラスとは?
メソッドとは?
659デフォルトの名無しさん:2006/03/31(金) 13:09:08
>>655
リテラルクラス smalltalk でぐぐっても引っかかるのは 「Smalltalkイディオム」 って本だけ。

> 第3章 内部(バイトコードとリテラル;クラスとインスタンス ほか)
660デフォルトの名無しさん:2006/03/31(金) 13:11:20
だからSmalltalkに使われていると何度言ったら
661デフォルトの名無しさん:2006/03/31(金) 13:58:00
438 名前:仕様書無しさん[] 投稿日:2006/03/31(金) 11:33:12
jarファイルの扱いで日本語ファイル名が化けるというバグが
いつまで経っても直らないのだがw
662デフォルトの名無しさん:2006/03/31(金) 14:12:41
コアライブラリのゼップユーティリティが UTF-8 でしかファイル名扱えないからダメよ。
663608:2006/03/31(金) 14:40:24
>>652
ごめんなさい
鉄則48ではなく、鉄則47でした。
664デフォルトの名無しさん:2006/03/31(金) 14:45:54
しゃーらしか
そのパラグラフまとめて載せろ。文脈が分からん
665デフォルトの名無しさん:2006/03/31(金) 14:49:43
JAVAアプレットで、マウス右クリックで出すコンテキストメニューを
カスタマイズできますか?
666デフォルトの名無しさん:2006/03/31(金) 15:03:20
Smallktalkでリテラルクラス?
そんなもんねーよ
667デフォルトの名無しさん:2006/03/31(金) 15:05:44
スモールチンポは黙ってろ
668デフォルトの名無しさん:2006/03/31(金) 15:23:35
フルーツポンチに語感が似ている。
669デフォルトの名無しさん:2006/03/31(金) 15:38:47
>>653
「リテラルクラス」じゃなくて、「クラスリテラル」の誤訳?

class Test {
 Class c = Test.class; //「Test.class」の部分がクラスリテラル
}
670608:2006/03/31(金) 15:44:25
>>664
鉄則47:同期化staticメソッドと同期化インスタンスメッソドをはっきり区別する

synchronizedキーワードは、インスタンスメソッドやオブジェクトと同様に
staticメソッドとリテラルクラスにも適用できます。staticなものにsychronized
キーワードを使った時に取得されるロックは、非staticの場合のロックとは異り
なります。同期化されたstaticメソッドが呼び出されるときに取得されるロックは、
そのメソッドが定義されたクラスのClassオブジェクトに関連付けられたロックと
なります。同期化ブロックがリテラルクラスで呼び出されたときに取得されるロ
ックも同じです。すなわち、そのClassオブジェクトと関連付けられたロックな
のです。

(「Javaの鉄則」鉄則47P182-183)
671デフォルトの名無しさん:2006/03/31(金) 15:49:09
結論: クラスリテラル
672デフォルトの名無しさん:2006/03/31(金) 16:08:41
誤訳のせいで粗チン呼ばわりされた
謝罪と賠償を (rya
673デフォルトの名無しさん:2006/03/31(金) 17:06:49
int i = 2147483647;
System.out.println("i="+i);
i=i+1;
System.out.println("i="+i);

こういうプログラム書くとintの最大値がintの最小値に逆転しちゃうじゃないですか。
理屈はわかるんだけども、これってエクセプションとして扱わないの?
扱えないの?
674デフォルトの名無しさん:2006/03/31(金) 17:09:50
言語使用でも読んでこい
675デフォルトの名無しさん:2006/03/31(金) 17:10:49
扱えますが浮動小数点みたいにコプロがエラー拾ってくれないからそんだけ遅くなります。
676デフォルトの名無しさん:2006/03/31(金) 22:52:13
>>675
オーバーフローって扱えるんだ?知らなかった!
677デフォルトの名無しさん:2006/03/31(金) 22:54:27
>>676
言語レベルで扱ってはくれない。

事前と事後に自力で変数チェックするとかしてオーバーフローしてるか検査しないとダメ。
678デフォルトの名無しさん:2006/03/32(土) 00:09:03
Javaらしくないね…
679デフォルトの名無しさん:2006/03/32(土) 00:11:48
>>678
3月32日!
680デフォルトの名無しさん:2006/03/32(土) 00:23:36
今日は
681デフォルトの名無しさん:2006/03/32(土) 00:24:02
4月馬鹿ネタだっつーの、恥ずかしい奴。
682デフォルトの名無しさん:2006/03/32(土) 01:58:34
mcode\motelar..nis:per:mo/a/ac/aza/ready
mcode\motelar..pebla:mo/1240984421/ac/aza/ready
mcode\motelar..dsp:dsp:mo/fcp/nec43554n2mr_/ac/aza/ready
dplus[mcode_back/110011/]dsp:dsp/a/ac/aza/ready

これ何のプログラムで触るかわかりませんか?
683デフォルトの名無しさん:2006/03/32(土) 02:01:38
>>682
コンサルタントかエスパーを雇ってください。
684デフォルトの名無しさん:2006/03/32(土) 02:44:53
すいません質問です。分かる方教えてくださいませ
eclipseでMySQLを実行したいんですが
Class.forName("com.mysql.jdbc.Driver");
の文でエラーが出ます。
コマンドプロンプトでは動いたんですがeclipseでは動かなかったです・・・・そもそもこのcom.てどこですか?
685デフォルトの名無しさん:2006/03/32(土) 02:46:09
がんばれ。
686デフォルトの名無しさん:2006/03/32(土) 03:00:12
コーディングについての質問なのですが、
コメントを階層化するのにいい書き方ありませんか?
クラスの中で
/*
* フィールド
*/

/*
* メソッド
*/

/*
* メソッド1の説明
*/

/*
* メソッド2の説明
*/

/*
* 内部クラス
*/

/*
* 内部クラス1の説明
*/

/*
* 内部クラス2の説明
*/
つづく
687デフォルトの名無しさん:2006/03/32(土) 03:01:19
>>686のつづき
とかメソッドの中で
//処理A
//処理A-1
//処理A-2
//処理B
//処理C
//処理C-1
//処理C-2
//処理C-3
こういうコメントを付けるときコメントの入れ子(ネスト)のレベルが分かるような書き方をしたいのですが、
標準的な書き方ってありますか?
688デフォルトの名無しさん:2006/03/32(土) 03:01:37
>>684
プロジェクトのプロパティ→Javaビルドパスの「ライブラリ」欄に
MySQLのJDBCドライバを追加してやればいいんでないかい?
689デフォルトの名無しさん:2006/03/32(土) 03:06:33
>>686
実際にJavaAPIのソース覗いてみるとよか。
Apache財団とこのオプソのソースを覗くとかね。
690684:2006/03/32(土) 03:08:38
>>688
出来ました!感謝!!
691勉強中:2006/03/32(土) 08:40:04
>591, 594 実は中国語を日本語に訳したのを読んでいるのです。これを
今度は英語に訳すためです。
692デフォルトの名無しさん:2006/03/32(土) 10:10:41
母国語勉強しなさい
私からの命令です
693デフォルトの名無しさん:2006/03/32(土) 14:46:46
mainの中にこんなのが出来るんですけど
いったいなにしてるんですか?

  java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
      new test().setVisible(true);
    }
  });
694デフォルトの名無しさん:2006/03/32(土) 14:52:14
>>693
イベントキューにRunnable を実装した無名クラスを渡してる。

後で new test().setVisible(true); が実行される。
695デフォルトの名無しさん:2006/03/32(土) 16:47:51
入出力が糞めんどくさいです。
楽チンwrapperクラスください。
自分で考えてみたんですけど駄目でした。

class MyReader extends BufferedReader {
  MyReader(String path) {
    super(new FileReader(path));
  }
}

FileReaderのコンストラクタはthrowsあるし、try書くと先頭じゃねーと言われます。
696デフォルトの名無しさん:2006/03/32(土) 17:14:59
なにがしたのか全く理解できない
697デフォルトの名無しさん:2006/03/32(土) 17:17:29
>>695
class MyReader extends BufferedReader {
 MyReader(String filename){ super(getFileReader(filename)); }
 static Reader getFileReader(String filename){
  try{
   return new FileReader(filename);
  }catch(IOExeption e){
   return null; // throw Error(e); でも良いし、適当にやれ。
  }
 }
}
698デフォルトの名無しさん:2006/03/32(土) 17:19:44
>>696
たぶん、MyReader を使う側で try catch とか throws 書きたくないので
FileNotFoundException を握りつぶしたいけど、
>>695 には難しくてできないって事じゃないかと。
699すいません。お助け。。:2006/03/32(土) 17:31:02
質問なんですが、答えていただけますか?
ファイルAの中にファイルBがありその中に
メモ帳の絵があるんですが、
それをファイルAの中にファイルBと同じように
表示するには、どうしたらよいでしょうか????
ファイルA>ファイルB>メモ帳の絵 
       ↓

ファイルA>ファイルB
      メモ帳の絵

としたいのですが、
私のこの言葉で、伝わりますでしょうか・・・・
700デフォルトの名無しさん:2006/03/32(土) 17:38:51
落ち着いて書き直し
701デフォルトの名無しさん:2006/03/32(土) 17:44:13
>>697
どうもありがとう。
見てみると普通ですね。コロンブスの玉子というか。
自分頭がちがち。

>>698
そうです。


感謝。
702デフォルトの名無しさん:2006/03/32(土) 18:07:07
プログラムの再起動をさせるにはどうしたらいいでしょう?
703デフォルトの名無しさん:2006/03/32(土) 19:57:45
>>695,697
BufferedReaderを継承してMyReaderにするから
コンストラクタで例外の扱いがめんどくさくなる。
委譲にしとけ。
704デフォルトの名無しさん:2006/03/32(土) 21:06:15
>>703
委譲にすると、BufferedReader 固有のメソッドを再定義すんのが面倒なんじゃないかね?

個人的には委譲も継承も使わないで BufferedReader を素のまま使って、
try catch とか throws 面倒くさがらずに書く方が良いと思うけど。
705デフォルトの名無しさん:2006/03/32(土) 21:46:00
BufferedImage が使えない環境で、代用になるようなものって
ありますでしょうか?どうしても古い環境に持って行かなければ
ならないコードがありまして、元のコードは
BufferedImage のオブジェクトに次々と描画して最後に
g.drawImage(buffered_image, 0, 0, java.awt.Color.WHITE, null);
みたいにして一気に描画しています。
706デフォルトの名無しさん:2006/03/32(土) 22:35:35
>>666
リテラルクラスでぐぐったら何かでてきたような
707デフォルトの名無しさん:2006/03/32(土) 22:36:07
>>673
Java Puzzlersを嫁
708デフォルトの名無しさん:2006/03/32(土) 22:41:29
>>705
> BufferedImage が使えない環境で、代用になるようなものって

> ありますでしょうか?どうしても古い環境に持って行かなければ

まさか法務省のサイトのあのJavaソフトウェアを作っている者か?

709デフォルトの名無しさん:2006/03/32(土) 22:57:32
>>708 違います。天体観測のシステムです。
民間の小さな天文台でスタンドアロンのシステムです。
赤道儀と連動して天球とCCDからの信号の処理結果を表示しています。

赤道儀の制御に使っているPCがどうしても新しくできず、
(GP-IBに似た特殊な制御用ボードを積んでいるため)
新しく交換したCCDの信号処理のためのコードとマージしようとしています。
ターゲットの環境は JDK 1.1.4 です。
java.awt.image.MemoryImageSource でなんとかなるものでしょうか?

(なお、最終的な信号処理は蓄積後観測所外で行います)
710デフォルトの名無しさん:2006/03/32(土) 23:49:27
エクリプス使えば委譲も簡単
711デフォルトの名無しさん:2006/04/02(日) 01:25:07
>>709
最近 1.1 で作ってないのでちょっとあやふやだが MemoryImageSource に
Toolkit#createImage() で Image 作ってあとは getGraphics() で描画できた
ような記憶がある。とにかく何かしらで出来はしたはず。
712デフォルトの名無しさん:2006/04/02(日) 01:37:13
Javaでinformaを使ってRSSを作成するときに、discriptionにCDATAを
つけたいのですが、どうすればいいのでしょうか?
713686-687:2006/04/02(日) 05:04:34
>>689
見てみましたが、クラスの前とかでコメントアウトのくくり方を変えたのは見受けられますが、
メソッド内のコメントでそういう階層が付いてる様には見えませんでした。
そんなもんなんですかね。
714デフォルトの名無しさん:2006/04/02(日) 06:15:51
配列定義の質問です。

String[] strArray = new String[0];
のところを、
String strArray[] = new String[0];

って書く奴いますよね。
配列はオブジェクトですよね?
後者の書き方で書く奴は殴っていいですか?
715デフォルトの名無しさん:2006/04/02(日) 06:35:37
イベント処理についてなのですが、
Swingでボタンなどのコンポーネントが複数ある場合、
ボタンを押した場合の挙動は、ボタンごとにActionListenerの匿名クラスに定義してもよいのでしょうか。
それともActionListenerを実装したクラスのインスタンスを一つだけを作ってそれに二つのボタンをAddして
actionPerformedメソッド内で振り分けるのがいいのでしょうか。
前者のほうがコーディングしやすそうなのですが、
手元のサンプルコードを見ると前者を採っている例が見当たらないので
ボタンの数だけインスタンスを作るので重くなったりして、なにかまずいことでもあるのでしょうか?

前者の例
btn1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
btn1を押したときの処理A
}
});
btn2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
btn2を押したときの処理B
}
});
716デフォルトの名無しさん:2006/04/02(日) 08:59:33
>>714
配列定義の質問じゃなくて、人を殴っていいか聞いてるだけだろ
そのうち殺人まで犯しそうだな
717デフォルトの名無しさん:2006/04/02(日) 10:06:45
>>709
ソースコードからコンパイルし直せば
最新版Java SE 5でも問題ないだろ。
718デフォルトの名無しさん:2006/04/02(日) 10:07:57
>>713
Javadocでググレ。
とりあえずEclipseを使えば
コメント自動生成機能があるから
使え。
それからovervew.html, package.html
について調べてみろ
719デフォルトの名無しさん:2006/04/02(日) 10:08:42
>>714
後者を前者に修正しようともせず
後者で当たり前だと思っているなら直って良い。
720デフォルトの名無しさん:2006/04/02(日) 10:11:31
>>717
JNI は 1.1 と 1.2 以降でかなり変わっているんだが知ってる?
721デフォルトの名無しさん:2006/04/02(日) 10:45:58
>>714
殴って吉
722デフォルトの名無しさん:2006/04/02(日) 12:33:53
>>720
そういうときこそ、Eclipseのリファクタリングが吉
723デフォルトの名無しさん:2006/04/02(日) 12:37:31
へぇ、Eclipse って JNI の中までリファクタリングしてくれるんだ。
ところで JNI って何か知ってるよね?
724デフォルトの名無しさん:2006/04/02(日) 12:45:09
>>723
Java
Neisann
jIkenndesu
725デフォルトの名無しさん:2006/04/02(日) 12:59:51
JNI津川名ければいいじゃん
726デフォルトの名無しさん:2006/04/02(日) 13:00:00
ようは、切り捨て
727デフォルトの名無しさん:2006/04/02(日) 13:10:23
研究向けのハードはなかなか別環境向けのドライバ出なかったりするから大変だな。
MS-DOS/Win3.1 時代に N88日本語BASIC 用ライブラリしかなかったのをハードウェア
リファレンスとコード解読して C とインラインアセンブラで書き直したの思い出した。
たしかフォトマルのボードだったかな?
728デフォルトの名無しさん:2006/04/02(日) 14:19:19
>>717
コンパイルした後、どのバージョンで実行するのか小一時間(ry
729デフォルトの名無しさん:2006/04/02(日) 14:28:00
JNI って略してなんて読むの?
730デフォルトの名無しさん:2006/04/02(日) 14:37:15
ジェイニー
731デフォルトの名無しさん:2006/04/02(日) 14:40:13
簡単に環境の変更を提案する奴の言うことは話半分にとどめておいた方が良い。
732デフォルトの名無しさん:2006/04/02(日) 15:42:18
Socketプログラミングにおいて、回線の帯域を測定するにはどんなクラスを使う方法がありますか。
733デフォルトの名無しさん:2006/04/02(日) 15:55:48
FileReader で /proc/net/dev の内容を定期的に監視
734デフォルトの名無しさん:2006/04/02(日) 16:11:09
>>732
byte[] buff = new byte[1024];
とかしてwrite(byte[] buff)やread(byte[] b)で
呼びだし回数カウントして、
掛ければいいんじゃね?
735デフォルトの名無しさん:2006/04/02(日) 16:12:16
配列もオブジェクトだから
String[]
と書くわけではないよ
あくまで「型の配列」を強調するためだ
配列型を表すクラスないし
Arrysはユーティリティだし
736デフォルトの名無しさん:2006/04/02(日) 16:16:28
>>731
そうして構造改革は先送りにされて水に流されてしまうのであった。
737デフォルトの名無しさん:2006/04/02(日) 16:17:21
後の、一揆まみれの長き鎖国時代の始まりである。
738デフォルトの名無しさん:2006/04/02(日) 16:21:52
理想を煽って改革を起こそうとする奴はアカ
739デフォルトの名無しさん:2006/04/02(日) 16:39:30
いえ、白です。
740デフォルトの名無しさん:2006/04/02(日) 17:05:49
IPレイヤでネットワークの通信を行なうアプリケーションをJavaで製作する場合には、
必ずパケットを受信し、送信するために、Socketクラスを使う必要があるのでしょうか?
741デフォルトの名無しさん:2006/04/02(日) 17:07:08
はい。
742デフォルトの名無しさん:2006/04/02(日) 17:09:51
ん、IP レイヤー? Java でネットワーク層の処理は行えません。
743デフォルトの名無しさん:2006/04/02(日) 17:19:33
それはほんとかいな
744デフォルトの名無しさん:2006/04/02(日) 17:24:14
Java で扱えるのは TCP (Socket/ServerSocket) と UDP (DatagramSocket) 以上。
Pure Java でプロキシやゲートウェイは作れてもルーターやファイアウォールは作れません。
745デフォルトの名無しさん:2006/04/02(日) 19:24:27
作れないってことはないだろ。向いてないし需要もないから作らないだけで。
746デフォルトの名無しさん:2006/04/02(日) 19:25:48
Java ってすごい?
747デフォルトの名無しさん:2006/04/02(日) 19:28:25
>>745

   ど う や っ て ?
748デフォルトの名無しさん:2006/04/02(日) 19:29:30
>>747 OS でも作れちゃうんだって。
749デフォルトの名無しさん:2006/04/02(日) 19:31:40
   。 。
  / /  シポーン
( Д )
750デフォルトの名無しさん:2006/04/02(日) 19:44:36
できないのは彼女くらい
751デフォルトの名無しさん:2006/04/02(日) 19:45:20
Javaチップって知らないのか?
752デフォルトの名無しさん:2006/04/02(日) 19:48:45
Javaチップって言ってみたかった
言語なら何でもよかった
今は公開してる
753デフォルトの名無しさん:2006/04/02(日) 19:53:35
Java チップなんて食ったこと無い。
バナナチップは好き








バナナチップって言ってみたかった。
果物なら何でも良かった。
今は反省している。
754デフォルトの名無しさん:2006/04/02(日) 20:58:07
JREに含まれる rt.jar ファイルはどのプラットフォームでも同じものなのでしょうか?
755デフォルトの名無しさん:2006/04/02(日) 21:04:16
同じ Sun 製でも同じと言う保障は無かったはず。
IBM 製とかになるとまた違うし。
756デフォルトの名無しさん:2006/04/02(日) 21:07:08
そういや、今日Javaカレー食ったよ
昨日も一昨日もだけど・・・
757デフォルトの名無しさん:2006/04/02(日) 22:56:22
>>735
String[] strArray = new String[0];
とやって strArray.getClass() を表示させてみろ。
758デフォルトの名無しさん:2006/04/02(日) 23:11:05
>>757
class [Ljava.lang.String;
と表示されるけど、配列を表すクラスがあると思ってるの?
759デフォルトの名無しさん:2006/04/02(日) 23:14:30
Class.forName("[Ljava.lang.String").newInstance()
もできなければ
new [Ljava.lang.String()
もできないよ。
760デフォルトの名無しさん:2006/04/02(日) 23:23:49
Class#isArray() が true を返すなら配列型のクラスですが。
まこれは正確にはクラスというより Class のインスタンス。
761デフォルトの名無しさん:2006/04/02(日) 23:38:33
>>760
わかっていませんね
762デフォルトの名無しさん:2006/04/02(日) 23:43:09
>>761
何がかちゃんと説明してみ?w
763デフォルトの名無しさん:2006/04/02(日) 23:45:14
配列を表すクラスはありません
Javaでの配列は言語として実装されており(演算子や制御文と同レベル)、
クラス(オブジェクト)としては実装されていません。
Class#isArray()は変数が指し示すオブジェクトが配列であることを
評価するだけで、配列クラスのインスタンスであることを評価する
ものではありません
なぜなら、配列クラスはありませんから
764デフォルトの名無しさん:2006/04/02(日) 23:50:20
>Class#isArray() が true を返すなら配列型のクラスですが。

ではなぜ、isArray()は

public native boolean isArray();

nativeメソッドなのでしょうか。
それはCやC++と同じで言語仕様という形で配列をサポートしているからです
String hoge[]が許されるのはそういうことです
765デフォルトの名無しさん:2006/04/02(日) 23:51:43
だから正確には配列を表す Class のインスタンスって書いてんじゃん
揚げ足取りに必死で文盲になったか?
766デフォルトの名無しさん:2006/04/02(日) 23:56:24
書き込みに主張を必ず盛り込むか、レス番をきっちりつけるかしないと
何が言いたいのか、良く分からんよ
767デフォルトの名無しさん:2006/04/03(月) 00:06:42
ありゃ、誤読してたのに気づいて今度は書き様にいちゃもんですか。
ところで API リファレンスでは isArray() が true を返す Class のインスタンスって意味で
「配列クラス」 って言葉を使っているのは当然分かってるよね?
768デフォルトの名無しさん:2006/04/03(月) 00:49:12
>>759
そりゃクラス名を間違って書けばできないのは当たり前だろ。
newInstance はどうかわからないが、Class.forName は問題なくできるだろ。
今のバージョンでは試してないが昔のバージョンではできた。
769デフォルトの名無しさん:2006/04/03(月) 01:42:47
何が問題で、何を議論にしているのかよくわからん。
普通に、配列はObjectクラスを親にもってるんだから、
クラスでいいんじゃないのか?
770デフォルトの名無しさん:2006/04/03(月) 01:46:08
配列は単なる連続したメモリブロックだからクラスと呼ぶのは気持ち悪い、
という主張を展開してるみたい。
771デフォルトの名無しさん:2006/04/03(月) 01:49:57
>714 名前:デフォルトの名無しさん [] 投稿日:2006/04/02(日) 06:15:51
> 配列定義の質問です。

> String[] strArray = new String[0];
> のところを、
> String strArray[] = new String[0];

> って書く奴いますよね。
> 配列はオブジェクトですよね?
> 後者の書き方で書く奴は殴っていいですか?

これが原因じゃね?
772デフォルトの名無しさん:2006/04/03(月) 02:18:12
むしろ俺は、0 という定数が
ハードコーディングされていることが気になるので

String[] strArray[] = new String[] {};

というような書き方をする。
773722:2006/04/03(月) 02:19:47
すまん

String[] strArray = new String[] {};

だ、もう寝る orz
774デフォルトの名無しさん:2006/04/03(月) 02:25:14
意味的には0個の要素をハードコーディングしてるだけで同じじゃん。
まぁ個人の気になるレベルの話に突っ込んでもしょうがないけど。

C の頃だが、リテラルのハードコードが気になるあまり

#define ZERO 0
#define PARAM01 "PARAM01"


とか、手段と目的取り違えた意味の無いコードが多かったな。
775デフォルトの名無しさん:2006/04/03(月) 02:42:08
>>774
どちらかというと、

String[] strs = new String[3];

と書くより

String[] strs = new String[] { str0, str1, str2, };

と書くのが、予め str0 等が定義されていないと書きようがない
という安心感の延長上かな

前者だと、つるんと手が滑って 3 の代わりに 4 とか書いても
コンパイルで通ってしまうので。

あと気分的に、「何も無い」とは強い意味を持ったモノで、
他の数字と同列に扱いたくないという思いの表れ
776デフォルトの名無しさん:2006/04/03(月) 02:50:04
まぁ俺も後で直行コードまたはループして 3 要素入れるの面倒だからという理由で
初期化で配列要素していするようにしてるけど。

「何もない」という事を強調したい場合はブロックコメント使うな。new String[]{/* */}
Java だと馴染みない人も居るかもしれんが、コード読む人が居るなら一言言って
おけば済む話だし。
777デフォルトの名無しさん:2006/04/03(月) 03:00:18
>>774
いわゆるひとつのビジネスロジックでは常識かと
778デフォルトの名無しさん:2006/04/03(月) 03:03:33
>>777
kwsk
779デフォルトの名無しさん:2006/04/03(月) 03:15:32
>>778
public static final String HOGE_CODE = "HOGE_CODE";

こんなのがよくクラスの先頭で宣言されてたりするもんだw
780デフォルトの名無しさん:2006/04/03(月) 03:24:03
Java は構文構造が単純だから Eclipse 使ってリファクタリング出来るけど、
C はプリプロセッサ絡んでる分そんな芸当できないからね。結局定数値と定数名と
全使用位置を検索して修正する羽目になる。むしろあるべき論唱えて値だけ変え
てる馬鹿が混ざってると後々大変残念なことになるんだけど。
781デフォルトの名無しさん:2006/04/03(月) 11:01:10
>>750
それくらいならできる
金を稼いでな。
782デフォルトの名無しさん:2006/04/03(月) 11:03:04
>>780
つResourceBundle
783デフォルトの名無しさん:2006/04/03(月) 11:25:28
FAQ読んでも書いてなかったので質問します。
Eclipseをつかって下のソースを書くと、最後の行の「show」が
横線で消された表示になるのですが、何か間違っているのでしょうか?

import java.awt.Frame;
public class Sample extends Frame {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Sample s = new Sample();
s.setSize(200,100);
s.show();
}
}
784デフォルトの名無しさん:2006/04/03(月) 11:34:28
>>
クラスSampleの定義が謎ですが、java.awt.Frameのサブクラスだろうと推測すると、
Java5から、java.awt.Window#show()が非推奨メソッドになっているためです。

ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/Window.html#show()
| 推奨されていません。 JDK 5 以降では Component.setVisible(boolean) を使用します。

Eclipseでは、推奨されないメソッドに取消線を引くようになっています。
推奨されないメソッドは使わないようにしましょう。

ちなみに、3.2からはdeprecatedのリファクタリングが強化されるらしい。
785デフォルトの名無しさん:2006/04/03(月) 11:44:48
わかりました。ありがとうございました!
こんなに早く・・・スゲー
786デフォルトの名無しさん:2006/04/03(月) 12:44:29
setVisible(true)をつかえばいいだけだと思う
787デフォルトの名無しさん:2006/04/03(月) 12:50:08
シングルトンって何のためにあるんですか?
インスタンスを1つにしたいなら
むしろインスタンスなんて作らずにクラスに
フィールドとメソッドを持たせれば良いと思うんですが。
788デフォルトの名無しさん:2006/04/03(月) 13:00:14
>>787
勇気浩のJava言語で学ぶデザインパターン入門を嫁
立ち読みでも理解できる。
789デフォルトの名無しさん:2006/04/03(月) 13:01:30
>>787
ひんと1: static なメソッドは上書き(オーバライド)することが出来ない。
ひんと2: static なメソッドからはインスタンス変数やメソッドを呼び出すことが出来ない。
790デフォルトの名無しさん:2006/04/03(月) 13:04:39
デザインパターンといえば、ここはどうよ。
http://www.techscore.com/tech/DesignPattern/
791デフォルトの名無しさん:2006/04/03(月) 13:05:50
シングルトンであるかインスタンスプールされているかは使う側は意識したくないから。
まぁ呼び出し側を変更しないで内々に変更できる余地を残しておくためだね。
792デフォルトの名無しさん:2006/04/03(月) 13:10:21
シングルトンってウィンブルドンと似てるよね。
793デフォルトの名無しさん:2006/04/03(月) 15:48:43
ぜんぜん
794デフォルトの名無しさん:2006/04/03(月) 15:51:15
ウィンブルドンと

やっぱやめた
795デフォルトの名無しさん:2006/04/03(月) 16:10:59
ダンブルドア
796デフォルトの名無しさん:2006/04/03(月) 16:36:34
先生!
797デフォルトの名無しさん:2006/04/03(月) 19:48:22
最近、APIソースを読むのがテレビを観るのより楽しい。
馬鹿ですね。
798デフォルトの名無しさん:2006/04/03(月) 20:05:59
あるログファイルがUTC表記なんですがコレを日本時間に置換したいんです。
java.text.ホニャララを使えばいいんでしょか
799デフォルトの名無しさん:2006/04/03(月) 20:08:48
>>797
そもそもテレビ自体が面白くない
800デフォルトの名無しさん:2006/04/03(月) 20:18:50
>>798
文字列ならフォーマットとロケール、タイムゾーンを指定してこんなふいんき (超俺様記憶; 要確認)
DateFormat df1 = new SimpleDateFormat("EE, MM dd yyy", Locale.UK, TimeZone.getTimeZone("GMT"));
DateFormat df2 = DateFormat.getDateInstance();
Date date = df1.parse(logDate);
System.out.println(df2.format(date));

数値で参照したいなら TimeZone.getDefault().getRawOffset() を加算 (汎用性悪いが)。
801デフォルトの名無しさん:2006/04/03(月) 20:22:39
>>799
同感。
ついでにゲームもつまらない。
脳の体操がしたいのならゲームよりソース読む方が100倍鍛えられると思う。
802デフォルトの名無しさん:2006/04/03(月) 20:43:15
プログラミングをしたいわけではないのですが、
javaに関することなので質問させてください

javaのサイトに「旧バージョンのアンインスコはしても問題ない」と書かれていたので
アンインスコしてしまったのですが、その直後から
アプレットが実行されないエラー(ぬるぽ)が発生するようになってしまいました
サイトに書いてあるように、インターネットオプションや
javaのコントロールパネルを確認・設定変更してみましたが、エラーは改善されません
一切プログラムはいじっていないので、言語間違いやプログラミングミスでは
ないと思います
プログラミング方面に関しては全くの無知なので、上記に自分が行なったこと
以外の改善策があれば教えていただけないでしょうか?
803デフォルトの名無しさん:2006/04/03(月) 20:50:48
[スタート]-[設定]-[コントロールパネル]-[Java] → Java アプレットのランタイム設定で前バージョンを選択
804デフォルトの名無しさん:2006/04/03(月) 21:32:59
質問です。javaでメール送信のプログラムで
mail.jarとactivation.jarをクラスパスにしたんですが
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
上記の3つがありませんというエラーが出ました。
どうすればいいでしょうか?
805デフォルトの名無しさん:2006/04/03(月) 21:35:38
echo %CLASSPATH% して確認
806デフォルトの名無しさん:2006/04/03(月) 22:13:14
確認してみました。ちなみにフォルダ名は任意ですが同一です。
echo %CLASSPATH%
%CLASSPATH%;d:\java\javamailx\mail.jar;%CLASSPATH%;d:\java\activationx\activation.jar
Okですよね?
807デフォルトの名無しさん:2006/04/03(月) 22:24:26
>803
レス有難うございます
教わった通りにやってみようと思ったのですが
アンインスコしてしまった為前のバージョンは選択できないようです…
何回か再起動してみたところ、ぬるぽは出なくなりましたが
一般例外(load:クラス ○○が見つかりません)
○○ not inited   と表示されるようになりました
こちらのエラーについても改善策を教えていただければ嬉しいです
808デフォルトの名無しさん:2006/04/03(月) 22:47:37
>>800
Locale指定した方がはやいだろ

っていうかプロパティファイルを(ry
809デフォルトの名無しさん:2006/04/03(月) 22:50:58
>>808
変換するんだがデフォルトだけ変更してどうすんの?
810デフォルトの名無しさん:2006/04/03(月) 23:01:30
>>804
JavaMailのバージョンによっては
古いJREが対応していないときがある。
とりあえずJREとJava Mailを最新版にしてみるのはどうだろう。
811デフォルトの名無しさん:2006/04/04(火) 00:00:44
Javaアプレットのソースで、
<applet code="Colorbar" width=260 height=260>
</applet>
こんな感じにアプレットのサイズを決めるコードを書く、と解説書に載ってるんですが
これを実行しても一定のサイズのアプレットビューアしか出てきません…
Eclipseを使っているからなんでしょうか?
812デフォルトの名無しさん:2006/04/04(火) 00:11:16
クラス名はちゃんとColorbarになっているのか。
実行方法はブラウザか? それともAppletViewerか?
JRE,JDKのバージョンは? ブラウザを使っているならブラウザのバージョンは?

まずはそこから確認。
813デフォルトの名無しさん:2006/04/04(火) 01:47:18
>>811
確か Eclipse の場合、HTML ファイルが無くても Applet を実行できたと思います。

# 考えられる可能性としては、
# 用意したHTMLファイルを使用していない
# appletviewer がサイズ指定を無視してる
814デフォルトの名無しさん:2006/04/04(火) 02:47:23
>>810
とりあえずEclipse以外の環境で、正常動作しました。
お騒がせしました(^^;
815ad:2006/04/04(火) 02:51:50
 実は、たったの24時間で、
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
あなたの今後のネット収益を倍増するスキルがあります。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
それを知りたい方は、他にいませんか?

アフィリエイトを使わずにホームページとEメールだけで3,000万以上稼いだ
インターネット・マーケッターの宮川さんが、

巨大な現金の山を作り出す門外不出の一生涯使えるノウハウを
下記のサイトで公開しています。

その内容をお知りになりたい方は、下記をクリックしてください。

【たったの24時間であなたの今後のネット収益を倍増するスキルとは? 】
http://infostore.jp/dp.do?af=moneyclick&ip=successpreneur&pd=01
816デフォルトの名無しさん:2006/04/04(火) 04:40:17
>>801
ソース読むのは疲れる割に意外と脳を使ってない気がする。
817デフォルトの名無しさん:2006/04/04(火) 06:52:41
画像処理について質問です。
JavaからTIFFやJPEGのイメージを扱いたいのですが、
TIFFやJPEGのフォーマットについて詳しく説明してある
サイトとかないでしょうか?書籍でもいいです。
818デフォルトの名無しさん:2006/04/04(火) 07:00:39
>>817 中身なんか分からなくても ImageIO とかで
なんとかならんもんかね?
819デフォルトの名無しさん:2006/04/04(火) 10:48:43
>>817
1. ぐぐれ。
2. 大きな本屋に行け。

画像を扱ってる人間が、そのフォーマットについてまで詳しく知る必要がないことを
理解した上での発言ならば、このスレッドに質問することは不適切だと思います。

# 一行目からすると、画像処理の質問であってJavaのそれではないよな。
820デフォルトの名無しさん:2006/04/04(火) 11:21:18
>>815
非道徳的マーケティングで有名な平秀信のパクリサイトか?
821デフォルトの名無しさん:2006/04/04(火) 18:34:55
test
822デフォルトの名無しさん:2006/04/04(火) 18:45:27
はじめまして。初心者です。javaってどんなプログラムを作ることができるのですか?ゲームとかダウンローダーとか解凍・圧縮ソフトとかも作れるんですか?
823デフォルトの名無しさん:2006/04/04(火) 19:36:27
>>822
あなたの作りたい物そのものと同じになるかどうかは知りませんが作れます。
シェアウェアでうはうはを考えているのでしたら悪い事は言いませんJavaは止めてVisualStudioを購入してC++を憶える方が良いです。
824デフォルトの名無しさん:2006/04/04(火) 19:45:58
J# という手もあるぞ。
おすすめはしないが。
825デフォルトの名無しさん:2006/04/04(火) 20:10:19
「独習Java」って良書ですか?
826デフォルトの名無しさん:2006/04/04(火) 20:16:29
あの〜今から独学でプログラミングを始めようとしているのですが、どのプログラミング言語がもっとも初心者向きですかね?
プログラミングを始めるならVB6.0かJavaが一番良いと聞いたのもでお聞きしました。
僕はプログラムに関しての知識はゼロです。
827デフォルトの名無しさん:2006/04/04(火) 20:24:49
>>826 しかし VB 6.0 って今から手にはいるのかな。
今はもう VB.NET 2005 (VB 8.0) だもんなぁ。

Java も JDK + Eclipse がタダで手にはいるし、
VB.NET も Express Edition がタダで手にはいるから、
両方やってみればいいんじゃないの?
C# という選択肢もあるし。

漏れは C++ メインだけど、知識ゼロだとどうかなぁ。
828デフォルトの名無しさん:2006/04/04(火) 20:30:20
>>827

丁寧にありがとうございました!
VB 6.0はVB 6.0の本に体験版が付属されている本があるみたいですよ。

本当はC#を勉強したいのですが、どうなんでしょうか?
VB 6.0とVB.NETとJavaとC#のどれが一番簡単ですかね?
829デフォルトの名無しさん:2006/04/04(火) 20:38:27
簡単なものはない
830デフォルトの名無しさん:2006/04/04(火) 20:39:44
>>826
情報処理試験のテキスト使ったりして軽く
コンピュータの動作原理などを勉強しておくと吉かも
831デフォルトの名無しさん:2006/04/04(火) 20:43:01
>>830

実は兄から誘われているんですよ・・・・手伝ってくれって。
でも困ったことに僕は中卒なんですよね・・・
しかもまったく知らない世界で小中と数学も一番苦手だったんですよね・・・

それで、本当はC#を覚えて兄の会社のHPをC#で2人で作成してソフトウエアの受注をしたいとかなんとか言ってました。
でも、独学だと厳しいです・・・何がなんだかさっぱりなのが正直なところ。
そこで一番簡単なプログラミング言語から勉強して、基礎知識を付けてからのほうがいいかなって思いまして。
832デフォルトの名無しさん:2006/04/04(火) 20:45:48
((((((;゚Д゚))))))ガクガクブルブル
833デフォルトの名無しさん:2006/04/04(火) 20:49:15
兄に教えてもらえよ
834デフォルトの名無しさん:2006/04/04(火) 20:53:09
家内制工業のノリでIT事業を・・・
835デフォルトの名無しさん:2006/04/04(火) 20:53:54
>>833

自分としては兄に教えてもらう前に独学でやってみたいんですよ!
それに仕事が忙しいと言っていたので、教えてもらう時間が限られますから・・・
しかも、俺は実家なので兄と離れすぎているんですよね・・・・
兄はC/C++を独学で覚えたと言っていました。
836デフォルトの名無しさん:2006/04/04(火) 21:10:34
適当に一冊Java本かって読め
837デフォルトの名無しさん:2006/04/04(火) 21:20:08
>>831
あぁ…簡単なプログラミング言語、といわれて、
急に「ひまわり」のことを思い出したよ

http://kujirahand.com/himawari/

>>830はプログラミングの前に、コンピュータとは何なのかを
理解したほうが良いのでは無いか? と、助言してくれたように
思えるのだが、そのあたりはどうなのか。
838デフォルトの名無しさん:2006/04/04(火) 22:10:15
携帯電話用JAVAアプリのプログラミングで質問があります
アプリ中にバーコードリーダーを起動しようと
startApp内でBarcode.captureしているのですが
バーコードカメラが起動すると裏でJAVAが落ちてしまい
戻り先が無くてエラーになってしまいます。
ボーダフォンの開発者ガイドにも制限事項は記載されていませんでした。
対応方法をどなたかご存じの方はいらっしゃいませんか?
839デフォルトの名無しさん:2006/04/04(火) 22:14:18
>>838
CLDC+MIDP+携帯電話用Javaスレッド part 5
http://pc8.2ch.net/test/read.cgi/tech/1132493827/

ボーダフォンだと、ここだろうか?
840デフォルトの名無しさん:2006/04/04(火) 22:50:42
>>823
難読化ツールでうはうは考えるならJavaでも良いと思うが。

というか昨今シェアウェア自体でうはうはいく時代も時代遅れに
なってきた感があるのだが。

スタンドアロンアプリなんてもう古い
841デフォルトの名無しさん:2006/04/04(火) 22:53:14
>>827
> VB.NET も Express Edition がタダで手にはいるから、

ただし一年間のみ有効であってプラグイン充実度は駄目駄目。
842デフォルトの名無しさん:2006/04/04(火) 23:01:32
難読化ツールでうはうはって何?
843842:2006/04/04(火) 23:09:09
もしかしてパクって難読化ツール掛けてシェア化するってこと?
844デフォルトの名無しさん:2006/04/04(火) 23:15:34
JavaでC++コンパイラ、リンカなどを作る
あとJava→C++コンバータを作る
そうすれば大抵のことはできる
845デフォルトの名無しさん:2006/04/04(火) 23:15:55
>>843
自分では更新できない上に、同様のソフトがフリーで存在するのはどうかと…
846デフォルトの名無しさん:2006/04/04(火) 23:17:39
>>844
車輪の再発明乙。
そんなこと出来るなら普通に就職するか別のことに使えよ…
847デフォルトの名無しさん:2006/04/04(火) 23:18:26
売って利益が上がるようなら本腰入れれば良い。
少なくとも開発のリスクは減る。
848デフォルトの名無しさん:2006/04/04(火) 23:21:37
>>831
> >>830
> 実は兄から誘われているんですよ・・・・手伝ってくれって。
> でも困ったことに僕は中卒なんですよね・・・
> しかもまったく知らない世界で小中と数学も一番苦手だったんですよね・・・
> それで、本当はC#を覚えて兄の会社のHPをC#で2人で作成してソフトウエアの受注をしたいとかなんとか言ってました。

いまからやるのは無謀。というかウェブサイトをC#で作る理由は?
まずはHTMLくらい覚えろ
849デフォルトの名無しさん:2006/04/04(火) 23:22:01
>>835
> >>833
> 自分としては兄に教えてもらう前に独学でやってみたいんですよ!
> それに仕事が忙しいと言っていたので、教えてもらう時間が限られますから・・・
> しかも、俺は実家なので兄と離れすぎているんですよね・・・・

つ[テレビ電話]
850デフォルトの名無しさん:2006/04/04(火) 23:23:13
>>842
C++だと逆コンパイルしずらいので
コピーされにくいが
Javaだと難読化ツールをつかわないと
コピーされやすいってことでわ。
だから儲からないって思われていた、と。
851デフォルトの名無しさん:2006/04/04(火) 23:25:04
ひきこもりの弟になんとか社会との関わりを持たせようという兄貴の愛情にナケタ.
852デフォルトの名無しさん:2006/04/04(火) 23:27:30
なんとなく、かなり以前に自分の仕事をライブカメラで流してるショウエイっておっさんがいたの思い出した。
853デフォルトの名無しさん:2006/04/04(火) 23:33:03
実際、言語自体その言語で実装ってのはある
車輪の再発見でもなんでもない
854デフォルトの名無しさん:2006/04/05(水) 00:35:20
JVMは何でできてるの?
855デフォルトの名無しさん:2006/04/05(水) 00:37:54
でんぷん
856デフォルトの名無しさん:2006/04/05(水) 00:40:38
仮想マシンの大部分は ANSI C で記述されている。非 ANSI C 部分ってのは
もちろん GUI やバークレーソケットやセマフォ扱ってる所。コンパイラや native2ascii
なんかの SDK は Java で作られている。
857デフォルトの名無しさん:2006/04/05(水) 01:12:54
>>839
誘導ありがとうございました
858デフォルトの名無しさん:2006/04/05(水) 01:26:43
http://jonasboner.com/2006/04/04/the-optimized-null-check-pattern/
ちょっとだけおもしろかった。
859デフォルトの名無しさん:2006/04/05(水) 01:34:07
…どこが?
860デフォルトの名無しさん:2006/04/05(水) 01:51:42
if(obj != null){
....
}

ってすればいいのに
わざわざメソッド使ったところじゃね?

if(isNull(obj){
....
}

みたく。
861 ◆geZZbj56Ck :2006/04/05(水) 01:59:32
J2SDKでコンパイルできたんですけど実行が出来ません。
コマンドプロンプトで
java Sample
と入力するとException in thread "main" java.lang.NoClassDefFoundError: Sample
と表示されてしまいます。

何がおかしいんでしょうか?
862デフォルトの名無しさん:2006/04/05(水) 02:01:21
がんばれ。
863デフォルトの名無しさん:2006/04/05(水) 02:02:26
864デフォルトの名無しさん:2006/04/05(水) 02:02:44
>>1 を読まないお前がおかしい。
865デフォルトの名無しさん:2006/04/05(水) 02:16:55
>>859
toString() や getClass() を null チェック代わりにするならコメントが
必要だと思うし、そこまでやるなら if で処理した方が明示的でオーバー
ヘッドも少ないし。

メソッド内でインスタンスメソッドを呼んでるのならわざわざしないけど。
866デフォルトの名無しさん:2006/04/05(水) 02:50:35
public String[] toArray(List list) {
 return (String[])list.toArray(new String[list.size()]);
}

public String[] toArray(List list) {
 return (String[])list.toArray(new String[0]);
}

について、どっちがお勧めなんでしょう?
空の配列を使用するほうを実際には使っていますが、
ふと気になりました。

空の配列のほうは、newが余計に行われる
分遅いのは分かっていますが、今の時代に
気にするような重要な劣化でもないと思います。

それよりも、Listの実装がVectorなどの場合、
list.size()でsynchronizedかかるほうが嫌な気がします。

どうなんでしょうか?
867デフォルトの名無しさん:2006/04/05(水) 02:53:10
てゆうか、下みたいなコードを書くという発想に驚いた。
868デフォルトの名無しさん:2006/04/05(水) 03:35:08
なんで?
869861 ◆geZZbj56Ck :2006/04/05(水) 03:46:07
やっと解決したorz

原因はクラスパスというもので、
C:\Program Files\Java\jre1.5.0_05\lib\ext\QTJava.zipを
.;C:\Program Files\Java\jre1.5.0_05\lib\ext\QTJava.zip
に変更したら実行できた。
870デフォルトの名無しさん:2006/04/05(水) 04:07:09
>>866
大サービスで解説。
そのList.toArray(Object[]) メソッドは内部で以下のことを行っています。
1. Listのsizeと、Object[]のlengthを比較します。
1.1. sizeよりlengthが大きい、もしくは同じだった場合、2に移ります。
1.2. 1.1では無い場合、リフレクションを用いて新しい配列を生成します。
2. ListからObject[]へ要素を一つずつコピーします。
3. もしsizeよりlengthが大きい場合には、size+1番目の要素にnullを代入します。
4. Object[]を戻り値としてメソッドを終了します。

# リフレクションは動的に生成する方法で、一番時間のかかる方法です。

さて、貴方ならどうしますか?
871デフォルトの名無しさん:2006/04/05(水) 05:41:50
ご説明ありがとうございました。javaとはどんなプログラムを作るのに適しているんですか?C++とはどんなプログラムを作るのに適しているんですか?教えてください
872デフォルトの名無しさん:2006/04/05(水) 08:24:40
Nullオブジェクトが無駄だと思うのなら、>>860みたいな考えでいい
メソッド呼び出しのオーバーヘッド気にして手続き型言語的実装するなら…
なんでもない
873デフォルトの名無しさん:2006/04/05(水) 09:55:14
パケットを一定時間プロクシの中に保持して、
その後送信先へ送るようなプロクシを書くにはどのような方法があるでしょうか。
874デフォルトの名無しさん:2006/04/05(水) 12:58:26
プロクシを実装したいって事?
だったら簡単なのはTimerでも使って待てばいいんじゃね
875デフォルトの名無しさん:2006/04/05(水) 13:28:34
>>872
Nullオブジェクト(nullかどうか)を>>858のような方法で判断するのは
どんな意味があるのでしょうか?
876デフォルトの名無しさん:2006/04/05(水) 15:36:43
StringBufferについて質問があります。たとえば、

StringBuffer moji = new StringBuffer(200);

とすると200文字分の容量の文字列バッファが取られます。
このmojiに次々とappend()していき、200文字分のバッファ容量を超えてしまうと
内部でどのようなバッファ領域が確保されているのでしょうか?
877デフォルトの名無しさん:2006/04/05(水) 15:47:11
ソース嫁
うるおぼえだが現在の2倍のバッファが作られたと思う。
878デフォルトの名無しさん:2006/04/05(水) 15:54:09
ソース見たら(現在+1)*2だったよ。
関係ないけど俺も友達にうる覚えって言ったら
うろ覚えじゃね?って直された。
どっちが正しいんだろ?
879デフォルトの名無しさん:2006/04/05(水) 16:12:01
880デフォルトの名無しさん:2006/04/05(水) 16:13:08
881デフォルトの名無しさん:2006/04/05(水) 16:22:05
>>879-880
サンクス!
つまりうろ覚えなのかうる覚えなのかが、うろ覚えだったわけだw
882デフォルトの名無しさん:2006/04/05(水) 16:23:36
てゆうかそういうネタフレーズをリアル世界で使うなよ
883デフォルトの名無しさん:2006/04/05(水) 16:24:01
どんなにくるしくても
でいし蕎麦たべて
うんこしたらなおるよ!
                     
                 ハ_ハ  
               ('(゚∀゚∩ なおるよ!
                ヽ  〈 
                 ヽヽ_)
884デフォルトの名無しさん:2006/04/05(水) 16:31:42
イズシ
885:2006/04/05(水) 16:51:00
どんなにくるしくても
でいし皿蕎麦たべて
うんこしたらなおるよ!
                     
                 ハ_ハ  
               ('(゚∀゚∩ なおるよ!
                ヽ  〈 
                 ヽヽ_)
886デフォルトの名無しさん:2006/04/05(水) 19:45:51
>>882
リアル世界って言葉も使うなよ
887デフォルトの名無しさん:2006/04/05(水) 23:50:52
tomcat環境でjavaxを使うサーブレットを作ったのですが
JRUN4に移行するにあたり
JRUN4をインストールしてservlet.jarにクラスパスを含めればいいことは
わかったのですが
JRUN4をインストールして検索してもどこにも見つかりません

どうすればコンパイルできますか?

よろしくお願いします
888デフォルトの名無しさん:2006/04/05(水) 23:58:50
助詞が変
889デフォルトの名無しさん:2006/04/06(木) 00:44:42
じょ、女子が変!?
890887:2006/04/06(木) 00:53:17
>>888
ごめんなさい

てか 教えてください
891デフォルトの名無しさん:2006/04/06(木) 00:58:25
別の jar ファイルに入ってるだろ。j2ee.jar とか。
892デフォルトの名無しさん:2006/04/06(木) 08:21:23
ごめんなさい、と書くのは誰にでもできる
で、
適切な表現で質問しないと
適切な回答は得られないよ
893デフォルトの名無しさん:2006/04/06(木) 10:58:07
ここでは初めて質問するんだが、おまいら答えてくれ。

Javaで、ホストとなっているコンピュータのWindowsのシャットダウンイベントを
拾えるのかどうか。
いっくら探してもそんなもん見当たらねぇ…。
Javaじゃなくても、せめて
Windowsのシャットダウン→起動しているIEが終了する→その時点でイベントを拾って
True or flase を返して、Windowsのシャットダウンを制御 みたいな事が出来ないかなーと。

質問の仕方が悪いかもしれんが、わかるやつ頼む。オシエテクレ。




894デフォルトの名無しさん:2006/04/06(木) 12:18:15
スレ違うよ
誘導はしない
895デフォルトの名無しさん:2006/04/06(木) 12:58:16
JavaでWin32API使えんの?
896デフォルトの名無しさん:2006/04/06(木) 13:08:14
>>895
JNI経由なら
897デフォルトの名無しさん:2006/04/06(木) 16:17:09
JNIかぁ。確かにこれなら使えそう…かな?
一応Javaに関しての質問のつもりだったんで、スレ違いスマソ。
898デフォルトの名無しさん:2006/04/06(木) 19:21:43
Javaに関しての質問で
Windows固有のAPIが使えるかどうか質問するのが
妥当かどうか判断しなさい。
899デフォルトの名無しさん:2006/04/06(木) 19:31:36
条件式での質問なんですが
テキストファイルの操作で
while((line=in.readLine())!=null)
上のような条件式がありますが、配列でもできますか?
具体的には配列の中身を順に表示し
要素が無くなったらループから抜けるということをしたいのです。
できるようなら、その方法を教えていただけないでしょうか?
900デフォルトの名無しさん:2006/04/06(木) 19:38:52
for(int i=0; i<array.length; i++){
  System.out.println(array[i]);
}
901デフォルトの名無しさん:2006/04/06(木) 20:05:58
for文使う方法がありましたか
!=nullに気を取られてすっかり忘れてました
ありがとうございました。
902デフォルトの名無しさん:2006/04/06(木) 20:11:19

       ヽ(・ω・)/   ズコー
      \(.\ ノ
903デフォルトの名無しさん:2006/04/06(木) 21:30:51
BufferedImageをAffineTransformを使用して斜めに変形させて表示してるんですが、
やたらと斜めがギザギザになってしまいます。
どうしたら綺麗に変換できますか?
904デフォルトの名無しさん:2006/04/06(木) 21:35:54
Javaでstrutsを使いたいと思い、
struts1.2.9を落としてきて、TOMCAT_HOME/webappsに
struts-examplesを入れ、
ttp://サーバIP:8080/struts-examples とアドレスを入れてstrutsのサンプルを起動しようとした所、
java.lang.NoSuchMethodError: javax.servlet.jsp.tagext.TagAttributeInfo.<init>(Ljava/lang/String;ZLjava/lang/String;ZZ)V

というエラーが出て起動出来ません。
一体何が原因なのでしょうか?

私の環境を書いておきます
サーバ・・centOS 4.12
Apache・・2.0.54
Tomcat・・5.5.16
struts・・1.2.9

御教授の程、宜しくお願い致します。
905デフォルトの名無しさん:2006/04/06(木) 21:55:34
>>904
JDKのバージョンも書いておくとベターだ。
大方centOS付属のGCJでも使ったんじゃね?
Sunのサイトから、Linux用のJDKをダウンロードしてくるといいよ。
906デフォルトの名無しさん:2006/04/06(木) 22:38:46
ここ観てると世の中パンチャーばかりの原因がわかる
907デフォルトの名無しさん:2006/04/06(木) 22:46:29
908デフォルトの名無しさん:2006/04/07(金) 00:55:19
EclipseでJAVAはじめました
今一,ワークスペースの扱いがわかんないです......
#VisualStudioのワークスペースもよくわからん
とりあえず,サンプルコードを弄っています

さておき......

アプレットとしてコンパイル済みのclassファイルを同一フォルダに置き
htmlファイルから"<applet code="FOOBAR.class" ......>"で呼びだすの医ですが,
IEでそのhtmlファイルを開くとEclipse内でコンパイルした最新のものを呼んでくれません

自動ビルドを切りオブジェクトファイルを削除し,し,全てのリコンパイルをしたりしますが結果は同じ
どのタイミングで作られたものかはもはや判然としませんが,多少古いものが呼びだされているようなのです
IEやJAVAのオプションでキャッシュのクリアをしても変化なしです
しかしながら,時折より新しいものに置き変ってくれているようです
無論,デバッグは終り,Eclipse内では問題なく実行できています

IEでアプレットとして呼びだされるJAVAのオブジェクトはどこにキャッシュされているのでしょうか?
そのキャッシュをクリアし,最新のオブジェクトで実行させるにはどのようにすればよいのでしょうか?

他人に実行可能なプログラムを渡すのにアプレット化してhtmlファイルごと渡す時.
実効方法などを指示せずにすみそうなのでそうしましたが,他に良い方法がありましょうか?

909デフォルトの名無しさん:2006/04/07(金) 05:54:13
IEの設定を見直してみような
特にクッキー辺り
910デフォルトの名無しさん:2006/04/07(金) 05:59:35
IEを再起動とかそういう問題じゃないよね?
911デフォルトの名無しさん:2006/04/07(金) 06:00:42
[CTRL] キーを押しながらリロードボタンをクリック
912デフォルトの名無しさん:2006/04/07(金) 07:41:06
配列ってスレッドセーフですか?
913デフォルトの名無しさん:2006/04/07(金) 07:43:04
試してみれば?
スレッドセーフなら何ができて
何ができないか解るよね?
914デフォルトの名無しさん:2006/04/07(金) 10:20:43
>>563
こういう風にやってみたのですが、
取り出し時にClassCastExceptionのエラーです。

ですが、それ以前に
データベースの方を見てみると、レコードは追加されていますが、blobカラムには何も入っていないようになるので、
insert時にすでに何かおかしいのだと思いました。
実行時に何もエラーは出ません。

下のコードのような考え方でよいのでしょうか?

public class bobject implements Serializable , Blob{
truncate, setBinaryStream, setBytes, position,getBinaryStream,getBytes, length
をオーバーライト、ただしその中身はなし
}

----------------
bobject ob=new bobject ();

PreparedStatement ps = connection.prepareStatement("INSERT INTO blobtable VALUES (?, ?)");
ps.setInt(1, index );
ps.setBlob(2, ob );
ps.executeUpdate();
ps.close();


915デフォルトの名無しさん:2006/04/07(金) 10:27:23
>>914
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(baos);
out.writeObject(yourObject);
out.flush();

Statement stmt1 = con.createStatement();
stmt1.executeUpdate("CREATE TABLE FOO(CONTENT BLOB NOT NULL)");
stmt1.close();

PreparedStatement stmt2 = con.prepareStatement("INSERT INTO FOO(CONTENT) VALUES(?)");
stmt2.setBytes(1, baos.toByteArray());
stmt2.executeUpdate();
stmt2.close();
916デフォルトの名無しさん:2006/04/07(金) 10:44:25
サーブレット+JSP+DBな システムを作ってるのですが
あるJSPページのサイズが莫大になってしまうため、
gzip転送を使いたいのですが、手引きなどが乗ってるサイトを
ご存知の方いらっしゃいませんか?
917916:2006/04/07(金) 11:24:22
JSPのサイズがと書いてありますが、正確にはサーブレットからディスパッチした先のJSPです。
918デフォルトの名無しさん:2006/04/07(金) 11:34:49
JSP は無理
919デフォルトの名無しさん:2006/04/07(金) 19:13:30
ボタン上の文字を上下反転させることはできるんでしょうか?
920デフォルトの名無しさん:2006/04/07(金) 23:50:40
TomcatのJDBCレルムを使用した認証の仕組みはエンタープライズシステムの中で使用しても問題ないレベルの」ものなのでしょうか?
921デフォルトの名無しさん:2006/04/07(金) 23:57:23
求めてるレベルが曖昧
エンタープライズって言いたいだけ?
922デフォルトの名無しさん:2006/04/08(土) 00:22:14
>921
ではJDBCレルムの認証の仕組みはどのレベルまでのシステムなら使用して問題ないのでしょうか?
923デフォルトの名無しさん:2006/04/08(土) 00:23:10
>921
エンタープライズ
924デフォルトの名無しさん:2006/04/08(土) 00:23:56
変態プライス
925デフォルトの名無しさん:2006/04/08(土) 00:30:56
エンタープライズ至高の個人向けレベル
926デフォルトの名無しさん:2006/04/08(土) 12:51:24
JDK1.4でBMPをImageIconにするにはどうすればよいでしょうか。
927デフォルトの名無しさん:2006/04/08(土) 13:21:15
>>926
JAI ImageIO Tools?を使う。正式名称忘れた。ImageIOは確かですので、JAIのサイトからたどって。
928デフォルトの名無しさん:2006/04/08(土) 14:53:09
質問させてください。
以下のようにリフレクションに近いメソッド呼び出しを
行いたいのですが、どうすればよいでしょうか。

キーワードだけでもかまわないのでご教授くださいm(_ _)m

class Human {
int age;
int getAge() { return age; }
}
class Car {
int speed;
int getSpeed() { return speed; }
}

Human ichiro;
Car z;

data[0] = DataGetter.get(ichiro, Human.getAge); //< ichiro.getAge()を呼び出す
data[1] = DataGetter.get(z, Car.getSpeed); //< z.getSpeed()を呼び出す
929デフォルトの名無しさん:2006/04/08(土) 14:55:17
そんな関数ポインタもどきのことは出来ません。素直にリフレクション使ってください。
930デフォルトの名無しさん:2006/04/08(土) 14:56:52
>>928
呼び出したいメソッドが getXxx() というのだけなら、
commons-beanutils でいいんじゃないかな。
931デフォルトの名無しさん:2006/04/08(土) 15:14:57
>>928
直接そういう事は出来ないがインタフェースを使うとか?

interface IntDataGettable {
  int get();
}
class Human implements IntDataGettable {
  private int age;
  public int getAge() { return age; }
  
  public int get() { return getAge(); }
}
class Car implements IntDataGettable {
  private int speed;
  public int getSpeed() { return speed; }
  
  public int get() { return getSpeed(); }
}
class DataGetter {
  public int get(IntDataGettable obj) { return obj.get(); }
}
932デフォルトの名無しさん:2006/04/08(土) 15:26:02
やろうと思えば
java.lang.Class.getMethod()
java.lang.reflect.Method.invoke()
で無理矢理出来なくも無いが…
…基本的には使わないのが良いわな。
933デフォルトの名無しさん:2006/04/08(土) 16:44:49
>>928
違うクラスのint型の値を得ることが目的ならば、
>>931のように、インタフェースを用いて双方のクラスに
実装することで解決すると思う。

既存のクラスで触ることが出来ないのであれば、
それぞれのクラスを親クラスとしたそれぞれのラッパクラスを作成し、
そのラッパクラスに共通のインタフェースを実装することで解決可能。

いずれの方法にしろ、リフレクションを設計に組み込むのは
最後の手段として考えたほうが良いと思う。
934デフォルトの名無しさん:2006/04/08(土) 17:48:38
本質的にクラスをメタ的に扱う必要がある場合は、
妙なインタフェースを導入するよりリフレクションを使うのが
簡単だしおそらく正しい。
935デフォルトの名無しさん:2006/04/08(土) 17:55:04
そんな場合って有るか?
936デフォルトの名無しさん:2006/04/08(土) 18:08:52
928 を見る限り、
俺には Human の age と Car の speed に
両方とも int であるという形式上の共通点しか見られん。

もっとも、設計が間違っている可能性が多分にあることは同意
937デフォルトの名無しさん:2006/04/08(土) 19:44:14
>>932-936
レスありがとー(^-^)
とても参考になりました。

結局、
数十のクラスから数万回データを取得しなければならなかったので、
リフレクション
+ 得られたMethodインスタンスをあらかじめキャッシュ
で対応することにしました。


ありがとうございましたm(_ _)m
938デフォルトの名無しさん:2006/04/08(土) 19:47:28
>>927
具体的にどうやったらいいのか全く分かりません。
できればサンプルコード(載っているサイト等)を紹介して
いただけないでしょうか。
939デフォルトの名無しさん:2006/04/08(土) 19:47:57
ラッピングクラス作れば良いんじゃないの?
940デフォルトの名無しさん:2006/04/08(土) 20:00:12
おめーらのやりとり見てると反吐が出る
941デフォルトの名無しさん:2006/04/08(土) 20:25:11
>940
なら専ブラでこのスレを非表示にしとけ
お互いにそれが吉だ
942デフォルトの名無しさん:2006/04/08(土) 23:15:08
strutsで文字列を動的に作成したものを、ダウンロードさせたいのですが、
どうすればいいのでしょうか?
943デフォルトの名無しさん:2006/04/08(土) 23:31:18
javaスクリプトでの質問なのですが、
HPでトップからクリッカブルマップで画像にリンクを張り、そのリンク先を
サイズを固定してなおかつステータスバーなどを消して新規ウィンドウで表示させたいのですがどうすればいいでしょうか。
例を挙げると、「家族集合写真画像の息子の部分をクリックすると新規ウィンドウステータスバーなしで
息子の拡大写真がその画像のサイズで出る。」
といった感じです。バラバラに考えれば出来るのですが、複合すると分かりません。
とくにMAPタグでのクリッカブルマップとJavaをどういう風に合せればいいのでしょうか?

文章が稚拙で申し訳ないのですが、どなたか分かる方ご教示ください。
944デフォルトの名無しさん:2006/04/08(土) 23:35:16
>>943
>>1
JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/
945デフォルトの名無しさん:2006/04/08(土) 23:35:33
946デフォルトの名無しさん:2006/04/08(土) 23:36:05
申し訳ありません。すれ違いでした。失礼ですがマルチさせていただきます。
947デフォルトの名無しさん:2006/04/09(日) 00:30:56
>>946
> 申し訳ありません。すれ違いでした。失礼ですがマルチさせていただきます。
マルチと言うと聞こえが悪いから、移動しますくらいの言い回しがいいとおもう。
948デフォルトの名無しさん:2006/04/09(日) 01:27:16
おいおいww
てめーら、何教育しちゃってんだよwwwガラにもねーなwww
949デフォルトの名無しさん:2006/04/09(日) 01:33:45
>>948
スレ違い
950デフォルトの名無しさん:2006/04/09(日) 13:07:13
同じディレクトリにある同じ権限のファイルで、
File.delete() 使って
消せるファイルとjavaからは何回やっても消せないファイルがあるんですが
これは確実に消すことできないでしょうか?

java1.5.0_06
windowsですが関係あるでしょうか
951デフォルトの名無しさん:2006/04/09(日) 14:20:45
Windows はファイル開きっぱなしのままだとファイルは消せません。
どこかでクローズしてないところがあるんじゃないの?
952デフォルトの名無しさん:2006/04/09(日) 14:49:45
KJX作成ツールについて質問してもよかですか?
(´・ω・`)
953デフォルトの名無しさん:2006/04/09(日) 14:52:45
ダメ
954デフォルトの名無しさん:2006/04/09(日) 15:10:25
KJX作成ツールは、ファイルくっつけてるだけ
955デフォルトの名無しさん:2006/04/09(日) 15:11:47
(´・ω・`)ショボーン
956デフォルトの名無しさん:2006/04/09(日) 15:19:40
つーか、「質問してもよいですか?」と聞かれれば ここの人間は「だめ」というので
それ言う前に本題を先に聞けばいいのに・・・
今なら俺が居るので答えるよん
957デフォルトの名無しさん:2006/04/09(日) 15:20:33
つーか他に専用スレあるし。
958デフォルトの名無しさん:2006/04/09(日) 15:42:26
Ezアプリを作ろうと思ってEzアプリ開発キットをインストールしたのですが、
KJX作成ツールが起動できません。
Unable to access jarfile CmdTool.jar というエラーが出ます。

DOS窓から、cmdtool.jarの入っているフォルダに移動して、
java -jar CmdTool.jar
と入力すると起動するのですが・・・

J2SEとJ2MEはインストール済みです。
959デフォルトの名無しさん:2006/04/09(日) 15:43:20
思いっきりスレ違いですかね・・・
初心者丸出しでごめんなさい
(´・ω・`)
960デフォルトの名無しさん:2006/04/09(日) 15:50:49
>>959
していいかって聞かれれば俺もダメって答えるほうだけど、スレタイによれば、初心者大歓迎。
とりあえず本題の質問すれば、回答や専用スレへの誘導をしてもらえると思っていいのでは?
煽りもあるけど、2chだから軽く流して。
961デフォルトの名無しさん:2006/04/09(日) 17:59:21
【小心者】Java質問・相談スレッド83【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1142309999/l50
962デフォルトの名無しさん:2006/04/09(日) 18:34:27
文字列の中のHTMLタグを消したいのですが、どうすればいいのでしょうか?
963デフォルトの名無しさん:2006/04/09(日) 18:37:32
NetBeansで怪現象に悩まされています。

1. 某Java入門書に載っているサンプル・プログラム(String.format()の使用例です)を手入力して実行しようとしたところ、String.format()が見つからないというコンパイル・エラーが出ました。
2. で、その本の出版社からプロジェクトごとファイルをDLし、同じサンプル・プログラムを実行したところ、こちらは問題なく実行できました。
3. 手入力したソースをDLしたプロジェクトにコピーして実行したところ、実行できました。つまり手入力したソースには問題無いようです。
4. 逆にDLしたプロジェクトから手入力プロジェクトの方に問題のソースをコピーしてきて実行しようとすると、1.と同様なコンパイル・エラーが出てしまいます。
5. プロジェクトの設定に問題があるのかと思い、プロパティを見比べましたが、違いは見当たりません。

ちなみに環境はMac OSX 10.4、java -versionは1.5.0_05、NetBeans IDE5.0です。
964デフォルトの名無しさん:2006/04/09(日) 19:35:28
>>958
CLDC+MIDP+携帯電話用Javaスレッド part 5
http://pc8.2ch.net/test/read.cgi/tech/1132493827/

>>963
【Java】NetBeans【Sun】
http://pc8.2ch.net/test/read.cgi/tech/1132079321/
965963:2006/04/09(日) 19:47:36
自己解決しました。

プロジェクトを新たに作り直したら、コンパイル&実行できました。

実は手入力プロジェクトの方はデフォールトがJDK1.4だった時に作成したものなのですが、途中でデフォールトをJDK1.5に変更したあと、そのまま使い続けていました。

プロジェクトのライブラリーがJDK1.5に変わったので油断していましたが、実はプロパティなどに表示されない「残りかす」があったようです。
966デフォルトの名無しさん:2006/04/09(日) 20:23:22
今会社で、10時から打ち合わせがあるんだけど、ちょっと困ってますよ。

Javaって外部のライブラリを使ってアプリケーション開発したとき、
その開発したアプリケーションを動かすための環境には、外部のライブラリは必要になるの??
それとも、コンパイル時にアプリケーション内に統合されて、実行環境に必要なのはJREだけで済む??
967デフォルトの名無しさん:2006/04/09(日) 20:43:44
試せよ
968デフォルトの名無しさん:2006/04/09(日) 21:03:15
すっげーバカな質問で悪いんですが、returnで配列を返す時はどういうふうにすればいいんですか?
969958:2006/04/09(日) 21:04:18
>>9640
ありがとっす。(`・ω・´)
970デフォルトの名無しさん:2006/04/09(日) 21:06:21
>>968
int[] hoge(void) {
  int[] hoge = new int[100];
return hoge;
}
971デフォルトの名無しさん:2006/04/09(日) 21:11:12
>>961
ワロタ
新スレはそのタイトルで立てるか?
972デフォルトの名無しさん:2006/04/09(日) 21:26:40
>>966
クラスパスにその外部のライブラリがあれば、
同じディレクトリだろうと、作成したJREの中だろうと、
どこでも大丈夫。

クラスパスは>>1参照。
973972:2006/04/09(日) 21:28:59
追記。
起動直後に読み込まないクラスで外部ライブラリを使ってるなら、
必ず使っているクラスを読み込む所まで確認すること。
974968:2006/04/09(日) 21:32:25
>>970
ありがとうございます!今までメソッドの前に[]をつけてませんでした。
975デフォルトの名無しさん:2006/04/09(日) 22:03:34
「プログラミング言語Java」の邦訳の新版はいつ出るんですか?
976デフォルトの名無しさん:2006/04/09(日) 22:43:39
>>973
ありがとう
打ち合わせいってきました

配布するアプリケーションに、外部Jarを取り込んで配布ってのもありだよね
やってみる
977デフォルトの名無しさん:2006/04/09(日) 23:10:07
邦訳は例外なく糞
978デフォルトの名無しさん:2006/04/09(日) 23:11:10
この時間に打ち合わせってやっぱりプログラマってキツいんだな
979デフォルトの名無しさん:2006/04/10(月) 00:23:36
え、マで966の質問はやばいだろ。営業と思いたい。
980デフォルトの名無しさん:2006/04/10(月) 01:56:30
きっとPMだよ
981デフォルトの名無しさん:2006/04/10(月) 02:17:34
星野 燈夜 (とうや)
982デフォルトの名無しさん:2006/04/10(月) 09:09:29
980じゃないけど、超えたから立ててくるよ(-ω-)ノ
少々お待ちアレ。
983デフォルトの名無しさん:2006/04/10(月) 09:09:59
>>950-951

はいもちろん他のアプリケーションから開いてはいません。
通常どおりwindowsからではゴミ箱に移して消すことができ、警告やその他何か変なことは起きません。
dosプロンプトでも消せることは確認してます。

File.delete()を使ってだけ、どうしても消せないです
(exists()はtrue delete()の帰り値がfalse)

ディレクトリ中の全てのファイルを順に消していくような操作を行っていて、、
プログラム中で特別扱いされるようなファイルはありません。

984982:2006/04/10(月) 09:13:16
完了。

【初心者】Java質問・相談スレッド84【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1144627899/
985デフォルトの名無しさん:2006/04/10(月) 09:15:47
>>983
消せないファイルに共通性があるのか、
例えば特定の種類、日付、属性、名前。
消せないファイルと少し違うファイルを作って確かめてみる、等など。
986デフォルトの名無しさん:2006/04/10(月) 10:20:19
>>983
Windows だとどうなのか知らないが、UNIX系OSだとファイルに
オーナーとパーミッションがある。実行されているプログラム
のユーザIDとオーナーが違うと消せない。パーミッションも
書き込みが許可されていないと消せない。というような感じ
で Windows にもこういうのあるよね? 関係ない?
987デフォルトの名無しさん:2006/04/10(月) 13:02:44
>>983
とりあえず再起動
988デフォルトの名無しさん:2006/04/10(月) 14:02:11
>>986
関係ない事は無いと思うけどWindowsでファイルが消せない事は偶にある

一番判りやすいのはエクスプローラでそのファイル上にマウスカーソルがある時かな
989デフォルトの名無しさん:2006/04/10(月) 15:49:07
Javaの基礎本読んで、数値処理をするプログラムを
書いたり、して楽しんでます。

で、そもそもがiアプリを作りたくてはじめたので
そろそろ実際にiアプリを作ってみたいです。
サンプルコードというか、先輩がたの書いたコードを見てみたいのですが
どこかにありませんか?
990デフォルトの名無しさん:2006/04/10(月) 15:55:09
>>989
本買え
991デフォルトの名無しさん:2006/04/10(月) 16:42:54
>>990
学生なので食うのが精一杯です
立ち読みしてきます><
992デフォルトの名無しさん:2006/04/10(月) 17:50:15
>>991
図書館へ行け。
993デフォルトの名無しさん:2006/04/10(月) 18:07:39
>>992
大学の図書館にはなかったです。
仙台の図書館にもありますかね?
994デフォルトの名無しさん:2006/04/10(月) 18:41:46
知るかカス
995デフォルトの名無しさん:2006/04/10(月) 19:53:15
まあ、ネタなんだけどね
996デフォルトの名無しさん:2006/04/10(月) 20:06:55
そうだねプロテインだね
997989:2006/04/10(月) 20:14:40
オレはマジです。自分で行ってきますよ。
使えねぇな。
998デフォルトの名無しさん:2006/04/10(月) 20:16:39
マジならiアプリのスレ行くはずだからネタ
999デフォルトの名無しさん:2006/04/10(月) 20:21:39
スリーナイン
10001000ゲッター:2006/04/10(月) 20:22:39
1000GET!!!
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。