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

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

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

以下のエラーが表示されて、途方にくれているあなたは、下のページへ。
「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath

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

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */

また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

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

次スレは>>980あたりでお願いしまする。
2デフォルトの名無しさん:2005/10/26(水) 17:47:02
2げっと
3デフォルトの名無しさん:2005/10/26(水) 17:51:48
アプレットじゃなくてアプリでの画像の表示ってどうやるんですか?
同じ画像を縦横に並べて表示したいんですが
4デフォルトの名無しさん:2005/10/26(水) 17:57:02
>>3
1. 表示したい画像の Icon を作成する
2. GridLayout(1, 2) の JPanel を作成する
3. 上記 1 で作成した Icon の JLabel を 2 つ作成し add する
5デフォルトの名無しさん:2005/10/26(水) 17:58:09
あ、横に二つ並べるんじゃないのか。GridLayout で縦横好きなだけ、JLabel も
好きなだけ作って並べるヨロシ
6デフォルトの名無しさん:2005/10/26(水) 18:02:05
ゲームのようにPCGデータを敷き詰めたいのかと思ったが、
それだとアプレットでも同じだしな

7デフォルトの名無しさん:2005/10/26(水) 18:05:25
>>4
ありがとうございます
JPanelですか
初めて聞く名前です
調べてみます

>>6
32*32のBMPを縦横10個づつ敷き詰めたいんです
8デフォルトの名無しさん:2005/10/26(水) 18:33:35
JPanellがわからないってことはもしかしてアプレットのコンテナのかわりとなる
ウインドウの作り方がわからないってことなのか?

だとしたらSwingとJFrameあたりから勉強するといいよ
9デフォルトの名無しさん:2005/10/26(水) 18:38:15
お返事遅れました、すいません。

まだjava歴が浅いのでこれから調べつつ作業に取りかかります。

>前スレ991
開発環境はj2se1.4.28なのでGenericsは確か使えない(ですよね?)かと。

>前スレ992
ご指摘の通りal.(i)はal.get(i)の間違いです、コピペじゃなく手打ちしたんでミスりました。

パッケージは何も設定せずにデフォルトのままでclassesに突っ込んであったんで
パッケージに入れてimportする事で大丈夫になったみたいです。
ただ、((JoinUserBean)joinUsers.get(0)).nameという行でClassCastExceptionが。

もうちょっと調べてみますorz
10デフォルトの名無しさん:2005/10/26(水) 18:51:43
>>8
う〜んswingですか
名前聞いたことあるんですけど授業でやってないから使っていいかどうかわからないんで
使っていいってことなら勉強してみます
11デフォルトの名無しさん:2005/10/26(水) 18:55:54
もしかしてAWTか
12デフォルトの名無しさん:2005/10/26(水) 18:59:16
はいAWTです
13デフォルトの名無しさん:2005/10/26(水) 19:02:03
雑談はじめんな
14デフォルトの名無しさん:2005/10/26(水) 19:27:07
使っていいとかわけわからんな
自分の勉強のことじゃなくて宿題か?
なら専用スレへ
15デフォルトの名無しさん:2005/10/26(水) 20:07:41
Dimension[] dimension = {right,left};
と、してみたところ
'.class'がありません。
となりました。
.classをどこにかけばよいのですか?
16デフォルトの名無しさん:2005/10/26(水) 20:09:29
>>15
Dimension[] dimension = new Dimension[]{right, left};
                                         ↑
17デフォルトの名無しさん:2005/10/26(水) 20:10:35
あ? .class って class リテラルか?
18デフォルトの名無しさん:2005/10/26(水) 20:57:33
>>16
おかげ様で解決しました。ありがとうございます。
初歩の質問すみませんでした。
199=前スレ980:2005/10/26(水) 22:05:37
9で名前忘れてました。
なんとか解決しました、ありがとうございました。
20デフォルトの名無しさん:2005/10/26(水) 23:15:38
サーブレットから、フォワードで外部のURL(ローカルじゃない)に、リクエストにセットした値
といっしょに飛ばしたいんだけど無理ですか?

RequestDispatcherだと外部に飛ばせないし、Response redirectだと値がついてこないし。
21デフォルトの名無しさん:2005/10/26(水) 23:24:58
String s = new String("ア".getBytes(), "UTF-8");
byte[] b = s.getBytes();
System.out.println(b[0]);

