【初心者】Java質問・相談スレッド83【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/03/14(火) 13:19:59質問をする前に、貴方が見なければならないサイトについての情報は、
下の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あたりで。
0002デフォルトの名無しさん
2006/03/14(火) 13:40:050003デフォルトの名無しさん
2006/03/14(火) 13:43:580004デフォルトの名無しさん
2006/03/14(火) 13:46:250005デフォルトの名無しさん
2006/03/14(火) 13:57:03http://www.wikiroom.com/java/
ってずっと落ちっぱなしですか?
0006デフォルトの名無しさん
2006/03/14(火) 14:48:18次のような認識はあってますか?
char ch[];//スタックに ch[]分の領域を確保
ch = new char[5];//ヒープに char[5]分の領域を確保
0007デフォルトの名無しさん
2006/03/14(火) 14:54:49あの面積を求める式は、円の面積だ。
class Circleで定義されているだろ。
0008デフォルトの名無しさん
2006/03/14(火) 15:01:13○char ch[];//スタックに ch 配列への参照を確保
0009デフォルトの名無しさん
2006/03/14(火) 15:04:13ま た 参 照 か
0010デフォルトの名無しさん
2006/03/14(火) 15:50:12○char[] ch;//スタックに ch 配列への参照を確保
00116
2006/03/14(火) 16:00:47じゃ変ですかね?
0012デフォルトの名無しさん
2006/03/14(火) 16:02:340013デフォルトの名無しさん
2006/03/14(火) 16:07:530014デフォルトの名無しさん
2006/03/14(火) 16:23:300015デフォルトの名無しさん
2006/03/14(火) 16:29:37http://java-house.jp/ml/archive/j-h-b/020633.html#body
0016デフォルトの名無しさん
2006/03/14(火) 16:33:33命名に関しては個人の見方でいろいろ解釈できるのではっきりしたもんは得られんよ。
どの理由で納得するか、それだけの問題だから。「Java NullReferenceException」 で
検索して納得できる理由を探してみ。
ちなみに API リファンレンスに NullReferenceException って表記されてる箇所があります。
暇があったら検索してみそ。
0017デフォルトの名無しさん
2006/03/14(火) 16:46:09http://java-house.jp/ml/archive/j-h-b/037965.html
0018デフォルトの名無しさん
2006/03/14(火) 16:47:46とでもしておけばいいのにね。
ちなみにSmalltalkはUndefinedObjectというエラーになる。
0019デフォルトの名無しさん
2006/03/14(火) 16:51:11値渡し、参照渡し、ポインタ渡しを議論する
http://pc8.2ch.net/test/read.cgi/tech/1142322025/
0020デフォルトの名無しさん
2006/03/14(火) 17:05:26System.out.println(s.valueOf(10));
なにこれ?
0021デフォルトの名無しさん
2006/03/14(火) 17:11:380022デフォルトの名無しさん
2006/03/14(火) 17:12:01だから、変数sはnullかもしれないけどString型だから
valueOf()を呼んでもエラーにならない。
0023デフォルトの名無しさん
2006/03/14(火) 17:18:59002418
2006/03/14(火) 17:19:52忘れてくれ。
MessageNotUnderstoodだった
SmalltalkはnilというUndefinedObjectのインスタンスで初期化されるから
nilがMessageNotUnderstoodというエラーを発生させてるんだった。
0025デフォルトの名無しさん
2006/03/14(火) 19:05:25バグの少ないLook And Feelありませんか?
バグの少なさ >> 速度 > 見た目
0026デフォルトの名無しさん
2006/03/14(火) 20:27:36アプレットがクライアントで、アプリケーションがサーバです。
クライアント上(windows)からサーバ(Linux)へ、2バイト文字を送ると文字化けして
しまいます。
サーバをwindows上で動かしてる時は、2バイト文字でも問題無く表示されているの
で、
恐らくLinuxの文字コードの問題だと思うのですが、対処の仕方がわかりません。
どなたかご教示願います。
0027デフォルトの名無しさん
2006/03/14(火) 21:09:23InputStreamReaderとOutputStreamWriter生成時にキャラセット指定
例:
new BufferedReader(new InputStreamReader(socket.getInputStream(), "UTF8"));
new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8"));
0028デフォルトの名無しさん
2006/03/14(火) 23:09:08http://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
家族で密かにはぶっている。
男性は肉体が汚く、精神が美しい傾向がある。(気に入らない相手に肉体的攻撃を加える⇒精神的攻撃も加える男は猛者)
女は肉体が美しく、精神が汚い傾向がある。(気に入らない相手に精神的攻撃を加える⇒肉体的攻撃も加える女は猛者)
女は隠れて悪事をする。気に入らない女子を便所でボコったり、便器舐めさせたり、男の友人を使ってレイプ、仲間外れにしたり。陰口、嫉妬。
女は対人関係において、この汚い性格を隠そうとするため、外面が非常によくなる。(猫かぶり)
男性諸君は外面に騙されないように気を付けて下さい。
0029デフォルトの名無しさん
2006/03/14(火) 23:25:34metal
0030デフォルトの名無しさん
2006/03/14(火) 23:49:34(;^ω^)
0031デフォルトの名無しさん
2006/03/15(水) 14:13:10商業高校卒の新人を教育することになったんですが
高校ではVBAだけしかおそわってないらしいのですが
VBA脳の人にJAVAを教える上で肝になるところって
どこらへんでしょうかねぇ。
0032デフォルトの名無しさん
2006/03/15(水) 14:18:34オブジェクト指向の概念じゃない?
カプセル化とか隠蔽とか。
まぁ、いわゆる基礎だ。
0033デフォルトの名無しさん
2006/03/15(水) 14:40:080034デフォルトの名無しさん
2006/03/15(水) 17:38:36ほっとくのが一番?
0035デフォルトの名無しさん
2006/03/15(水) 17:43:34口でバリバリって言ってるだけなら、相模灘に沈めましょう。
003626
2006/03/15(水) 19:55:57そのコードで文字化けが直りました
どうもありがとうございました
えと、もう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 );
003726
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上からリモートアクセスでテーブルに日本語でデータを追加すると文
字化けしません
御教示の程、宜しくお願い致します
0038デフォルトの名無しさん
2006/03/15(水) 20:47:01何を根拠にクライアントから送信されているのが EUC-JP であると断定しているのだ?
おそらく Windows は Windows-31J で送信しているのに
EUC-JP として認識させようとしているから、化けている。
0039デフォルトの名無しさん
2006/03/15(水) 21:04:31XMLライブラリについて、JRE1.3は外付け、JRE1.4は組み込みとなっていますが、
クライアントのJREのバージョンがどれであっても対応できるようにソースコードを書くことは可能でしょうか?
0040デフォルトの名無しさん
2006/03/15(水) 21:32:27アプレットって複数jar並べるとかで、ライブラリ指定できなかったっけ。
できるならxerces-jとかを並べておく。1.3ではそれが使われ、1.4は勝手に内部のを使う。
難点は毎回xerces-jなんぞ落とす負荷かな。
0041デフォルトの名無しさん
2006/03/15(水) 21:36:27サーバで1.4動かしといてXMLを送るんでは駄目ですか、そうですか。
0042デフォルトの名無しさん
2006/03/15(水) 21:51:34クライアントからサーバへ送信する際に
EUC_JPに変換してから送信している為です
0043デフォルトの名無しさん
2006/03/15(水) 22:11:33ServletコンテナはTomcatか?
デフォルトではgetのパラメータはsetCharacterEncoding()メソッドでは変換できないぞ。
0044デフォルトの名無しさん
2006/03/15(水) 22:30:57もし出来るならばどの様に引数を取ればいいのでしょうか
0045デフォルトの名無しさん
2006/03/15(水) 22:36:28関数へのアドレスうんぬんは、目が覚めたら、変な寝言言っちゃったなあと思うこと。
なんのために関数を渡すかによって違うので、その目的を教えてみそ。
コールバックが欲しいなら、Observerパターンとか見ると少し幸せになれます。
0046デフォルトの名無しさん
2006/03/15(水) 22:40:36http-bodyに対してだけだからな、できるのは。
new String(str.getBytes("ISO-8859-1"), encoding);
めんどくせ・・・
0047デフォルトの名無しさん
2006/03/15(水) 23:17:09例えば複数のボタンがあって
AbstractActionを継承しているクラスをリスナーに設定するとします。
しかしボタンAとボタンBで望まれる動作は違うので上記のクラスはそのボタン専用のクラスを定義するべきです。
それでは冗長なので、コンストラクタに任意のメソッドへのアドレスを渡し、それを保存し
actionPerformed(ActionEvent)メソッドの処理内容をその保存したメソッドを処理させる・・・
としてみたいのです。
0048デフォルトの名無しさん
2006/03/15(水) 23:23:210049デフォルトの名無しさん
2006/03/15(水) 23:25:52一つのオブジェクトに二つ以上の役割を持たせるのは止めましょう
「それでは冗長なので・・・」とか言う前にオブジェクト指向を学習した方がいいよ
0050デフォルトの名無しさん
2006/03/15(水) 23:32:550051デフォルトの名無しさん
2006/03/15(水) 23:33:260052名無し募集中。。。
2006/03/15(水) 23:44:090053デフォルトの名無しさん
2006/03/15(水) 23:47:37変数の異なる複数のクラスのインスタンスを作成します。
そのインスタンスを一つの配列に格納したいのですが、
どのようにしたらよいのでしょうか?
0054デフォルトの名無しさん
2006/03/15(水) 23:50:18005553
2006/03/15(水) 23:51:27抽象クラスのさらに上のクラスを作るということでしょうか?
0056デフォルトの名無しさん
2006/03/15(水) 23:53:510057デフォルトの名無しさん
2006/03/15(水) 23:56:430058デフォルトの名無しさん
2006/03/15(水) 23:59:35抽象クラスがAbstractFooならAbstractFoo[] foo でいいんじゃね?
俺勘違いしている?
005953
2006/03/15(水) 23:59:40どのようなタイプの配列に型キャストをすればよいのでしょうか?
006053
2006/03/16(木) 00:00:34ただのabstractクラスです。
0061デフォルトの名無しさん
2006/03/16(木) 00:01:37AbstractFoo[] foo = new AbstractFoo[整数];
でいいんじゃね?
0062デフォルトの名無しさん
2006/03/16(木) 00:04:27006353
2006/03/16(木) 00:07:30無事解決しました。
0064デフォルトの名無しさん
2006/03/16(木) 11:07:53できないでしょうか。
具体的には下記の様な日付を選択させるセレクトボックスを部品化したいなと
思ってるんですが、この時選択の初期状態をパラメータで渡せれたらなぁと思ってます。
[2006▼][10▼][1▼]
0065デフォルトの名無しさん
2006/03/16(木) 11:14:090066デフォルトの名無しさん
2006/03/16(木) 11:24:000067デフォルトの名無しさん
2006/03/16(木) 12:29:27そういうのって、JSPのインクルードでやるもの?
俺はカスタムタグ作っていたけど。
確かにカスタムタグだと、作るのが面倒くさい気もするが、
こういうことをインクルードで実現するのってどうなん?
0068デフォルトの名無しさん
2006/03/16(木) 12:37:570069デフォルトの名無しさん
2006/03/16(木) 12:48:500070デフォルトの名無しさん
2006/03/16(木) 13:08:11JSP に記述するもんはたいして変わんないんだし。
データベース照会して休日取ってくるとかいう処理が必要ならそれこそ拡張タグ
ライブラリでも良いけどさ。
0071デフォルトの名無しさん
2006/03/16(木) 13:20:28staticである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()");
}
}
}
0072デフォルトの名無しさん
2006/03/16(木) 13:29:00インナークラスをstatic宣言していないから、オブジェクトから生成しなきゃいけなくなってるの。
static class ClassA { ... }
とするか、
TataiseiTest t = new TataiseiTest();
A a = t.new A();
とするかのどちらか。
0073デフォルトの名無しさん
2006/03/16(木) 13:42:31次のコードも、コメントの理由でコンパイルが通らないんですが。
そもそもスタティックなクラスってナニなんでしょうか?
そしてスタティックなクラスをnew するってどういうことでしょうか?
下記のコードでa2.iとb2.iがちゃんと別々の値となっている所に
違和感を感じます
0074下記のコード
2006/03/16(木) 13:43:11{
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;
}
}
0075デフォルトの名無しさん
2006/03/16(木) 13:46:11static とは関係ない。
普通に、
Object o;
String s = o.toString();
とかやっても同じ結果になる。
0076デフォルトの名無しさん
2006/03/16(木) 13:51:050077デフォルトの名無しさん
2006/03/16(木) 13:52:030078デフォルトの名無しさん
2006/03/16(木) 13:56:55ただ、staticなクラスをnew するっていう感覚については、やっぱりよくわからないです。
0079デフォルトの名無しさん
2006/03/16(木) 14:02:500080デフォルトの名無しさん
2006/03/16(木) 14:04:12もしかしてCのstatic変数みたく、固定のメモリ領域を静的に占めるとか考えてない?
008176
2006/03/16(木) 14:18:070082デフォルトの名無しさん
2006/03/16(木) 14:25:440083デフォルトの名無しさん
2006/03/16(木) 14:27:48問題は個々のリンクがwww.eclipse.netなところ。一ページずつeclipse.netにすれば見えますが。
0085デフォルトの名無しさん
2006/03/16(木) 14:58:46見えたり見えなかったりするぞw
0086デフォルトの名無しさん
2006/03/16(木) 15:31:46junit3.8.1がほしいのです。http://www.junit.org/に行くと4.0しか見当たらなくて。
j2sdk1.4.2_03+JDeveloperで使おうとしてます。
0087デフォルトの名無しさん
2006/03/16(木) 15:36:52この場合、それぞれのクラスで独自のフォントを作って持つのが
一般的なのでしょうか?それとも、ひとつのフォントを使いまわして
描画するときだけ大きさを変えたりするのでしょうか?
0088デフォルトの名無しさん
2006/03/16(木) 15:37:38クラス→オブジェクト
0089デフォルトの名無しさん
2006/03/16(木) 15:46:42www.junit.orgに書いてあるsourceforge.netのほうを見てないでしょう。
3.8.2とかもあるよ。どうしてもアーカイブがなければCVSからソース落としなさいな。
0090デフォルトの名無しさん
2006/03/16(木) 15:47:34モノとして扱うとか書いてあるけどどうもいまいち。
Cは今までも触ったことあるんだが、違いが分からん
クラスや継承があるから・・・ってわけでもないよな
Cでもmain関数だけで書くことはないし
入門書レベルじゃ違いはないってだけかな
009167
2006/03/16(木) 15:47:45でも<jsp:include>って、HTTPリクエスト投げているんでしょ?
だとしたら、カスタムタグに比べて、負荷が大きいと思った。
「部品化したい」ということも>>65に書いてあるのだから、
あちこちで使ったら、1ページのリクエストを処理するのに、
内部的に何度もリクエストを送信することになるんでは?
0092デフォルトの名無しさん
2006/03/16(木) 15:51:41おかげさまで、サンプルのテストクラスとテストケースの実行に成功しました。
でもJDeveloperだとSwing風のテストが実行できないくさいですね。 かなり しょぼ〜んです。
0093デフォルトの名無しさん
2006/03/16(木) 15:55:33クラスの中のメソッドの中身について言えばCの関数とほぼ同じだよ。
違うのはその外側。
0094デフォルトの名無しさん
2006/03/16(木) 15:59:41http://kmaebashi.com/programmer/object/index.html
0095デフォルトの名無しさん
2006/03/16(木) 16:01:27実際にHTTPプロトコルの送受信が行われるわけじゃない
0096デフォルトの名無しさん
2006/03/16(木) 16:03:54サンクス、読んでくる
0097デフォルトの名無しさん
2006/03/16(木) 16:22:08そうだ。C言語でもオブジェクト指向的に作られている標準関数がある。
それは FILE * 使って読み書きする関数群だ。
0098デフォルトの名無しさん
2006/03/16(木) 16:37:43> でも<jsp:include>って、HTTPリクエスト投げているんでしょ?
投げません。RequestDispatcher#include() と同じ。
0099デフォルトの名無しさん
2006/03/16(木) 17:05:07作るwebアプリケーションに向き不向きはあるのでしょうか?
たとえばECサイトは向いてる気がするのですが、
単純なレンタル掲示板などは不向きな気がします。
どうなんでしょうか?
0100デフォルトの名無しさん
2006/03/16(木) 17:12:49なぜそう思うのか、根拠を書かないと何とも言えないな
掲示板程度ならPHPでいいよ
0101デフォルトの名無しさん
2006/03/16(木) 17:16:40向き・不向きはある。特性的にも規模的にもパフォーマンス的にも。
■ このスレッドは過去ログ倉庫に格納されています