同じコードをwinとunixで動かすと結果が違うんですが、理由が分かりません。
どうしてなんでしょうか。
22デフォルトの名無しさん:2005/10/26(水) 23:40:48
結果をかけよ
23デフォルトの名無しさん:2005/10/26(水) 23:50:17
BigとLittleの違い
24デフォルトの名無しさん:2005/10/26(水) 23:53:10
>>21
同じコンパイル済みクラスファイルをWin環境とUNIX環境で試してるのか?
それとも、各環境で同一のソースファイルをコンパイルしてるのか?
その場合はちゃんと文字エンコーディング指定してコンパイルしてるか?
それとも、各環境で同じソースをその都度書いてコンパイルしてるのか?
25デフォルトの名無しさん:2005/10/26(水) 23:55:42
>>21
環境毎のデフォルトエンコーディングの違い。
26デフォルトの名無しさん:2005/10/27(木) 00:50:25
>>21
"ア".getBytes() が環境のデフォルトエンコーディングの影響を受ける。
また、デフォルトエンコーディングが UTF-8 でない限り new String("
ア".getBytes(), "UTF-8") はぶっこわれた文字列になり、
s.getBytes() もまたデフォルトエンコーディングの影響を受けて、も
うメチャクチャ。
27デフォルトの名無しさん:2005/10/27(木) 01:27:15
コンパイル前のソースファイル郡をもらったのですが
親フォルダの中にjavaファイルと子フォルダが4個ほどあり
その子フォルダの中に7個くらいjavaファイルがありました。

これをコンパイルする方法がわかりません。
いままで一つづつのjavaファイルしかコンパイルしたことがありません。
28デフォルトの名無しさん:2005/10/27(木) 01:36:36
>>27
親フォルダをカレントにして

java *.java
java <子フォルダ1>\*.java
java <子フォルダ2>\*.java
......
29デフォルトの名無しさん:2005/10/27(木) 01:38:05
間違えた javac だ
30デフォルトの名無しさん:2005/10/27(木) 01:39:23
cd c:\* でしょうか?

javacを使わない方法はしりませんでした。。
勉強してきます
31デフォルトの名無しさん:2005/10/27(木) 01:40:37
揚げ足取りのようになってしまい
もうしわけありませんでした。
早速ためしてみます。ありがとうございます
32デフォルトの名無しさん:2005/10/27(木) 01:46:56
以下のプログラムはいわゆる「エラトステネスのふるい」というアルゴ
リズムによって整数2からN(今は10000に設定)までの素数の判
定を行うプログラムの核心部をPascalで書き出したものである。このア
ルゴリズムについてはプログラムを読むことによってどういうものか理
解してほしい。Boolean型配列aの添字に対応する数字が素数であればTR
UEを、そうでなければFALSEを設定することで判定結果を保存する。

1. boolean a[] = new boolean [1000001];
2. int i,j ;
3. int N = 10000 ;
4. a[0]=false;
5. a[1]=false;
6. for(i=2;i<=N;i++) a[i]=true ;
7. for(i=2;i<=N/2;i++)
8. for(j=2;j<=N/i;j++)
9. a[i*j]=false;

(1)今このプログラムをある計算機で実行させるとNが10000で750
 ×10^3単位、Nが1000000で1000×10^3単位の時間が
 費やされた。ではNが500000だとどのくらいの単位の時間が消費
 されるだろうか。上記程度の精度の数字で示し、その根拠を示せ。
(2)上記のプログラムは冗長な部分がある。これを正し最適化せよ。最適化
 した部分はオリジナルの行番号を参照してどのような改変を加えたか具
 体的に示せ。
(3)この変更によって250×10^3単位程度の時間でNがどの程度までの
 範囲で素数判定ができるか答え、根拠を示せ。

以上です。よろしくお願いいたします。
33デフォルトの名無しさん:2005/10/27(木) 01:47:58
>>32
Pascal->Java
34デフォルトの名無しさん:2005/10/27(木) 01:49:01
30は間違えてましたが
カレントにすることはできました。

C:JAVA\* javac *.java //ここで改行しようとすると実行してしまい
        javac <子フォルダ1>\*.java //ここの行と
        javac <子フォルダ2>\*.java   //ここの行が打てません。
35デフォルトの名無しさん:2005/10/27(木) 01:50:49
>>34
何回かに分けて、1行ずつ実行しなはれ
3636:2005/10/27(木) 02:42:17
Javaの基本的な質問です。

String型の配列hogeのをループさせて取得するとき、
hoge.lengthの値を取得しますが、hogeがnullだったらまずいので
分岐させて取得したりしますよね。よく。
で、それはいいんですが、hogeのlengthが0のことがあります。

これってどういうことですか?
中に何が入っているのですか?

とうぜんSystem.out.println(hoge[0]);
なんてやってしまうとOutOfIndexで落ちます。

よろしくお願い致します。
37デフォルトの名無しさん:2005/10/27(木) 02:50:45
何も入っていないということだ
38デフォルトの名無しさん:2005/10/27(木) 03:05:45
>>36
からっぽのString型オブジェクトがつくれるということだ
39デフォルトの名無しさん:2005/10/27(木) 03:09:38
>>36
String s = "";
としたら、sは0文字の文字列。
40デフォルトの名無しさん:2005/10/27(木) 11:53:08
>>36
String[] hoge = new String[0];
で作れるぞ

>>39
混乱する
41デフォルトの名無しさん:2005/10/27(木) 12:32:03
String s = "STRING";
String s = new String("STRING");

は、同じですか?
どちらを使うべきでしょう?
42デフォルトの名無しさん:2005/10/27(木) 12:34:09
>>41
違う
下の構文は"STRING"のコピーをするだけなので使うべきではない
43デフォルトの名無しさん:2005/10/27(木) 12:49:27
44デフォルトの名無しさん:2005/10/27(木) 13:04:24
Effective Javaの項目4じゃん。
4541:2005/10/27(木) 13:17:40
レスありがとうございます。
>>42さん
コピーするということは、"STRING"が2つできるということでしょうか?
new String("STRING");のクォート中でオブジェクトが1つできて、
sにはそのコピーが入る??
46デフォルトの名無しさん:2005/10/27(木) 13:20:47
コピーするって表現があまり良くないな。
String s = "String"; は、文字列リテラルが既にあれば再利用される。
String s = new String("String"); は、常に新しいオブジェクトが作成される。
4741:2005/10/27(木) 13:51:38
>>46
なるほど、やっと理解できました。
ありがとうございます!
48デフォルトの名無しさん:2005/10/27(木) 20:51:10
ダブルクリックで起動可能なJARファイルを作ったのですが、ダブルクリックでの起動時に
JAVAの起動オプション「-Xmx128m」等は設定できないのでしょうか?
49デフォルトの名無しさん:2005/10/27(木) 20:53:10
教えてください。

boolean b1;
boolean b2;
boolean b3;



とあったとします。

b1 = ......
b2 = ......

と処理していくとコードが冗長になってしまいます。
ここで、b1などを配列にするとループで回して処理できるのですが、
そうすると変数名に意味を持たせることが出来ません。
b1とb2などは全く違う意味のフラグで、違う意味を表す名前を付けたいのです。
配列にしてしまうと区別がつかなくなってしまいます。

どうするのが良いのでしょうか?
50デフォルトの名無しさん:2005/10/27(木) 20:56:03
定数オブジェクトなんか良いかも。
51デフォルトの名無しさん:2005/10/27(木) 21:00:02
>>48 できない。
52デフォルトの名無しさん:2005/10/27(木) 21:01:10
>>49
>ここで、b1などを配列にするとループで回して処理できるのですが、 
>b1とb2などは全く違う意味のフラグで、違う意味を表す名前を付けたいのです。

初期化みたいなことをしたいの?
それ以外のことなら、『違う意味』 だから配列が違和感あるように、ループで一括処理するのも違和感あると思うんだけど。
5349:2005/10/27(木) 21:09:54
初期化に限らず値の代入なんかをしたいのです。
例えばこんな感じです。

String str1,str2;
boolean input,output


if(str1.equals("hikaku mojiretu"))
{ input = true; }
else{ input = false;}

if(str2.equals("hikaku mojiretu"))
{ output = true; }
else{ output = false;}



こうやってどんどん書いていくと冗長なコードが増えてしまいます。
比較文字列も配列にするとループで比較できるのですが、そうしてしまうと
booleanが配列になってしまい、一目では入力のためのフラグか出力の
ためのフラグか分からなくなってしまいます。
54デフォルトの名無しさん:2005/10/27(木) 21:10:25
>>49
全く意味の違うものであれば
【冗長】とは呼ばない
5549:2005/10/27(木) 21:20:06
> 【冗長】とは呼ばない

うーん、そうなんですかね・・・
例えば、チェックボックスがチェックされているかどうかを保持するフラグを
作るとして、その変数を checkBox 配列にしてしまうと、どこがチェックされて
いるのかが分かりづらくなってしまいます。
反面、コードはすっきりするし、集中管理出来るのでフラグの意味が分かりづらい
意外は管理がし易いです。

どっちがいいのでしょうか?
それとももっと良い方法があるのでしょうか?
5648:2005/10/27(木) 21:20:09
できないですか。

今Jakarta POIを使用してエクセルにDBから取得した値を書き込むプログラム書いているのですが、
POIでのエクセルへの書き込みに

1、ワークブックのオブジェクトを作成
2、そのワークブックオブジェクトにワークシートオブジェクトを作成
3、そのワークシートオブジェクトにセルオブジェクトを作成
4、そのセルオブジェクトに値を設定
5、ワークブックオブジェクトをwrite系のクラスを使用してエクセルファイルを作成

自分は上記の流れでソースを記述したのですが、大量のデータを書き込もうとした場合、
上記4のセルオブジェクトができてしまい、
そのせいでいつもOutOfMemoryエラーが出てしまいまして、いつもJAVAの起動オプション「-Xmx」を
使用していました。

上記のPOIを使用したエクセルへの出力は間違っているのでしょうか?

57デフォルトの名無しさん:2005/10/27(木) 21:25:50
POIはまともに使おうとするとめちゃくちゃメモリを消費する。
単にセルに文字列や数値を入れたいだけならCSVとか他の方法を
すすめるよ。また数式やチャートなどが必要ならCOMブリッジを
サポートしたライブラリを別途入手したほうがいい。POIは糞。
58デフォルトの名無しさん:2005/10/27(木) 21:25:54
>>55
『集中管理したい』 時には、別に配列で1つにまとめても良いような気はするけど。

「意味の違う」 を重要視するのか、「集中管理したい」 を重要視するのか良く考えたほうが良いと思う。
あと後者を保ちながら前者を重要視する方法、幾らでもあると思う。かえって冗長になるけど。
59デフォルトの名無しさん:2005/10/27(木) 21:26:09
質問ですが
String[]の配列に
{1,2,3,4}とあって

別のString[]の配列に
{1,2,8,7}とあった場合

二つの中身を組み合わせて
配列の中身を
{1,2,3,4,1,2,8,7}としたい場合どうすればいいのでしょうか?
60デフォルトの名無しさん:2005/10/27(木) 21:28:08
>>59
1: String[] の配列は String[][] になるんだが
2: String[] だとしても String[][] だとしても {1, 2, 3, 4} は変
3: 自分でやってください。あるいは java.utils.Arrays あたりに何かあったような気がする。
61デフォルトの名無しさん:2005/10/27(木) 21:28:39
あ、java.util.Arrays だったゴメン
62デフォルトの名無しさん:2005/10/27(木) 21:29:32
>>59
APIみれ
63デフォルトの名無しさん:2005/10/27(木) 21:30:50
>>55
>反面、コードはすっきりするし、集中管理出来るのでフラグの意味が分かりづらい
>意外は管理がし易いです。

多分世間一般ではこれを管理しづらいといふ
6448:2005/10/27(木) 21:34:15
>>57
すばやい返答どうもです。

CSVへの出力は実装してあるので、POIを使用したエクセルへの出力は、
おまけ程度の機能という感じで受け止めたいと思います。

65デフォルトの名無しさん:2005/10/27(木) 21:40:27
>>49
Boolean b1 = new Boolean(false);
Boolean b2 = new Boolean(false);
Boolean b3 = new Boolean(false);

Boolean[] array = {b1, b2, b3};

 
とかやったらダメ?
こうすれば変数名でも配列としてでもアクセスできるけど
66デフォルトの名無しさん:2005/10/27(木) 21:45:17
>>65
変数名でどうやってアクセスするの?
67デフォルトの名無しさん:2005/10/27(木) 21:49:18
Boolean であって boolean でないのが味噌ですなぁ
68デフォルトの名無しさん:2005/10/27(木) 21:49:31
>>66
例えば
b1 は array[0] と同じオブジェクトを参照してるでしょ
69デフォルトの名無しさん:2005/10/27(木) 21:53:24
>>68
なるへそ
70デフォルトの名無しさん:2005/10/27(木) 22:19:08
Booleanお上手
7149:2005/10/27(木) 22:19:50
>> 65
ありがとうございます。
参考にさせていただきます。
ただ、結局配列として使用するときは変数名が分からなくなってしまいますね。

ちなみにbooleanで同じことは出来ないのでしょうか?
素人ですいません。
72デフォルトの名無しさん:2005/10/27(木) 22:24:31
>>71
boolean じゃ同じことはできないよん。基本型と参照型をキーワードに調べてみて。


>結局配列として使用するときは変数名が分からなくなってしまいますね。
となると、>>50 みたいなことになるのかも。

public static final int INPUT = 0;
public static final int OUTPUT = 1;
......

flags[INPUT] = false;
for(int i = 0; i < flags.length; i++) flags[i] = false;
73デフォルトの名無しさん:2005/10/27(木) 22:25:05
private static final int GISHIGISHI<-意味のある定数名 = 0;
private static final int ANAN = 1;
と宣言して
boolArray[ANAN] = 〜;
という手もある
74デフォルトの名無しさん:2005/10/27(木) 22:25:50
>>71
> ただ、結局配列として使用するときは変数名が分からなくなってしまいますね。

ではBoolean型を拡張したクラスをつくって名前(文字列)をセットできるようにするとか・・

> ちなみにbooleanで同じことは出来ないのでしょうか?

それはプリミティブ型だから同じことはできない
7573:2005/10/27(木) 22:26:08
はいはい氏ね氏ね>>73
76デフォルトの名無しさん:2005/10/27(木) 22:28:10
>>73みたいにするなら、JDK1.5から導入された列挙型を使うとか
77デフォルトの名無しさん:2005/10/27(木) 22:29:35
>>76
列挙型って、配列のインデックスに使えたっけ?
78デフォルトの名無しさん:2005/10/27(木) 22:35:17
Booleanは3値に使えるのがいいね
79デフォルトの名無しさん:2005/10/27(木) 22:36:35
>>77
コレクション系クラスのキーとしては使える
80デフォルトの名無しさん:2005/10/27(木) 22:40:13
すんません、教えてください。
JSPでリストボックス表示させたいです。
で、値はほとんど固定値。
例えば、
北海道
青森県
  ・
  ・
  ・
沖縄県
みたいな。
で、その設定値をweb.xmlで設定するってできたよね。
どうすれば??
ちなみにstruts使ってます。
8159:2005/10/27(木) 22:53:08
>>60-61
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html
の中のjava.util.Arraysを見ているのですが
どうしてもよくよくわかりません

具体的に教えてください
8260:2005/10/27(木) 22:57:20
>>81
うはwごめん Arrays に copy メソッドなんてなかった orz
for ループかなんかで地道にコピーしてくれ。・゚・(ノД`)・゚・。
83デフォルトの名無しさん:2005/10/27(木) 22:58:39
>>80
普通はDBにいれとくんじゃね?
連結したり自由に取り出したいとかあるし
8480:2005/10/27(木) 23:00:22
>>83
うん、そう思う。
でも今回特殊でさ。
できないんだっけ?
85デフォルトの名無しさん:2005/10/27(木) 23:08:59
>>81,82
System.arraycopy
86デフォルトの名無しさん:2005/10/27(木) 23:11:17
>>85
う、ごめん。そっちにあったのか orz
87デフォルトの名無しさん:2005/10/27(木) 23:14:55
>>84
DBだめならxml読み込めば?
8880:2005/10/27(木) 23:24:51
>>87
そのイメージがつかめません(;_;)
javaとxmlの連携部分が勉強ぶそくだ。

actionでSAX使ってxml読み込み
→ArrayListあたりにぶち込む
→jsp表示
こんなかんじ?
89デフォルトの名無しさん:2005/10/27(木) 23:35:16
「ArrayListあたりにぶち込む」
って言ってるってことは、
単純に都道府県名が列挙されてれば良いの?
それならプロパティファイルでも良いんじゃね?
90デフォルトの名無しさん:2005/10/27(木) 23:35:30
>>88
まあだいたいおおざっぱにいうとそんなかんじ
9180:2005/10/27(木) 23:37:56
>>89
>>90
レスありがと。

やっぱりプロパティファイルの方がいいかな?
多重継承できないのが、またネックになりそう。
92デフォルトの名無しさん:2005/10/27(木) 23:41:53
>>88
いやだからコンボだったら構造はマップだろ。
普通に Properties クラスで .properties ファイルを読み込め。
単純なマップ構造なものに XML なんか使うな。
93デフォルトの名無しさん:2005/10/27(木) 23:43:58
>>91
委譲すればいい。っつか多重継承したい理由があるのか?
9480:2005/10/27(木) 23:56:58
みんなありがと。
仕事中2chみれないのがつらいわ。
一番、情報があるのに。
多重継承の理由はstrutsをラッピングして、
アーキから作んなくちゃいけないからさ。
ちょっと先がよめないんです。。。

仕事あるから寝なきゃいけないや。
欲張ってもう一つ質問、朝チェックするよ。

os:soralis
バッチ動かすようなjobはなし。
問題:ログ管理(3ヶ月保持を想定)
log4jで管理できるとか聞いたんだけど。。。

つまりjob管理なしで、ログの管理って一般的にどうすればよいのでしょうか?

俺も質問に答えられるよう、明日以降、ここに通うわ。
ほんと、ありがとね。
95デフォルトの名無しさん:2005/10/28(金) 00:22:45
>>94
Struts を使ったら多重継承しなくちゃならん理由が分からん。
まー、将来的には Action とかはインタフェースになる方向だけどな。
いづれにせよ、ビジネスロジックは外だしで普通に好きなように
クラス設計すればいい。っつか可能な限り継承すんなよ。
アーキテクトなら OOP 初心者でもねーだろ。

ログは Log4j で決定だ。間違っても一時の流行で commons logging
とかでかぶせるな。将来的にログ実装を変えることはない。
96デフォルトの名無しさん:2005/10/28(金) 01:22:12
>>95
common logging の悪い点て何?
97デフォルトの名無しさん:2005/10/28(金) 02:01:57
XMLなんてらくちんだよ
DOMでいい

別にただのテキストファイルでもいいし
98デフォルトの名無しさん:2005/10/28(金) 03:11:43
コンポーネントがサイズ変更されたときのイベントってどうやって取るの?
99デフォルトの名無しさん:2005/10/28(金) 07:45:02
Commons Logging を使ってはいけない理由が見あたらない。
俺も知りたい。教えてくれ。
100デフォルトの名無しさん:2005/10/28(金) 08:12:09
俺が勝手に答えよう!
commons-logging記述少ない便利
log4j意識しないでかける便利
Nullロガーワンタッチで便利
自分は細かく指定したい時以外あまりlog4jを拝まない

だから使うな!わかったな!!
101デフォルトの名無しさん:2005/10/28(金) 11:15:25
commons-loggingとlog4jを一緒に使ってるのを
よく見るけど、どちらか単独では使えないの?
というか、commons-logginを単独で使えますか?
102デフォルトの名無しさん:2005/10/28(金) 11:21:45
>101
使える。
単独の場合はデフォルト実装のJDKログAPIが使用される。
103デフォルトの名無しさん:2005/10/28(金) 11:28:03
>>102
補足。
JDKがバージョン1.3.1以前だったらデフォルト実装のSimple Logな。
これは標準出力オンリー。
104デフォルトの名無しさん:2005/10/28(金) 11:40:39
ベクトルの各成分をfor文で出力しろって言われてるんですけど
for文をどのように活用すればよいのですか?
105デフォルトの名無しさん:2005/10/28(金) 11:42:08
とても初歩的な質問ですみません。
imageクラスの画像を90度回転させて表示するのにいい方法ありませんか?
106デフォルトの名無しさん:2005/10/28(金) 11:44:04
>104
宿題を片付けたいだけなら以下のスレが適切です。
ttp://pc8.2ch.net/test/read.cgi/tech/1123639475/
宿題以上の何かを求めている、向上心があるならこちらですが。
107104:2005/10/28(金) 11:47:37
>>106
そちらのスレで聞くことにしました。すいませんでした。
108101:2005/10/28(金) 12:29:22
>>101>>102
禿dです。
109108:2005/10/28(金) 12:29:59
まちがえた、>>102>>103でした。
110デフォルトの名無しさん:2005/10/28(金) 13:33:28
オブジェクト指向とメソッドの利点の違いは何でしょうか・・・
111デフォルトの名無しさん:2005/10/28(金) 13:36:52
>>110
意味不明
112デフォルトの名無しさん:2005/10/28(金) 13:37:21
>>110
比較を希望されているようですが、何を基準に比較したいのでしょうか?
113デフォルトの名無しさん:2005/10/28(金) 13:43:13
他の言語同様に各処理ごとにメソッドをまとめておけばオブジェクトを作成する必要がない用に思えて仕方がなく、何故JAVAにオブジェクトと言うやり方が出てきたのが良くわからずにいます。
114デフォルトの名無しさん:2005/10/28(金) 13:43:47
すごく・・・ 比較できないです
115デフォルトの名無しさん:2005/10/28(金) 13:52:11
>>113Java以前にオブジェクト指向の啓蒙書を一冊読め。
116デフォルトの名無しさん:2005/10/28(金) 13:52:46
>>110>>113
つまりオブジェクト指向と構造化設計を比べて、ということか?
他の言語同様、ってそれは例えば何よ。

「JAVAにオブジェクトと言うやり方」という言葉から
「オブジェクト」という言葉の持つ意味(色々ある)をそもそも分かっていないことも明らか。


まずは難しく考えずに「他の言語同様」のやり方でやってみ。他の言語がどれほど使えるかは知らんけど。
「オブジェクト指向」について考えるのはもっと後でもいいよ。
117116:2005/10/28(金) 13:55:00
あ、>>115と逆の結論になっちゃったけど、オブジェクト指向にこだわるなら>>115で。
とにかく手段として今Javaが必須なら>>116で。
118デフォルトの名無しさん:2005/10/28(金) 13:56:45
>>113が大学1年なら救いようがある
適当にオブジェクト指向の本一札嫁
119デフォルトの名無しさん:2005/10/28(金) 13:56:49
>>113 あとここもよんでみ
http://kmaebashi.com/programmer/object/
120113:2005/10/28(金) 14:10:37
>>118 大学1年(非留年)です。オブジェクト思考も大学で知りました

>>115 一応デザインパターン入門と言う本を教材として購入しています

今までBASIC/C/HSP/Perlを学んできましたが、オブジェクト指向と言う物がなく(もしくは見つけられず)、オブジェクトの使い方は分かるのですが、
何故サブルーチンやメソッドのようなものがあるのにオブジェクト思考のような複雑な作業をする必要があるのかっと言うのが疑問でした。
いろいろまたネットの資料等で必要性を見てみたいと思います。
121デフォルトの名無しさん:2005/10/28(金) 14:16:47
j2SDKを使っているのですが環境変数を設定して
コマンドプロンプトで試しOK
コンパイラのパスもキチンと入れたのですが
NoClassDefFoundError のエラーがでます・・・
どうしたらいいのでしょう
122デフォルトの名無しさん:2005/10/28(金) 14:21:25
>>120
オブジェクト指向の理解が不十分なままデザインパターンに入るのは危険
オブジェクト指向もデザインパターンも本質が理解できないぞ
123デフォルトの名無しさん:2005/10/28(金) 14:22:13
>>121
状況がわからないから具体的な指示はできないが
クラスパスとパッケージ名tとフォルダの関係がわかってないのが原因。
入門者が最初に躓く難関だ。

入門書や手本があるなら
パスや打ち込む文字列、ソースのパッケージ命やクラス名など
一字一句間違っていないか確認しろ。
124デフォルトの名無しさん:2005/10/28(金) 14:23:13
>>121
本当に環境設定終ってるか?
setかechoコマンドでちゃんと出力されてるか確認したか?
125デフォルトの名無しさん:2005/10/28(金) 14:24:37
ここで質問するべきかわかないんですが・・・

JAVAを利用した開発を行うとき、
SUNから使用許諾とか、ライセンス料の支払いとか、
しなきゃいけないんですか?
126デフォルトの名無しさん:2005/10/28(金) 14:26:36
127デフォルトの名無しさん:2005/10/28(金) 14:28:38
>>121
>>1
128デフォルトの名無しさん:2005/10/28(金) 14:29:45
>>125
使用許諾は当然
てかDLしたときにAcceptしないとDLできないはず
ライセンス料はいらん
129デフォルトの名無しさん:2005/10/28(金) 14:32:37
>>121
【SDKから乗換】EclipseでJAVAの勉強【初心者歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1105811745/646

マルチ乙
130デフォルトの名無しさん:2005/10/28(金) 14:38:07
>>125
Sunの仕様許諾を得るのはSunのJDK/JREを使う場合だな
IBMのJDKを使う時はIBMから許諾を得るし、その他Java互換の環境でそれぞれ違う

ライセンス料に関してはJDKなどに対してソースレベルに手を出したい時はライセンス料が発生する
ただ、あくまでもJDKなどのソフトウェアに対するライセンス料でJavaに対するライセンス料では無いな

131デフォルトの名無しさん:2005/10/28(金) 14:39:50
>>128
ありがとうございます。

逆にこの使用許諾に含まれない行為が、
ライセンス料が発生し得るってことですね。
132125:2005/10/28(金) 14:42:46
>>130
ありがとうございます。

いわゆるJAVAを使用する事自体には問題ないにしても、
それを動かしたり開発したりする環境に手を加えるときには、
発生するんですね。
133デフォルトの名無しさん:2005/10/28(金) 17:40:14
ちょっと教えて頂きたいんですが、
今日の日付をint型で欲しいのですが、
-------------------------------------------------------------
Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("Japan"));
System.out.println(cal);

int month = cal.MONTH;
int day = cal.DAY_OF_MONTH;

System.out.println(month);
System.out.println(day);
-------------------------------------------------------------
実行結果
java.util.GregorianCalendar[time=1130488544343,・・・MONTH=9,・・・DAY_OF_MONTH=28,・・・]
2
5
--------------------------------------------------------------
こんなのになってしまいます。????
どうしたらいいんでしょうか。

134デフォルトの名無しさん:2005/10/28(金) 17:42:28
>>133
定数を読んでいたらいつもおなじ値がかえる

Javaの文法とCalendarにたいして勉強しましょう

これらの情報は簡単に手に入るし
135133:2005/10/28(金) 17:54:48
>>134
はい(´・ω・`)ショボーン
136133:2005/10/28(金) 18:12:29
>>134
すいませんでした。m(_ _)mなんとかできました。
137デフォルトの名無しさん:2005/10/28(金) 18:19:06
>>131-132
Javaという名称自体も商標だから、利用時にSunの許諾が必要ってのも
意外と知られていないので注意ね。
138デフォルトの名無しさん:2005/10/28(金) 18:31:24
Java(TM) だったっけ。
139デフォルトの名無しさん:2005/10/28(金) 18:47:37
白熱しているとこ申し訳ない
質問いいでしょうか?
140デフォルトの名無しさん:2005/10/28(金) 19:12:30
いいよ
141デフォルトの名無しさん:2005/10/28(金) 19:21:32
私は 139 じゃないんですけど、私もよろしいでしょうか。
142デフォルトの名無しさん:2005/10/28(金) 19:29:55
早く質問しろよ。
143デフォルトの名無しさん:2005/10/28(金) 19:33:09
>>141
お前は駄目だ
自分で考えろ
144デフォルトの名無しさん:2005/10/28(金) 19:40:43
多人数漫才スレ?
145デフォルトの名無しさん:2005/10/28(金) 19:41:39
質問です。
入力値をキーボードから取得して、その入力値がスペースだけでないかを
文字列比較メソッドで確かめたいのですがどうすればよいのでしょうか?
スペースの数は指定しない方法がよいのですが。
教えてください
146デフォルトの名無しさん:2005/10/28(金) 19:45:12
半角スペースだけなら、trim後の長さを見ればいいんじゃね?
147デフォルトの名無しさん:2005/10/28(金) 19:47:13
正規表現でいっぱつじゃね?
148145:2005/10/28(金) 19:52:45
初心者だからよくわかんね。
149デフォルトの名無しさん:2005/10/28(金) 20:16:31
>>145
str.matches("[^ ]*")
150139:2005/10/28(金) 20:48:45
>>140
すいません遅れました

今学校の課題で○×ゲームをアプレットで作ってるんですが
○や×が三つ並んだ時に勝敗を付けるアクションをどのようしたらよいか
分からなくてつまづいてしまってます。
どのように作ったらいいでしょうか?
151デフォルトの名無しさん:2005/10/28(金) 20:51:20
ノートン先生がclassLoaderとかいうの消そうとしない?
152デフォルトの名無しさん:2005/10/28(金) 21:37:59
質問です。

this = null;

という処理を実行した場合、JVMではどのように解釈されるのでしょうか?
また、どのような場合に使用するべきでしょうか?
どなたかご教授下さい。よろしくお願いいたします。
153デフォルトの名無しさん:2005/10/28(金) 21:56:13
>>152
コンパイルエラー
154デフォルトの名無しさん:2005/10/28(金) 22:13:48
>>153
なるほど。ありがとうございます。

JDK1.3 + Eclipse2.1で試したところ、コンパイルエラーにはなりませんでした。
JDK1.4 + Eclipse3.0で試したところ、コンパイルエラーになりました。

理由はわかりませんが、あまり意味がなさそうですね。
155デフォルトの名無しさん:2005/10/28(金) 22:36:56
>>150
○:1、×:−1として、int board[3][3]に盤面が入っているとする
左上から横方向に見た場合、すなわちboard[0][0]+board[1][0]+board[2][0]が3なら○の勝ちで−3なら×の勝ち
あとはこれを縦3パターン、横3パターン、斜め2パターンで判断すればよい
156デフォルトの名無しさん:2005/10/28(金) 22:43:26
>>155
なるほど!
ありがとうございました!早速やってみます!
157デフォルトの名無しさん:2005/10/28(金) 22:48:09
>>154
http://www.y-adagio.com/public/standards/tr_javalang2/expressions.doc.html#251519
> 一次式として使用される時,キーワード this は値を指示する。

http://www.y-adagio.com/public/standards/tr_javalang2/expressions.doc.html#5281
> 代入演算子の最初のオペランドの結果は変数でなければならない。
> そうでなければ,コンパイル時エラーが発生する。

って書いてあるから、this = null; はコンパイルエラーにしなければならない。
158デフォルトの名無しさん:2005/10/28(金) 22:53:20
159デフォルトの名無しさん:2005/10/28(金) 23:12:19
すみません。
105ですが、どなたか解る方いらっしゃいませんか?
できれば画像を読み込んだ時点で回転してimageクラスに保存したいのですが。
160デフォルトの名無しさん:2005/10/28(金) 23:23:39
APIでrotateを探せ
161デフォルトの名無しさん:2005/10/28(金) 23:27:04
ろたて
162105:2005/10/28(金) 23:29:49
>>160
rotateも見てみたのですが、Graphicsに表示する画像全てが回転するのではなく
目的のimageだけを回転させて表示したいのですが、他に方法はありませんか?
163デフォルトの名無しさん:2005/10/28(金) 23:36:30
rotate する → 描画する → rotate する
164デフォルトの名無しさん:2005/10/28(金) 23:38:40
>>162
目的のimageだけを貼り付けるためのGraphicsでも使え
165デフォルトの名無しさん:2005/10/28(金) 23:48:03
Rotateしてそのあと元に戻せばいいだけだが
166デフォルトの名無しさん:2005/10/29(土) 00:15:04
UMLのユースケース図の使い方が分かりません。
こういう使い方であっているのか教えてください

http://u.skr.jp/128/files/24599.jpg
167デフォルトの名無しさん:2005/10/29(土) 00:15:45
>>166
スレ違い
UMLスレ池
168デフォルトの名無しさん:2005/10/29(土) 00:20:17
>>166
つか、つまんねーんだよ
169デフォルトの名無しさん:2005/10/29(土) 00:23:38
>>166
金曜日の深夜にこんなものを作ってしまう君の状況に乾杯
170デフォルトの名無しさん:2005/10/29(土) 01:34:57
>>160-165
解答ありがとうございます。やはりrotateしかありませんか。。
ある配列変数(100近く)を判定して横に表示するか縦に表示するかをpaintの度に判断するプログラムを作ってるんですが
rotateで毎回graphicsの方向を変えてるんじゃ処理が重くなりそうで。
できればimageだけ回転か、または最初からimageに回転した画像を保存しておきたいのですが
何か良い方法はありませんかね?
171デフォルトの名無しさん:2005/10/29(土) 01:40:11
Appletで、特定のパネルにGraphicsクラスを使用して描画するにはどのようにすればいいのでしょうか?
172デフォルトの名無しさん:2005/10/29(土) 02:25:14
>>170
>rotateで毎回graphicsの方向を変えてるんじゃ処理が重くなりそうで。

そういうことは実際にやってみて重かったときに言ってくれ。
17336:2005/10/29(土) 02:30:57
>>37
nullじゃないんだ。でも配列のlengthが0なんだ。なんで?
>>38
からっぽって何よ?nullでもないし、当然配列オブジェクト本体だから
「""」でもない。
>>39
それは配列個々の話でしょ?
>>40
なるほど。しかし、それにどんな意味があるのだ?
174デフォルトの名無しさん:2005/10/29(土) 02:39:44
>>173
皿の上にりんごが5個ある所から5個りんごを取りました。りんごはいくつありますか?
そのとき皿はどうなっているでしょうか?
175デフォルトの名無しさん:2005/10/29(土) 02:55:37
>>174
> 皿の上にりんごが5個ある所から5個りんごを取りました。りんごはいくつありますか?
りんごを全て取り払ったので、皿は自動消滅しました。ぬるぽ
176デフォルトの名無しさん:2005/10/29(土) 03:12:13
>171
どうやって描いてるの?
Appletにやってることをそのまま特定のパネルにすればでると思うよ
一度ComponentのAPI 拝んでやる気なくしちゃってみたほうがいいよ
177デフォルトの名無しさん:2005/10/29(土) 03:18:32
>>176
デフォルトのパネルじゃなくて、任意のPanelクラスのオブジェクトに描画したいんです。
178デフォルトの名無しさん:2005/10/29(土) 03:20:22
>173
array = new String[x個入る器を用意しなさい];

array[x番目を選びなさい];
179デフォルトの名無しさん:2005/10/29(土) 04:00:08
>177
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/awt/Component.html
任意ってのはこれにぶら下ってる奴等だよね?

Component {
void paint(Graphics g) { g.drawString }
}
とか
component.getGraphics().drawString
こうやるの?applet詳しくないんだ悪い、
暇見てAPIで家系図追ってみたほうがいいよ
180デフォルトの名無しさん:2005/10/29(土) 04:03:00
>>175
皿は勝手に消えないだろが
181& ◆S.xjiX34/E :2005/10/29(土) 09:16:01
>>65-69
更新できないからbooleanでもBooleanでも結果は同じ。
182デフォルトの名無しさん:2005/10/29(土) 11:56:06
>>173
>なるほど。しかし、それにどんな意味があるのだ?

例えば、会議の出席者の名前をString[]で返すメソッド、getMember()があるとしよう
ある出席者が居ない会議インスタンスのgetMember()を呼んだ時、
nullを返す仕様になっているとnullチェックがめんどくさいが
new String[0]を返す仕様になっていれば、何も考えずに次のようにできる

String[] member = group.getMembers();
System.out.println("出席者は" + member.length + " 名です");
for(int i = 0; i < member.length; i++){ System.out.println(member[i]);}
183デフォルトの名無しさん:2005/10/29(土) 13:24:44
各所に散らばるエラー文字列を、1つのクラスにまとめて、できればファイルから読ませたいと考えてるんですが
なぜか対象の vm が 1.4 なんで書式文字列使えなくて "error: %s に %s は指定できません" みたいな記述できなくて困ってます。

とりあえず、エラーメッセージまとめたクラスに getErrorMessage(int id, Object[] info);みたいなの定義して、
String.replaceAll 使って自力で置換する方法と、
ファイルから読ませるのをあきらめて、手動で連結させる方法の2種類を考えたんですが、
こういうときのセオリーってどんな感じなんでしょうか。教えてください。
184デフォルトの名無しさん:2005/10/29(土) 13:31:01
>>183
つ java.text.MessageFormat
185デフォルトの名無しさん:2005/10/29(土) 13:42:40
うお。すいません java.text 見るの忘れてました orz
これ使いますです。
186デフォルトの名無しさん:2005/10/29(土) 14:36:16
InputStreamオブジェクトが、ファイルストリームをオープンしたまま
ガべージコレクトされるとどうなるんでしょうか?
(1)開きっぱなし
(2)finalizeメソッドでcloseされる
(3)finalizeメソッドは何もしないけどJVM実装レベルでクローズする
(4)そもそもガベージ扱いされない
187デフォルトの名無しさん:2005/10/29(土) 15:10:55
InputStreamはインタフェースなので実装クラスによるとしか言えないな
188デフォルトの名無しさん:2005/10/29(土) 15:16:59
>>186
FileInputStream は finalize 持ってるから 2 かな。
ファイルストリームってのが FileInputStream じゃない場合とかは知らん。
189デフォルトの名無しさん:2005/10/29(土) 15:53:32
実行すると黒い画面が一瞬で消えちゃうんですけど
これはいったいなんなんでしょう?ascloseとか
書いてあるみたいだけど・・・
190デフォルトの名無しさん:2005/10/29(土) 16:02:06
191デフォルトの名無しさん:2005/10/29(土) 16:17:06
くだらない質問させてください。
会社の社内LAN上でANTを使用してみたのですが、
FTPタスクがうまくいきません。

クライアントはWin2kのeclipse3.1+Java1.5、
antはeclipse付属ではなく個別に取得したものを
eclipseから操作します。
ant自体は動作しますが、以下の現象が発生しています。

社内LANのUNIXサーバにアクセスし、所定のフォルダから
**/*.javaを指定して再帰的にDLしようとしています。
しかし、いつもDLできるファイルは0件で終了します。

サーバにはFFFTPで接続でき、ファイルのやりとりも正常です。
TeraTermでの接続もOK。
antのftpタスクでput要求をした場合、正常にファイルがUPされ、
FFFTP上から確認できます。
get要求時、わざと存在しないパス指定してみたりUID等
間違えたりすると正しくエラーが出ます。
その上で、ftpのgetをantで行うと、エラーにもならず
DL数は0件になります。

remotedir指定を省略し、ユーザのhomeディレクトリ上にあるファイルを
ワイルドカード指定ではなく直接ファイル名指定にしてみたり、
さらにはinclude指定を*一文字にしたり色々しましたが、
何一つ落とせることはありません。拡張子によらず。
ウィルス関連ソフトを全て落としても同じです。

くだらない質問で申し訳ありません。
このような現象が発生する理由として何が考えられるでしょうか?
192デフォルトの名無しさん:2005/10/29(土) 16:41:43
>>191
そういう時は社内のUnixサーバのOS、バージョン、パッチレベル、FTPサーバのソフト名、バージョンなんかも上げてくれ
193デフォルトの名無しさん:2005/10/29(土) 17:11:07
>>177
class panel1 extends JPanel{
public void paintComponent(Graphics g){
super.paintComponents(g);
g.clearRect(0,0,getWidth(),getHeight());
g.drawRect(0,0,100,100);
}
public void re(){
repaint();
}
}
こういうやり方もある。
194デフォルトの名無しさん:2005/10/29(土) 17:36:28
>191
とるだけなら
<get src="ftp://" />のほうがおすすめ
195デフォルトの名無しさん:2005/10/29(土) 17:38:54
失敗
<get src="ftp://user:pass@host/


196デフォルトの名無しさん:2005/10/29(土) 17:52:38
自宅で勉強したくてインスコしようと思ったのですが
J2SE 1_4_versionのSDKとJ2SE 5_0_versionのJDKどちらの方がいいんでしょうか?

本当に初心者な質問ですみません…。
197デフォルトの名無しさん:2005/10/29(土) 17:54:18
5.0でいいよ
もう出てから1年たってるし、かなり使いやすくなってる

ただ、しらないうちに動いてるオートボクシングは危険かもしれない
198デフォルトの名無しさん:2005/10/29(土) 22:50:44
>>101
> commons-loggingとlog4jを一緒に使ってるのを
> よく見るけど、どちらか単独では使えないの?
> というか、commons-logginを単独で使えますか?
Commons Loggingってのは
ログAPIを統一するためにつくられたもんだとおもった。
Log4jとJava Logging API, Avalon Logkitなどによる統合を
考えた場合、かなり重要かと
199デフォルトの名無しさん:2005/10/30(日) 00:43:00
DropTargetListenerや、DragSourceListenerの中で、
状況によってマウスのカーソルを変えたいのですが、どうすればいいでしょう。

ちなみに、ドラッグ対象のコンポーネントのsetCursorを呼び出しても反映されませんでした。
200デフォルトの名無しさん:2005/10/30(日) 00:46:31
すみません、上げさせて貰います。m(^0^)m
201デフォルトの名無しさん:2005/10/30(日) 00:50:35
Tableの行を外部から選択状態にする方法ってあるの?
202デフォルトの名無しさん:2005/10/30(日) 01:35:10
>>199
スレッドを作成して、その中でsetCursor()してみてはどうでしょう。
SetCursorするときにはSwingUtilities#invokeLater or SwingUtilities#invokeAndWaitを使ってください。
203デフォルトの名無しさん:2005/10/30(日) 01:44:00
>>199.202
DragSourceContext#setCursorを使うようだが。
204デフォルトの名無しさん:2005/10/30(日) 01:50:04
>>202-203
解決いたしました。本当にありがとうございました。
205デフォルトの名無しさん:2005/10/30(日) 02:10:50
はじめまして
iアプリを作ろうとjavaをはじめました
iapplitool for Doja-4.0を導入し,とりあえずHelloworldを表示させようとビルドしたのですが,

ビルド開始(DoJaプロファイル : DoJa-2.1)
エラー: サポートされていないエンコーディングです: SJIS_i
エラー 1 個

のように表示されてしまいます
エンコーディングと表示されているのですが,SJIS_iという文字コードはドコモがSJISを拡張した,という情報しか見つかりません
また設定しようにもSJIS_iなるものがなく,いきなりつまづいてしまいました
解決方法を知っている方はおられませんでしょうか
206デフォルトの名無しさん:2005/10/30(日) 02:21:18
javac -encoding SJIS_i Helloworld.java
ができないのなら
日本語使わないでコーディングするとか
207デフォルトの名無しさん:2005/10/30(日) 02:57:50
>>205
設定→sun.tools.javac.Mainを使用するにチェック入れてみ。

てゆーかEclipse使ったほうがいいと思う。
208デフォルトの名無しさん:2005/10/30(日) 16:30:56
javaで暗号化をしたいんですが
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/security/jce/JCERefGuide.html#AppA
このCipherクラスでRSAって使えますか?
なんか名前が定義されているだけで実装はされていないって聞いたんですけど・・・。
209デフォルトの名無しさん:2005/10/30(日) 18:28:54
質問よろしいでしょうか。

フォルダ単位でファイル名を読み込ませて、
一括で拡張子を変更する(mp3→zip)というプログラムを作ろうとしてます。

File file = new File(args[0]);
String[] filename = file.list();

でファイルを読み込みましたが、実際に変更する(書き込む)ことができません。

何を使えば良いでしょうか。(初心者ですいません)
210デフォルトの名無しさん:2005/10/30(日) 18:32:34
>>209
2つほど

>ファイルを読み込みましたが
ファイルは読み込んでない。一覧を取得しただけ

>何を使えば良いでしょうか
java.io.File.renameTo(File dest);
211デフォルトの名無しさん:2005/10/30(日) 18:36:34
>>210

ありがとうございます。

ファイルを読み込むためには、FileInputStreamみたいなのを使うのでしょうか。
212デフォルトの名無しさん:2005/10/30(日) 19:00:35
>>211
FileInputStream。だけど読み込まなくても変更できるよ。
213デフォルトの名無しさん:2005/10/30(日) 19:30:20
JAVAにはいろいろな種類がありますよね?
ホームページ上で作動?するもの、iアプリを作るもの、
どういったものがあるのか教えてください。
あと、今 HELLO WORLD などと表示するのをやっているのですが、
これは一体何ができるのすか?例えば、市販されている
ソフトが作れるなど、よろしくお願いします
214デフォルトの名無しさん:2005/10/30(日) 19:35:35
>>213
>>1見てくれば?
215デフォルトの名無しさん:2005/10/30(日) 20:01:40
>>213

初心者向けの本はたいていHELLO WORLDの表示くらいだが
ttp://v2c.s50.xrea.com/
みたいな実用的なアプリケーションまでいろいろできる

ブラウザ上で動作するものはアプレットという

パソコン上で使うJavaとケータイとかで使うJavaは
名前は一緒だが別物だと思ったほうがいい
216デフォルトの名無しさん:2005/10/30(日) 20:04:27
>>213
JavaScriptはJavaとは別物な
217デフォルトの名無しさん:2005/10/30(日) 20:10:10
>>216
本屋さんではよくごちゃまぜで置いてあったりする
218デフォルトの名無しさん:2005/10/30(日) 20:35:35
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
public class MyImage3 {
public static void main(String[] args) {
MyFrame7 frame1=new MyFrame7();
frame1.setBounds(100,100,400,320);
frame1.pack();
frame1.setVisible(true);
}
}
class MyFrame7 extends JFrame{
private static final long serialVersionUID = -4L;
MyFrame7(){
public void paint(Graphics g){ //この行でエラー発生
BufferedImage bImage1=null;
try {
bImage1=ImageIO.read(this.getClass().getResource("k_1pin.gif"));
} catch (Exception e) {
e.printStackTrace();
}
g.drawImage(bImage1,40,40,this);
}
}
}
質問お願いします。
メインメソッドとペイントメソッドは同じクラスにないといけないのでしょうか?
219デフォルトの名無しさん:2005/10/30(日) 20:43:54
>>218
それ以前の問題だ。インデントを大事にしろよ。
220デフォルトの名無しさん:2005/10/30(日) 21:06:18
>>218
main()は別クラスでもいいんだよ
221JAVA:2005/10/30(日) 21:28:35
こんにちは。EXCELでCSVファイルをつくりたいのですが、セルをどのようにわけて
つくっていいのかわかりません、、どうか教えてください、、a,b,cという風に書きたいです。この
,はどうやってかけばいいでしょうか、、
222デフォルトの名無しさん:2005/10/30(日) 21:30:22
なにこの基地外
223デフォルトの名無しさん:2005/10/30(日) 21:37:11
javaでコンピュータ名取得するのってIPから変換するしかないの?
224デフォルトの名無しさん:2005/10/30(日) 21:41:41
getHostName
225デフォルトの名無しさん:2005/10/30(日) 21:52:51
public class test {
int Num;
test(int n){
Num = n;
}
}

public class aiueo {
public static void main(String[] args) {
ArrayList a = new ArrayList();
a.add(new test(1));
System.out.println( ??????????? );
}
}

????????????の部分に、配列aのNumの値(1)を返したいのですが、どうすればよいか分かりません
a.get(0).Num かなと思ったのですがエラーが出てしまうし・・
どなたかご教授お願いします
226デフォルトの名無しさん:2005/10/30(日) 21:56:48
>>225
Numがpublicになってないけど誤記?
227226:2005/10/30(日) 21:57:20
すいませんなんでもありません(つД`)
228デフォルトの名無しさん:2005/10/30(日) 21:59:17
>>225
testにtoStringメソッドを用意してreturn "" + Num;を返すようにしてみよう。
229デフォルトの名無しさん:2005/10/30(日) 21:59:20
>>225
ArrayList<test> a = new ArrayList<test>();

じゃないの?
230デフォルトの名無しさん:2005/10/30(日) 22:05:54
>>229のやりかたが一番スマートだね
231デフォルトの名無しさん:2005/10/30(日) 22:08:40
5.0は仕事で使わせてもらえない。

とあるテストツールがClassCastExceptionが出て
コード品質が悪いから直せと言って来る

instanceofを使って回避すると
instanceofを使うのは最適化的にあれだからだめーみたいに言って来る

どうしろと?
232デフォルトの名無しさん:2005/10/30(日) 22:10:22
ClassCastExceptionが5.0導入で出るとはおもえないんだが

どっちにしろ取り出す側がキャストしないとダメってのが実行してみないとバグ分からんから
一番危険なんだけどな
233225:2005/10/30(日) 22:10:49
>>228
ありがとうございました
無事成功しました

>>229のやり方がよく分からない・・・
234デフォルトの名無しさん:2005/10/30(日) 22:14:38
>>232
いや書き方が悪かったね。
5.0が使えなくてObjectのListになるから231みたくなる。
235デフォルトの名無しさん:2005/10/30(日) 22:15:53
>>233
jdk5.0限定だよ。
jdk1.4つかってるなら忘れていい。
236225:2005/10/30(日) 22:19:37
>>235
なるほど。
みなさん大変助かりました
ありがとうございました
237デフォルトの名無しさん:2005/10/30(日) 22:39:19
質問があります。 bw.write(smallArray);でWRITEがARRAYLISTの引数を
とれないとエラーがでます。どうやってWRITEさせたらよろしいでしょうか?
基本的な質問になってしまうかもしれませんが、教えてください
238デフォルトの名無しさん:2005/10/30(日) 22:42:49
>>237
bwってクラス名何?単純に引数が対応してないだけだよ。
239デフォルトの名無しさん:2005/10/30(日) 22:45:26
ずいぶん初歩的な質問なんですけど

Triangle a = new Triangle();

とかの a ってなんて言うんでしょうか?
よければ教えてください〜。
240デフォルトの名無しさん:2005/10/30(日) 22:45:41
クラス名はBufferedWriterです。
241デフォルトの名無しさん:2005/10/30(日) 22:50:32
>>239
インスタンス変数です。単純にインスタンスで通用します。
242デフォルトの名無しさん:2005/10/30(日) 22:52:49
>>240
bw.write(smallArray, 0, smallArray.length);
配列がchar[]ならね
243239:2005/10/30(日) 22:53:35
わかりました。
ありがとうございました〜。
244デフォルトの名無しさん:2005/10/30(日) 22:56:13
240>
STRING型なんです、、残念ながら、、
ということは直前でPARSEINTとかでキャストしてやればいいってことですか?
245デフォルトの名無しさん:2005/10/30(日) 22:56:32
>>239 >>241
厳密には違う。

[1] 変数 a は、局所宣言されている ⇒ ローカル変数
[2] 変数 a は、それを含むクラスのインスタンスが存在している間のみ存在する ⇒ インスタンス変数
[3] 変数 a は、クラスにおいて static 宣言されている ⇒ クラス変数または静的変数
246245:2005/10/30(日) 22:57:55
っていうか普通に 『変数』 って言ってしまってかまわないだろうに。
『変数 a 』 に代入される値が 『インスタンス』 厳密には 『インスタンスへの参照』 だ。
247239:2005/10/30(日) 23:22:27
>>245
なるほど。そんなに違いがw
無難に変数って書いときます。
どうもでした〜。
248デフォルトの名無しさん:2005/10/30(日) 23:41:02
>218
paint(Graphic g)のGraphicクラスは抽象クラスで、実装を強制される。
それを引数にもつってことは、引数に値を持つことを強制されるから、
MyFrame7 frame1とMyFrame7のインスタンス持った時点で、paintは引数に値を持つことを強制されるから、
コンストラクタ中にpaintを書かなくとも、
class MyFrame7 extends JFrame{
private static final long serialVersionUID = -4L;
public void paint(Graphics g){ //この行でエラー発生
BufferedImage bImage1=null;
try {
bImage1=ImageIO.read(this.getClass().getResource("k_1pin.gif"));
} catch (Exception e) {
e.printStackTrace();
}
g.drawImage(bImage1,40,40,this);
}
}
とすれば、MyFrame7 frame1の時点で、paintが実行される。
てことは、おそらく、newするより(コンストラクタより)早いと思う。
自分のは、jdk1.3で
import javax.imageio.ImageIO;
が失敗するから、確認してないけど、同様にしてできたモノがある。
それと、コメントのエラーの意味は、コンストラクタ(関数)の実装の中でpublic void paintと関数を宣言してるから、それでしょう。
249デフォルトの名無しさん:2005/10/30(日) 23:44:07
>>248
ちがう。コメントのエラーは 『コンストラクタ内でメソッドを定義している』 から出てる。
250デフォルトの名無しさん:2005/10/30(日) 23:44:15
しっけ..
訂正
それと、コメントのエラーの意味は、コンストラクタ(関数)の実装の中でpublic void paintと関数を定義してるから、それでしょう。
251249:2005/10/30(日) 23:44:39
うは。ごめん普通に読み間違えたw orz
252デフォルトの名無しさん:2005/10/30(日) 23:50:09
paintイベント内で画像ロードしてるとかJFrameでpaint使ってるとか
サイズ指定してるのにpackしてるとか

突っ込みどころ満載だな
253デフォルトの名無しさん:2005/10/31(月) 00:43:00
>>252
スレタイで初心者大歓迎って謳ってるくらいだから
丁寧に指摘してあげなよ
254デフォルトの名無しさん:2005/10/31(月) 00:51:08
エラーメッセージもあげないのにどうやって指摘しろと
255デフォルトの名無しさん:2005/10/31(月) 00:53:07
>>254
???
突っ込みどころ満載なんでしょ???
256デフォルトの名無しさん:2005/10/31(月) 02:17:51
TreeSetにIdentityHashMapのように(k1==k2) の場合にかぎり
2つのキー k1 と k2 が同等であると見なすように要素を格納したいです。

比較は基本的にはフィールド変数のnumberで行います。

以下のようにグローバルIDを与えれば、できることは分かっています。
(gIDはグローバルIDです。各オブジェクトに対して固有のIDが与えられます)
できればグローバルIDといったものを使わずに実現したいのですが、
方法が分かりません。どのようにしたらよいのでしょうか?

class N implements Comparable {
 int number;
 int gID;
 N(int number, int gID) {
    this.number = number;
    this.gID = gID;
 }
 public int compareTo(Object o) {
    if (this == o)return 0;
    N n = (N) o;
    if (this.number < n.number)return -1;
    if (this.number > n.number)return 1;
    if (this.gID < n.gID)return -1;
    if (this.gID > n.gID)return 1;
    else return 0;//実際にはこの分岐まで到達することはない
 }
 public boolean equals(Object obj) {
    if (this == obj)return true;
    return false;
 }
}
257デフォルトの名無しさん:2005/10/31(月) 02:41:55
スレッドでネットワーク通信を行いたいのですが、サーバーからデータを読み込んでくれません。
コンパイルはできるしエラーも発生しませんが、実行しても何も表示されません。
以下のスレッドの記述の仕方に問題はありますでしょうか?
class GetThread extends Thread{
DataInputStream in;
GetThread(DataInputStream in){
this.in=in;
}
public void run(){
int msg;
try{
while(true){
msg=in.readInt();
System.out.println(msg);;
}
}catch (IOException e) {
System.err.println(e);
}
}
}
呼び出し元のクラスでは
DataInputStream in = new DataInputStream(connect ,getInputStream());
と宣言した後
Thread thread = new GetThread(in).start();
と記述してスレッドを開始しています。
258デフォルトの名無しさん:2005/10/31(月) 03:14:00
>257
Thread#start()の戻りはvoidでしょ、それだと
Thread thread = void;ってやってるだけだよ
あとそれどやって終了するの?それでいいのかな?
端折ってるんだろうけど相当デンジャラスなコードだね
259デフォルトの名無しさん:2005/10/31(月) 04:34:57
>>256
いい加減でいいなら、System.identityHashCode() を用いる。

ちゃんとやるなら、静的フィールドを作って
インスタンス生成時に何かする。

あるいは、新しい Set の実装を自分で作る。
260デフォルトの名無しさん:2005/10/31(月) 05:54:01
>>208
RSAが使えるかどうかはJCE実装による。
少なくとも、IBMのJCEで使えた記憶がある。
261デフォルトの名無しさん:2005/10/31(月) 09:32:30
-askcloseってなんすか?
262デフォルトの名無しさん:2005/10/31(月) 09:55:50
何かのオプションコマンドじゃねーの
263デフォルトの名無しさん:2005/10/31(月) 15:17:31
>>257
GetThread(DataInputStream in){
this.in=in;
}

ふーん、GetThreadですか。そうですか。
264デフォルトの名無しさん:2005/10/31(月) 15:26:37
今、バイナリデータを解釈して文字列を取り出すプログラムを書いています。

BufferedInputStreamを使って、バイト列の型変換やエラー処理でややこしいことをしていたのですが、
ヘルプを眺めていたらDataInputStreamという便利な物があるのを知り、早速実装してみました。

ところが、実行速度が3倍以上遅くなって困っております。こういう物なんでしょうか?
何か対策はありませんか?
265デフォルトの名無しさん:2005/10/31(月) 15:28:58
バッファリングと併用せよ
Buffered〜を勘違いしてる
266デフォルトの名無しさん:2005/10/31(月) 15:30:54
if(++i > 5)
{
i = 0;
}

これだと0〜5の繰り返しになります?
267デフォルトの名無しさん:2005/10/31(月) 15:31:14
コードは以下の通りです。

private static final void skipBytes(DataInputStream dis, int n) throws IOException{
  for(int i=0,s=0;i<n;i+=s){
    s = dis.skipBytes(n-i);
    if(s==0) throw new IOException("java.io.IOException: Skipping bytes failed");
  }
}

public String[] getNext() throws IOException{
  String[] ret = null;
  
  try{
    int matchLen=0;
    while(matchLen < CHAT_OPERATION.length){
      if(dis.readByte()==CHAT_OPERATION[matchLen]) matchLen++;
      else matchLen = 0;
    }
    
    int bodyLen = convertEndian(dis.readInt());
    
    ChatParser.skipBytes(dis, 8);
    
    int strLen = bodyLen-8;
    byte[] buf = new byte[strLen];
    dis.readFully(buf,0,strLen);
    
    ChatParser.skipBytes(dis, 8);
268デフォルトの名無しさん:2005/10/31(月) 15:33:05
>>265
DataInputStream dis = new DataInputStream(new BufferedInputStream(is));
とかでしょうか?FilterInputStream派生を連結して大丈夫なんですかね。
269デフォルトの名無しさん:2005/10/31(月) 15:34:20
おっと、解決しました。アドバイスありがとうございます。
270デフォルトの名無しさん:2005/10/31(月) 15:35:57
ソースを変更せずに、デバッグ用とリリース用で コンパイルしわけるにはどうすればいいでしょうか。
プロパティーファイルを使っても、ループの中のデバッグ用メソッド呼び出しが無くなるわけではなく、
if文でデバッグ用処理を回避できるだけです。これはボトルネックとなるに充分なんです。
271デフォルトの名無しさん:2005/10/31(月) 15:44:58
>>270
ソースコードにデバッグ用のロジックを書くなよ。
デバッガとロギングライブラリを併用しろ。
272デフォルトの名無しさん:2005/10/31(月) 15:58:31
>>270
小さいものであれば 1.4 以降で追加された assert 使えるけど。
273デフォルトの名無しさん:2005/10/31(月) 16:17:28

どのようにしたら、以下のものをjavaのプログラムに
組み込めますか?
1.widowsアプリケーション(.exe)
2.C++のソース
3.コンパイルしたC++

できたとして・・・javaのどこかのクラスで
これらのファイルに
引数を渡したり受け取ったりできるんでしょうか?

3つのうちどれかでも構いません。ご教授ください(_ _)

274デフォルトの名無しさん:2005/10/31(月) 16:21:46
>>273
1-1.Runtime.exec()
1-2.JNI
2.無理
3.JNI
275デフォルトの名無しさん:2005/10/31(月) 16:29:42
>>270
単純にデバッグ用とリリース用ソース分けるんじゃダメか?
antかなんかで切り替えてコンパイルするとか
276デフォルトの名無しさん:2005/10/31(月) 17:08:41
>>270
>if文でデバッグ用処理を回避できるだけです。
>これはボトルネックとなるに充分なんです。
そりゃ実行時にifで判別するのは当然ボトルネックになるよね。
コンパイル時にifを静的に判別できるようにすれば最適化の
対象になってボトルネックにならない。不安ならjavapして
確認してごらん。
http://pc8.2ch.net/test/read.cgi/tech/1120411353/576-588
277デフォルトの名無しさん:2005/10/31(月) 17:28:01
>>270
JIT使ってるなら、ループの中なんかだと実行されないのが自明ならその時点でコードが除去される可能性はあるな
278デフォルトの名無しさん:2005/10/31(月) 18:31:27
とあるゲームを作っていて
画像を全て読み込んでからでないとクリックなどの入力を受け付けないようにしたいのですが
Frameのコンストラクタ内でgetImage()で画像を読み込み、画像を全て読み込み終わらないとコンストラクタが終了しない
という処理はできませんか?

imageUpdate()を操作すれば読み込んだかどうかを判断できるらしいのですが
drawImage()以外から呼び出す事はできるのでしょうか?
279デフォルトの名無しさん:2005/10/31(月) 19:00:28
FrameとgetImageってところがつながらないような気がするが

http://pc8.2ch.net/test/read.cgi/gamedev/1130373830/
というスレもある

アプリケーションならAWTにこだわる必要はないかと
280デフォルトの名無しさん:2005/10/31(月) 19:48:33
>>278
MediaTrackerは?
281デフォルトの名無しさん:2005/10/31(月) 20:29:24
JDBCを使用し、SQLでリザルトセットを取得する際に、
取得するリザルトセットが15列x6万行くらいからOutOfMemoryErrorがでるのですが、
何かいい方法ありませんか?
それともやはりヒープメモリを増やすしかないのでしょうか?
282デフォルトの名無しさん:2005/10/31(月) 20:37:05
>>281
更新したり、双方向の参照が必要か?そうでないならTYPE_FORWARD_ONLYをCONCUR_READ_ONLY 指定してオープン
それで出るなら、どっかメモリリークしてる
283デフォルトの名無しさん:2005/10/31(月) 21:17:20
jpeg画像かbmp画像を読み込みRGBの値をR[i][j],G[i][j],B[i][j]に保存させ、1つの画像を9分割にし色を検出するプログラムを作りたいのですが、
色の数は赤、青、緑、黄(赤+緑)、シアン(緑+青)、紫(赤+青) 白、黒(赤+青+緑)の8色です。
284デフォルトの名無しさん:2005/10/31(月) 21:31:07
作れば良いじゃん。
285デフォルトの名無しさん:2005/10/31(月) 21:49:31
たしかにふつうにやればいいだけだな
アルゴリズムがわからないというのであればスレ違い
286デフォルトの名無しさん:2005/10/31(月) 22:01:46
>>278
>画像を全て読み込み終わらないとコンストラクタが終了しない
AWTだけの知識で結論だけ言うと「無理」
287デフォルトの名無しさん:2005/10/31(月) 22:46:01
異なる視点から同じ物を撮影した2枚の画像間のマッチングを行っています。
2枚を画像をグレースケールに変換して,ピクセル値を取得して配列に読み込み
部分的な画像(例えば10×10)の各ピクセル値の合計の残差が最も小さくなる点を
左画像と右画像の対応する点として,その点の組を出力したいのですが,画像の
変換し配列に読み込む部分まではできていると思うのですがマッチングの部分が
うまくいきません。以下の数式をつかっています。マッチングの部分をどのよう
に記述すればいいのでしょうか?どなたかご教授おねがいします。
Sij=Σ[u=1,m]Σ[v=1,l]|f(u,v)-t(u,v)|
ピクセル値の残差S(i,j),部分画像の中心座標(i,j),f(u,v):左画像の値,
t(u,v):右画像の値,l×m:部分画像のサイズ
288270:2005/10/31(月) 22:46:16
皆さん、有り難うございます。

>>271
デバッガはEclipseが充分な機能を持ってますね。
ただ、開発はWindowsだけど、貧弱なLinux環境でも動作させたい、
とか言う場合とかは少々やっかいになりますけど。
ロギングは使ったことがないんですが、レベルでフィルタリングできるんですよね?
まずは使ってみます。

>>272
assertですか。存在は知ってましたが、不勉強で使ってませんでした。
コンパイル時にオンオフできるみたいですし、使ってみようと思います。

>>275
それはソースが二重管理になるのが嫌だったんです。
CVS等も使用すればうまくできるのかも知れませんが・・・。
もう少し調べてみます。

>>276
なるほど。静的変数はコンパイル時点で定数に置き換わり、
その結果固定条件になるif文は簡略化(最適化?)されるんですね。
結構コンパイラは賢いんですね。
しかし、javacやJVMの内部実装も勉強しないと最適化は大変ですね。
289270:2005/10/31(月) 22:51:05
引き続き。

>>277
JITコンパイラがどんなバイトコードを出力するかということになると、
その仕様を確認しないといけませんね。
調べるべき事が色々あって大変ですが、ぼちぼちやってみます。
290デフォルトの名無しさん:2005/10/31(月) 23:08:10
>>286
うそつき
291デフォルトの名無しさん:2005/10/31(月) 23:26:16
ケイティ
292248だけど:2005/10/31(月) 23:32:00
色々やってみると、どうやら、
MyFrame7 frame1は宣言で、実体のアドレスは与えられていなくて、
newの時点で、実体ができるから、というのも加味して、
newされると、
MyFrame7インスタンス変数>コンストラクタ>抽象クラスを引数としたpaint(graphic g)が実装持つ(関数内展開>関数内実行)
の順番の模様。
しっけいしました。
293292:2005/10/31(月) 23:32:05
ご相談です。

JavaのAPIで、I/Oの分野ががごちゃごちゃしてて、
まったく何から手を付ければよいのか、
どういったときに何をつかえばよいのか皆目検討がつきません。

何か、まとめたサイトなどがございましたら、お教えいただけますでしょうか?
調べてみましたが、どれも断片てきな 情報しか得られませんでした。

基本でもうしわけありませんが、本当にわけがわからず途方にくれてます。
よろしくお願い致します。
294デフォルトの名無しさん:2005/10/31(月) 23:41:04
誤相談ですな。本買え。
295デフォルトの名無しさん:2005/11/01(火) 00:16:27
そういえばみんなJavaの本何読んでる?
俺はやさしいJava第2版と活用編読んでるけどむ〜・・・
おすすめあったら教えて。
296デフォルトの名無しさん:2005/11/01(火) 00:53:02
黒本。あと数冊適当に。
297& ◆kLrq62iB5Y :2005/11/01(火) 01:18:26
248さんありがとうございます。
なるほど・・・
以後じぶんのプログラムに突っ込めるよう精進して参ります!
298デフォルトの名無しさん:2005/11/01(火) 10:29:57
>>295
独習Java
憂鬱なプログラマのためのオブジェクト指向開発講座
Java言語仕様
Effective Java
Java謎+落とし穴徹底解明
Java仮想マシン仕様
Javaプラットフォームパフォーマンス
独習UML
Javaアプリケーション作成講座 Swingプログラミング徹底攻略
Java GUI プログラミング vol.1〜3
Javaゲームプログラミング アルゴリズムとフレームワーク
Java言語で学ぶデザインパターン入門
Java言語で学ぶデザインパターン入門 マルチスレッド編

抜けがあるかもしれんが買った本。読んだ順。ゼロから初めて3年Javaやってきた
基本的に書店で新刊を見かけたら時間がある限り立ち読みするけどね
299デフォルトの名無しさん:2005/11/01(火) 11:00:10
JavaBeanでSerializableが必要な理由がイマイマチ理解できないのですが、
どなたか説明できますか?
いろんなサイト見ても必須とあるところもあるし、
まるで触れてないところもあります。
よろしくお願いいたします。
300デフォルトの名無しさん:2005/11/01(火) 12:49:55
>>299
IDE 等でこちょこちょ弄った設定を IDE等が保存したり読み込んだりするためでは?
最近は、XMLで保存する仕様になったため必要ないとか何とか。
自分で手書きでガリガリ書く分には必要ないかと。
301デフォルトの名無しさん:2005/11/01(火) 12:58:56
>>300
それよりも、分散コンポーネント技術なんだから遠隔地にデータ運べないでどうするのよ
RMIするのに必要だからが正解
302デフォルトの名無しさん:2005/11/01(火) 13:30:00
今学校でAWTアプレットの勉強しているんですが
Javaの本を見てみるとSwingのが多く書かれてるようみえます
Swingの方が主流なんでしょうか?
303デフォルトの名無しさん:2005/11/01(火) 13:50:23
JLabelに、マウスイベントを実装しているのですが、
現在実装しているのをremoveMouseListener()を使って破棄し、
新たなMouseListenerを登録したいと思っています。

しかし、
removeMouseListener(this);
という記述では、(クラス名)に適用できませんという
エラーが表示されて、コンパイルがとおりません。
thisという記述の代わりにどうすればよいでしょうか?
304デフォルトの名無しさん:2005/11/01(火) 14:00:03
>>302
分かりやすく言うとPCベースで存在価値がないから

機能的に複雑なことも可能な完全に上位のSwing

305299:2005/11/01(火) 14:12:59
>>300>>301
ありがとうございます。
JavaBeanでは必須みたいな書き方されているのは、
他のマシンからのアクセスがあるかもしれないからということですかね。
とりあえず単一のマシンで動かしている場合は動いているようですが。
306デフォルトの名無しさん:2005/11/01(火) 14:53:36
JavaでBigIntegerを使わず、
100桁の整数を指数表示にならない様に
出力する方法はあるのでしょうか?
307デフォルトの名無しさん:2005/11/01(火) 15:03:31
>>306
というより BigInteger で何が不満なのか?
308306:2005/11/01(火) 15:16:22
個人的には特別不満が有るわけではないのですが、
BigInteger は使うなと叩かれてしまいまして・・・
309デフォルトの名無しさん:2005/11/01(火) 15:21:56
どこでどんな風に叩かれたんだよ?
なんか理由があるのか?
310デフォルトの名無しさん:2005/11/01(火) 15:26:15
科学技術計算とかの演習だったら、そりゃ叩かれるだろうw
311デフォルトの名無しさん:2005/11/01(火) 15:34:09
科学技術計算の場合は何使うべきなんだ?
自作クラス?
312306:2005/11/01(火) 15:36:39
>>309
学校で先生にです。
BigIntegerを使ったら
次は使わない方法を考えてみろと
>>310
計算して合計値を求めるだけの演習です。
313デフォルトの名無しさん:2005/11/01(火) 15:39:11
CMYK TIFFのJPEG変換について教えていただけませんか。
以下のように実行すると画像の色合いがおかしくなってしまいます。
どなたかご存じないでしょうか。



Iterator readers = ImageIO.getImageReadersByFormatName("tif");
ImageReader reader = (ImageReader) readers.next();

// TIFF読み込み
File f = new File("cmyk_tiff.tif");
ImageInputStream iis = ImageIO.createImageInputStream(f);
reader.setInput(iis, true);
BufferedImage bi = reader.read(0);


// JPEG書き込み
Iterator writers = ImageIO.getImageWritersByFormatName("jpg");
ImageWriter writer = (ImageWriter) writers.next();
File of = new File("cmyk_tiff.tif.jpg");
ImageOutputStream ios = ImageIO.createImageOutputStream(of);
writer.setOutput(ios);

writer.write(bi);



よろしくお願いいたします。
314デフォルトの名無しさん:2005/11/01(火) 15:40:08
ああ、BigIntegerみたいなのを自作しろってことかな
315デフォルトの名無しさん:2005/11/01(火) 15:42:43
BigDecimal 使えってこった
316デフォルトの名無しさん:2005/11/01(火) 15:44:55
キャリーフラグとかその辺勉強しろということなんだろうな
317306:2005/11/01(火) 15:45:08
>>314
はい、たぶんそう言うことだと思います。
318デフォルトの名無しさん:2005/11/01(火) 15:46:18
>>317
じゃあ後はがんばれ
319デフォルトの名無しさん:2005/11/01(火) 16:06:59
三ヶ月でJavaで喰えるようになりたい。
何をすればいいか教えてくれ。
320デフォルトの名無しさん:2005/11/01(火) 16:15:49
>>319
いますぐその辺のJavaを扱っていて初心者歓迎を謳っているソフトウェア会社に飛び込め。
三ヶ月もしないうちに実務に放り込まれるから、Javaで喰うという目標は達成だ。よかったな。
321306:2005/11/01(火) 16:16:20
>>318
はい!がんばります!
と言いたいとこですが、
何をやったらいいのか
まったく分かりませんorz
322デフォルトの名無しさん:2005/11/01(火) 16:18:49
>>321
もうこれ以上は宿題スレに行くがいい
323CASL:2005/11/01(火) 16:35:48
10進数の100を16ビットの2進数で表現したときに、その値の中に含まれる0の個数を、メモリに格納するプログラムの作成。
プログラムの終わりの部分は、下記で、0の個数は、ANSの領域に格納される。

CNS DC 100
ANS  DS 1
   END
わかった人は答えて下い。(
324デフォルトの名無しさん:2005/11/01(火) 16:46:18
RS232でのシリアル通信で、他のプログラムが使用中のポートを
強制的?にクローズすることは出来ないのでしょうか?

ちょっと分かりにくいですが、

ClassA ← ClassB ← CommunicationAPI

となってて、ClassA(別にClassAでなくてもいいですが・・・)でClassBがオープンしたポートをクローズしたいという感じです。
なお、ClassBをいじることはできません。
ClassBにはポートをクローズする処理がなく、ポートのインスタンスそのものを返す処理もありません。

宜しくお願い致します。
325デフォルトの名無しさん:2005/11/01(火) 17:12:43
文字列が数字かどうか判断する標準関数みたいなのってありますか?
326デフォルトの名無しさん:2005/11/01(火) 17:16:37
>>320
ガクガクブルブル orz
いきなり実務ですか?それは荷が重いような。
潜り込むのは当てがあるのでできそうですが……。
327デフォルトの名無しさん:2005/11/01(火) 18:02:08
>>325
ない。
文字が数値かどうかは、素直に一文字ずつ判断するしかない。
java.lang.Character.isDigit( char ) で判断できるが、負数や少数は数字以外の
記号が混じるので、必要ならそれも実装する。 まあ一遍書けばずっと使えるから。

Integer.valueOf( string ) とかで NumberFormatException を出せば数値じゃないが
正常系に例外を含めるのはイケてない。 でもラク。
328デフォルトの名無しさん:2005/11/01(火) 18:24:40
>>325
正規表現が分かるなら、String#matches() で一撃。

329デフォルトの名無しさん:2005/11/01(火) 18:31:30
>>328
速度を気にしなくていい場合なら
330デフォルトの名無しさん:2005/11/01(火) 18:41:59
>>327-328
有難うございます。
取りあえずもうちょっと勉強してからやってみます。
331デフォルトの名無しさん:2005/11/01(火) 20:35:47
>>329
とんでもなく巨大な文字列か、数百回以上のような評価でなければ
通常のアプリで差はでない。ボトルネックはそんなとこには無いだろ。
332デフォルトの名無しさん:2005/11/01(火) 20:56:24
ここ数日間、下記のプロセスが
サーバの負荷を高めています。

/usr/local/java/jdk1.2.2/bin/i38

これってkillしてはだめなのでしょうか。
Javaが動くのに必須のプロセスなのでしょうか?
333デフォルトの名無しさん:2005/11/01(火) 21:00:26
i38 なんてあったっけ?
334300:2005/11/01(火) 21:12:25
> 最近は、XMLで保存する仕様になったため必要ないとか何とか。
何かの脳内変換だったらしい。スマソ
335デフォルトの名無しさん:2005/11/01(火) 21:22:43
>>325
ありそうで無いものは、大抵 Jakarta Commons で誰かが作ってそう。
とりあえず、Lang の NumberUtils.isNumber() あたり?
336332:2005/11/01(火) 21:38:09
>333

ありました。psコマンドで確認したら、
たしかに「i38」ってプロセスが
朝っぱらからずっと動いているんです。
337デフォルトの名無しさん:2005/11/01(火) 23:01:51
HashtableとVectorの違いを張り切って教えてください。
よろしくお願いします。
338デフォルトの名無しさん:2005/11/01(火) 23:02:55
やだ
339337:2005/11/01(火) 23:03:48
>>338
いやいや、そんなこと言わずに。
340デフォルトの名無しさん:2005/11/01(火) 23:10:10
Vectorは可変長配列
HashTableはハッシュテーブル
341デフォルトの名無しさん:2005/11/01(火) 23:12:44
>>340
ベクターは大手ダウンロードサイト
ハッシュテーブルは細切れにしたテーブル

のこと
342337:2005/11/01(火) 23:15:54
いやー!!皆さん張り切りすぎでどうにもこうにもついていけません。
343デフォルトの名無しさん:2005/11/01(火) 23:15:55
>>337
今さらHashtableもvectorも使うべきじゃないね。
344デフォルトの名無しさん:2005/11/01(火) 23:27:58
>>343
Swing使いだけは許してくれ
345デフォルトの名無しさん:2005/11/02(水) 00:44:20
なんでCLDC1.0にはVectorがあってArrayListがないんですか?
346デフォルトの名無しさん:2005/11/02(水) 01:06:28
>>345
昔はArrayListとかなかったのだ
347デフォルトの名無しさん:2005/11/02(水) 01:44:44
質問

JAVAで画面を作って
WEBで公開すると、
LOCALPCにダウンロードされて、
LOCALPC上で動くのですか?

そして、サーバに処理要求を出す場合は、
TOMCATでしかイベントを拾えないのでしょうか。

どこらへんを調べたら載ってる情報でしょうか。

素人ですいません。
348デフォルトの名無しさん:2005/11/02(水) 02:07:28
>>347
あなたがJavaと考えている物の中にはJava言語とJavaScript言語があります
その違いを調べてみましょう。
349デフォルトの名無しさん:2005/11/02(水) 02:16:21
>>348
違うだろ。

Java には Application, Applet, Servlet など、様々な実行形態があります。
その違いを調べてみましょう。

あとプロセス間通信についても。
350デフォルトの名無しさん:2005/11/02(水) 02:58:07
コンポーネントのbuttonを押した時に
現在のTextFieldに入っている文字列を取得する方法はありませんか?
351デフォルトの名無しさん:2005/11/02(水) 04:46:58
WindowsでDOS窓を開かずにJavaのアプリケーションを実行する方法を
おしえてください
352デフォルトの名無しさん:2005/11/02(水) 07:05:51
>>351
javaw.exe を使えばいい。ということが java コマンドのマニュアル
(docs/tooldocs/windows/java.html)に書いてある。
353デフォルトの名無しさん:2005/11/02(水) 07:12:26
お早う御座います。
os winxp home
j2se+elipse3+apache2+tomcat5+mysql4.1+james2.2
で色々作ってるんですが・・・・
antでeclipseのclassesフォルダーから直接classファイルとconfig.xmlをjamesの
SAR-INFと自分で作ったclassesというフォルダに入れて
何とかmailetとして認識出来たんですけども
mailetのデータソースが認識出来ません。
自分としてはconfig.xmlのデータソースじゃなくて
データベースのプロパティーファイルを用意してるのですが
confに入れても認識してくれないし・・・
面倒臭いのでjarを解凍したjames.sarに入れてパッキング等は
やってません・・・antで旨く書けないし・・・

詳しい方がいらっしゃいましたらどうぞご教授ください。
m(_ _)m ペコリ

354デフォルトの名無しさん:2005/11/02(水) 07:26:52
>>352
ありがとうございます
355デフォルトの名無しさん:2005/11/02(水) 10:39:58
Mac OSXの環境なのですが、
jarの中にbashのシェルスクリプトのファイル"hogehoge.bsh"をおいて、
同一jarのアプレットからそのシェルスクリプトを呼びたいんですが、
どうすればいいのか教えていただけませんか?
356デフォルトの名無しさん:2005/11/02(水) 12:16:49
javaアプレットを使ってゲームを作っているのですが、
署名をつけてHTMLに埋め込んで起動するようにしたのですが
アプレットビューアではキー操作を受け付けてくれるのに、HTMLに埋め込むと受け付けてくれないのです。
何か考えられる原因はありますでしょうか?
357デフォルトの名無しさん:2005/11/02(水) 12:18:13
ブラウザで見てるならセキュリティ
358デフォルトの名無しさん:2005/11/02(水) 12:23:43
>>357
お早い回答ありがとうございます。
IEのインターネットオプションのセキュリティの項目を低まで下げてみたのですが、
それでも受け付けてくれませんでした。何か他のところのセキュリティなのでしょうか・・・?
359デフォルトの名無しさん:2005/11/02(水) 12:25:38
>>357
すいません、今コンソールを見てみたらエラーが大量にはかれていました。
そのエラーを見たところ、キー操作は受け付けているがそれに伴う処理関連が駄目だった様です
お騒がせしました
360デフォルトの名無しさん:2005/11/02(水) 13:27:18
署名付きのJARファイルを使ってアプレットを起動しているのですが
listpass = "stagelist.ini";
FileReader fr = new FileReader(listpass);
の様に記述すると、例外を吐き出されます。

listpass = getDocumentBase() + "stagelist.ini";
等も試してみましたが駄目でした。
stagepass.ini (指定されたファイルが見つかりません。)


Eclipseを使ってアプレットビューアで行っているときには何の問題もなく使えたのですが、解決策はありますでしょうか・・・
361デフォルトの名無しさん:2005/11/02(水) 13:54:37
>>380
>例外を吐き出されます。
質問してるのにこの例外を見せないのはどういう了見だ。
ポ前はその例外をちゃんと見たのか。
362デフォルトの名無しさん:2005/11/02(水) 14:34:19
月の文字列(1月〜12月)から数字だけを取り出して整数型に格納する方法誰かご存知ないですか?
363デフォルトの名無しさん:2005/11/02(水) 14:44:33
>>362
String#indexOf、String#substring、Integer#parseInt使えばいいじゃない
364デフォルトの名無しさん:2005/11/02(水) 14:49:58
>>362
正規表現使えばいいじゃない
365デフォルトの名無しさん:2005/11/02(水) 14:51:06
>>361
指定されたファイルが見つかりません。

之がFileNotFoundExceptionで出た例外です・・・
Eclipseを使っている際は出ない、
getDocumentBase() + "stagelist.pass"を用いても実行されないでつ・・・
366デフォルトの名無しさん:2005/11/02(水) 14:59:33
>>365
getDocumentBase()が、アプレットビューアの時とブラウザの時でどう違うかくらべてみそ
367デフォルトの名無しさん:2005/11/02(水) 15:08:00
>>365
getDocumentBase()ではブラウザの時htmlファイルのパスまで読んでしまうのですね・・・

getCodeBase()だと、ファイルのパスは
file:\C:\web\action\stagepass.ini
となってくれました。
が、(ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。)
と表示されます、とりあえずJavaのファイル読み込みのあたりを見直してきまつ。
368367:2005/11/02(水) 15:15:31
解決しました!!
file:\C:\web\action\stagepass.ini
ではなく
C:\\web\\action\\stagepass.ini
だったようです。
ありがとうございました!
369デフォルトの名無しさん:2005/11/02(水) 18:23:06
Java Plug-in使用時にメモリ使用量を増やすにはどうすればいいでしょうか。
手元のテキストでは
コントロールパネル→Java Plug-inの設定→「Java実行時のパラメータ」にmx○○を追加
って書いてあるんですが、Java Plug-inの設定が見当たりません(Java(TM)コントロールパネルっていうのはあります)。
OSはWindowsXP、Java2は1.5.0を使っています。
370369:2005/11/02(水) 18:24:45
すみません、sage忘れました(汗)
371デフォルトの名無しさん:2005/11/02(水) 18:28:51
それでいいんじゃないのー?
372369:2005/11/02(水) 18:57:17
Javaアプレットのランタイム設定にはパラメータ入力欄があるんですが、
Javaアプリケーションのランタイム設定にはそれがありません。
これはアプレットにしかオプション設定ができないということなんでしょうか?
373デフォルトの名無しさん:2005/11/02(水) 19:09:53
>>372
アプリなら実行時に設定できるけど。
常にってことなら、システムプロパティかな。。。
374デフォルトの名無しさん:2005/11/02(水) 19:22:06
>>372 javaコマンドラインのオプションで-mx○○をつける。
375369:2005/11/02(水) 19:34:38
アプリは実行時に-mx○○をつけると設定できるんですよね。
テキストにはJava使用時に常時このオプションをつけられるみたいに書いてあるんですが、
それらしい項目がなかなか見つかりません…。

システムプロパティで設定できそうなのはドライブの仮想メモリ欄の768MBでしょうか。
でもJava使用に768MB割り当てられるってことではありませんよね?
376デフォルトの名無しさん:2005/11/02(水) 19:41:14
>>375
環境変数と誤解してる?
Javaのシステムプロパティのこと。
ttp://www.hellohiro.com/systemproperty.htm
これで出来るかどうかは知らないけど。
377369:2005/11/02(水) 20:46:46
>>376
うーん、どうもエラーが出てしまいます。
>Exception in thread "main" java.lang.NoClassDefFoundError
他のアプリやアプレットは実行できるので、環境変数の設定ミスではないとは思うのですが…はてさて。
378デフォルトの名無しさん:2005/11/02(水) 21:19:32
すんません、ど素人です。質問させてください。
ブログ(楽天つかってます)でJavaScriptを走らせる方法を教えて欲しいです。
お願いします。
379デフォルトの名無しさん:2005/11/02(水) 21:26:19
>>378
>>1見ろ
380デフォルトの名無しさん:2005/11/02(水) 21:39:54
>>379 and ALL

失礼しました・・・
381デフォルトの名無しさん:2005/11/02(水) 22:40:12
thisの使い方を教えてくださいませ。

class Company
{
public void addEmployee(Employee e)
{
System.out.println(e.aName + "さんが入社しました");
}
}
public class Employee
{
private Employee afo;
public String aName;
public Employee(String name, Company c)
{
this.aName = name;

// ココのthis
c.addEmployee(this);
// c.addEmployee(afo); なぜafoだとだめなのか?
}
public static void main(String[] args)
{
Company aCompany = new Company();
Employee aEmployee = new Employee("山田", aCompany);
}
}
382デフォルトの名無しさん:2005/11/02(水) 22:44:43
afoがnewされて無いよな
383デフォルトの名無しさん:2005/11/02(水) 23:00:02
>>317
BigInteger.javaを読めばわかる。

BigInteger.javaのクラス名ファイル名を
変更して
先生に「自作クラスを作りました」と言ってみるw
384デフォルトの名無しさん:2005/11/02(水) 23:01:16
>>382どもです。
StackOverFlowErrorでますが
385デフォルトの名無しさん:2005/11/02(水) 23:02:08
>>384
そりゃそうだろ無限ループだから
386デフォルトの名無しさん:2005/11/02(水) 23:07:54
>>384どもです。
どのように改善していけばよいのでしょうか。
それと、thisとafoの違いを教えていただけないでしょうか。
387デフォルトの名無しさん:2005/11/02(水) 23:11:18
こんばんわ
353なのですが・・・・
誰かjamesに詳しい方、解決策を
よろしく御願い致します。
m(_ _)m ペコリ
388デフォルトの名無しさん:2005/11/02(水) 23:19:28
thisだと無限ループ内でも例外を生じないが,
afoをデフォルトコンストラクタでnewすれば例外エラーを生じる。。。
なぜなんでしょ?
389デフォルトの名無しさん:2005/11/02(水) 23:20:58
>>388
C++ の経験は?
390デフォルトの名無しさん:2005/11/02(水) 23:22:42
thisは現在実行中のオブジェクトへの参照
391デフォルトの名無しさん:2005/11/02(水) 23:24:27
super
392デフォルトの名無しさん:2005/11/02(水) 23:25:40
>>389
> C++ の経験は?
ないです

>>390
いや、その、その説明だけだと分からなかったんで。。。
393デフォルトの名無しさん:2005/11/03(木) 00:03:09
>388
Employeeクラスの中で、
Employee afo;
と宣言すると、afoという雛形を用意する。
実体(メモリ上に実際のもろもろの値はない。初期化できてない)
さらに、afo=new Employee(〜);とすると、実体ができる。
このEmployeeクラスの実体は新たにできたもの。
新たにってことは、Employeeクラスの実体は2つあることになる。
それは、実際Employeeクラス内のコードを走っているそのもの>thisという実体と、afoという新たにできた実体。
当然、同じメンバ変数なりを入れても、同じものが2つメモリ上にあることになる。
394デフォルトの名無しさん:2005/11/03(木) 00:05:51
>実体(メモリ上に実際のもろもろの値はない。初期化できてない)

この段階で実体はない(メモリ上に実際のもろもろの値はない。初期化できてない)
395デフォルトの名無しさん:2005/11/03(木) 00:07:48
>>380
返答ありがたいのだが
>>381を見てから答えてくれないか?

396デフォルトの名無しさん:2005/11/03(木) 00:08:23
>>393だった。
397デフォルトの名無しさん:2005/11/03(木) 00:11:07
それと回答結構ですわ。んじゃ
398デフォルトの名無しさん:2005/11/03(木) 01:44:13
>>369

-Xmxのことだろ

java -Xmx768m hoge

で、最大768mのJavaヒープ確保する


399398:2005/11/03(木) 01:45:57
ちなみにデフォルトだと64Mが最大だったような気ガス。まあバージョンによって違うと思うけど。
それを越すとOOMになる。
400ぶつぶつ...:2005/11/03(木) 10:58:15
>381は
afo=new Employee(String name, Company c)でやっても、
new Employee()でやっても(もちろんc.addEmployee(afo);)、どこでどうやっても、
StackOverFlowErrorも例外エラーもでなかった。
コンパイルすら通らなかった、コンストラクタ呼ばれる前に、
new Employee(〜)でもnew Employee()でも、が呼ばれるから、
こんなの知らねーョ、とはじかれるだけだったが。
どうやったら、でたんだろ。

401デフォルトの名無しさん:2005/11/03(木) 11:16:54
コンストラクタ呼ばれる前に、
+コンストラクタ中で(コンストラクタ完了する前に)、
402デフォルトの名無しさん:2005/11/03(木) 12:09:17
今からちょっくらJavaの本買いに逝こうと思ってるんだが
基本から応用まで幅広く載ってておすすめのってある?
やはり"やさしいJava"とやらになる?
403デフォルトの名無しさん:2005/11/03(木) 12:15:37
本屋まで行くなら自分でよさそうなのを勝手に選べばいいのでは?
404デフォルトの名無しさん :2005/11/03(木) 13:16:44
インスタンス名を配列で生成するとエラーが出てしまうのですが、
配列として定義とかしないといけないのでしょうか?

for(int i,i<5,i++){
Sample a[i] = new Sample();
}
こんな感じのプログラムです。
405デフォルトの名無しさん:2005/11/03(木) 13:28:39
Hoge hoge[] = new Hoge[5];
for(int i=0; i<hoge.length; i++){
 hoge[i] = new Hoge();
}

基礎が全くできてないようなので後は宿題スレへ
http://pc8.2ch.net/test/read.cgi/tech/1123639475/
406デフォルトの名無しさん:2005/11/03(木) 13:31:02
>>404
仮にそうかけたとしても、{ } の外で a はつかえないよ。

} の次以降で使うんでしょ?だったら
Sample[] a;
for (略) {
}

と書かなきゃいけない。んで、これだけだと a は null なんで、
a = new Sample[5];
サイズを指定する。配列オブジェクトのコンストラクタを呼んでインスタンスを生成するようなもんだ。
で、配列の各要素を埋めていく。
for(int i;i<5;i++){
a[i] = new Sample();
}
407デフォルトの名無しさん :2005/11/03(木) 14:04:32
>>405,406
早い返信ありがとうございます。
いま工学部の情報系の大学3年やけど最近授業になって授業で
ジャバやC++やりだした。こんなんで就職大丈夫なんかな。
408デフォルトの名無しさん:2005/11/03(木) 14:08:01
言語自体をはじめたばかりならそんなもんだろ
1年もあればそれなりに形にはなる

ただ、どの言語にしてもそれなりに極めるにはその後さらに1,2年自分から調べて
積極的にやってナンボだな

最初1年くらいで言語使用のほとんど覚えたとしても、それが実はうわべだったと
後で気がついてくるからね
409デフォルトの名無しさん:2005/11/03(木) 14:14:34
Java3Dもこのスレでよろしいでしょうか?

http://kjm.kir.jp/pc/index.php?p=4366.jpg
画像左のテクスチャを立方体に貼り付けているのですが、画像右のように一色で表示されてしまいます。
デフォルトでdemoフォルダに入っているサンプルでも同じようになってしまいます。

検索して調べてみたんですが、
>テクスチャが壊れて描画されるのであれば、グラフィックボードのドライバの問題
このテクスチャが壊れて描画されるという症状なんでしょうか。
410デフォルトの名無しさん:2005/11/03(木) 14:31:38
>>409
この場合はそう考えて良いと思う
411デフォルトの名無しさん:2005/11/03(木) 14:39:24
>>410
お早い返信ありがとうございます。
ノートPCだし新しいデスクトップが欲しいなぁ…。
412デフォルトの名無しさん:2005/11/03(木) 15:29:26
親のコンテナのLayoutがBorderLayoutか調べるにはどうしたらいいのですか?

それと関連して

親がBorderLayoutと解った場合、自分が(Center,East,West,North,Southの)何処に配置されているのかを調べる方法と
他の場所に配置されているコンポーネントが(Center,East,West,North,Southの)何処かを調べるにはどうしたらいいのですか?
413デフォルトの名無しさん:2005/11/03(木) 16:11:31
>>412
まずAPIマニュアル読んだかを聞きたい
414デフォルトの名無しさん:2005/11/03(木) 16:47:42
Class hoge = new Class();
System.out.println(hoge);

とした場合,JVMにおける仮想メモリの中で
インスタンスの実態へのポインタの値が出力される

で,認識は正しいでしょうか?

ご教授よろしくお願いします
415デフォルトの名無しさん:2005/11/03(木) 16:49:56
>>414
hoge.toString() の値が出力される。
416デフォルトの名無しさん:2005/11/03(木) 16:51:32
>>415
そうでしたか…
ありがとうございました!
417デフォルトの名無しさん:2005/11/03(木) 18:28:05
System.identityHashCode(Object obj) って、必ず obj の内部アドレスが返ってくるっていう認識で良いですか?
要は obj の参照と一対一で対応する値が欲しいんですが。
418デフォルトの名無しさん:2005/11/03(木) 18:29:41
>>414に便乗。

オブジェクトをtoString();すると
class名 + @ + 16進ハッシュだったかと

16進のハッシュって、意味がよくわからない。
メモリアドレスを16進であらわしてるって意味ではないの?
おしえてエロイJavaマスター
419デフォルトの名無しさん:2005/11/03(木) 18:41:12
>>418
HashMapで使うんじゃね?
420デフォルトの名無しさん:2005/11/03(木) 18:55:38
APIのヘルプってまとめてダウンロードできないのですか?
421デフォルトの名無しさん:2005/11/03(木) 19:00:45
できますよ
422デフォルトの名無しさん:2005/11/03(木) 19:11:49
>>421
どこから?教えてくださいよ、おじさん
423デフォルトの名無しさん:2005/11/03(木) 19:16:20
SDKは何処からダウンロードしたんだよ・・・
424デフォルトの名無しさん:2005/11/03(木) 19:56:01
JSPの質問ってここでよかとですか?
425デフォルトの名無しさん:2005/11/03(木) 20:14:30
>>418
public String toString() {

  return getClass().getName() + "@" + Integer.toHexString(hashCode());

}
426デフォルトの名無しさん:2005/11/03(木) 20:51:24
ボタンを押したらラベルを表示という処理をしたいのですが
public void actionPerformed(ActionEvent e){
add(label);
}
と記述しているのに何も表示されません。
コンストラクタにadd(label)と記述すれば問題なかったのですが。
actionPerfomed内でadd()は使えないのでしょうか?
またはそれ以外に原因がありますかね?
427デフォルトの名無しさん:2005/11/03(木) 20:53:24
>>426
最初からセットしておいて非表示にしておく。
ボタンが押されたら表示にする。
これでいい?
428426:2005/11/03(木) 21:14:14
>>427
l.setVisible(false);
と書いておき
public void actionPerformed(ActionEvent e){
l.setVisible(true);
}
としてもやはり表示されません。
他に考えられる原因ありませんかね?
ちなみにPanelクラスを継承したクラスの中に全て記述しています。
429デフォルトの名無しさん:2005/11/03(木) 21:16:53
何が悪いか分からん。OSXはコンパイルしてもエラーが文字化けorz
エロイ人、教えてください。
ーーーーーーーーーーーーーーーーー
import java.io.*;
public class Heikin{
public static void main(String[] args){
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
//one
System.out.println("一人目の名前は?");
String namae1 = reader.readLine();
System.out.println(namae1+"さんの年齢は?");
String line = reader.readLine();
int age1 = Integer.parseInt(line);
//another
System.out.println("二人目の名前は?");
String namae2 = reader.readLine();
System.out.println(namae2+"さんの年齢は?");
line = reader.readLine();
int age2 = Integer.parseInt(line);
//平均
System.out.println("二人の年齢の平均は"+((age1+age2)/2.0)+"です。");
}
}
ーーーーーーーーーーーーーーー
430デフォルトの名無しさん:2005/11/03(木) 21:31:23
>>428
ボタンにアクションリスナーを登録したか?
431デフォルトの名無しさん:2005/11/03(木) 21:36:36
import java.awt.*;
import javax.swing.*;
import java.rmi.*;
import java.awt.event.*;

public class ServiceBrowser{
JPanel mainPanel;
JComboBox serviceList;
ServiceServer server;

public void buildGUI(){
JFrame frame=new JFrame("RMI Browser");
mainPanel=new JPanel();
frame.getContentPane().add(BorderLayout.CENTER,mainPanel);
Object[] services=getServiceList();

serviceList=new JComboBox(services);

frame.getContentPane().add(BorderLayout.NORTH,serviceList);

serviceList.addActionListener(new MyListListener());

frame.setSize(500,500);
frame.setVisible(true);
}
432デフォルトの名無しさん:2005/11/03(木) 21:37:22
void loadService(Object serviceSelection){
try{
Service svc=server.getService(serviceSelection);

mainPanel.removeAll();
mainPanel.add(svc.getGuiPanel());
mainPanel.validate();
mainPanel.repaint();
}catch(Exception ex){
ex.printStackTrace();
}
}
Object[] getServiceList(){
Object obj=null;
Object [] services=null;

try{
obj=Naming.lookup("rmi://127.0.0.1/ServiceServer");
}
catch(Exception ex){
ex.printStackTrace();
}
server=(ServiceServer)obj;

try{

services=server.getServiceList();
}catch(Exception ex){
ex.printStackTrace();
}
return services;
}
433デフォルトの名無しさん:2005/11/03(木) 21:38:18
class MyListListener implements ActionListener{
public void actionPerformed(ActionEvent ev){

Object selection=serviceList.getSelectedItem();
loadService(selection);
}
}
public static void main(String[] args){
new ServiceBrowser().buildGUI();
}
}
このプログラムなんですけど、表示がされません。どうすればいいのですか?ホストの問題みたいですけどわけわかりません
434428:2005/11/03(木) 21:43:15
>>428
public void actionPerformed(ActionEvent e){
System.out.println("test");
l.setVisible(true);
}
と書いて「test」と表示されるので登録はされているはずです。
435428:2005/11/03(木) 21:44:50
↑間違えました
>>430でした
436デフォルトの名無しさん:2005/11/03(木) 22:02:20
ジャバ言語は「Java」?「JAVA」?どちらが正式な表記なの?
437デフォルトの名無しさん:2005/11/03(木) 22:03:10
Java(TM)
438デフォルトの名無しさん:2005/11/03(木) 22:21:30
オブジェクトの排他制御をする場合、mutex 関連のクラスを自作して
それのインスタンスをその排他制御したい対象であるオブジェクトの
インスタンスに集約したり継承したりして、関連づけするのが良いのか、
mutex クラスインスタンスは別個にインスタンス化しておき、その都度
それを呼び出すように設計するのが良いのか迷っています。
オブジェクト指向的にはどちらが良いのでしょうか?
439デフォルトの名無しさん:2005/11/03(木) 22:23:48
>>426
add(label);
this.validate();
440439:2005/11/03(木) 22:26:35

訂正。別にthisはいらない・・・
441デフォルトの名無しさん:2005/11/03(木) 22:29:23
>>438
java.util.concurrent.locks
442デフォルトの名無しさん:2005/11/03(木) 22:30:51
>>438
そのオブジェクトをどう排他制御すればいいのかはそのオブジェクトしか知らない
ライブラリ的なものは独立したもので持っていてはいいと思うけど
それを使うのはそのオブジェクト自信かと

5.0からは細かい制御が出来るのでがんばれ
443デフォルトの名無しさん:2005/11/03(木) 22:32:43
>>437
ありがとう。無性に気になっていたので。
444デフォルトの名無しさん:2005/11/03(木) 23:06:47
>>439
ありがとうございます!解決しました!!
445429:2005/11/03(木) 23:19:59
orz
446デフォルトの名無しさん:2005/11/03(木) 23:28:10
>>445
ターミナルとVMのデフォルトエンコーディングをそれぞれ確認しておけ。
447デフォルトの名無しさん:2005/11/03(木) 23:39:15
>>445
try&catch

eclipse使えば?
448デフォルトの名無しさん:2005/11/03(木) 23:39:56
>>411
ノートPCでも3Dに強いグラフィックカード積んでるものが
格安で出てるぞ。

449デフォルトの名無しさん:2005/11/03(木) 23:49:15
Stringクラスのequalsを使って文字列比較をしていたのですが
" を含む文字列を比較したい状況でつまづきました。(HTMLソースファイルのタグを比較しようとしています)
" を含む文字列を比較したいときはどうすれば良いのでしょうか?
どなたかご教授下さいませんでしょうか。

↓この構文でエラーが出てしまって困っています。
String s1 = "<a href="〜〜〜〜"><br>"
450デフォルトの名無しさん:2005/11/03(木) 23:56:23
>>449
¥でエスケープ
451429:2005/11/03(木) 23:57:12
>>446
>>447

どうもありがと。眠いので明日試してみます。
ちなみに初代大福なのでeclipseは重すぎます。
452デフォルトの名無しさん:2005/11/04(金) 00:29:25
>>450

ありがとうございました。
"の前に\をつけることで回避できるのですね。
勉強になりました。
453デフォルトの名無しさん:2005/11/04(金) 03:04:37
>>451
やっすい、Windosノートにメモリ1G位乗せればEclipse快適だぜ
10万しないマシンで良いぞ
454デフォルトの名無しさん:2005/11/04(金) 05:27:49
>>417
ハッシュコードは、int 型なので、
オブジェクトが int で表現できる範囲以上の個数が作られた場合は
重複しているオブジェクトが存在しているはず。

まあ、ハッシュはなるべく重複しないように設定しないと効率的じゃないし、
多くの VM が 可能な限り唯一の値を割り当ててくれていると思いたい。
455デフォルトの名無しさん:2005/11/04(金) 09:17:08
いきなりの質問失礼致します。

モデムを通して電話をかける。

その時パソコン内にあるデータベースの電話番号を参照し電話をかける

このようなプログラムを作ることはできますか?

全くの素人なのでWiki等を調べたのですが、分かりませんでした。

プログラムの勉強をして、電話をかけるプログラムを作りたいのですが

この言語が適当なのかも全く分かりません。

回答頂けたら助かります。
456デフォルトの名無しさん:2005/11/04(金) 09:41:00
質問失礼します。前に○×ゲームの勝利条件のアドバイスをもらったものです

public void actionPerformed(ActionEvent e){
int koutai = 0;
int haiti[][];
haiti = new int[3][3];

for(int i=0; i<3; i++){
for(int j=0; j<3; j++){
if(e.getSource() == Btn[i][j]){
if(koutai % 2 == 0){
haiti[i][j] += 1;
koutai += 1;
Btn[i][j].setLabel("○");
}
else{
Btn[i][j].setLabel("×");
haiti[i][j] -= 1;
koutai += 1;
}
}
}
}

上のモノはアクション部で、ボタンが押された時にkoutaiに1を足して
攻守を交代させようとしたのですが、なぜか交代されずに○だけ表示さ
れてしまいます。どうしてでしょうか?
457456:2005/11/04(金) 09:42:20
あ、右詰めになってしまってすいません・・・
458デフォルトの名無しさん:2005/11/04(金) 09:47:30
>457
×右詰
○左詰

幼稚園からやり直して恋
459デフォルトの名無しさん:2005/11/04(金) 09:48:29
javaが向いているとは言えないが、可能だよ。 試しに作ったことある。
普通モデムはCOMポートかUSBに繋がってると思うのだが、かなりハード依存の部分なので
javaの標準APIではアクセスできない。
"Java Communication API" というヤツをSunから落としてくれば可能だが
プラットフォームは現時点ではWindows限定。
モデムのATコマンドとか通信手順を知らないと無理なので
「全くの素人」だと、かなり難しいと思うけど。

結局俺は、Excel + TeraTermマクロ にしたけどねー
460459:2005/11/04(金) 09:49:42
前文は >>455
461デフォルトの名無しさん:2005/11/04(金) 10:12:45
自作のプログラム(RMI使用、JNIなし、標準ライブラリ以外使わず)を使うとき、
一度目に起ち上げる時は問題ないのですが、
2回目には必ず、OSごとハングアップもしくはリブートがかかります。
WinXP + 1.4.2-09 もしくは 1.5 で、どちらの JRE でも起こります。

同様の症状が出たことがある方はいらっしゃいますか?
また、解決法もしくは対症療法的なやり方はありますでしょうか?
462デフォルトの名無しさん:2005/11/04(金) 10:26:47
>>455
胡散臭さ満載と思うのは俺だけ?
463デフォルトの名無しさん:2005/11/04(金) 10:41:03
>>462
世論調査に使うんだねw
464デフォルトの名無しさん:2005/11/04(金) 11:00:30
PBXリモート管理用のアプリじゃね? と好意的解釈してみるテスト
465デフォルトの名無しさん:2005/11/04(金) 11:56:29
俺俺アレ用だとしたらどうだろう
466デフォルトの名無しさん:2005/11/04(金) 12:07:58
>455
VisualC++ならRASを使ってできる。
467デフォルトの名無しさん:2005/11/04(金) 13:16:35
>>459
別にWindows限定ってことでもないけどね。
OS/2, Linux, AIX向けは存在する。
468456:2005/11/04(金) 14:10:00
どなたかご回答お願いします
469デフォルトの名無しさん:2005/11/04(金) 14:38:42
JavaScript初心者擦れどこー(AAry
470デフォルトの名無しさん:2005/11/04(金) 14:55:00
>456
>int koutai = 0;
>int haiti[][];
はactionPerformed内だけのローカル変数だからでしょう、おそらく。
メソッドの外では有効にならない。
471デフォルトの名無しさん:2005/11/04(金) 15:55:30
デスクやノートにかかわらずそれなりの性能のCPUなら、
メモリが1GBも積めばEclipseものすごく快適に使えますよ。
先月まで256MBで悪戦苦闘していた自分がバカみたいだったorz

皆、いちにちどれくらいプログラムを組むためにモニタの前に座ってるの?
私は5時間くらいなのだけど。と、板違いなことを尋ねてみるw
472デフォルトの名無しさん:2005/11/04(金) 16:38:44
マ板行け
473デフォルトの名無しさん:2005/11/04(金) 16:46:38
この3ヶ月は一日平均11時間
474デフォルトの名無しさん:2005/11/04(金) 16:49:03
JSPからブラウザの新しいウィンドウを最大化で開く事って可能でしょうか?
最悪、JavaScriptでもいいのですが・・・

初心者なので、全然わからなくって困っています。
どなたか分かる方いたら教えてください。
475デフォルトの名無しさん:2005/11/04(金) 16:55:13
JSPってクライアントの技術じゃなくてサーバーの技術だぞ
そしてJavascriptはスレ違い
476デフォルトの名無しさん:2005/11/04(金) 16:56:18
>>470
できたあああ!ありがとうございました!
二日間もウンウン唸ってたモノがやっと解消されました
477474:2005/11/04(金) 17:33:56
>>475
初心者大歓迎???
少しぐらいはやさしくしろよ。初心者なんだからさ。

なんでそんなに必死になってんの?
478デフォルトの名無しさん:2005/11/04(金) 17:38:03
479デフォルトの名無しさん:2005/11/04(金) 17:41:46
Javaで飯食ってるから必死なんだよ
480デフォルトの名無しさん:2005/11/04(金) 17:53:55
>>474
JavaScriptでやるしかないので別のスレ(多分別の板にあると思われ)で聞いてくれ
そもそもブラウザを限定しないとそんなことは不可能だと思うけどね
(タブブラウザだったらどうするのかとかいろいろあるし)
481デフォルトの名無しさん:2005/11/04(金) 18:33:08
>>474
無知な俺らにタダで教えてくれてるんだからそんな文句いうなよ
リアル社会じゃ金出すか恥かくかしないと人にモノ教えてくれないぞ
482デフォルトの名無しさん:2005/11/04(金) 18:44:21
ネットがリアルじゃないなんてどんな教育受けてきたんだ?
483デフォルトの名無しさん:2005/11/04(金) 18:55:26
.NETってアニメを見て・・・
484デフォルトの名無しさん:2005/11/04(金) 19:17:18
ネットがリアルでないと本当に思いこんでしまった人が、
掲示板で脅迫みたいな犯罪を犯すんだろうな。怖い世の中だ。
ネットもどう考えてもリアルだろ。嘘をつく必要がさっぱりわからん。
485デフォルトの名無しさん:2005/11/04(金) 19:56:24
ネットがリアルじゃないんじゃなくてネットにリアル感が持てないだろ?馬鹿じゃね
486デフォルトの名無しさん:2005/11/04(金) 19:59:38
ネットがリアルかどうかなんてのはリアルの定義次第でどうとでもいえる

といってみるテスト
487デフォルトの名無しさん:2005/11/04(金) 20:00:28
.NETは色んな意味で害悪だな
ってそれ.hackだろ
488デフォルトの名無しさん:2005/11/04(金) 20:02:10
>>487
面白くない
489デフォルトの名無しさん:2005/11/04(金) 20:03:04
>>474
JavaScript 最大化
でググるとかした?
490デフォルトの名無しさん:2005/11/04(金) 20:03:14
笑いにうるさい関西人登場
491デフォルトの名無しさん:2005/11/04(金) 20:09:14
>>488
発言の意図がわからない
492デフォルトの名無しさん:2005/11/04(金) 20:14:17
>>491
おまいに分かる訳ない
493デフォルトの名無しさん:2005/11/04(金) 20:15:57
>>492
つまりツンデレか?
494デフォルトの名無しさん:2005/11/04(金) 20:54:21
>>487
J(´へ`)しごめんね、母さん見たこともないのに知ったかぶりしてごめんね
495デフォルトの名無しさん:2005/11/04(金) 21:13:34
>>494
かあさんうるさいよ。だまっててよ。そんなんだからマザコンって虐められるんだよ
496474:2005/11/04(金) 21:23:16
ちょっと質問に来ただけなのに・・・
みなさん仲良くやりましょう!!!

(^o^)丿
497429:2005/11/04(金) 21:43:45
>>446
VMのデフォルトエンコーディングはどこで確認するのか教えてください。
って言ったら怒る?
OSX10.3.8です。
498429:2005/11/04(金) 21:57:01
後だしすまそ。
xcodeで書いて、ターミナルでjavacしてます。
ターミナルのデフォルトエンコーディングはUnicode(UTF-8)
で、javacしてエラーが出たら、そのエラーが文字化けするって感じです。
499デフォルトの名無しさん:2005/11/04(金) 22:03:18
-encoding オプションでなんとかならんの?
500デフォルトの名無しさん:2005/11/04(金) 22:06:36
>>429
InputStreamReaderのコンストラクタの引数にCharsetを指定して(ry
501デフォルトの名無しさん:2005/11/04(金) 22:07:07
>>498
シェルの表示文字コードの設定に問題がありそう
502デフォルトの名無しさん:2005/11/04(金) 22:27:47
おまえらのせいで.hackの再放送を見忘れたじゃねーか!
503デフォルトの名無しさん:2005/11/04(金) 22:28:20
504429:2005/11/04(金) 22:34:37
みなさん、ありがと。

>>503
ググれよとか言いながらも、代わりにググってくれてありがと。ビンゴでした。
Macは好きなんだが、OSXの最大の欠点はエンコードだと3年くらい前から思ってた。
javaだけじゃなくて色んなとこで文字化けする。英語でも。
505デフォルトの名無しさん:2005/11/04(金) 22:35:02
ム打つのの疲れた
シコって寝るわノシ
506デフォルトの名無しさん:2005/11/04(金) 22:54:18
普通なら assert でやりたいんだけど public メソッドだから RuntimeException を直書きしてるみたいな部分があるんだけど、
ココで RuntimeException にメッセージとして渡す文字列をプロパティファイルに分けておくのはどうかと思った。
普通なら絶対にお目にかかれないエラーメッセージだし、リテラル直書きでも問題ないんじゃないかとか。

以上、チラシの裏スマソ。
507デフォルトの名無しさん:2005/11/04(金) 22:58:56
チラ裏は読む前にわかるようにしろとあれほど(ry
508デフォルトの名無しさん:2005/11/05(土) 00:20:58
チラシの裏を書きます。

と書いてからくだらない内容は書くようにしろよ。
そうすれば読む人もすぐに内容がわかるから、
時間のない人は読み飛ばすし、
余裕のある人が暇つぶしに対応するからさ。
皆が皆、暇なわけではないのだから。
509デフォルトの名無しさん:2005/11/05(土) 00:44:16
>>508
> チラシの裏を書きます。

ココまで読んだ(・∀・)
510デフォルトの名無しさん:2005/11/05(土) 00:56:01
【Conference】 JavaOne Tokyo 【Event】
http://pc8.2ch.net/test/read.cgi/prog/1131068950/
511デフォルトの名無しさん:2005/11/05(土) 01:01:27
すみません、インストールするときにソースファイルが見つかりません、
というウィンドウが出てきます。解決法を教えて下さい。おねがいします。。
512デフォルトの名無しさん:2005/11/05(土) 01:42:41
DBから取得したデータを格納するオブジェクトと、そのオブジェクトを複数詰めたListについて、
たとえば、DBのテーブル構造をマッピングしたオブジェクトが

class Person() {
 private String name;
 private String age;
 public getName(){ return name; }
 public getAge(){ return age; }
}

として、このPersonのインスタンスを格納するコレクションがあったとした場合、
いわゆる「データモデル」として呼んでいいのは、コレクションに詰められた個々の
Personインスタンスなのか、それとも、コレクションそのものをモデルとして呼んでいいんでしょうか?
513デフォルトの名無しさん:2005/11/05(土) 01:55:18
マルチイクナイ
514デフォルトの名無しさん:2005/11/05(土) 02:09:05
ゴメンネ・・・
クラス名スレではスレ違いだと気づいたの・・・
515デフォルトの名無しさん:2005/11/05(土) 02:42:43
ねえねえP2PソフトをJavaで作ろうと思う人はいませんか?
Javaはネットワークにむいていると思うのにP2PソフトはどれもC++なんですよ。
何でだろう〜何でだろう〜Javaで組まないのは何でだろう〜?
516デフォルトの名無しさん:2005/11/05(土) 02:50:44
>>515
JavaのP2Pの基盤としてJXTAってのがあるからP2PやるだけならCやC++より簡単
ただ、どうしてもP2Pで受け渡したい物が容量がデカイ物だったり
ソース解析がされて通信がブロックされたく無いと言う心理が働いたりして
C++でやっとくかって思ってしまう辺りがJavaで作ろうとしない理由だろうな
517デフォルトの名無しさん:2005/11/05(土) 02:53:11
>>516
ああ、そうだったのか。疑問だったんですよ。
そう言う心理面が大きく働いていたんですね。ありがとう。
518デフォルトの名無しさん:2005/11/05(土) 03:45:53
>>515
つAzureus
519デフォルトの名無しさん:2005/11/05(土) 09:23:17
お早う御座います。
上の方でjamesに付いてお尋ねしたんですが
芳しい返答が無かったので諦めてconfig.xmlにちゃんと
データソースを定義する事にしたんですが・・・・
そこで今更ながら使ってるmysqlは使い勝手が今ひとつなので・・・
webやメールサーバと相性の良く使いやすいフリーのDBって
有るんでしょうか・・・?
良くjavaで書かれたHSQLDBとかを聞くのですが・・・・
使ってる方とかいらっしゃったら操作とかどんな感じか教えて
頂きたいのですけども
長分すいませんでした。
520デフォルトの名無しさん:2005/11/05(土) 10:34:36
>>519
HSQLDB良いんじゃね。テスト開発用にしか使った事無いけど
521デフォルトの名無しさん:2005/11/05(土) 10:58:44
HSQLDBはいいけど、マルチスレッドなサーバー環境だと
アプリ側が排他制御考慮しないといけないよ

クライアントサーバーや規模が大きくない限りHSQLDBでだいたいいける
522デフォルトの名無しさん:2005/11/05(土) 12:01:18
>>520,521
早速ご回答有り難う御座います。

独学でjavaを勉強してますので大規模な環境でも無いですので
HSQLDBを試してみようと思います。
accessでDBを編集したりするのでodbcデータソース出来れば
最高なのですが・・・・そこまでは望み過ぎかも知れませんけど


523デフォルトの名無しさん:2005/11/05(土) 12:03:33
後もう一つお聞きしたいのですが・・・
自分はDBを利用する時にwebはtomcatのデータソースを使ってて
メールサーバはjamesのデータソースを使うつもりなのですが
巷で良く聞くO/Rマッピング(Hibernate)とかの使い勝手ってどうなんでしょうか?
自分でちょっと調べた所に依ると結局はsqlを理解して無いといけない
らしいので覚えるのも大変そうなので敬遠してるのですが・・・・
O/Rマッピングって最初からオブジェクトをコレクションで取り出すみたいな
感じなんでしょうか?
実際に使ってらっしゃる方がいらしたら感触なんかを
教えて頂けますと大変有り難いのですが・・・・
重ね重ね長文すいません
524デフォルトの名無しさん:2005/11/05(土) 12:25:45
>>522
AccessのMDBはJavaから普通に開けるぞ
これもマルチユーザ未考慮なんでHSQLDBと同じく面倒なことが起きるのだが
それならばHSQLDBのほうがらくちんだね

ただ、HSQLDBってJDBC1までしか対応してなかったような気もする
525デフォルトの名無しさん:2005/11/05(土) 12:47:00
>>524
自分が不勉強なので良く分からないのですが
mysqlはodbcdriverが有ったのでaccessで開いて
編集出来るって意味だったのですが
HSQLDBってodbcデータソースでaccessで編集出来るでしょうか・・?
自分が調べた限りでは無理っぽいって書いて有った気がするんですが
もし可能なら日本語扱いにくいmysqlから速攻でHSQLDBに行くんですけど・・・・
まぁeclipseからHSQLDBのプラグインで編集しても良いでしょうが
やっぱりaccessの方が使い慣れてるので。

よく分かってないのに質問してすいません
もしアホな質問だったらすいません・・・・
m(_ _)m ペコリ
526デフォルトの名無しさん:2005/11/05(土) 14:34:14
JDBC関係のプラグインを探せばAccess並とまでは行かないがそれなりのプラグインがあるよ
527デフォルトの名無しさん:2005/11/05(土) 16:12:24
>>525
純正の WTP は? HSQLDB がいけるかは知らん。
まー、Access(ry
528デフォルトの名無しさん:2005/11/05(土) 16:19:48
OpenOffice Baseは?
529デフォルトの名無しさん:2005/11/05(土) 19:36:28
参考書を読んでいて、
Fooクラスといのが出てきたのですが、
Fooクラスについての説明が無く、どんな物なのかよく分かりません。
どこかに説明が載っているところありませんでしょうか?
ぐぐってみても、あまりいいのが見つからなかったです。
530デフォルトの名無しさん:2005/11/05(土) 19:49:11
>>529
自作クラスでしょ
531デフォルトの名無しさん:2005/11/05(土) 20:05:41
>>529
日本語の「ほげ」だよ。
532デフォルトの名無しさん:2005/11/05(土) 20:06:27
「フー」とか「バー」が通用する時代は終わったのだな。
やっぱ今は「ほげ」の時代か。
533529:2005/11/05(土) 21:09:10
そうだったんですね。
いくら探してもないはずですね。
534デフォルトの名無しさん:2005/11/05(土) 21:09:58
>>532
そう?Hogeじゃ足りないときはFoo Barだよ
535デフォルトの名無しさん:2005/11/05(土) 21:13:58
ふつー Hoge, Hage, Hege だろ。
536デフォルトの名無しさん:2005/11/05(土) 21:15:14
ふつーって何だよ、お前の世界はだろ?
537デフォルトの名無しさん:2005/11/05(土) 21:19:13
The Jargon Fileによれば、
" First on the standard list of metasyntactic variables
used in syntax examples (bar, baz, qux, quux, corge, grault,
garply, waldo, fred, plugh, xyzzy, thud)."
と書かれている

構文例に使用されるメタ変数で使う順番は
foo
bar
baz
qux
quux
corge
grault
garply
waldo
fred
plugh
xyzzy
thud

大概はfoo、bar、bazまでおぼえてりゃ間に合う
538デフォルトの名無しさん:2005/11/05(土) 21:20:06
>>535
それだと区別がつきにくい。
539デフォルトの名無しさん:2005/11/05(土) 21:40:23
540デフォルトの名無しさん:2005/11/05(土) 21:54:29
while (n != 1) {
System.out.print(n);
if (n%2 == 1) {
n = n * 3 + 1;
} else {
n /= 2;
}
System.out.print(" ");
}
System.out.print(n);
}
}

↑でnに0以下の数を入れると0の無限ループが起きてしまうので、
0になったらエラーと表示させて止めるには何をどう書き加えればいいでしょうか。
超初心者ですみません・・・。
541デフォルトの名無しさん:2005/11/05(土) 22:12:59
あれか。n > 0 の値に対して f(n) = 1 となる関数。

if (n <= 0) throw new Exception("エラー");
を一番初めに追加。
542デフォルトの名無しさん:2005/11/05(土) 22:51:39
>>525
EclipseのDbEditプラグイン
QuantumDBプラグインを使ってみるのはどうだろう?

とりあえずJDBCドライバさえあれば
どんなDBでもアクセスから読めるんじゃなかったっけ?
543デフォルトの名無しさん:2005/11/05(土) 22:53:56
>>541
それはユニットステップ関数(単位ステップ関数)か?
それともクロネッカーのデルタか?
544デフォルトの名無しさん:2005/11/05(土) 22:56:38
>>543
うろ覚えだから良く知らん。間違ってそうで実は恐いです ><;
545デフォルトの名無しさん:2005/11/05(土) 23:02:35
>>540
> 0になったらエラーと表示させて止める
if (n==0) {
 System.err.println("エラー");
 break;
}
546デフォルトの名無しさん:2005/11/05(土) 23:03:00
思い出した。角谷予想だ。っていうか関数じゃないなゴメヌ。
547540:2005/11/05(土) 23:41:48
>>545
それをどの位置に入れればいいのでしょうか。
最後(print(n);のあと)に入れたらエラー(identityがありません?)
が出てしまってダメでした・・・。
548デフォルトの名無しさん:2005/11/05(土) 23:47:20
コラッツ予想な
549デフォルトの名無しさん:2005/11/05(土) 23:54:53
>>548
コラッツ予想でも角谷予想でも、どっちでも良いみたいだよ?
550デフォルトの名無しさん:2005/11/06(日) 00:26:24
配列に{1,2.3〜}と50の値が入っていたときに
特定の数字を指定して
中身を最初からまでその数字までを残してそれ以降を切り捨てるメソッドって存在するのでしょうか?
551デフォルトの名無しさん:2005/11/06(日) 00:35:52
自分で作る。
552デフォルトの名無しさん:2005/11/06(日) 01:46:41
>>545
if(n != 0){
 while(n != 1){
  ...
 
の方が効率いいでしょ。毎回毎回0の判断したら大変じゃん
553デフォルトの名無しさん:2005/11/06(日) 02:31:01
マカーって本当に馬鹿だな。Java使わなくていいから。gccでCでも使ってろ。

P2PつーかネットワークプログラミングでJavaって重たいから敬遠されがち。
逆汗回避に曖昧化って手法も有るけどな。どちらもフリーでも商用でもツールが有る。
554デフォルトの名無しさん:2005/11/06(日) 08:24:01
今までの中では>>541が一番いいんじゃね。
理由はnが自然数であることは制約だから。
以下のようにassert文を頭におくのもいいかも。

assert n > 0 : "エラー";
555デフォルトの名無しさん:2005/11/06(日) 13:22:21
とある処理でホストネームの逆引きを行うネットワークプログラムを
アプレットで作成しました。ただ、ほとんど作成し終わって
実際にアプレットで動作させるとアクセス拒否されまくりました。
調査したところ、アプレットは配布サイト以外とは通信できないらしく
DNSサーバで逆引きを行うところでアクセス拒否が起こったようです。
(Eclipseで作成中はそんな制限が無かったので気づかなかった…)

とりあえず逆引きさえクリアできれば、なんとかなりそうなのですが、
何か上手い方法はないでしょうか。

※アプレット配布サイトでDNSサービスを動作させることはできないです・・・
※署名入り認証?もあまりやりたくないです・・・
556555:2005/11/06(日) 13:23:49
ちなみに現在は、InetAddress.getByNameで逆引きを行っています。
557デフォルトの名無しさん:2005/11/06(日) 13:31:05
>>555-556
アプレット配布サイトに名前解決用のWebサービスを作り、アプレットから利用するってのが正しいやり方かと

署名入り認証しても誰かわからないユーザーのアクセスが許されるようなグローバルなDNSなんか無いだろ
それともDNSを外部から利用可能な形で公開でもするの?
558555:2005/11/06(日) 13:36:09
>>557
ナルホドォ・・・そうなりますかぁ…
サーブレットなどが使用できないサイトなので、CGIでクエリで渡された
変数を逆引きする簡単なAPを作成します…

どうもありがとうございました。
559デフォルトの名無しさん:2005/11/06(日) 13:37:39
>>558
うっせー士ね
560555:2005/11/06(日) 13:42:39
>>559
お前こそ士ね
561デフォルトの名無しさん:2005/11/06(日) 13:44:51
>>555
聞きたいこと聞いたらその態度か
二度とくるな。このスレ汚しが
562555:2005/11/06(日) 13:49:32
>>561
名前も名乗らず、理由も述べずにイキナリ士ネと言うお前のほうがスレ汚し。
こちらはちゃんとありがとうございました。とお礼を述べている。
何をいきなりキレテイル?
563561:2005/11/06(日) 13:50:34
>>562
俺は559じゃないんだがな。
やっぱりスレ汚しだよ。おまえは。嵐をスルーできないんだから。
もうくるな。
564デフォルトの名無しさん:2005/11/06(日) 13:52:36
どうでもいいから仲良く喧嘩しな
565デフォルトの名無しさん:2005/11/06(日) 13:53:37
555は名前を名乗っているのか?すげー度胸あるな。
566555:2005/11/06(日) 13:56:20
>>563
うっぜー 俺をスルーできないならお前も同罪だ。
少なくともサゲて発言しろよ。ハゲ。

>>565
少なくとも555と名乗っている。
559とか561とかどれと同一人物かわかんねーだろ。
567デフォルトの名無しさん:2005/11/06(日) 13:58:45
555が切れたよ
ガキが暴れだしたよー
聞きたいこと聞いたらやりたい放題だな。
最近はやりのキティちゃんか?
568デフォルトの名無しさん:2005/11/06(日) 14:01:59
555を煽ってる奴らも消えろ。
569555:2005/11/06(日) 14:05:22
うっさいわぼけ
匿名でしか発言できないくせに偉そうな事言うな
570デフォルトの名無しさん:2005/11/06(日) 14:16:50
>>569
実名名乗ってみろよ。
555ってのは匿名だよ、お ば か さ ん
571デフォルトの名無しさん:2005/11/06(日) 14:22:56
555みたいな質問者がいるとスレの質が下がる予感
572デフォルトの名無しさん:2005/11/06(日) 14:43:45
  ∧_∧
 ( ´・ω・) ∫ うー、サブ
 //\ ̄ ̄旦\
// ※\___\
\\  ※  ※ ※ ヽ
  \ヽ-―――――ヽ
573デフォルトの名無しさん:2005/11/06(日) 15:32:44
まじ555ってサブすぎ
574デフォルトの名無しさん:2005/11/06(日) 15:38:08
935 名前: デフォルトの名無しさん [sage] 投稿日: 2005/11/06(日) 15:25:10
このsageない基地外なんか過去から全部同じ椰子じゃないかとまで思ってしまう。
(ネタがつまらんのが致命的にキモイ)
575デフォルトの名無しさん:2005/11/06(日) 16:42:19
おまえら大漁だな。
576デフォルトの名無しさん:2005/11/06(日) 16:58:28
セックスしたからあったかい(*^-^*)
577デフォルトの名無しさん:2005/11/06(日) 17:06:31
失礼します
ソースの構文解析を行うプログラムを作成しようとしているのですが
FileReader fr = new FileReader("good.c");
StreamTokenizer st = new StreamTokenizer(fr);
のようにして ファイルストリームからStreamTokenizerを利用する方法はよく見かけるのですが
StringオブジェクトをStreamTokenizerにかけるやり方はありませんでしょうか?
578デフォルトの名無しさん:2005/11/06(日) 17:09:51
Integer型とint型って何が違うんですか?
579デフォルトの名無しさん:2005/11/06(日) 18:16:10
>>577
StringTokenizer じゃダメな理由を聞いてから。
580デフォルトの名無しさん:2005/11/06(日) 18:18:25
>>578
オブジェクトとプリミティブの違い
581デフォルトの名無しさん:2005/11/06(日) 18:19:35
>>580
プリミティブってなーに?
582デフォルトの名無しさん:2005/11/06(日) 18:30:44
2分法により、3sin(x)+ln(x)=0 となるxを求めなければなりません。
とりあえずプログラムは作ってみたのですが、うまく作動しません。
助言をお願いします。
#include <stdio.h>
#include <math.h>
float f(float x);
float main(){
float a=0.1,b=M_PI,c;
int k=0;

while(fabs(f(c))>0.01){
k++;
c=(a+b)/2;
if(f(c)<0)
b=c;
else
a=c;
}
printf("Answer=%f\n",c);
printf("Number=%d\n",k);

}
float f(float x){
return (3*sin(x)-log(x));
}

583デフォルトの名無しさん:2005/11/06(日) 18:31:42
>>579
StringTokenizerは 特定のトークンで切り出すというメソッドですよね?
例えば
for ( int i = 0; i < 10; i++ )
なら 問題なくスペースをトークンとして切り出せるのですが
for(int i = 0; i<10; i++)
のように詰めた書き方もありますよね
この場合うまく切り出せないのではないかと思いました

あと StreamTokenizerのほうが 構文解析のためのメソッドが充実してないですかね?
584デフォルトの名無しさん:2005/11/06(日) 18:41:28
>583
じゃStreamでがんばれや
585デフォルトの名無しさん:2005/11/06(日) 18:49:26
>>583
あまり API をよく読んでいないが、
まあ StringReader くらいでも使えば
お望みのことが出来そうな気がする
586デフォルトの名無しさん:2005/11/06(日) 18:52:26
>>577
java.io.StringReader
587デフォルトの名無しさん:2005/11/06(日) 18:53:38
>>581
> プリミティブってなーに?
オブジェクトじゃないもの。値。
Java にプリミティブがあるのは、パフォーマンス(実用性?)とのトレードオフ
588デフォルトの名無しさん:2005/11/06(日) 19:00:00
>>582
ここはJavaスレなんで、答えは返って来ないと思うよ
589582:2005/11/06(日) 19:16:54
>>588
今気が付いた。ありがと。
590577,583:2005/11/06(日) 19:25:49
>>584,585,586
どうもありがとうございましたm(_ _)m
StringReaderで解決しました
591デフォルトの名無しさん:2005/11/06(日) 21:21:47
配列に{1,2.3〜}と50の値が入っていたときに
特定の数字を指定して
中身を最初からまでその数字までを残してそれ以降を切り捨てたいのですがどうすればいいのでしょうか?

また配列の中身が特定の数字よりも小さい場合もエラーにしたくないのですが
どうすればいいのでしょうか?
考えたのですがよくわからないので教えてください
592デフォルトの名無しさん:2005/11/06(日) 21:27:25
配列の大きさは変更できません。切り捨てたくても java ではできないのです。
593デフォルトの名無しさん:2005/11/06(日) 22:03:40
SQL発行するのにPreparedStatement使ってんだけど、
setIntみたいなプリミティブを引数にとるやつだと、Nullのはずが
DBにintとかの初期値が入るのが困ってます。
バリューオブジェクトのプリミティブの変数の値があるかないかの判断
ってどうやるのがスマートなやり方なんすかね?
やっぱバリューオブジェクトの変数をIntegerとかのラッパクラスに
しちゃうとかなのかなー。
エライ人教えて!

594デフォルトの名無しさん:2005/11/06(日) 22:07:13
Javaのアプリケーションの多重起動を防ぎたいのですが
2つ目以降の同じアプリケーションを起動できないようにするには
どうしたらいいんでしょう、教えてください

ひょっとして
プロセス間で共有できるオブジェクトとかがJavaにはあって、そういうのを
使うのでしょうか?
595デフォルトの名無しさん:2005/11/06(日) 22:09:12
>>550
>>591
> 中身を最初からまでその数字までを残して

意味が分からん。
596デフォルトの名無しさん:2005/11/06(日) 22:10:45
>591
何がしたいのかもう少しわかりやすく書いてくれ。
>また配列の中身が特定の数字よりも小さい場合もエラーにしたくないのですが
みたいな書かれ方をしても、どうなるとエラーになるかもわからないんだが。
もう少し上の仕様から書いた方がよりいい実装のアドバイスがもらえると思うが。

>>593
SQL文の項目からはずしときゃいいだけでしょ。
597デフォルトの名無しさん:2005/11/06(日) 22:17:53
ServerSocket使えば?
598デフォルトの名無しさん:2005/11/06(日) 22:42:11
>>597
はい
599デフォルトの名無しさん:2005/11/06(日) 23:06:40
>>595,596
失礼しました

判りやすく言えば
String[]に{1,2,3,4,5,6,7,8,9,10}があった場合
引数か何かでそれぞれ1,6を指定したときに
String[]をそれぞれ{1}、{1,2,3,4,5,6}にするようにしてあとは切り捨てたいのです
その場合切り捨てているので、上記の方法で配列の中身を{1}とした後に同じ方法で
引数に5を指定しても配列の中身は{1}しかないので{1}とします
またその時に配列の中身が1しかないのに5を指定しても
NullPointerExceptionにならないようにしたいのです

以上お願いします
600デフォルトの名無しさん:2005/11/06(日) 23:14:53
たった今、JDK 5.0 Update 5をインストールしたばかりの素人だけど質問。
\Java\jdk1.5.0_05\bin に javac が入ってなくて
PC内を検索しても見つからないんだけど、これで正常ですか?
コンパイラってjavacではないのですか?
変な質問ですみません。
601デフォルトの名無しさん:2005/11/06(日) 23:16:14
>>599
System.arraycopyのラッパーを作れ。
あと出来れば作文の練習をしたほうがいい。
602デフォルトの名無しさん:2005/11/06(日) 23:17:19
>>600 javacじゃなくてjavac.exeでしたとかそういうぼけはなしね。
603デフォルトの名無しさん:2005/11/06(日) 23:19:42
おれでさえ1.4なのになに1.5いれてんだよ、こいつ
604593:2005/11/06(日) 23:20:27
>>596
insert文なんだけど、int型の部分がかならず空なわけじゃないんですよね。
ケースによってクエリを切り替えるかな。
605デフォルトの名無しさん:2005/11/06(日) 23:22:44
>>599
単に現在の有効最大値を別に管理すればいいだけでは?
606600:2005/11/06(日) 23:23:02
>>602
その点は大丈夫です。
\Java\jdk1.5.0_05\binはプロパティで確認すると
ディスク上のサイズ: 19.3 MB
内容: ファイル数: 68、フォルダ数: 1
となっています。

>>603
1.5 には問題でもあるのでしょうか?
607デフォルトの名無しさん:2005/11/06(日) 23:27:03
>>606
俺んとこはファイル数 36 だが正常に動いてる
608デフォルトの名無しさん:2005/11/06(日) 23:52:53
>>606
イ一回アンインストールして入れなおしてみたらどうだろう
609デフォルトの名無しさん:2005/11/07(月) 00:03:46
Object[] obj = null; って配列があるんだけど、これを↓のメソッド2つの配列を結合したいのね。

Object[] funcA();
Object[] funcB();

obj = funcA() + funcB(); みたいにやりたいの。どうしたらいい?
610デフォルトの名無しさん:2005/11/07(月) 00:11:54
ArrayList<Object> list = new ArrayList<Object>();
for(Object obj : funcA()) list.add(obj);
for(Object obj : funcB()) list.add(obj);
Object[] obj = list.toArray();
611デフォルトの名無しさん:2005/11/07(月) 00:12:12
>>609
Object[] a = fancA();
Object[] b = fancB();
Object[] obj = new Object[a.length + b.length];
System.arraycopy(a, 0, obj, 0, a.length);
System.arraycopy(b, 0, obj, a.length, b.length);
612600:2005/11/07(月) 00:24:06
1.5をアンインスコ後、1.4.2_10 を入れました。
javacもあり、コンパイルと動作確認ができ、原因はわからないままですが一応解決しました。
どうもありがとうございます。
613デフォルトの名無しさん:2005/11/07(月) 00:26:39
>>612
1.5 入れろよ、今更 1.4 入れてどうする。
614デフォルトの名無しさん:2005/11/07(月) 00:40:42
>>611
うひょー!あんた天才だよ!そうか、こういうときにarraycopyか!あいしてるぜ!
615デフォルトの名無しさん:2005/11/07(月) 00:42:20
いまごろ1.4ってのはたしかにそうだ
>>603はただの荒らし
616デフォルトの名無しさん:2005/11/07(月) 00:43:01
>>613
まぁそりゃぁほら、仕事上の都合とかさ、あるんだろ
617デフォルトの名無しさん:2005/11/07(月) 00:43:07
>>609
Object[] obj = Arrays.asList(fancA()).addAll(Arrays.asList(funcB())).toArray();
618デフォルトの名無しさん:2005/11/07(月) 00:45:22
>>614
CollectionのaddAllも結局同じことしてんだよね
619デフォルトの名無しさん:2005/11/07(月) 00:45:46
あるインターフェースを実装したクラスを別途コンパイルしたものを
コンパイル済みのjarファイルから起動したアプリで取り込んで使うことはできますか?

つまり、プラグインみたいな仕組みにしたいんですが、どうすれば実現できますか?
620610:2005/11/07(月) 00:46:03
>>617
うはw Arrays.asList 使う手があったかw
621デフォルトの名無しさん:2005/11/07(月) 00:48:31
>>617
それじゃダメじゃないか?

List list = new ArrayList();
list.addAll(Arrays.asList(funcA()));
list.addAll(Arrays.asList(funcB()));
Object[] obj = list.toArray();

ならできるが。
622デフォルトの名無しさん:2005/11/07(月) 00:54:47
>>619
普通はURLClassLoaderを使って読み込む。ただどの程度自分が作る
プラグインシステムに機能を盛り込むかはあらかじめ考えておくこと。
複数のプラグイン間で依存関係をつくりたいとか、プラグインのバージョン
管理をさせたいとかネットワークアップデートさせたいとか予定している
なら、初めから既存のフレームワークを採用したほうがいい。
Oscarとかequinoxとかね。
623デフォルトの名無しさん:2005/11/07(月) 00:57:11
>>620
ArrayUtils.addAll(funcA(), funcB());
624デフォルトの名無しさん:2005/11/07(月) 01:05:07
>>623
commonsっすか('{}`(
625デフォルトの名無しさん:2005/11/07(月) 01:10:27
>>623
commons の ArrayUtils か。

ArrayUtils ってよく使われる名前だからねぇ。
公開されてない俺様ライブラリとかもあわせたら 100 とか 1000 とかありそう。
626デフォルトの名無しさん:2005/11/07(月) 01:12:58
>>611のやり方がベストだよ。
ArrayListのaddAllが確か同じ実装だったはず。
627デフォルトの名無しさん:2005/11/07(月) 01:16:49
>>625
StringUtils よりはマシだけどな。
前に今まで commons 使ってなかったプロジェクトに導入させたは
いいが、クラス名が競合してあれだった。

これからのプロジェクトで独自にユーティリティ作るときは
*Utils ではなく *Util みたいにかぶらない名前にしたほうがいいな。
628デフォルトの名無しさん:2005/11/07(月) 01:18:36
ふと思ったんですけど、

class Sample {
    public int a = 0;
    public int b = 0;
    public boolean equals(Object obj) {
        return obj instanceof Sample && ((Sample)obj).a == a;
    } 
}

みたいに、一部の public メンバだけに注目して equals 判定するのって、よくあること?よくないこと?
629デフォルトの名無しさん:2005/11/07(月) 01:20:56
>>627
プロジェクト名の略称を取ると被らんよ。
ABCStringUtilsとか。
630デフォルトの名無しさん:2005/11/07(月) 01:58:17
>>629
そういえばうちもプロジェクト名の頭文字つかてるな。CStringUtilsみたいな。
staticメソッド多いから、クラス名は極力短めにして欲しいところだけど
631デフォルトの名無しさん:2005/11/07(月) 03:38:03
>>628
hashCode のオーバライドも忘れずにな
632デフォルトの名無しさん:2005/11/07(月) 10:05:08
>>628
一部のフィールドのみでequals判定するってことは
「オブジェクト内の値が同じ」って事を判定してるのではなく
「ビジネス/アプリロジック的に等価とみなせる」 って意味になると思われる。
違う場合もあるだろうけど。

別にダメじゃないと思うが、俺はロジックは別のヤツに判定させたい感じ。
633デフォルトの名無しさん:2005/11/07(月) 10:19:15
質問です

Swingなどでトグルボタンを押すイベントが発生したときの処理で
押したボタンが選択されたかを示すisSelected()とイベント発生によって呼び出される
isStateChanged(),actionPerformed()の順番というのは常に同じなのでしょうか?
634デフォルトの名無しさん:2005/11/07(月) 10:39:02
>>610
それやるんだったらaddAll(Connection)
つかったほうがよくね?
635デフォルトの名無しさん:2005/11/07(月) 10:39:31
Collectionの間違いだった
636デフォルトの名無しさん:2005/11/07(月) 10:39:58
>>634
[1] Connection って何?
[2] 配列は Collection だっけ?
637デフォルトの名無しさん:2005/11/07(月) 10:43:28
すでに>>617-618が同じ事言ってた
レスを上から眺めていたので気づかなかった
638デフォルトの名無しさん:2005/11/07(月) 10:47:41
>>622
> >>619
> 普通はURLClassLoaderを使って読み込む。ただどの程度自分が作る
> プラグインシステムに機能を盛り込むかはあらかじめ考えておくこと。
> 複数のプラグイン間で依存関係をつくりたいとか、プラグインのバージョン
> 管理をさせたいとかネットワークアップデートさせたいとか予定している
> なら、初めから既存のフレームワークを採用したほうがいい。
> Oscarとかequinoxとかね。
Oscarで検索したらトップに女の子四人組アーティストがでてきた。

ほかにOSCARアライアンスとか

できればURL教えてほすぃ

Eclipseに使われているプラグインフレームワークと
どっちがいい?
639デフォルトの名無しさん:2005/11/07(月) 11:29:15
>>523
O/Rマッピングなら、専用スレあるよ。

Java⇔RDBのMapping-Frameworkを語るThre Vol.3
ttp://pc8.2ch.net/test/read.cgi/tech/1090653286/
640デフォルトの名無しさん:2005/11/07(月) 12:35:12
>>638
ttp://oscar.objectweb.org/
ttp://oscar-osgi.sourceforge.net/

Eclipseのプラグインフレームワークは、3系になって仕様が変わっていく途中なのと
何しろ厳格なんで、フレームワークを使うだけで結構な作業だよ。
いい出来だとは思うけど。
641640:2005/11/07(月) 12:37:16
補足
Eclipseフレームワークも、適当に使うだけならそんなに大した作業じゃない。
でも、拡張ポイントとかの使用例が見つからないような場合は
ソース追いかけまくりの事態になる。 結構大変だ。
642デフォルトの名無しさん:2005/11/07(月) 14:11:55
Javaを6月から始めた初心者です
分からないことがあって困っています
ので諸先輩方のアドバイスお願いします

Javaでユーザーと対話的にやり取りを行うプログラムを書こうと思っています
このプログラムではフレームを継承した,全部で4つのUIを
ユーザが入力を終えるごとに順番に提示するつもりなのですが

Aフレームを入力し終わってからBフレームを表示
Bフレームを入力し終わってからCフレームを表示
・・・

という今のフレームが閉じられてから次のフレームを表示するという部分がうまく書けずに困っています
今はWindowListenerでフレームが閉じるごとに表示する方法は考え付いたのですが
この方法は間違っていますでしょうか?
また,他に何か良い方法がありましたらアドバイスお願いします
643デフォルトの名無しさん:2005/11/07(月) 14:17:33
普通に次へのボタンクリックのイベントでいいような

パネルを使ってウインドウを使いまわしてもいい
644デフォルトの名無しさん:2005/11/07(月) 16:30:06
毎週末荒れるのはデフォなんだろうか。
645デフォルトの名無しさん:2005/11/07(月) 16:30:51
>>638
そのEclipseのプラグインフレームワークのベースになっているのが
Oscarといっしょに挙がってるequinox。Oscarと同じくOSGiの実装系。
OSGiレベルで実装するか、Eclipseプラグインのレベルで実装する
かは要件によると思う。分散アプリケーションを考えないなら
プラグインレベルのほうが資料多いしいいかな。

>>640-641
org.eclipse.core.runtime.Application以外に既存の
拡張ポイントを利用するわけじゃないからそんな手間でも
ないと思うよ。資料にしてもEclipse contributionシリーズ
みたいな定番本は軒並み3.x対応してる。
646デフォルトの名無しさん:2005/11/07(月) 16:55:26
JDBCでconnectionやstatementのclose()は
何か処理を行うたびに閉じたほうがいいんでしょうか?

それともプログラムの終了時に閉じるべきでしょうか?
647デフォルトの名無しさん:2005/11/07(月) 17:19:59
>>645
特定の技術に縛られたくないという場合は多いからプラグインじゃないほうが楽かも
バージョンアップのたびに苦しむ可能性あり


>>646
案件しだい
648640:2005/11/07(月) 17:20:17
そういうものは可及的速やかに閉じるべき
649640:2005/11/07(月) 17:24:41
途中で送っちゃったよ

>>645
3.0 -> 3.1 でも、ちょこちょこ変更あるよ。
そーいやApplication以外の拡張ポイントを使わないのは、ほとんど
Eclipseである必要が無いような気もするのだが。

>>646 追記
カーソルとか保持したい時はすぐ閉じられない場合もあるけど
650デフォルトの名無しさん:2005/11/07(月) 17:51:22
>>643
有難うございます

変に難しい方向に考えすぎていたみたいです
目が覚めました
651デフォルトの名無しさん:2005/11/07(月) 18:22:33
>>649
プラグインシステムを組み込むのにEclipse Runtimeを
使うだけだから、Runtime以外のorg.eclipse.*が提供する拡張ポイント
を使う要件なんてないよね。このレベルだとRuntime/OSGi API直叩きだよ。
それにここで3.0->3.1の変更はまったくといっていいほどない。
別にRCPレベルで組みたいって話じゃないんだから。せいぜい
ネットワークがらみで楽するのにorg.eclipse.update.coreを使うか
使わないかぐらい。
確かにEclipseでなければならない必要はないけど、Oscarみたいな
素のOSGiを使うなら、もう一枚薄皮かませたほうが楽って話なんだけどな。
SMFみたいにベンダーサポートあるとか別の理由があるなら別だけど。
652デフォルトの名無しさん:2005/11/07(月) 19:02:33
上の方でjamesに付いて訪ねてた者です。
お答え本当に有り難う御座います。
>>528
OpenOffice Baseって何気に良さそうですね。
でも自分はlinuxじゃ無いのでwinxphome・・・・accessも入ってますし。
やっぱwindowsでプログラムするなら.netでjavaするなら
linuxの方が良いのでしょうか・・・・・
>>542
eclipseのDBプラグインでDbEditとclayは入れてます。
DbEditはちょっとした確認とか変更には本当に便利ですが
データを入れるのには不便ですね。
clayは自在に使いこなせるほどDBにはまだ詳しくないです(汗
>>639
有り難う御座います。
調べてみます
653デフォルトの名無しさん:2005/11/07(月) 23:27:43
>>646
Tomcatを使っているなら
server.xmlにデータソースの設定を
しておくと
設定次第で閉じる必要がなくなるぞ。
654デフォルトの名無しさん:2005/11/07(月) 23:30:33
Mavenのスレをム板に立て直すべきか検討中です。

マ板にて以下のスレがありましたが過疎化しているのか、
それともMavenに対する人気がないのか、
たまたまだれも築かなかったのか
レスが少なく情報交換としても貧弱な状況です。

ム板にスレを立て直すべきでしょうか?
皆さんの意見を聞いてみたいところです。

【玄人】我が名はプロジェクトマネージャーMaven
http://pc8.2ch.net/test/read.cgi/prog/1090129578/
655デフォルトの名無しさん:2005/11/07(月) 23:47:00
>>653
それは念のための防衛策であって、その設定があることを前提に実装するものではないと思うけど・・・
>>646
基本的にはトランザクションが終わるたびにコミット/ロールバックしてクローズ。
Webアプリだと「プログラムの終了」はコンテナの停止を意味する。
656デフォルトの名無しさん:2005/11/07(月) 23:50:37
Java初心者です 質問させてください

JSPファイルをブラウザで読み込み、
そこに貼られたリンクをクリックすることにより、

ソケット通信で、ある特定のJavaアップレットに
文字列を送信するような仕組みを作ろうとしているのですが、
どのような手法をとるのが一番シンプルでしょうか?


陳腐な質問ではありますが、どなたかご教授くださいm(__)m
657デフォルトの名無しさん:2005/11/08(火) 00:05:52
よくわからんけど
JSPをコンパイルしたもんが吐き出すHTMLをブラウザが読み込んで、
その中のリンクをクリックしたらXmlHttpでアプレット(=サーバ?)に文字列を送信するってことかね?
あるいはブラウザのリンクがクリックされたのを検出して、localhostにソケットを投げるってことかね?
658デフォルトの名無しさん:2005/11/08(火) 00:06:06
JSPということはサーバーサイドもコントロールできるということからして
技術的にソケット通信がよく分かってないみたいだから
HTTPつかったほうがいいんじゃないの?
659デフォルトの名無しさん:2005/11/08(火) 00:07:49
jarファイルをダブルクリックで起動する方法を教えてくだされ。
660デフォルトの名無しさん:2005/11/08(火) 00:07:59
JSPがサーバサイドで動作するものだということがわかってないと思われます。
661デフォルトの名無しさん:2005/11/08(火) 00:08:45
もしかしてみんなMaven知らないの?
662デフォルトの名無しさん:2005/11/08(火) 00:10:38
50個ものプロジェクトを管理している場合に有効みたいな宣伝されても
ingで開発するのは精々2,3なんですが(^^;ってなって触ってない<Maven
663656:2005/11/08(火) 00:23:42
>>657,658
さっそくのアドバイスありがとうございます

今現在、ローカルネットワーク内にTomcatを使ってサーバを立て、
同ネットワーク内に接続されたPCのブラウザで
サーバ内のJSPを読み込み(JSPが吐いたHTMLといったほうが正しいのでしょうか・・・)、
そのリンクをクリックしたことを認識して、
それに相当する文字列を、同ネットワーク内の別のPC上で動いている
Javaアッププログラムに通知する仕組みを作ろうとしています

無知まるだしな文章でごめんなさい


>>658,660
おっしゃるとおり、勉強不足です。。。すいません
664デフォルトの名無しさん:2005/11/08(火) 00:25:07
サーバーとアプレットと通信したいってことでしょ?
665656:2005/11/08(火) 00:33:13
>>664
そういうことなんですが、例えば

■リンクA■
■リンクB■
■リンクC■


↑これをクリックしたら、Aをクリックしたときは「A」、Bをクリックしたときは「B」を
アップレットに送信する方法を知りたいのです
666デフォルトの名無しさん:2005/11/08(火) 00:34:56
リンク自体をアプレットで書いちゃえば良いのに
667656:2005/11/08(火) 00:37:09
そうすると純粋なリンクではなくなっちゃいます?
できるだけ軽量に動かしたいという目的があるので、
アップレットは使わずにリンクで行いたいのです

手間おかけしてしまってすいません;
668デフォルトの名無しさん:2005/11/08(火) 00:43:10
リンクの飛び先をアプレットを起動するJSPにして、<applet>タグの<parameter>をJSPで作成する。
669デフォルトの名無しさん:2005/11/08(火) 00:46:38
JSP は、クライアントマシンから見れば通常の HTML となんら違いは無いことに注意。
普通の HTML ファイルのリンクをクリックしたあと、どうやって送信するか考えないと。

リンクをクリックした後のクエリーを Tomcat 側で読み取って、予め接続状態で待機していたアプレットに送信する。
その間をどうするかは知らない。俺は JSP 使ったこと無いし。すまん。
670デフォルトの名無しさん:2005/11/08(火) 00:47:00
アプレットってなんだか分かってないような気がする
671656:2005/11/08(火) 00:48:14
リンク先ごとにアップレットを用意しなければなりませんか?
それとも、1つ共有のアップレットを作って、
起動時にパラメータを渡し、送信させる文字列を変えるというものでしょうか?
672デフォルトの名無しさん:2005/11/08(火) 00:48:43
>>662
> 50個ものプロジェクトを管理している場合に有効みたいな宣伝されても
> ingで開発するのは精々2,3なんですが(^^;ってなって触ってない<Maven

ing? 現在進行形で開発するという意味?

MavenはJakarta系のAPIを自前でダウンロードしなくても
WindowsUpdateやEclipseのアップデートマネージャのように
必要なものを自動でダウンロードインストールしてくれるから楽でいいよ。
厳密にはMaven1.0の時点ではある程度手動で<dependency>タグを設定
しないといけないけど。
チームで開発しているとき、かなり重宝する。
JARファイルのアップデートを強制することなくproject.xml(2.0ではpom.xml)
を一ヶ所弄ったものをチームメンバーに配布するだけで必要な最新版JAR
のアップデートを容易に実行できるのも利点。それによりJARアップデート忘れ
という人的のミスも減る。
過去や未来の自分もチーム内の別人だとしたらかなり有効。

様々なゴールが容易されているためTomcatへのデプロイが容易な点も見逃せない。
プラグイン拡張もできる。Javadoc、さまざまなフォーマットのレポート生成、
JUnitによるテストの自動化のほか、プロジェクトサイト自動生成までもある。
EclipseなどのIDEとの連携用ゴールも用意されている。
(Eclipse側でもMaven Workshopプラグイン、Mevenideプラグイン、Maven Repo Searchプラグイン
というものが用意されている。ただし、今のところMaven2.x対応は無し)

README.TXTなどを管理してくれる機能とかも面白い。CVSとの連携もでき、
プラグイン拡張によってSubversionプラグインによってSubversionを使うこともできるってことが可能。
内部ではAntを使って動いているのでAntでの命令記述も可能。ほかにJellyでも記述可能。
新たにオープンソースプロジェクトを
立ち上げるときにも重宝するかも。
673デフォルトの名無しさん:2005/11/08(火) 00:49:14

50ものプロジェクトでないと有効ってことは無いと思う。
というかそういう話は初耳。
674656:2005/11/08(火) 00:50:01
すいません 671は>>668さんへのレスです

>>669
そのクエリをTomcatで読み取るというのは
具体的にどのようにするのでしょうか?
675デフォルトの名無しさん:2005/11/08(火) 00:52:47
Mavenって楽をするために苦労するというよるJavaでありがちなプロジェクト

と思ってたんだが
EJB2みたいな
676デフォルトの名無しさん:2005/11/08(火) 00:58:02
EJBよかは簡単だと思う。
いままでAntでやっていた面倒くさい設定が
すくなくなり楽になると思う。

なんといっても魅力的なのはJARの自動アップデートと
プロジェクトサイト自動生成、テストレポート自動生成だね。

これで客や上司に提出する仕様書や納品書を作る手間が省ける。


677デフォルトの名無しさん:2005/11/08(火) 00:58:08
>>674
これこれ
ttp://www.rsch.tuis.ac.jp/~nagai/SYS/SYS12.html

んで、リンク先の URL を "http://ほげほげ/sendto.jsp?url=LinkA" みたいにしておけば、
どのリンクをクリックして sendto.jsp をリクエストしたのか分かる。
678656:2005/11/08(火) 01:07:53
>>677

ありがとうございます!ようやく理解してきました


最後にもう1つお願いしますm(__)m

取得したクエリをアップレットに送信する
という部分は、どのように実現するのでしょうか?
679デフォルトの名無しさん:2005/11/08(火) 01:10:22
>>678
ごめん。俺は分かんない。

俺なら Tomcat 経由させない。
アプレットと接続し、ブラウザからのリクエストを受け付けて送信するサーバを作っちゃうかも。
680668:2005/11/08(火) 01:10:51
>>671
YES

TomcatのサンプルのなかにJSP-Applet連携があるから見てみるとよさげ
681デフォルトの名無しさん:2005/11/08(火) 01:14:20
ん? なんか >>680 と俺の考えが合わない気がする。
アプレットは別 PC 上で既に動いているんじゃないの?
682デフォルトの名無しさん:2005/11/08(火) 01:15:13
>>678
<jsp:plugin>多具<jsp:params>多具<jsp:param>多具を使う
683デフォルトの名無しさん:2005/11/08(火) 01:16:51
>>681
べつにappletを作る分けじゃなく
ただ呼び出すだけならどうだってええような気がする。
applet事態をURLで直接指定することってできなかったっけ?
684デフォルトの名無しさん:2005/11/08(火) 01:17:01
>>676
普通の人はIDE使ってるからAntであることを意識しないのでは?
意識してる時点でだめだめかも
685デフォルトの名無しさん:2005/11/08(火) 01:21:33
>>683
applet 自体は html に埋め込まないといけなかった筈。
686656:2005/11/08(火) 01:23:05
うー、みなさんの親切さに涙がでそうです;

>>679
ブラウザからリクエスとを受け付ける場合は、
テキストファイルなどに一回中継させて行うのでしょうか

>>680
ありがとうございます 見てみます

>>682
ググってみたのですが、具体的にどのようなもかわかりませんでした
すいません

>>683
それができると非常にシンプルに解決するのですが、どうなのでしょうか
687679:2005/11/08(火) 01:27:01
>>686
ちょっと確認させてくれ。なんか俺だけ違うこと考えていそうで恐い。

[1] リンクを PC1 にてクリックする
[2] クリックされたことを、PC2 で動作中のアプレットに送信する

やりたいのはコレだよな?
688656:2005/11/08(火) 01:35:31
>>687
はい、そうです
689デフォルトの名無しさん:2005/11/08(火) 02:09:01
656はまず日本語勉強してくれ
690デフォルトの名無しさん:2005/11/08(火) 02:20:10
>>687
それって単純にサーバからアプレットへ通信するのはどうするんですか?と
リンクを押されたらサーバサイドでプログラムを実行したいのですがどうしたらよいですか?
の組み合わせってだけだな

サーバからアプレットに通信するのは面倒なので、定期的にアプレットからサーバに接続して読みに行く方が楽だな
691デフォルトの名無しさん:2005/11/08(火) 03:52:13
1byte 符号無しの配列データに関してですが、
0x80を超えるデータの場合、下記のように(byte)でキャストすれば良いのですが
これだとあまり、綺麗なソースとはいえませんし面倒です。

byte a[] = { (byte)0x00,(byte)0x01,(byte)0xa0 };

C言語で言うunsignedのような指定は出来ないのでしょうか?
692デフォルトの名無しさん:2005/11/08(火) 06:26:28
byteが符号付きで嬉しかったことなど一度もないねえ。
unsignedは存在しないので、要素数が偶数だったら

byte[] a = "\u0001\ua000".getBytes("UTF-16BE");
693デフォルトの名無しさん:2005/11/08(火) 10:09:02
ビーン使いまくりのフレームワークで
文字列の長さを簡単に取得したい場合、
($var に String インスタンスが格納されるとして、$varr.length すると、
「length? そんなフィールドはねえよ」と怒られるフレームワーク)
通常はどのような手段を取ればよいのでしょうか?
694デフォルトの名無しさん:2005/11/08(火) 10:26:06
>>686
> >>682
> ググってみたのですが、具体的にどのようなもかわかりませんでした
> すいません
<jsp:plugin>が<applet>タグや<object>タグに相当するものになるんだよ。
<jsp:plugin ここにアプレットのファイル名などを書く>
 <jsp:params>
  <jsp:param name="名前" value="うんこ"/>
  <jsp:param name="重さ" value="40"/>
 </jsp:params>
</jsp:plugin>
みたいなコードをJSPに書く。
Applet側がgetParameter()で「名前」「重さ」パラメータを受け取れるように作られてないと
パラメータは向こうになるけど。
695デフォルトの名無しさん:2005/11/08(火) 10:31:06
>>684
IDEの機能に不満があるとき、物足りないときAntも使うもんだぜ。
コマンド一発で複雑な処理を一括して実行できるのがいい。
Antではその<target>を自分で記述して自作しないといけないが、
Mavenだとゴールという名前でアル程度一通りの自動化処理が
揃っている。

EclipseにもAntを簡単に使える機能があり
マウス一発で定義したtargetを即座に実行できる。

Eclipse対応のプラグインとしてMevenide, Maven Workshop, Maven Repo Search Plugin
といものもありEclipseとの併用もある程度容易にできる。

696デフォルトの名無しさん:2005/11/08(火) 10:34:23
>>684
IDE使えない環境に立たされたとき困るので
ant4eclipseも使えると楽かもしれない。
Eclipseの設定を即座にAntのbuild.xmlファイルに変換してくれる。
クラスパスの設定とかが自動化されてかなり楽だ。

Eclipseの設定をAntビルドスクリプトに反映させるant4eclipse公開
http://pcweb.mycom.co.jp/news/2005/07/12/016.html

Ant4eclipse
http://ant4eclipse.sourceforge.net/

まだまだ未完成品のように見えるが・・
697デフォルトの名無しさん:2005/11/08(火) 10:36:57
>>693
物凄い超能力を要求する質問だな

そのフレームワークとやらは自作なのか? だったら取得出来るように作る。
既存の一般的なものなら、ドキュメント読む。
$var.length で "length" をフィールドとして認識してるんなら、
後ろに()付けるとか、"."以外の接続子でgetterを呼ぶとかあるんじゃねーの?
698デフォルトの名無しさん:2005/11/08(火) 10:45:26
Javaでは$が最初に付く変数名使えるんだな
699デフォルトの名無しさん:2005/11/08(火) 10:58:15
平たく言うとvelocity... 詳細ほったらかしてごめんなさい。
700デフォルトの名無しさん:2005/11/08(火) 11:21:06
>>698
そうだっけ?それって内部クラスで使う記号じゃなかった?
701デフォルトの名無しさん:2005/11/08(火) 11:32:17
>>699
ttp://www.jajakarta.org/velocity/velocity-1.3.1/docs-ja/vtl-reference-guide.html
バージョン古いから、より正確に知りたければ最新版の英語doc嫁
702デフォルトの名無しさん:2005/11/08(火) 12:33:59
>>694
ant4eclipseのbuild.xml生成は実用できるレベルじゃないよ。
参照関係のネストにちゃんと対応できてないし。
それより最近のEclipseIDE自体はプロジェクトの
設定をbuild.xmlを生成できるようになったから
そっちのほうがいい。
703デフォルトの名無しさん:2005/11/08(火) 12:54:23
applet開発中で
サンドボックス内で使用出来ないAPIの詳細を知りたいのですが、
どこかに仕様書見たいのはないのでしょうか?
ググっても「ローカルの資源にアクセスできない」というような
抽象的なものばかりで見つけられません。
具体的にどのクラスやAPIが使えないのかを知りたいのですが。
704デフォルトの名無しさん:2005/11/08(火) 13:41:10
705703:2005/11/08(火) 14:25:24
>>704
ありがとうございます。
取得できるSystem Propertiesとかも載っていて、かなりいい感じです。

sunにありそうとは思っていたんですが、見つけられなかったのです…。
Developers Home > Products & Technologies > Java Technology > Learning >
と辿っていけばよかったんですね。
706デフォルトの名無しさん:2005/11/08(火) 14:29:16
大学でJavaをやっている方、教本は何を使用していらっしゃいますか?
707デフォルトの名無しさん:2005/11/08(火) 14:58:28
スレッドをボタンイベント等で一時停止してまた再開させるということをしたい場合どうすればいいんでしょうか?
708デフォルトの名無しさん:2005/11/08(火) 16:19:48
そのスレッドにとまれと命令を送る
スレッドはそれを見て自主的にとまる
709デフォルトの名無しさん:2005/11/08(火) 16:28:22
jdk1.5でJFrameやJDialogにaddする場合に、getContentPane()を書く時と書かない時で違いはある?
710デフォルトの名無しさん:2005/11/08(火) 16:37:13
ない

711デフォルトの名無しさん:2005/11/08(火) 18:01:08
>>708
addImpl() の実装による。デフォルトでは getContentPane() と同じ。
712デフォルトの名無しさん:2005/11/08(火) 18:44:16
class teststr{
public static void main(String args[]){
String[] c = new String[]{ "00", "00" };
if(c[0] == c[1]){
System.out.println("1");
}
System.out.println(c[0]+"\t"+c[1]);
c[0] += "1";
c[1] += "1";
System.out.println(c[0]+"\t"+c[1]);
if(c[0] == c[1]){
System.out.println("2");//ここが表示されまシェンムー
}
}
}

なぜなぜ?
713デフォルトの名無しさん:2005/11/08(火) 18:47:37
あげておきます。
714デフォルトの名無しさん:2005/11/08(火) 18:47:40
>>712
FAQ
715デフォルトの名無しさん:2005/11/08(火) 18:51:15
>>712
if(c[0] == c[1])
なんてやってるから
716デフォルトの名無しさん:2005/11/08(火) 18:52:11
Linux上のJDK1.4.2で旧漢字を扱いたいのですが、

String str = ""

として入っている「はしごたか」などの旧漢字を、ファイルに出力するには
どんな変換すればいいんでしょう?
ファイルには、utf-8などで出力できればいいのですが。

BufferedWriter bw = new BufferedWriter(new FileWriter(new File(filename)));
bw.write(str);

で書き出すと、全部"????"と化けてしまいます。
書き出された文字コードは、3Fなので、"?"に化けている模様です。
717デフォルトの名無しさん:2005/11/08(火) 18:53:01
>>714
FAQ見たんですがどれも違うかな、って思って。参照型とかのやつですか?

>>715
ではどうすれば??
718デフォルトの名無しさん:2005/11/08(火) 18:53:27
>>712
if(c[0].equals(c[1]))
ではダメ?
719デフォルトの名無しさん:2005/11/08(火) 18:57:21
>>718
できました〜!
720デフォルトの名無しさん:2005/11/08(火) 19:01:24
TextAreaを読み取り専用にするにはどうするんですか?
721718:2005/11/08(火) 19:05:41
>>719
なぜできなかったかを理解しないと、多分、また同じことやると思うから、
==とequalsの違いを調べてみてね。
722デフォルトの名無しさん:2005/11/08(火) 19:11:52
>>721
どうもありがとう。調べてみました。
http://www.atmarkit.co.jp/fjava/onepoint/java/jv14.html
やっと納得です。
723デフォルトの名無しさん:2005/11/08(火) 19:31:44
xercesc

これってカタカナではなんて読むんですか?
エクセセスク?
724デフォルトの名無しさん:2005/11/08(火) 19:34:02
Xerces じゃないの?
ザーシス、とかザーシースとか。
725デフォルトの名無しさん:2005/11/08(火) 19:39:03
エグゼドエグゼスまたは、ゼクセクス
726デフォルトの名無しさん:2005/11/08(火) 19:58:13
727723:2005/11/08(火) 20:22:19
おおお、サンクス
スペルが間違ってたら、検索しても見つからんわなorz
728デフォルトの名無しさん:2005/11/08(火) 20:31:51
Javaでstrutsによく似たフレームワークがたくさんあるけど、
何が一番開発効率が高いですか?
できれば習得の容易なもので。
729デフォルトの名無しさん:2005/11/08(火) 20:47:53
日本語文献が多い奴でいいんじゃない?
トラブった時に調べるの容易な奴がいい
730デフォルトの名無しさん:2005/11/08(火) 21:04:19
PrintWriterクラスにflushメソッドがあるんですけど,
これってなんですか?
フラッシュするって書いてありましたけど
フラッシュするってどういう意味ですか?
731デフォルトの名無しさん:2005/11/08(火) 21:14:06
>>730
ある特定の入出力には「バッファ」というものがあって、一度に扱うんじゃなくて
バッファに貯めつつ入出力していくというやり方をするものがあるんだな
で、もういいからバッファに残ったデータを全部処理してくれというのがフラッシュ
732デフォルトの名無しさん:2005/11/08(火) 21:19:39
>>716
デフォルトエンコーディングを使うのではなく、明示的に
UTF-8を指定して出力する。
733デフォルトの名無しさん:2005/11/08(火) 22:27:54
>>702
Eclipseが自動生成するbuild.xmlは
絶対パスを使っているのが解って以来
使う気にはなれなくなったな。

というか漏れは自力で書いているのでEclipseの自動生成は今のところ要らない。

それにMavenを使ってもっと楽にさせている。

734デフォルトの名無しさん:2005/11/08(火) 22:31:37
>>716
> String str = ""

そもそもこれは「はしごたか」なの?
Unicodeで2文字だよなコレ。
735デフォルトの名無しさん:2005/11/08(火) 22:33:19
今日JavaOneに行ってきたんだが

虎の穴で有名なスキンヘッド櫻庭の
「Mustangを乗りこなすポイントを紹介します」セッション
で櫻庭氏がMustangサイト「じゃじゃ馬馴らし」を
セッション開始前にFTPでアップしたと言っているのだが、
櫻庭氏のサイトを見ても見つからない。

だれか見つけたら
【Java】次世代Java・J2SE1.6の動向【Mustang】
http://pc8.2ch.net/test/read.cgi/tech/1081698555/
にレスしてくれるとありがたい〜


では
736デフォルトの名無しさん:2005/11/08(火) 22:38:42
>>734
String str = ";
737デフォルトの名無しさん:2005/11/08(火) 22:41:22
>>716は高島屋に関するサイトを作る案件を受け持ってるのか?
738デフォルトの名無しさん:2005/11/08(火) 22:45:18
>>733
絶対パスってまじか
なんでEclipseはそれなおさないのだ
739デフォルトの名無しさん:2005/11/08(火) 23:19:07
>>738
Eclipseのワークスペースは仮想的な階層構造でファイルシステムとは
一対一対応の関係ではなく、後でどうとでも変更できるからかな。
ワークスペースの構成を変えるたびにEclipseに頼って
自動生成させなきゃならないんなら絶対でも相対でも変わらんつーか。
自動生成専用のbuildファイルと、ユーザがいじってもいいbuildファイルと
二つ生成させるところからもそんな感じがする。

もちろんEclipseがないところに持っていったときはどうなんだって
話になるが「知るか!」ってことなんだろう。
740720:2005/11/08(火) 23:43:19
あの〜どなたか教えてくれないでしょうか?
741デフォルトの名無しさん:2005/11/08(火) 23:48:46
>>738 bugzillaには挙がってるな。3.2で考慮するらしい。
ユーザが作ったパッチも添付されてるから
まあとりあえずそのへんでお茶を濁しつつ使うんだろうな。
742デフォルトの名無しさん:2005/11/08(火) 23:50:08
>>740
エスパーか脳内補完しないと理解できないような質問をするからだよ。
Webなの?Swingなの?SWTなの?コンソールなの?
743デフォルトの名無しさん:2005/11/08(火) 23:53:19
>>741
だからant4eclipseが生まれたんだろ。

漏れとしてはやっぱりbuild.xmlは手書きが楽でいい。
build.propertiesに全部相対パスを記述している。
744デフォルトの名無しさん:2005/11/08(火) 23:54:02
まじでじゃじゃ馬馴らし見つからぬよ

櫻庭のハゲ頭うそついたんじゃなかろーな
745デフォルトの名無しさん:2005/11/08(火) 23:59:23
質問です
ティンティン変数って何ですか?
746デフォルトの名無しさん:2005/11/09(水) 00:01:22
>>740
setEditable(false);
747デフォルトの名無しさん:2005/11/09(水) 00:14:49
ムスタング見つからぬ
748720:2005/11/09(水) 00:17:23
>>742
いろいろあったんですか?
アプレットだからAWTになるかと
749720:2005/11/09(水) 00:20:48
>>746
ありがとうございます
できました
750デフォルトの名無しさん:2005/11/09(水) 00:23:14
アプレットのボタン処理にactionPerformed以外を使うよう教授に指示されたのですが、
他にどういう手段があるんでしょうか?
751デフォルトの名無しさん:2005/11/09(水) 00:44:02
>>750
MouseListenerは?
752デフォルトの名無しさん:2005/11/09(水) 00:51:36
http://page.freett.com/kb100000/1.txt
質問なのですが・・。
あと、こういうのってネットなどで勉強できるものなのでしょうか?
753デフォルトの名無しさん:2005/11/09(水) 00:58:51
>>752
param タグ
できます
754750:2005/11/09(水) 01:00:38
>>751
ニュアンス的にはMouseListenerでもないような風に言われました。

言葉が足りなかったので捕捉します。

public void actionPerformed(ActionEvent ae){
if(ae.getActionCommand() == "ボタン1"){
//中略
}
if(ae.getActionCommand() == "ボタン2"){
//中略
}
}

上のように複数ボタンを設定しているんですが、
actionPerformedを使う他にもっといい表記はあるのでしょうか。
755デフォルトの名無しさん:2005/11/09(水) 01:03:54
>>752
getParameter(String name)

ある程度ならネットだけでできるんじゃないの?
756デフォルトの名無しさん:2005/11/09(水) 01:10:20
本当に馬鹿で申し訳ないんですけど、
さっきの課題とこの課題どなたか教えていただけませんか?
今日中に終わらせないとやばいんです・・。
説明は自分で調べますので。本当によろしくお願いします・・。
http://page.freett.com/kb100000/2.txt
757デフォルトの名無しさん:2005/11/09(水) 01:13:50
宿題スレにでもいけば?死ねよ。
758デフォルトの名無しさん:2005/11/09(水) 01:16:44
はい、本当に死にたいっすよ。
759デフォルトの名無しさん:2005/11/09(水) 01:29:56
ある画像ファイルが最終更新された"日付と時刻"を
YYYYMMDDHHmmSSという形式の文字列(例えば今なら"20051109004514")で
得たいと思っています。
画像ファイルのFileオブジェクトを作って,
それにlastModified()メソッドを使ってlong値を得た後に
どうすればいいか分からなくなりました。
やはりDateやCalenderを使うのだと思いますが,
どのように組み合わせたらいいかが分かりません。
どなたかご教授お願いします。
760752:2005/11/09(水) 01:34:54
HTMLのほうには
<param name="" value="">
のようなことをかいて、
アプレットのほうには
getParameter
のようなことを書くんですよね?
そこから先が分かりません・・
761デフォルトの名無しさん:2005/11/09(水) 01:39:10
>>760
そこまで出来てて何が分からないのか聞きたいが。

http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/applet/Applet.html#getParameter(java.lang.String)
762デフォルトの名無しさん:2005/11/09(水) 01:43:15
>>743
手書きでメンテできる程度ならなんでもいいや
763デフォルトの名無しさん:2005/11/09(水) 01:48:01
>>760
<PARAM NAME="jpg" VALUE="test.jpg" >
--------------------------------------
String imgName = getParameter("jpg");
img = getImage(getCodeBase(),imgName);
764デフォルトの名無しさん:2005/11/09(水) 01:50:05
>716
はしごの姓をもらった俺がいい事教えてあげる
boldにすると自分でも気付かないんだぜ!
765デフォルトの名無しさん:2005/11/09(水) 01:55:02
>>756
public void mousePressed(MouseEvent e) {
//list.clear(); //←これいらない
list.add(e);
repaint();
}
public void mouseReleased(MouseEvent e) {
list.add(null); //←これ追加
}
766752:2005/11/09(水) 02:08:44
>>765
超サンクスです。マジサンクスです。(向こうに書いてしまってすみません・・)
今日はちょっと徹夜で自分でも勉強してみます。
767デフォルトの名無しさん:2005/11/09(水) 02:11:30
>>759
String.format("%1$tY%1$tm%1$td%1$tH%1$tM%1$tS", file.lastModified());
もしくは
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
sdf.format(new Date(file.lastModified()));
768752:2005/11/09(水) 02:15:39
ちなみにHTMLはこんなかんじで
<applet code="ImageTest.class" width=300 height=300>
<param name="jpg" value="test.jpg">
アプレットは
Image img = getImage(new URL(getCodeBase(),"photo.jpg"));
String imgName = getParameter("jpg");
img = getImage(getCodeBase(),imgName);
こんなかんじですか?アプレットのほう怪しい・・
769デフォルトの名無しさん:2005/11/09(水) 02:17:24
>>766
いや、向こうに書くのが正しい。
こっちで答えた俺が・・・orz
770752:2005/11/09(水) 02:18:31
>>769
ゴメw
あと、htmlは
<param name="jpg" value="photo.jpg">
っすね、たぶん
771デフォルトの名無しさん:2005/11/09(水) 02:19:05
>>768
なぜ Image を2回読み込むのだ
772デフォルトの名無しさん:2005/11/09(水) 02:23:03
>>770
妥当性検査に引っかからないようにするなら
最後に/でタグを閉じることをお忘れなく
773578:2005/11/09(水) 02:24:56
String imgName = getParameter("jpg");
Image img = getImage(getCodeBase(),imgName);
すんません、こんな感じですかね
>>772
よくわからないんでちょっとしらべてみます
774デフォルトの名無しさん:2005/11/09(水) 02:26:24
>>735のリンク先ムスタングすれで
ついにじゃじゃ馬馴らしが見つかったらしい

俺は嬉しいぞ!
775デフォルトの名無しさん:2005/11/09(水) 02:39:33
>>737
別に取引先に高島屋があっても不思議は無いだろ?
776デフォルトの名無しさん:2005/11/09(水) 10:30:14
Map の中身が String と分かっている場合

map.get("hoge").toString();
(String)map.get("hoge")

どっちがいいんでしょう?
1.5 は使えませんのでよろしくお願いします。
777デフォルトの名無しさん:2005/11/09(水) 10:44:32
速度はキャスト
javaっぽくするならtoString
778デフォルトの名無しさん:2005/11/09(水) 11:02:18
>>777
即答ありがとうございます。参考にさせていただきます。
779デフォルトの名無しさん:2005/11/09(水) 11:16:47
そのStringにnullが入る可能性があるならキャスト
780デフォルトの名無しさん:2005/11/09(水) 11:41:26
単にjpegファイルを表示するプログラムを作成したかったのですが下のようなエラーが出てしまいます。

調べてみたら「Java 仮想マシンが、native と宣言されたメソッドの適切なネイティブ言語
の定義を見つけることができない場合にスローされます。」
とありましたが、この場合どこを修正すればいいんでしょうか?

Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3138 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:123)
at org.eclipse.swt.internal.win32.OS.<clinit>(OS.java:18)
at org.eclipse.swt.widgets.Display.<clinit>(Display.java:125)
at gazo.main(gazo.java:18)
781デフォルトの名無しさん:2005/11/09(水) 11:58:24
>>779
ばっちり null の可能性があります。キャストにします。
ありがとうございました。
782デフォルトの名無しさん:2005/11/09(水) 12:02:50
int を符号無しとして(unsigned int として)longと相互に変換するには
どうすればよいのでしょうか?

4byteのバイナリデータをアスキーにしたいのですが・・・・
783デフォルトの名無しさん:2005/11/09(水) 12:15:35
>>780
SWT FAQにのってるから読むこと。
784716:2005/11/09(水) 12:16:19
>>732
なるほど、d。試してみます。

>>734
だと思います。とりあえず、MS932形式でSJISファイルから読み込んで、
JDBCでDBにつっこめました。

>>737
いえ、人名で結構あるんですよ。。。旧漢字の崎(ア)とか。。。
785デフォルトの名無しさん:2005/11/09(水) 12:31:44
>782
それ系はjava.io.DataInOutだ
期待するような体系にはならないと思う、他あったら俺も知りたい
前にObjectOutputとか必死に弄ったけど本末転倒な自体におちいった
786デフォルトの名無しさん:2005/11/09(水) 13:31:29
>>782
こんな感じ?違う?

int i;
long l;

...
// intを符号無しとしてlongに
l = i & 0xFFFFFFFFL;

// longを符号付きのintに
i = (int) l;
787デフォルトの名無しさん:2005/11/09(水) 16:15:24
JDialogに配置したボタンから、SWTのWizardDialogを呼び出したいのですが、
WizardDialogの引数としてJFrameやJDialogのオブジェクト変数が使えない為、うまく呼び出すことができません。
何か良い方法はないでしょうか?
788780:2005/11/09(水) 16:30:40
>>782
ありがとうございました
解決しました。
789デフォルトの名無しさん:2005/11/09(水) 17:10:17
>>787
Swing系のコンポーネントはとりあえず操作できない
ようにして、新たに非表示のShellを生成してお茶を
濁すのが一番楽だと思う。まともにやりたいのなら、
SWT_AWT使ってshellの取得をしてください。
790デフォルトの名無しさん:2005/11/09(水) 17:14:16
質問のよろしくお願いします。

1つのメソッドで返せる値は、1つだけなんでしょうか?
int calc(int a,int b,int c){
int x,y
x=a+b;
y=a+c;
return ??????
}
のような場合にxとyを同時に返すことはできませんか?
方法があればお教えください。
791デフォルトの名無しさん:2005/11/09(水) 17:22:54
配列で返せばいいじゃん
792デフォルトの名無しさん:2005/11/09(水) 17:27:27
>>790
int 2つだけだったら long につっこんで返せば?
793782 :2005/11/09(水) 17:34:21
>>786さん
おおおお
ありがとうござます。感謝です。
794790:2005/11/09(水) 17:41:15
>>791
具体的にどう書けばいいんでしょう?
ダブル型のときはどうすれば良いですか?

聞いてばかりで申し訳ないです、、
795デフォルトの名無しさん:2005/11/09(水) 17:45:47
>>790
class hoge
{
private int x,y;

hoge(int x, int y)
{
this.x = x;
this.y = y;
}
}

hoge calc(int a, itn b, int c)
{
return new hoge(a+b, a+c);
}
796デフォルトの名無しさん:2005/11/09(水) 17:50:13
>>794
int[] calc(int a,int b,int c){
 return new int[]{ a+b, a+c };
}
797790:2005/11/09(水) 18:00:50
>>795
thisの使い方が分からないので勉強します、、
ありがとうございます

>>796
ありがとうございます
返り値を使うときはやはりthisを使うんでしょうか?
798デフォルトの名無しさん:2005/11/09(水) 20:41:12
>>790
xとyをメンバに持つクラスつくってそれのインスタンスを返せば
799デフォルトの名無しさん:2005/11/09(水) 20:46:51
JRadioButton(変数名:btn)を配列で作成したので、
アクションリスナをfor文で書きたいと思っています。
ボタンをクリックすると、自分が何番目の要素なのかをコンソールで
出力したいのですができません。

for(int i=0; i<btn.length; i++){
btn[i].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.pritln("butn[" + i +"]");
}
});
}

以上のコードの、どこを修正したらよいでしょうか?
アドバイス宜しくお願いします。

800デフォルトの名無しさん:2005/11/09(水) 20:52:37
>>799
質問:何が出来ませんか?
回答:コンパイルできません。

理由:
ローカル変数は、定数を除き内部クラスからは扱うことが出来ません。
この場合ループのカウンタとして使われている i が問題のローカル変数です。
i を使用せずにボタンの ID を取得する方法を考えてください。

前スレにも全く同じ質問が来てました。参考までに。
http://pc8.2ch.net/test/read.cgi/tech/1129019555/660-
801デフォルトの名無しさん:2005/11/09(水) 20:58:52
フレームワークって何なんですか?
使い方がわかりませぬ。
インポートしてもそんなものねーってコンパイルできないし。
802デフォルトの名無しさん:2005/11/09(水) 21:13:08
>>799
匿名内部クラスをもっと勉強しよう
ローカル変数iは内部クラスからアクセスできないだろ
803デフォルトの名無しさん:2005/11/09(水) 21:14:01
>>801
使い方がわからないものは使わない
804デフォルトの名無しさん:2005/11/09(水) 21:23:36
System.out.println("日本語");
を含む全く同じプログラムをShiftJISとutf-8で作って、コンパイルして、
実行すると、utf-8は文字化けするんですが、なぜ?
MacOSX10.3.8のターミナルです。ターミナルのデフォルトエンコードはShiftJIS。
でも、改訂第2版Java言語プログラミングレッスン上には以下の記述が。
「コンパイラが自動的に文字コードをUnicodeに変換してから処理するから、文字コードを意識する必要がない。」
805デフォルトの名無しさん:2005/11/09(水) 21:34:31
コンパイルされたクラスはUnicodeになるけど、
何の文字コードからUnicodeにするかの設定が必要

大概はデフォルトエンコーディングでいいけど
何の文字コードを使ってるかなんて日本語は判断できない
806デフォルトの名無しさん:2005/11/09(水) 21:44:03
>>804
ソースコードの文字エンコーディングがプラットフォームのデフォルトではない場合には
コンパイル時に文字エンコーディングを指定してコンパイルする必要がある。
807デフォルトの名無しさん:2005/11/09(水) 21:58:33
>>800
>>802

ありがとうございます。

対策として、ActionListenerをimplementsした
独自のクラス(ButtonListener)を定義しました。
そのクラスのコンストラクタを、
public ButtonListener(int n) {data=n}

と定義して、事前にdataを初期化し、for文の中で
  
 btn[i].addActionListener(ButtonListener[data]);

とすることで自分が何番目なのかを記憶させました。

ただ、他にもっと明快な発想があったでしょうか?
808デフォルトの名無しさん:2005/11/09(水) 22:00:50
>>807
ボタンのラベルを "btn[" + i + "]" にするとか。
Button を継承して、ID 番号を持たせられるようにするとか。

でも、その方法が一番手っ取り早いと思うよ。
809デフォルトの名無しさん:2005/11/09(水) 22:01:29
明朝体活字は「高」、手書き(楷書)は「はしご高」と使いわけていたのに。
高等学校とか高等裁判所の看板の古いやつには「はしご高」が多いぞ。

「高」と「はしご高」は異体字ですら無い。
810デフォルトの名無しさん:2005/11/09(水) 22:04:09
Eclipse+Lombozで、Excelデータを読み込んでブラウザで表示するJSPを作ろうとしてるのですが
POIというのはEclipseのプラグインではなく、外部JARでPOIを設定して使うのでしょうか?
あるいは、POI等を使わずにExcelファイルを操作したりできるでしょうか?
ぜひアドバイスよろしくお願いします。
811デフォルトの名無しさん:2005/11/09(水) 22:16:19
>>810
>ぜひアドバイスよろしくお願いします。

あまりいっぺんにいろんな事をやろうとせずに
ひとつずつ順番に理解していく事をおすすめします。
812デフォルトの名無しさん:2005/11/09(水) 22:54:08
>>811
レスありがとうございます。
>>810のように目的は定まっているのですが、
最初の段階の環境作りで詰まっております。
813デフォルトの名無しさん:2005/11/09(水) 23:07:22
j2se1.4.2あたりから無名インポートが使えなくなったそうですが、
代わりとなる方法はありますか?
たとえば、あるフォルダに以下の様にファイルがあります。
Test.java, Hoge.java, Hoge.class
このとき、Test から Hoge を使いたいのですが。
814デフォルトの名無しさん:2005/11/09(水) 23:11:58
>>813
javac -source 1.2

……っていうか無名 import って何だ。
815デフォルトの名無しさん:2005/11/09(水) 23:30:33
>>814
パッケージのないクラスはインポートできなくなったんだがそのことだろう。
816813:2005/11/09(水) 23:34:19
>>814
ありがとうございます。

無名インポートは上記の例ですと
Test.java 内で import Hoge; と書いて
パッケージ化されていないクラスをインポートすることのようです。
817814:2005/11/09(水) 23:37:16
>>816
それだと import しなくても使える気がするんだが、気のせいか?
818813:2005/11/09(水) 23:38:14
javac -source 1.2
とやってもダメでした。

やはり同じフォルダ内のクラスをインポートすることは出来ないのでしょうか?
819813:2005/11/09(水) 23:44:05
>>817
ありがとうございます。
コンパイル、実行ともに問題なくできました。
import しなくても使えるように変更されたのですね。
お騒がせしました。
820デフォルトの名無しさん:2005/11/09(水) 23:44:28
だから import する必要ないんじゃないかと思ってるんだが。
821デフォルトの名無しさん:2005/11/09(水) 23:44:52
うはw 20秒差すまぬ orz
822デフォルトの名無しさん:2005/11/09(水) 23:45:08
質問です。
コンポーネントのChoiceを選択してitemStateChanged(ItemEvent e)に飛んだ際
どのChoiceから呼ばれたかを知る方法はありますか?
823デフォルトの名無しさん:2005/11/09(水) 23:46:01
>>819
import しなくても、昔から使えてたはず。
824デフォルトの名無しさん:2005/11/10(木) 00:02:51
Java Accessibility Utilitiesをダウンロードし、インストールしようとしている状況なのですが、
どこにインストールしていいかわかりません。どなたかわかる方いらっしゃいますか?
825デフォルトの名無しさん:2005/11/10(木) 01:18:20
ifの中で宣言した変数をそのifの外で使う方法ってあります?
826デフォルトの名無しさん:2005/11/10(木) 01:20:17
>>825
ing a = 0;
if (true) {
int b = 1;
a = b;
}
827デフォルトの名無しさん:2005/11/10(木) 02:33:32
http://itpro.nikkeibp.co.jp/article/NEWS/20051109/224319/
こんなことするより、実行速度の改善を。特に、立ち上がりがひどい
828デフォルトの名無しさん:2005/11/10(木) 05:05:55
メソッドを全部覚えた方がいいですか?
それともよく使うコードを覚えた方がいいですか?
本格的にプログラムしたいんですが…
829804:2005/11/10(木) 06:11:09
>>805,806
なるほど。分っかりました。ありがとございまーす。
830デフォルトの名無しさん:2005/11/10(木) 09:41:47
>>828 これもFAQだな
全部覚える必要はない。
全体像ってか、大体のパッケージ構成を知ってればOK。
あと、どのクラスはどんな事が出来るかを、適当に頭の隅に入れとく。
それを元にjavadocで探せばいいので、よく使うもの以外は覚えてない。

丸暗記より、基本的なプログラム作法とその理由でも勉強したほうがいい。
831デフォルトの名無しさん:2005/11/10(木) 10:41:26
テキストファイルを読み込むとき、相対パスを使って読み込みたいと考えています。
.javaのあるフォルダから1つ上のtextというフォルダからa.txtを読み込むとき、

file:../text/a.txt

と指定してもFileNotFoundExceptionエラーとなります。
JEditorPaneでHTMLを指定するときは上記のやりかたでうまくいったのですが、
テキストファイルの場合、どうしたらよいでしょうか?
832デフォルトの名無しさん:2005/11/10(木) 11:13:56
質問です。

 あるファイルを読み込みます。
そのファイルには時間とコマンド(処理)が書かれています。
 00:00:05 コマンド1
 00:00:06 コマンド2

プログラムでそのファイルを読み込んで指定された時間になれば
指定された処理を行いたいと思っています。現在threadで1秒ごとに
sleepさせて判定と処理を行っています。

threadについて理解していないのも問題なのですが、
上のファイル例で、コマンド1の処理が遅すぎてコマンド2の処理の後に
実行されるということはりますか?

そうならないような処理を行いたいのです。時間厳守で時間に間に合わ
ない処理は無視するようなプログラム処理はどうすればいいでしょうか?

よろしくお願いします。
833デフォルトの名無しさん:2005/11/10(木) 12:01:38
シーケンシャルに実行したいなら、コマンド1終了時の時間を調べて
コマンド2を実行するのに間に合ったかどうか判断すればいい
以下同様
834デフォルトの名無しさん:2005/11/10(木) 12:58:22
入門書にはSystem.out.printlnでコマンドプロンプトに文字を出力するようにと
書いてあるのですが、VBのようにMsgboxやユーザーフォームといった
グラフィカルな入出力は存在しないのでしょうか?
あと、エクセルのセルに文字を書き込んだり読み込んだりすることはできますか?



835デフォルトの名無しさん:2005/11/10(木) 13:04:35
最初はGUIの知識が必要になるより、わかりやすいからとか
GUIが用意できない環境もあるから説明してないだけでは?

まず検索してみたのかと聞きたい
836デフォルトの名無しさん:2005/11/10(木) 13:38:39

public class PGR
{
public static void main()
{
ProcessBuilder pg = new ProcessBuilder("format", "q:");
Processp = pg.start();

p.waitFor();
}
}

このプログラムを実行したらだめって言われたんですが
どうしてですか?
837デフォルトの名無しさん:2005/11/10(木) 14:02:02
>だめって言われたんですが

誰に?

普通はスタックトレースを貼るもんだが
838デフォルトの名無しさん:2005/11/10(木) 14:07:41
配列に関する質問です。

byte[] byteArray = null;
for (int i = 0 ; i < 8 ; i++){
  byteArray[i] = (byte)0xff;
}
を実行するとjava.lang.NullPointerExceptionが発生しますが、

byte[] byteArray = null;
byteArray = testMethod();

static private byte[] testMethod(){
  byte[] byteArray = new byte[8];

  for (int i = 0 ; i < 8 ; i++){
    byteArray[i] = (byte)0xff;
  }
  return byteArray;
}

を実行するとすんなり処理が終わります。
最初のプログラムは確保されていない配列のアドレスにアクセスしエラー
次のプログラムは、はじめ配列の領域を確保していないが、関数の戻り値に
byte[8]の先頭アドレスのみが渡される為、アドレスがあふれることなくOK
ということなのでしょうか?

もし認識違いであるならば、ご指摘願います。
839デフォルトの名無しさん:2005/11/10(木) 14:34:58
>>838
> 確保されていない配列のアドレスにアクセスしエラー
言語仕様としては、アクセスする前に byteArray == null であるかをチェックしてエラーになる。
840デフォルトの名無しさん:2005/11/10(木) 14:41:38
String wk = new String();
String str1 = new String();
String str2 = new String();

wk = "B";
str1 = "A" + "B";
str2 = "A" + "B";

if(str1 == str2)
{
System.out.println("同じインスタンス");
}
else
{
System.out.println("違うインスタンス");
}

この場合同じインスタンスなのは分かるのですが

wk = "B";
str1 = "A" + wk;
str2 = "A" + wk;

に、したとき違うインスタンスと出るのですが
このときstr1とstr2の参照はどのようなっているのでしょうか?
841838:2005/11/10(木) 14:43:09
>>839さん
どうもありがとうございます。
アクセス前にチェックを行っているとは知りませんでした。

byte[] testClass(){

  byte[] byteArray = null;
  
  switch(なんらかの値){
    case A:
    byteArray = testMethodA();
    break;
    case B:
    byteArray = testMethodB();
    break;
  }

  retuen byteArray;
}

のように条件によって、testClassの戻り値であるbyte[]のサイズが変わる
プログラムを作成したかったのですが、問題がないのか不安でした。
原理が分かり、問題がないようですので良かったです。
842デフォルトの名無しさん:2005/11/10(木) 14:43:14
HTTPステータス 500 -

type 例外レポート

メッセージ

説明 The server encountered an internal error () that prevented it from fulfilling this request.

例外

org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

原因

java.lang.NullPointerException

注意 原因のすべてのスタックトレースは、Apache Tomcat/5.5.4のログに記録されています
Apache Tomcat/5.5.4

これはどうやって直したらいいんでしょうか?
843デフォルトの名無しさん:2005/11/10(木) 14:48:13
>>842
「原因のすべてのスタックトレースは、Apache Tomcat/5.5.4のログに記録されています 」
とあるとおり。
ログまたはコンソールに表示されたスタックトレースを調べて、アプリケーションのどこで
NullPointerException が発生したかを突き止める。
そこでNullオブジェクトに対する操作を行っているはずだから。
844デフォルトの名無しさん:2005/11/10(木) 15:10:16
本にstaticをつけたメンバはオブジェクトを生成しなくても使えます。このときほかのオブジェクトから参照するにはオブジェクト名ではなくてクラス名を指定します、とあります,が使い方がわかりません。簡単な例を教えてください。
845デフォルトの名無しさん:2005/11/10(木) 15:15:37
>>844

public class Sample009
{

public Sample009()
{
Classmeso.test2();
}
}

class Classmeso
{
public static void test2()
{
System.out.println("クラスメソッドですよ");
}
}

漏れも勉強中なんだがこんな感じでいいか?
846デフォルトの名無しさん:2005/11/10(木) 15:17:14
すまんtab消えるの忘れてた察してくれorz
847デフォルトの名無しさん:2005/11/10(木) 16:37:28
System.out.printlnもstaticメソッド。
new System()とかしないで使えるでそ。
848デフォルトの名無しさん:2005/11/10(木) 16:46:18
public static void main(String[] args); も static メソッド。
親クラスを new しなくても使えるよん。
849デフォルトの名無しさん:2005/11/10(木) 16:54:44
ジャバというのは風呂釜がきれいになるそうですが本当ですか。
ていうかそれはプログラムの範疇なのですか。
850デフォルトの名無しさん:2005/11/10(木) 16:58:33
名前、性別、年齢、身長をフィールドとして持ち、それらを入力するメソッド、表示するメソッドを持つクラスPersonを定義し、オブジェクトに名前、性別、年齢、身長を入力して表示するプログラムを作成せよ。ただし、main()メソッドはPersonクラスに持たせる。

という、文章なのですが、この場合、名前、性別、年齢、身長をキーボードから入力して表示するということですか??

JAVAを勉強し始めたばかりなので、文章を理解することがまだ慣れていなく申し訳ありません。
助言よろしくお願いします。

851デフォルトの名無しさん:2005/11/10(木) 17:05:02
入力して表示するだけなのか…
配列に格納したりしないのか…
すごい初歩的な問題だな
852デフォルトの名無しさん:2005/11/10(木) 17:11:02
>>850
Java云々より日本語を理解しれ
ちなみに文字列の入力はjava.ioをインポートしてBufferedReaderクラスを使えばいい

>>851
初心者歓迎なんだから初歩的でしょうがないだろ
スルーするか答えるかしてやったらどうだ?
853デフォルトの名無しさん:2005/11/10(木) 17:28:43
お前も>>851をスルーしろ
854850:2005/11/10(木) 17:42:37
現在JAVAを独学で勉強していて、この問題は本にある章の練習問題なのですが、
今までの章では入力メソッドのことは何もでてきていないのに、
突然このような問題で、どうことか分からずにいた、というのが、
本当のとこです。
そして、名前は(String name[20]) と指定してありましたが、これもまた、
これまでの章では、配列がでてきていないのでスルーしました。
855デフォルトの名無しさん:2005/11/10(木) 18:44:04
String name[20]ってことは、20人分登録するんじゃない?
856850:2005/11/10(木) 19:10:24
>>855
String name[20]とは、20人分登録ということですか??
String name[20]以外は、[]がつていないので、
String nameが20文字までなのかとおもってました・
857855:2005/11/10(木) 19:22:38
Stringクラスは文字ではなく、文字列を扱うクラスです。
なので、String nameは複数の文字を格納できますよ

なんで配列なのかいまいち意味が分からないですけど・・
858デフォルトの名無しさん:2005/11/10(木) 22:52:45
教えてください。

長い文字列の操作がしたいのです。
StringBufferの文字列について、indexOf()で挿入、削除すべき箇所を
見つけて、insert(),delete()で操作することを考えています。

この場合、ある文字列があるインデックス以降にあることが
分かっている場合、普通の indexOf(String str) ではなく、
indexOf(String str, int fromIndex) を使用した方が処理速度は
早くなるのでしょうか?
859デフォルトの名無しさん:2005/11/10(木) 22:55:22
実際に試してみればいいんじゃね?
860デフォルトの名無しさん:2005/11/10(木) 23:17:04
何千回と indexOf しなければ、体感できるほどの違いは無いはず。
861デフォルトの名無しさん:2005/11/10(木) 23:27:28
誰が妄想語れと言った?
862デフォルトの名無しさん:2005/11/10(木) 23:36:07
>>858
JDK5のStringBuilderクラス使え
863858:2005/11/11(金) 00:03:23
>>860
indexOf()の回数だけでなく、文字列の長さも関係しそうな気がします。


>>862
JDK5は使っていなかったのですが、API仕様を見る限り、StringBufferを
高速にしたものの様に思えます。
つまり、同期など特に理由がない限り、StringBufferを使っていた
ケースでは、今後はStringBuilderを使用した方が良いということでしょうか?
864デフォルトの名無しさん:2005/11/11(金) 00:12:31
>>863
> つまり、同期など特に理由がない限り、StringBufferを使っていた
> ケースでは、今後はStringBuilderを使用した方が良いということでしょうか?

そうそう
865デフォルトの名無しさん:2005/11/11(金) 00:20:18
>>864
ありがとうございます。
DLして使ってみます。
866デフォルトの名無しさん:2005/11/11(金) 03:20:07
JMFをjbuilder8で使うためにはどうしたらいいでしょうか?
JMFをダウンロードした後がよくわかりません。
どうか教えてください!
867デフォルトの名無しさん:2005/11/11(金) 19:50:01
CとかC++でreturn -1;でプログラムを強制終了させるようなことを
javaのコンストラクタでやりたいんですがどうやったらいいでしょうか?
868デフォルトの名無しさん:2005/11/11(金) 20:13:25
>>867
CとかC++でreturn -1;でプログラムを強制終了って何?
869デフォルトの名無しさん:2005/11/11(金) 20:21:15
System.exit(1);
870デフォルトの名無しさん:2005/11/11(金) 20:44:27
>869
thx
871デフォルトの名無しさん:2005/11/11(金) 21:57:41
最近javaを勉強し始めた者です。
色々素人なりに調べてみたんですが、分からなかったので質問させて頂きます。
丸いボタンを配置する事は可能でしょうか?
ボタンに画像を張ればいいや、と簡単に考えていたのですが
画像に透明処理をしても、ボタンをクリックした時、角にも判定が残ってしまいます。
四角でないボタンの配置方法などが説明されているページだけでも
もしありましたら教えて頂けるとありがたいです。
872デフォルトの名無しさん:2005/11/11(金) 22:28:21
FlashでGUIを作れば丸いボタンは簡単に作れます
873デフォルトの名無しさん:2005/11/11(金) 23:00:53
質問です
ティンティン変数って何ですか?
874デフォルトの名無しさん:2005/11/11(金) 23:16:13
>>871
丸く描画するようなLookAndFeelを
自前で実装するかどっかから拾ってくるか。
あるいはボタンだけでいいならpaintComponentあたりを
オーバライドして丸く描画してやればいいかもしれない。
875デフォルトの名無しさん:2005/11/11(金) 23:23:26
直線を描くプログラムを作ってください
876デフォルトの名無しさん:2005/11/11(金) 23:25:39
>>875
どこに?
877デフォルトの名無しさん:2005/11/11(金) 23:26:31
>>875
System.out.println("―――――――――――");
878デフォルトの名無しさん:2005/11/11(金) 23:27:23
>>876
アプレット
879デフォルトの名無しさん:2005/11/11(金) 23:30:47
string str = br.LeadLine(); //入力されたのは 1

if(str == "1")
{
}

ってやると str =="1" がfalseになるんですがどうしてでしょうか?
880デフォルトの名無しさん:2005/11/11(金) 23:31:41
>>879
文字列に\nが入ってるんじゃない?
881デフォルトの名無しさん:2005/11/11(金) 23:32:23
import java.awt.*;
import java.applet.*;

public class HelloWorldApplet extends Applet {
 public void paint(Graphics g) {
  g.drawString("―――――――――――",20,20);
 }
}
882デフォルトの名無しさん:2005/11/11(金) 23:33:58
>>879
異なるオブジェクトだから
883デフォルトの名無しさん:2005/11/11(金) 23:45:51
次スレから、頻出質問はテンプレに入れないか?

1: String に == は使うな。equals を使え。
2: 内部クラスから外部クラスのローカル変数は使えない。他の方法を考えろ。

他に何かある?
884デフォルトの名無しさん:2005/11/11(金) 23:46:23
>>880
大丈夫か?
885デフォルトの名無しさん:2005/11/11(金) 23:51:21
>>879
てかLeadLineって何?w
886デフォルトの名無しさん:2005/11/11(金) 23:59:00
>>885
ぐぐれ
887デフォルトの名無しさん:2005/11/12(土) 00:05:16
>>881
ありがとう
ございました
888879:2005/11/12(土) 00:08:25
レスありがとうございます
眠いのでスペルミスは勘弁してくださいorz
889京子:2005/11/12(土) 00:33:38
チェックボックスのチェックされたの数によって、
ジャンプするページを変えるには、
どのようなプログラムを組めば良いのでしょうか?

例えば、
チェックが0〜5個だと、Aページへジャンプ。
チェックが、6〜10個だと、Bページへジャンプとか、
そういう感じです
890デフォルトの名無しさん:2005/11/12(土) 00:34:24
アプレットでwhile文とかfor文をつかわずに無限ループすることってできる?
ゲームつくりたいんだけどwhileとかつかってループすると制御できなくなって
どうしようもない。
891デフォルトの名無しさん:2005/11/12(土) 00:35:31
>>890
つ [Thread]
892デフォルトの名無しさん:2005/11/12(土) 00:36:43
>>889
数数えて分岐すれば?
893890:2005/11/12(土) 00:37:52
自分としてはヴィジュアルベーシックでいうTimer()みたいな
関数があるといいんだけどって考えてるんだけど
894デフォルトの名無しさん:2005/11/12(土) 00:40:03
javax.swing.Timer
895デフォルトの名無しさん:2005/11/12(土) 01:04:09
>>893
たのむからかなり前から標準APIで普通にあるんだから
調べる癖をつけてくれ

VBでタイマー使ったことがあるなら分かると思うが
それ単体だとどっちにしろ高度な処理はできないけどな
896デフォルトの名無しさん:2005/11/12(土) 01:17:44
多次元配列の各次元の大きさを調べたいのですが、上手い方法はありませんか?
前提として、配列はプリミチブなタイプで Object にキャストされてます。

Object foo = new int[9][9][9];
List<Integer> dim = new ArrayList<Integer>();

while (foo.getClass().isArray()) {
int length = Array.getLength(foo);
dim.add(length);
if (length > 0) {
foo = Array.get(foo, 0);
} else {
break;
}
}

これだと一応動きますが、int[9][0][0] などになると
お手上げになってしまいます。
897デフォルトの名無しさん:2005/11/12(土) 01:24:48
意味不明
なんでObjectにしてんの?
898デフォルトの名無しさん:2005/11/12(土) 01:25:27
以下の言葉を用いてスレッドのメリットとデメリットをこたえよ
(軽い、共有)
899デフォルトの名無しさん:2005/11/12(土) 01:27:37
>>896
PropertyUtils使ってExceptionが起きなきゃその次元の配列は使えるよ。
900デフォルトの名無しさん:2005/11/12(土) 01:31:30
>>896
Class#getComponentType()使えばいいんじゃないか。
901デフォルトの名無しさん:2005/11/12(土) 01:32:10
>>898
このスレは不特定多数の軽い沢住民に共有されていています。
902デフォルトの名無しさん:2005/11/12(土) 01:38:08
軽井沢の住民?

あんな寒くて湿気が多いむしむししたところに
いる香具師に共有されてるのか?
903デフォルトの名無しさん:2005/11/12(土) 01:45:41
int[][][] foo = new int[9][9][9];
こういう配列の作り方するなら、チェック不要だろ?

どうしてもサイズを判定したいなら以下のようにして
各次元のサイズはとれる

foo.length
foo[0].length
foo[0][0].length
904デフォルトの名無しさん:2005/11/12(土) 01:46:05
>>902
多少は話の流れよんでみたらどうだ
905デフォルトの名無しさん:2005/11/12(土) 01:47:55
>>903
質問者の896はわかっているようだが
それでは途中に配列のサイズが0の部分があるとそれ以降がとれない。
906デフォルトの名無しさん:2005/11/12(土) 01:53:03
サイズ[9][9][9]ってわけじゃないのか?
なら、判定文はこうね

If (foo != null && foo[0] != null && foo[0][0] != null) {
}
907デフォルトの名無しさん:2005/11/12(土) 01:55:52
レスどうもです。
>>899
調べてみましたが beans よくわかりません。
>>900
componentType() はクラスを返しますが、クラスで配列の長さはわかるのですか?

>>903
えーとそれはテスト用に代入してるだけです。
実際は int でなく float や double かもしれないので Object 型になってます。

で、最終的に Array.newInstance(Class type, int[] dim)
を使いたいので配列の大きさを調べたいのです。
908896:2005/11/12(土) 02:10:16
すいません、書き方がわるいみたいなので簡単に書きます。

int[9]
=> [9] ←intの配列

char[1][9][2][2]
=> [1, 9, 2, 2]

double[0][0][0]
=> [0, 0, 0]

という事がしたいんですが…
909デフォルトの名無しさん:2005/11/12(土) 02:10:42
配列がObjectで渡ってくるってことか
なら今のコードの応用で問題ないじゃん
foo = Array.get(foo, 0);
fooがnullかどうかチェックするだけじゃないの?
910デフォルトの名無しさん:2005/11/12(土) 02:16:20
あ、もしかして次元数がわからないってこと?
911デフォルトの名無しさん:2005/11/12(土) 02:16:20
以下の言葉を用いてスレッドのメリットとデメリットをこたえよ
(軽い、共有)

おねがいだからだれかおしえて
912896:2005/11/12(土) 02:22:33
>>910
そうです。>>896 のコードの場合、
途中に[0]があると Array#newInstance()した時点で
次元数が変ってしまう可能性があるので困るのです。
913デフォルトの名無しさん:2005/11/12(土) 02:26:32
配列の次元数と型はね、Class.getName()でわかるよ
914896:2005/11/12(土) 02:31:41
なるほど!
次元数が足りなければを無理矢理元の型に合せればいいですね。
答えてくださった方々ありがとうございました。
915896:2005/11/12(土) 02:32:08
-を
916デフォルトの名無しさん:2005/11/12(土) 02:32:15
>>911
軽い共有結合
917デフォルトの名無しさん:2005/11/12(土) 02:38:29
>>911
それJavaの課題じゃないだろ
918デフォルトの名無しさん:2005/11/12(土) 02:51:46
>>911
野郎共有りったけの尻軽いかせろ
919デフォルトの名無しさん:2005/11/12(土) 03:40:06
以下の言葉を用いてスレッドのメリットとデメリットをこたえよ
(軽い、共有)

だれかまじめに答えおしえてください
920デフォルトの名無しさん:2005/11/12(土) 03:40:52
>>917

ジャバの課題じゃないけど助けてください
921デフォルトの名無しさん:2005/11/12(土) 03:53:12
>>911
お姉ちゃんのお尻は軽いのでみんなに共有されています。
922デフォルトの名無しさん:2005/11/12(土) 03:56:43
スレッドのなかでgが参照できないんだけどどうしたらいい?

import java.awt.*;
import java.applet.*;
import java.math.*;
public class HelloWorldApplet extends Applet {

public void paint(Graphics g) {
aaa b = new aaa();
b.start ();

}
}
class aaa extends Thread {
int a;
public void run ( ) {
a++;
g.drawLine(a,100,100,200);
}
}
923デフォルトの名無しさん:2005/11/12(土) 04:02:46
スレッドまったく関係ないね
924デフォルトの名無しさん:2005/11/12(土) 04:07:28
>>919
しかたねーなおしえてやるよ

スレッドは、同じプロセス内のメモリ空間を使うため
以下のようなメリットとデメリットがある

メリット
プロセスに比べ、生成の負荷が軽い
プロセスに比べ、スレッド間通信やデータ共有は容易でかつ高速

デメリット
プロセスに比べ、スレッド間の堅牢性は低い

ま、Javaにはほとんど関係ない話だわな
925デフォルトの名無しさん:2005/11/12(土) 04:09:54
>>922
FAQ
926デフォルトの名無しさん:2005/11/12(土) 04:22:47
>>924
はいはい
ありがとうありがとう
927デフォルトの名無しさん:2005/11/12(土) 07:04:47
Eclipseを使っていると、

Stack stack = new Stack<Number>();
StringBuilder builder = new StringBuilder();
...
bufferStack.push( new BigDecimal(builder.toString()) );

としていると、pushの引数が安全でないと警告されます。
stackの宣言行でStack<Number> stack〜とすれば警告は消えますが、
そう記述すべきなのでしょうか?
928デフォルトの名無しさん:2005/11/12(土) 07:24:32
>>927
そう
929デフォルトの名無しさん:2005/11/12(土) 08:17:24
>927
> Stack stack = new Stack<Number>();
ここにも警告が出ていない?
せっかくNumberしか入れられないStackを作ったのに、
なんでも入るStackとして使っちゃいけない。
930927:2005/11/12(土) 09:11:04
>>928-929
どうもです。

>ここにも警告が出ていない?
そこには出てませんでした。

確かに今回は、stackがNumber型のみのコレクションとして
コーディングしてるので、警告が正しいんでしょうね。
ただ、Stack<Object>型の変数に、new Stack<Long>を入れたくなる場合もあると思うけど、
それは許されないということなんですね。
931931:2005/11/12(土) 10:39:16
何処で質問すればよかったかわからなかったのでここでさせてもらいます。
九九の表を作るにあたって問題がでてしまいました。
1〜3のみの数字しか使えないという制限がありまして、どうやってそこから1から順に9までの数字を作るのかがわかりません。
プログラム的にはちゃんと動いてます(ループ文でループ回数を9にするとちゃんと回る)
プログラムというか数学の問題に近いですが、どうすれば良いのかわからなかったのでプログラム板に書き込ませていただきました。
よろしくお願いします。
932デフォルトの名無しさん:2005/11/12(土) 10:44:55
>>931
★★ Java の宿題ここで答えます Part 53 ★★
http://pc8.2ch.net/test/read.cgi/tech/1123639475/
933デフォルトの名無しさん:2005/11/12(土) 10:55:35
>>904
???
934デフォルトの名無しさん:2005/11/12(土) 12:49:46
>>924
一本足打法は両足を上げると転ぶからみたいな
何気にプロセスと比較
935デフォルトの名無しさん:2005/11/12(土) 12:56:19
>>934
???
936デフォルトの名無しさん:2005/11/12(土) 14:02:28
jdk1.5でJButtonの大きさを表示文字列に依らず一定にしたい場合はどうすればいいでしょうか?
LayoutはGridBagLayoutを使っています
937デフォルトの名無しさん:2005/11/12(土) 14:03:48
レイアウトをもうちっと勉強しましょう
938デフォルトの名無しさん:2005/11/12(土) 14:17:17
java初心者です
ゲームを作れと言う課題をやっているのですが、
canvasを使うどうもキー入力できません。
mouseMotionはうまくいくのですが・・
なぜなんでしょう?
939デフォルトの名無しさん:2005/11/12(土) 14:24:38
意味不明
940デフォルトの名無しさん:2005/11/12(土) 14:38:57
HashSetからArrayList.get();で要素を取り出すようなことをしたいんですが
どうしたらいいでしょうか?
941デフォルトの名無しさん:2005/11/12(土) 14:44:33
APIミロ
942デフォルトの名無しさん:2005/11/12(土) 14:51:31
どうしてHashSetを使うのにArrayList.get()のような機能が必要なのかが分らない
943940:2005/11/12(土) 15:09:33
HashSetにStringを格納しているんですが

HashSet set;

//setに文字列を複数格納

String[] str = set.toArray();
とかできるんですか?
なんかエラーが出るんですが
toStringだと[文字列、文字列]とかなってしまいますし;
944デフォルトの名無しさん:2005/11/12(土) 15:11:21
質問です
ティンティン変数って何ですか?
945デフォルトの名無しさん:2005/11/12(土) 15:17:53
>>943
出てくるのは「キャストできません」?
946940:2005/11/12(土) 15:22:58
>945
はい、ClassCastExeptionです

setの中身はちゃんとStringのはずなんですが;
947デフォルトの名無しさん:2005/11/12(土) 15:26:36
>>946
そりゃそうだろうに。HashSet.toArray() が返すのは Object[] であって String[] じゃない。
HashSet<String>.toArray(T[]) を使いなさい。
948デフォルトの名無しさん:2005/11/12(土) 15:35:09
>947
String[] str = (String)set.toArray();
これだとダメなんですか?
昨日はこっちでもエラーがでた記憶があるんですが;
Object[] ならObjectの子クラスにキャストすれば子クラスのオブジェクトで格納できるんですよね?

とりあえずHashSet<String>.toArray(T[])を調べて使ってみます
レスありがとうございました。
949デフォルトの名無しさん:2005/11/12(土) 15:38:32
訂正
String[] str = (String[])set.toArray();
950デフォルトの名無しさん:2005/11/12(土) 15:41:35
>>948
>Object[] ならObjectの子クラスにキャストすれば子クラスのオブジェクトで格納できるんですよね?
出来ないよ
951940:2005/11/12(土) 15:55:16
>950
マジですか;
なんか勘違いして覚えてるみたいです、勉強しなおしてきますorz
952デフォルトの名無しさん:2005/11/12(土) 15:58:54
>>936
つまりJButton側でJFrameやJDialogのように大きさ指定できないってことですか?
それぞれ計算してipadxやipadyを指定するしか方法はないんでしょうか
953デフォルトの名無しさん:2005/11/12(土) 16:02:00
>>952
まずはレイアウト勉強してください
954デフォルトの名無しさん:2005/11/12(土) 16:03:08
>>944
おまえティンティン変数も知らないのかよw
>>944みたいな馬鹿がまだこの世に存在してたとはなww
>>944は無知で無能で箸にも棒にもかからない世の中のクズなんだろうなぁ
童貞で愚図でのろまで役立たず
コンビニのレジですらキモがられる最低男>>944
究極の社会不適応者に教えるわけないだろばーか
955名前は開発中のものです。:2005/11/12(土) 16:25:53
いやおれも知らないけど
956デフォルトの名無しさん:2005/11/12(土) 19:25:58
JDBCを使ってテーブルの作成ってできますか?
データベースはpostgresです
957デフォルトの名無しさん:2005/11/12(土) 19:34:01
出来ないと思った理由を聞きたい
958デフォルトの名無しさん:2005/11/12(土) 20:56:22
JDBCが何のためにあると思っとるのかねチミは。

959デフォルトの名無しさん:2005/11/12(土) 21:02:09
SELECTとかUPDATEとかの例はあるんですが
CREATE TABLEはなかったもので;

960デフォルトの名無しさん:2005/11/12(土) 21:02:48
質問です。
JSpinnerっていうクラスがありますが、このクラスで↓のような事をするとき、どうすればいいですか?

やりたい事
「 JSpinnerで最大/最小値を100/0にして、ステップを1にする。
  んで、 上のボタンをポチポチ押して、100を過ぎると、0に戻る 」
えっと、つまり、数がクルクル回るように設定したいんですが、
どうしたらいいでしょう?
961デフォルトの名無しさん:2005/11/12(土) 22:09:04
イベントで処理
962デフォルトの名無しさん:2005/11/12(土) 23:44:20
>>951
Genericsの使い方を解ってないだけじゃないのか?
便利だから覚えてみなよ。
963デフォルトの名無しさん:2005/11/13(日) 00:15:18
>>962
これはライブラリ仕様の問題であって、Generics全然関係ないだろ。
要はObject[]で返ってくるものをString[]にはできないというだけ。
Object[]のの要素の中身はStringにキャスト可能かもしれんがな。
964デフォルトの名無しさん:2005/11/13(日) 00:31:39
>>963
は? Genercs の問題だろ。知ったかも程ほどにな。
Set<String> set = new HashSet<String>();
String[] ss = set.toArray(new String[0]);
965デフォルトの名無しさん:2005/11/13(日) 00:40:09
>>964
知ったかはおまえ
よく元のコードを見るんだな
引数なしのtoArray()を使っていて
String[]にキャストできないと言っているだけだろ
引数なしのtoArray()はObject[]を返すという仕様だから当たり前
966デフォルトの名無しさん:2005/11/13(日) 00:41:40
俺の為に争わないで!
967デフォルトの名無しさん:2005/11/13(日) 00:55:10
>>962の負け
968デフォルトの名無しさん:2005/11/13(日) 00:59:49
コンテクストスイッチングってなんですか?
969デフォルトの名無しさん:2005/11/13(日) 01:39:15
>>968
タスクやスレッドを切り替えること。
普通OSやVMがやる。
VMにコンテキストスイッチをする機会を与える命令も
Javaにある。
970デフォルトの名無しさん:2005/11/13(日) 01:44:49
>>969
ありがとうございましたあ
971デフォルトの名無しさん:2005/11/13(日) 02:10:24
軽量プロセスは何が軽いかっていう問題がでたんだけど
これはCPUへの負荷が軽いってことであってる?
972デフォルトの名無しさん:2005/11/13(日) 02:11:26
うそ
973デフォルトの名無しさん:2005/11/13(日) 03:10:16
メインメモリの領域に占めるデータの量とかですか?
うーん・・・違ってそうだな
974デフォルトの名無しさん:2005/11/13(日) 03:32:30
スレッドが軽いというのは、主に生成と解放のコストが低いということをさすよ。
なぜならほとんどのリソースはプロセス側がもっていて、
スレッドは主にスタックとプログラムカウンタなどの
最低限の情報しかもたないからね。
だから生成と解放のための処理時間も短く高速になる。
975デフォルトの名無しさん:2005/11/13(日) 03:57:33
>>974
じゃあこの問題に対しては何が軽いと答えるべき?
976デフォルトの名無しさん:2005/11/13(日) 04:40:42
977デフォルトの名無しさん:2005/11/13(日) 04:47:06
>>971
web Archiveの内容だけど参考になる?
プログラマーのためのスレッド入門(初級編)
http://web.archive.org/web/20030418223143/kwatch.tripod.co.jp/thread/thread.html
978デフォルトの名無しさん:2005/11/13(日) 05:04:59
@英字をバイト表示させる
A任意のバイト列から英字を表示させる

この方法を教えてください
ハフマン圧縮のプログラムを作ってます
979デフォルトの名無しさん:2005/11/13(日) 05:09:37
>>977
参考になりました
ありがとうございました
980デフォルトの名無しさん:2005/11/13(日) 06:01:02
>>976
つまんねーからもういいよ、うせろ
981デフォルトの名無しさん:2005/11/13(日) 07:36:22
>>975
コンピュータの負荷が軽いということだね。
これにはメモリ割り当て量、処理時間の両方が含まれる。
一部リンク切れだけど、>>977のサイトがよくまとまっているね。
ローカル変数領域とかいてあるけど、要するにスタックのことね。
982デフォルトの名無しさん:2005/11/13(日) 10:25:39
文字列を行ごとに区切って配列に格納するために、java.lang.String#split() を次のようにして使ったのですが、

String str = "foo\nbar\nbaz\n";
String[] lines = str.split("$");

うまく行ごとに分割されず、次のような結果になりました。

lines[0] //=> "foo\nbar\nbaz\n"
lines[1] //=> ""

"$" のかわりに "\n" を使うと分割はされるのですが、改行文字が消えてしまいます。
改行文字を消さないために、できれば "$" を使いたいのですが、どうしたらうまくいくでしょうか。
983デフォルトの名無しさん:2005/11/13(日) 10:28:01
エラーが消えませんなぜですか?

public class Data {
String[] dd={"aaa","bbb"};
System.out.println(dd[1]);
}
984デフォルトの名無しさん:2005/11/13(日) 10:34:59
>>982
分割される訳無いだろ
foo\nbar\nbaz\nの何処に$があるんだ?
985デフォルトの名無しさん:2005/11/13(日) 10:38:54
>>983
String[] dd = new String[]{"aaa", "bbb"};
986デフォルトの名無しさん:2005/11/13(日) 10:47:28
>>982
API詳しく知らないが\nで分割して
分割文字列の最後に\n付ければいいじゃん
987デフォルトの名無しさん:2005/11/13(日) 11:01:57
いくつかのライブラリ(jarファイル)を物理的に一つにまとめて、
個別のファイルにクラスパスを通すこと方法はありますでしょうか?

例えば、A.jar と B.jar というライブラリがあり、
これらをそのまま、C.zipにすれば、AとBへ直接パスを通すのと同じように
扱えるようにしたいということです。(import文もそのままです。)

一度、AとBをclassまで解凍して、C.jarにするという案があるのですが、
例えば、commonsとかのJakartaのライブラリをそのようにして問題ないか
(ライセンス、動作的に)がはっきりしないため、現在は見送っています。
988デフォルトの名無しさん:2005/11/13(日) 11:05:50
>>987
ためせばいいだけのことだっちゃ
989デフォルトの名無しさん:2005/11/13(日) 11:27:49
>>984
正規表現では$は行末を表すから分割されると思ってもおかしくない。

>>983,985
System.out.println(dd[1]);
がDataクラスのなかでメソッド内にないから。
990デフォルトの名無しさん:2005/11/13(日) 11:31:28
>>989
おかしくもないが正しくも無いな
991982:2005/11/13(日) 11:49:46
>>984
java.lang.String#split(String regexp) は、引数に正規表現を表す文字列をとります。
そのため、行末をあらわす正規表現「$」で行ごとに分割できると思ったのです。

>>986
String#split("$") でもしできるなら、そっちのほうがスマートだからです。
"\n" で区切るなら、StringTokenizerで十分。しかしそれよりもいい方法がないかと思い、String#split()を試しています。
992デフォルトの名無しさん:2005/11/13(日) 11:52:29
Patternのsplitなら\n残したまま$で分けれるが
\nの直前で分けるので無理だな
993デフォルトの名無しさん:2005/11/13(日) 11:59:01
>>992を補足
String str = "foo\nbar\nbaz\n";

Pattern使って"$"で分けると
[foo]
[\nbar]
[\nbaz]
[\n]

おまけ "^"で分けると
[]
[foo\n]
[bar\n]
[baz\n]
994デフォルトの名無しさん:2005/11/13(日) 12:08:09
>987
1つにまとめるonejarとかソフト昔見たことある
jarごと突っ込むのは知らないけど
1つのjarの中にクラスパス含めるのは
MANIFEST.MFファイル中に

Class-Path: ./A.jar ./B.jar . ../lib ../jre/lib/rt.jar

って感じでいくらでも入れられるよ
995デフォルトの名無しさん:2005/11/13(日) 12:26:51
>>983
ちゃんとコンストラクタをつくりなさい
でなかったら

public class Data {
static {
String[] dd = {"aaa","bbb"};
System.out.println(dd[1]);
System.out.printf("%s", dd[1]);
}
}

こうする
996982:2005/11/13(日) 14:32:28
>>993
すごい、「^」を区切り文字にすると改行文字を保持したまま行ごとに分割できました。
試したところ、993とはちょっとちがって
["foo\n", "bar\n", "baz\n"]
となりました。さいこー。
997デフォルトの名無しさん:2005/11/13(日) 14:40:51
>>996
ありゃ,結果オーライってことで許してちょ
998デフォルトの名無しさん:2005/11/13(日) 14:42:31
Javaを独学で学ぼうとしているものです。
独学でマスターするには
■ともかくプログラミングする環境を整える。Javaならば、開発のためのソフトなどを用意しインストールして使える状態にする。
■後は、ひたすらプログラムを書く!
ということなので
初心者におすすめのソフトがあればお教えください。
999デフォルトの名無しさん:2005/11/13(日) 14:49:35
1000伝説新人タクシ:2005/11/13(日) 14:52:26
>>998
JDKを入れる(必須)
プログラムをメモ帳で書いてコマンドラインから実行もできるが、
eclipse(RAD: 統合開発環境)(無償)もある。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。