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

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

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

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

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

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

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

次スレは>>980あたりで。
2デフォルトの名無しさん:2006/04/10(月) 17:18:15
スレ縦乙であります
3デフォルトの名無しさん:2006/04/10(月) 20:25:13
公式だかどこだかにjavaを動かすVMwareはどんなマシンにものるとか書いてあった気がするが
本当にどんなマシンにでものるの?
PS3にものるか知りたいんだがのりそう?
4デフォルトの名無しさん:2006/04/10(月) 20:59:22
そこまでしてクロスプラットフォーム化しなくても
5初心者なのに・・・。:2006/04/11(火) 11:25:19
現在URLより、読み込んだデータ(1ページで200件分)を表示するプログラムを
作成していましたが、急遽2ページで200件(1ページで100件ずつ)のデータを表示
するように修正を行っています。しかしうまく動いてくれず、現在は、最初に
読み込んでいる1ページ目のデータ(100件分ずつ計200件)を2回表示してしまいます。

どうのように修正すれば1ページ目と2ページ目を読み込み正常に表示できるか
どなたか教えて頂けませんでしょうか?

URLからデータを読み込むメソッドは以下です。

// HTTP通信開始
final HttpGetConnection httpGet = new HttpGetConnection();
final int status = httpGet.getMethod("http://" + xxxxxx + "/xxxxxx.ssi");
SyncExec(new Runnable() {
public void run() {
ArrayList array = httpGet.getData();
resultSet(status, array);
//ウィジェット操作を可能にする
widgetControl(AFTER_CONNECT);
}
});
}
※このメソッドは、基本的にはGUIの操作に専念するクラスに生成しています。

ArrayListにデータを溜め込み、1ページ目と2ページ目のデータをまとめて
表示しようとしています。
処理を共通化出来るところは、共通化して、あまり手間を掛けたくはないのですが・・・・。

6デフォルトの名無しさん:2006/04/11(火) 11:34:20
resultSet() の中で対処しろよハゲ
7デフォルトの名無しさん:2006/04/11(火) 12:59:35
ナイスボディで美人でやさしいお姉さんが
たまにエッチな事しつつ優しく教えてくれたら
僕にもJAVAが出来そうな気がする。
8デフォルトの名無しさん:2006/04/11(火) 13:17:27
美人でナイスバディのおネエさん?
9デフォルトの名無しさん:2006/04/11(火) 14:53:40
スレ立て乙です。小心者にはしなかったのね。
10デフォルトの名無しさん:2006/04/11(火) 18:58:40
JDKを使ってプログラミングしているのですが
コンパイルはできるのですが
Exception in thread "main" java.lang.NoClassDefFoundError: Sample1
と表示されて実行できません。
そうすればプログラムを実行できるようになるのでしょうか?
11デフォルトの名無しさん:2006/04/11(火) 19:25:36
>>10
public static mian()
とかなってんじゃねぇの?w
12デフォルトの名無しさん:2006/04/11(火) 19:29:30
13デフォルトの名無しさん:2006/04/11(火) 19:41:17
プログラムは間違ってないので
また、たいがいのアプレットは、javaコマンドでは起動しません。javaコマンドで起動しないアプレットを java コマンドで実行したときにも、NoSuchMethodErrorが表示されます。

これっぽいです
14デフォルトの名無しさん:2006/04/11(火) 19:56:21
クラスパス(classpath) の設定をしたら実行できました。
俺の馬鹿馬鹿まんこ!
15デフォルトの名無しさん:2006/04/11(火) 19:57:15
日本語を勉強した方が良いな
16デフォルトの名無しさん:2006/04/11(火) 20:11:36
>>14
てことは、環境変数の CLASSPATH が設定されている状態なのでは?
何かそのPCにインストールしなかった? (たとえばカボスをインストール
すると設定されちゃってそうなるというのを聞いたことがある)。
17デフォルトの名無しさん:2006/04/11(火) 20:16:04
>>16
LSI C−86試食版もインスコしてますが
関係無いかな
18デフォルトの名無しさん:2006/04/11(火) 20:26:09
こりゃまた懐かしいものをお持ちで
19デフォルトの名無しさん:2006/04/11(火) 22:07:45
javaの勉強がてらブラウザ作ってみようと思ってます。
そこでcookieなんですが、これってどう実装すればいいんでしょうか?
参考になるwebページ等あれば教えて下さい。
20デフォルトの名無しさん:2006/04/11(火) 22:16:06
>>19
URLConnection 使ってるならコアライブラリの中の人が勝手にやってくれてる。
Socket 使ってプロトコル実装してるなら RFC でも嫁
http://www.mars.dti.ne.jp/~torao/rfc/rfc2109-ja.txt
21デフォルトの名無しさん:2006/04/11(火) 22:27:33
今日javaを触り始めたのですが、説明サイトを見ると
どうも小難しい単語ばかりが並んでおり、なかなか頭の固い自分には理解しづらいのです。
出来れば、プログラムを実際に作りながら勉強したいのですが、
オススメのサイトもしくは、こんな感じのプログラムを作ってみるといい。
みたいなのがあると教えていただけませんか。
22デフォルトの名無しさん:2006/04/11(火) 22:30:03
興味のあるプログラムを作れ
いじょ
23デフォルトの名無しさん:2006/04/11(火) 22:30:12
>>21
1.Hello, world
2.例外やスッドレ
3.基本的なコンポーネントを習得
4.BREWエミュ作成
24デフォルトの名無しさん:2006/04/11(火) 22:37:09
>>22
それは自分も考えましたが、いきなり突っ込んでいっても挫折しそうなので
簡単な、基礎でもつまってるようなプログラムでもあればと思いまして。

>>23
2.例外やスッドレ
とは何にことでしょうか・・・。
25デフォルトの名無しさん:2006/04/11(火) 23:37:10
>>24
例外:Exceptionとその下位クラス、try〜catch〜とかthrow/throwsとか
スッドレ:ThreadのextendsやRunnableのimplements、そしてrun()
26デフォルトの名無しさん:2006/04/11(火) 23:38:53
>>21
プログラミング自体未経験なのか、
それともいろんな言語を知っていてjavaが初めてなだけなのか、
ソフトって言うとディスクやプラスチックのカートリッジやHuカードが思い浮かぶのか、
それともハードとソフトの関係や開発手順などの至極基本的な知識があるのか…
27デフォルトの名無しさん:2006/04/11(火) 23:44:50
>>25
わかりました。ありがとうございます。

>>26
プログラミンは今回が初めてになります。
ソフトって言われると、どうしてもツール系などを思い浮かべます。
開発手順などの基本的なことはまだわかりません。
出来れば、それを簡単なプログラムを作ると一緒に
勉強できればと思いまして。
28デフォルトの名無しさん:2006/04/12(水) 00:02:53
>>27
じゃぁ >>23 の言うとおり
開発環境整えて Hello, world からどうぞ。
↑の意味は分かるよね。
あとは少しずつ発展させてみれば大丈夫。

> 簡単な、基礎でもつまってるようなプログラムでもあればと思いまして。

「つまってる」より一歩一歩進んだほうがいいんじゃない?
まぁある意味 Hello, world にも基礎は詰まってると思うけど。
29デフォルトの名無しさん:2006/04/12(水) 00:06:20
>>28
Hello,World はとりあえず成功しました。
クラスパスも通したので大丈夫だと思います。
その後〜。っていう意味でしたが、やはり地道な努力しかないようですね。
いろいろな書籍などを参考にして頑張ってみたいと思います。
つまらない相談に乗っていただいてありがとうございました。
30デフォルトの名無しさん:2006/04/12(水) 00:08:18
デバイスをコントロールするアプリケーションをJavaWebStartで配布
しようとしています。デバイスコントロール部が共有ライブラリの形で
用意されていれば、JNIでライブラリを呼ぶjarを作って<nativelib/>で
配布すればよいというのはわかったのですが、独立したコマンドの
形になっているものを配布する方法はあるでしょうか?
31デフォルトの名無しさん:2006/04/12(水) 00:34:50
byte[]からStringを生成しようとして

byte[] bytes = ...
String str = new String(bytes);

単純にこのようにnew String()使ったら、PMDでStringInstanciateに
引っかかった。これってnew String()使わずに実現する方法あるの?
32デフォルトの名無しさん:2006/04/12(水) 00:35:33
java超入門買ったんだけど
最初の環境変数設定が出来ませんorz

SET PATH=C:\SDK1.3.1\bin;%PATH%

これをメモ帳で書きこんで再起動→プロンプトでjavac
→コマンド名またはファイル名が違います。

になってしまいます。どこが間違ってるのかわかりません。
どなたか教えて下さいm(‐‐)m
33デフォルトの名無しさん:2006/04/12(水) 00:41:40
SDKのバージョンが違うのでは?
34デフォルトの名無しさん:2006/04/12(水) 00:48:21
SDKのバージョンですか。
でも本の付属に付いてたCO−ROMから
インストールしたんですけど。。。
35デフォルトの名無しさん:2006/04/12(水) 00:50:47
>>32
これ?
ttp://www.amazon.co.jp/exec/obidos/ASIN/4774112801/
4年も前の本を手にするとは、かわいそうに。
36デフォルトの名無しさん:2006/04/12(水) 00:52:36
>32
まずは>>1にあるwikiを嫁
それでもダメなら↓を確認しれ

・JavaSDKをインスコしたフォルダ
本当に「C:\SDK1.3.1\bin」か?
実は「J2SDK1.3.1」とかになってないか?
違ってたらどっちかに統一しる。

・OSは何だ?
PATHの設定方法はWin9x系とWinNT系で違う
メモ帳で autoexec.bat 弄るのはWin9x系で使う方法
自分のOSでのPATHの設定方法がどっちなのかはググれ
37デフォルトの名無しさん:2006/04/12(水) 01:00:06
>>35
そうそれです。
ほったらかしの本屋さんで良く見ずかったのが悪かったみたいですね:
>>36
じぶんのOSは98です。
本の通り98の設定方法でやってるんですが。
もう一度フォルダー名を確認してみます。
38デフォルトの名無しさん:2006/04/12(水) 02:22:50
wikiに載っていた
ファイル名を指名して実行で
SET PATH=C:\SDK1.3.1\bin;%PATH%
を入力したらうまくいきました!

>>33>>36

ありがとうございました。
39デフォルトの名無しさん:2006/04/12(水) 09:54:32
>>31
エンコーディング指定したらどうなる?
40デフォルトの名無しさん:2006/04/12(水) 10:03:30
String型のテキストをOracleDBの VARCHAR2(サイズ4000)に格納しようとしています。
この時、Stringに入ってる値が4000以上なら警告を出すようにしたいのですが、
どうやってサイズを測ればいいでしょうか?
41デフォルトの名無しさん:2006/04/12(水) 10:11:38
>>40
よくわからないんだけど、その VARCHAR2 には何のエンコーディングで文字列を
入れればいいの? String のまま渡して渡された方で勝手に処理するの?
42デフォルトの名無しさん:2006/04/12(水) 10:31:23
>>40
Oracleの文字コードの設定によるが、byte数が4000以上かどうかチェックする。
43デフォルトの名無しさん:2006/04/12(水) 10:42:35
VARCHAR2はバイトじゃなくて文字数なのでは
44デフォルトの名無しさん:2006/04/12(水) 10:45:44
それはNVARCHAR2
45デフォルトの名無しさん:2006/04/12(水) 11:08:57
>>40-44
ありがとうございました。
46デフォルトの名無しさん:2006/04/12(水) 11:13:57
Stringってスターリングって読むんですか?
なんとなくこれ打ち込むたびに頭の中のBGMはスタンドバイミーなんですが。
47デフォルトの名無しさん:2006/04/12(水) 11:17:01
俺は超ひも理論しか浮かばないけどな。
48デフォルトの名無しさん:2006/04/12(水) 11:38:11
Stringはストリングじゃないかと
スターリングならStirlingだろ

略のstrは個人的にはエスティーアールだが
ストラと読んでるのを聞いた事がある
49デフォルトの名無しさん:2006/04/12(水) 11:44:08
Stringはどう考えてもストリングだろうなあ。
文字の列というか繋がりというか紐というか糸というか連続というか。
50デフォルトの名無しさん:2006/04/12(水) 14:51:58
Linux版のJava文字化けについて、少し教えて欲しいです。
豆腐が出てしまいます。
51デフォルトの名無しさん:2006/04/12(水) 15:22:13
どういう状況での話をしてるのかが分らないもっと明確に
52デフォルトの名無しさん:2006/04/12(水) 16:05:52
フォントの設定とか
53デフォルトの名無しさん:2006/04/12(水) 16:28:29
String s = "SELECT * from EMPLOYEE where name=[?] and tel=[?]";
みたいな書き方をして、この中の[?]に順にデータをセットするAPIがあったような
気がするんだけど、何を使ってどう書くんだっけ?
5453:2006/04/12(水) 16:33:01
自己レス
java.text.MessageFormat使えばなんとかなりそうだ。
吊ってくる
55デフォルトの名無しさん:2006/04/12(水) 16:34:37
自己解決してるんなら良いか
一応 
つ PreparedStatement
56デフォルトの名無しさん:2006/04/12(水) 16:39:15
>>54
最終的にそのsql投げるんなら、始めから >>55 のほうでいいんじゃね
5754:2006/04/12(水) 16:53:06
>>55-56
レスd。
対象文字列が、SQLに限らんのです。。
テンプレートとなる文字列があって、その内部に動的に書き換えたい部分が存在するので。
まずはMessageFormatを試してみます。
58デフォルトの名無しさん:2006/04/12(水) 17:06:06
XSL、という手もあるでよ。
59デフォルトの名無しさん:2006/04/12(水) 17:07:45
よっぽど複雑な構造でもない限りXSL持ち出さんでも
60デフォルトの名無しさん:2006/04/12(水) 17:15:16
font.properties.jaのフォント指定が日本語に対応していないっぽいのですが、修正
しても上手くいきません。
JAVAアプレットとか文字化け。
jdk-1_5_0_06-linux-i586-rpm.bin
61デフォルトの名無しさん:2006/04/12(水) 17:16:53
>>60
/JRE/lib/fonts/に
fallbackフォルダを作成
/JRE/lib/fonts/fallback
に日本語フォントへのリンクを作成する
ln -s /usr/share/fonts/TRUETYPE/~.ttf
62デフォルトの名無しさん:2006/04/12(水) 17:23:20
ttp://www.tandt.co.jp/tthome/democenter2.html
このページの下の方にあるデモサイトのようなものを作りたいのですが、これはJAVA?
63デフォルトの名無しさん:2006/04/12(水) 17:27:47
>>62
こりゃまたすげぇけど、HTML + JavaScript で作り込んだんだろうな。
64デフォルトの名無しさん:2006/04/12(水) 17:52:24
>>63
レスどうも。
私、JAVAは全然わかりません。
正直、WEBアプリをなめてましたが、
このデモサイトくらいの操作性ならWEBアプリでも問題ないなと思いました。

65デフォルトの名無しさん:2006/04/12(水) 17:57:36
いや HTML に JavaScript じゃそこまで凝ったの作るのは現実的じゃないでしょ。
せいぜいそのデモにあるように 3〜4 の専用ウィンドウ開くところまで作り込んだら
もう誰も手を入れられないコードになってると思う。
66デフォルトの名無しさん:2006/04/12(水) 21:12:33
TextAreaの任意の一行のみをString型に格納したい場合どうすればいいですか?
67デフォルトの名無しさん:2006/04/12(水) 23:08:34
>>66の質問取り下げます
68デフォルトの名無しさん:2006/04/12(水) 23:51:47
すみません。
質問です。

http://homepage2.nifty.com/t-1000/java/java_qanda/q28.html
上記URLのサイトを参考にして、
JTextFieldの文字が変更されたら、文字数をチェックして制限文字数(定数で30文字です)を越えていたら、
制限文字数に縮めてJTextFieldに格納する。
という処理を書きましたが、JTextFieldに制限文字数に縮めた文字列を
格納するところでハングアップしてしまいます。

つまるところJTextFieldに入力文字数の制限をつけたいのですが、どのように実現したらよいでしょうか?
69デフォルトの名無しさん:2006/04/12(水) 23:56:45
>>67
結果がわかったんなら書いてってよ!
70デフォルトの名無しさん:2006/04/12(水) 23:58:56
幾らで?
71デフォルトの名無しさん:2006/04/13(木) 00:01:10
>>70
つ●←ウンコ
72デフォルトの名無しさん:2006/04/13(木) 00:12:38
PS使うなら[?]は実行時に構文エラーになると思う
73デフォルトの名無しさん:2006/04/13(木) 09:48:31
>>72
[?]じゃなくて{?}でした。
74デフォルトの名無しさん:2006/04/13(木) 10:51:12
C言語のsizeof演算子のように

HOGEClass hoge = new HOGEClass();
int size = sizeof(hoge);

というような事はJavaでできませんか?結果さえ分かればよいので、あったら教えてください。
75デフォルトの名無しさん:2006/04/13(木) 11:04:50
出来ません。
76デフォルトの名無しさん:2006/04/13(木) 11:12:06
やる必要があるのだろうか
77デフォルトの名無しさん:2006/04/13(木) 11:23:27
性能評価とかチューニングに使いたいんです。

具体的にはネットワークを使ったプログラムなのでどの程度の大きさのデータを
送ってるのかなぁと知りたいわけですね。
78デフォルトの名無しさん:2006/04/13(木) 11:27:21
>>77
クラスのインスタンスのメモリ上での大きさと、送られるデータの大きさがどう関係するのだ?
79デフォルトの名無しさん:2006/04/13(木) 11:32:43
1. プロファイラを使って 1 インスタンスがメモリ上で占有している大きさを調べる
2. インスタンスをシリアライズする
80デフォルトの名無しさん:2006/04/13(木) 12:17:27
パラメーターマーカー使うなら{}不要
フォーマット使うなら?ではなくインデックス(数値)
81デフォルトの名無しさん:2006/04/13(木) 14:37:02
初心者です。インターフェースに関してなんですが以下のソースで
cente.x,p.x,center.y,p.yがどのように値が割り振られたのかがよくわからな
いです。Circle c = new Circle(new Point3D(0,0,0),newPoint3D(1,0,0));
のPoint3D(0,0,0)とPoint3D(1,0,0)がCircle(Point3D center, Point3D p)内の
centerに対するx,y,zに,次のpもpに対するxyzにと値を振ってるのでしょうか?
出来ればどなたか、説明お願いします。
//以下ソースです
interface Shape2D { double getArea();}
class Point3D {double x, y, z; Point3D(double x, double y, double z) {
this.x = x;this.y = y;this.z = z;
}} abstract class Shape { abstract void display();
} class Circle extends Shape implements Shape2D {Point3D center, p; //p=円周上の任意の点
Circle(Point3D center, Point3D p) { this.center = center; this.p = p; }
public void display() { System.out.println("Circle");}
public double getArea() { double dx = center.x - p.x;double dy = center.y - p.y;
double d = dx * dx + dy * dy;double radius = Math.sqrt(d); return Math.PI * radius * radius;
}}
8281:2006/04/13(木) 14:42:42
mainがぬけてました

class Shapes_2 {
public static void main(String args[]) {
Circle c = new Circle (new Point3D(0, 0, 0), new Point3D(1, 0, 0 ));
c.display();
System.out.println(c.getArea());

}
}
83デフォルトの名無しさん:2006/04/13(木) 19:00:08
同一VM内で生成可能なスレッドの数ってプラットフォームによって異なると思うけど、なんかその辺の情報ありませんかね?
84デフォルトの名無しさん:2006/04/13(木) 19:12:15
すみませんが、質問です。
JavaやCなどで書かれたバッチプログラムをいろいろ実行したいのですが、そ
れを呼び出すスクリプト言語として、Antの他に良いものはないでしょうか?

Antはスクリプト言語ではありませんが、豊富なタスクとデータ型が用意され
ていて便利です。またTomcatのように、Jarファイルをlibディレクトリに追加
するだけで利用できるので、CLASSPATHをいちいち指定する手間が省けます。

しかし、Antのビルドファイルは、制御構造はきわめて貧弱であり、また変数
にプロパティ文字列しか使えません。Ant-Contribとscriptタスクを利用する
と少しはマシですが、スクリプト言語としては大変使いづらいと言わざるを得
ませんでした。

http://www.jajakarta.org/ant/ant-1.5/docs/ant-1.5/j/docs/ant2/features.html
Antにスクリプト言語としての拡充を求める人は多いようですが、そういう用
途には他の言語がある、と開発者たちは切り捨てています。しかし、Antのよ
うな豊富なタスク、CLASSPATHの設定しやすさを持つ言語があるのでしょうか?

今はJRubyを使っていますが、どうもそういう機能はなさそうです。何か良い
言語をご存知でしたら、お教えいただきたいのです。
85デフォルトの名無しさん:2006/04/13(木) 19:19:48
JCL
86デフォルトの名無しさん:2006/04/13(木) 23:13:16
いちいちプログラムのある場所をコマンドプロンプトで打たなくても
どこでもjavacできるようになる方法ってあるんですか?
87デフォルトの名無しさん:2006/04/13(木) 23:22:49
>>74
Sizeof for Java
ttp://www.javaworld.com/javaworld/javaqa/2003-12/02-qa-1226-sizeof.html
ただし紹介しといてなんだけど、個人的に未検証です。
88デフォルトの名無しさん:2006/04/13(木) 23:53:00
>>86
環境変数 PATH に javadoc.exe のあるディレクトロを設定
89デフォルトの名無しさん:2006/04/14(金) 03:48:07
>>84
GroovyのAntBuilderが最適解かな
めちゃ重いけど
90デフォルトの名無しさん:2006/04/14(金) 04:08:48
Javaプログラム開発用エディタ MagCup
は、どうですか?
91デフォルトの名無しさん:2006/04/14(金) 08:10:19
自分で感じるのが一番
9284:2006/04/14(金) 12:16:16
>>89
ありがとうございます。
http://www-06.ibm.com/jp/developerworks/java/050128/j_j-pg12144.html
AntBuilderは、Antオブジェクトの Groovy によるWrapper なのですね。
確かにこれなら、メインロジックの制御構造は完全に自由になりますね。

ただ、Antタスクやターゲット自体の不自由さ(複雑な値を返せない、複雑な
例外処理ができない)や、Groovy自体の品質に不安があることなどを考えると、
http://cappuccino.jp/keisuken/logbook/20051130.html

Antの利用はあきらめて、素直にJRuby や Jythonでガリガリ書く方が良いのか
も知れないとも思い始めています。CLASSPATHについては、起動スクリプトを
工夫することにして。
93デフォルトの名無しさん:2006/04/14(金) 12:49:18
>>92=84
なんかAntの批判みたいなこと書いて、なぜかJRubyやJython挙げてるけど、要は

>JavaやCなどで書かれたバッチプログラムをいろいろ実行したいのですが、そ
>れを呼び出すスクリプト言語として、Antの他に良いものはないでしょうか?

これを満たせばいいんでしょ?Javaから離れて考えたらいかが?
いくらでもあるから例はあげないけど。
9484:2006/04/14(金) 13:15:37
>>93
JRubyなどJVM上のスクリプト言語なら、Javaオブジェクトをスクリプト内から
直接利用することができます。JVMと関係のないスクリプト言語だと、main()
を呼び出すことしかできません。その違いは大きいかと考えておりました。

考えてみると、ほとんどの用途ではそれで構わないのかもしれません。実行速
度もより速いですし。
95デフォルトの名無しさん:2006/04/14(金) 13:22:34
シェルで組め
96デフォルトの名無しさん:2006/04/14(金) 13:29:03
> シェルで組め
有害な csh プログラミング
http://www.kiso.tsukuba.ac.jp/~makimura/text/node239.html
97デフォルトの名無しさん:2006/04/14(金) 13:34:23
Bourne 信者が csh 叩きかw
log4j 作者がファビョって Logging API 叩きまくってたのを思い出すな。
98デフォルトの名無しさん:2006/04/14(金) 13:56:07
すいません質問です。

public static void main(String[] args) {
File f = new File("./");
String[] hoge = f.list();

for(int i = 0;i < hoge.length;i++){
System.out.println(hoge[i]);
}
}

というソースで、ディレクトリのファイル名を出力させているんですが、
Linux上で動かすと、Windowsで作った日本語のファイル名が化けてしまいます。
できれば、ちゃんと日本語で表示させたいんですが、
なにか回避法はありませんか?

99デフォルトの名無しさん:2006/04/14(金) 14:18:51
>>98
それはWindowsとLinuxの問題。Javaからはどうしようもあるまい。
Winの文字コードはShift_JISで固定だが、Linuxは標準的にはEUC-JPかUTF-8。
LinuxをShift_JISにしてやれば解決するが、問題もある
ここから先はLinux板で。http://pc8.2ch.net/linux/
100デフォルトの名無しさん:2006/04/14(金) 14:34:45
それって単に JVM が LANG の認識ミスってるだけだろ。
最初に System.out.println(System.getProperty("file.encoding")); を挿入して
JVM が動いているデフォルトの文字セットを調べろ。それが Linux 環境のと
違っていたら LANG を適切な文字セットに設定してやれ。
101デフォルトの名無しさん:2006/04/14(金) 21:05:20
>>98
回避する方法は本当はエンコーディングを合わせることなんだけど、合わせなくても無理矢理回避する方法がないわけでもない(あまりおすすめはしないが)。

Shift_JIS か EUC か JIS か分からない byte[] の配列があった場合、 JISAutoDetect で自動判別ができる。但し自動判別なので失敗することもありうる。

例) String s = new String(b, "JISAutoDetect");

エンコードに失敗した String から byte[] に戻すには getBytes() してみればいいかも知れない。しかし全てが可逆な状態とは限らないので戻らないかも知れない。全ての文字が 0 〜 255 のコードになっている場合は getBytes("iso-8859-1") でできるかも知れない。
102デフォルトの名無しさん:2006/04/14(金) 22:17:40
どなたか>>68について知ってる方お願いします。
103デフォルトの名無しさん:2006/04/14(金) 22:49:57
>>102
イベント発生→テキストセット→イベント発生→テキストセット→...
の無限ループになっているとエスパーしてみる
104デフォルトの名無しさん:2006/04/14(金) 23:19:39
>>103
どうすればいいんでしょうか?
105デフォルトの名無しさん:2006/04/14(金) 23:53:17
>>104
JAVAをやめるなんてどうよ
106デフォルトの名無しさん:2006/04/15(土) 00:02:00
桁長エラー時はテキスト変更されるまでは桁チェックしない
107デフォルトの名無しさん:2006/04/15(土) 01:35:44
>>103
でも、>>68の例だと文字数を越えたときにテキストをセットしてイベントが発生して、
もう一度来たときには今度は文字数を越えてないわけだからテキストをセットしてイベントが発生することは無いんじゃない?
無限ループにはなってないな。
108デフォルトの名無しさん:2006/04/15(土) 10:44:36
>>104
とりあえずエスパーに期待しないで
コードを書いてみたらどうね?
109デフォルトの名無しさん:2006/04/15(土) 11:53:49
拾うイベントが良くないだけだろ
110デフォルトの名無しさん:2006/04/15(土) 13:18:50
これから始めてみようと思うんですが本は一冊買ったほうがいいですか?
111デフォルトの名無しさん:2006/04/15(土) 13:23:31
ネットで十分。
トイレや電車や布団の中で読みたければどうぞ。
112デフォルトの名無しさん:2006/04/15(土) 14:10:33
>>39
悪阻レスだけど、指定したら消えた。サンクス
113デフォルトの名無しさん:2006/04/15(土) 14:18:50
>>110
GUIやりたいなら本買ったほうがいいかもしれない
CUIならいらん
114デフォルトの名無しさん:2006/04/15(土) 16:45:52
>>77
自分でフィールド数数えろ。
bool,char,short,int,floatが大体4byte
double,longが8バイト
オブジェクト参照が32ビット環境だと4byte,64だと8byte

あとヘッダが8byte(64bit環境だと4byte)。これで大体の概算でるだろ。

それかプロファイラとか。
115114:2006/04/15(土) 16:49:14
プロファイラって言ってたのはJVMTIとかね。
下記とか使えるんじゃね?俺は使ったこと無いけど。

http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/jvmti/jvmti.html#object
116デフォルトの名無しさん:2006/04/15(土) 19:51:36
クリックすれば自分のIPをコピー出来るものを作ろうと思うのですが
覚えた文法をどう組み合わせていけばいいか分かりません
GUIというか一応ウィンドウがあるアプリです。
ウィンドウアプリを作るあたり役に立つサイトなどありませんでしょうか
117デフォルトの名無しさん:2006/04/15(土) 21:53:48
GUI作るのは最後
まず、自IPアドレスを取得するオブジェクトを作る
次に文字列をクリップボードにコピーするオブジェクトを作る
自IPアドレスを取得するオブジェクトを実行し、結果をクリップボードにコピーするオブジェクトに渡すオブジェクト(コントローラー)を作る
GUIを作る
ボタンが押されたらコントローラーを実行するようにイベントを実装する

あなたはなにができない?
118デフォルトの名無しさん:2006/04/15(土) 21:56:16
>>116
Lesson: Using Swing Components(英語)
http://java.sun.com/docs/books/tutorial/uiswing/components/index.html

クリップボートへのコピーは StringSelection で検索してみて。
119116:2006/04/16(日) 00:12:57
>>117
レスありがとうございます、全部出来ないのですけど
一つ一つ探しながら試してみます、プログラムってこういう風に出来ていくんですね
なんかかなりワクワクしてきました
120デフォルトの名無しさん:2006/04/16(日) 00:41:08
>>107
無限ループじゃなくて呼び出し中のアクションリスナーをさらに呼び出そうとして衝突してんじゃない?
121デフォルトの名無しさん:2006/04/16(日) 00:47:32
>>119
その手順だと、最後まで進まないと結果が見えなくて不安になるかもね。
全部できないってことは思いっきり初心者ってことだと思うんだけど
単にHelloWorldをウィンドウに表示するところから始めて
次にIPを表示する、クリップボードにコピーする、と進むというのもアリかも。
122デフォルトの名無しさん:2006/04/16(日) 01:21:31
初心者の俺は、GUI作るのが面白くて、そっち先に作っちゃって、
モチベーションが保てなくて、肝心の処理を作らないでプロジェクトを放置してしまうorz
自分で作ったGUIで遊ぶのが楽しくて楽しくて・・・。
ボタン押しても何の反応もないけど。
123デフォルトの名無しさん:2006/04/16(日) 01:30:45
そこなんだよね
俺も最初はGUIに凝ってそこで終わってしまう
そんなんで、手順を逆にしてみた
先に要となるロジックをくんで、JUNITで動作確認
で最後にGUI

まあ、重要なのは一気に作ろうとはせず、機能を分割して
コツコツと組み立てることだね
124デフォルトの名無しさん:2006/04/16(日) 01:58:09
俺は全然逆。根が Unix なので UI はコマンドライン入出力とパイプ、リダイレクトがあれば十分だった。
125デフォルトの名無しさん:2006/04/16(日) 02:39:39
コマンドプロンプトすらまともに使えない俺がいる
126デフォルトの名無しさん:2006/04/16(日) 02:40:40
コマンドプロンプトって使い道そんなあるか?
必要にならないから、使えないだけだと思う。
当然漏れも
127デフォルトの名無しさん:2006/04/16(日) 03:00:52
>>124
俺もそれだな。
機能だけ先に作ってしまう。んでUIは後から考える。
でもGUIはメンドクセでCUIってのが多い
128デフォルトの名無しさん:2006/04/16(日) 05:00:38
>>126
config.sys と autoexec.bat で空きメモリ作りまくってた年代の漏れだけど、
今は ping 打つ程度しか使わなくなっちまったな。
したいことはほとんどGUIでできるようになっちゃったしね。

でも、基本が分かっていればCUIツール使うときに楽だねぇ。
129デフォルトの名無しさん:2006/04/16(日) 05:13:04
Lameとかフロントエンドツールなしで使える人とか尊敬。
昔はJavaとかCでHello Worldとかプロンプトでコンパイルしてたなぁ。
130デフォルトの名無しさん:2006/04/16(日) 06:57:26
GUIでCUIを実行するとウマー
131デフォルトの名無しさん:2006/04/16(日) 13:07:42
一番最初の段階でGUI作っちゃうとGUIがシステム全体に制約を与えてしまう可能性があるため激しくお奨めできない
例えば、ある検索システムでヒットした項目の情報を自動的にポップアップウインドウで表示するGUIを作ったとする
必ず一つしかヒットしないシステムならいいのだが、複数ヒットするシステムだったり複数ヒットするシステムに
変更したりな場合大変な事になる(場合によっては数千、数万のポップアップウインドウが開いてしまう)

GUIなんてのは仕様変更やシステム内部の変更でどうとでも変わってしまうので最後のほうで作ってしまうのが吉
ユーザ暦が長いと、ソフトウェアを設計する時どうしても利用する時の事を考えGUIを先に想像してしまうが、
それはデベロッパーとして修行を積めば直ってくるので気にせずどんどんプログラムを組むべし
132デフォルトの名無しさん:2006/04/16(日) 13:19:37
プロトタイピングで作るのは当然だと思ったが
133デフォルトの名無しさん:2006/04/16(日) 13:24:11
あの、JDBCをWindows上で使って、MySQLに名前付きパイプでアクセス
することってできますでしょうか?
134デフォルトの名無しさん:2006/04/16(日) 13:59:43
appletつくってます。

htmlからクラスファイルを呼ぶ形でappletを起動しているのですが
クラスファイルを新しくしても画面上にそれが反映されません。
キャッシュをクリアしても同様です。

クラスに変更した内容をapplet上に反映させるためには
なにをしたら良いでしょうか?
135デフォルトの名無しさん:2006/04/16(日) 14:20:41
ThreadLocalクラスについて質問があります。

これ使うときプロパティをStaticにして使うと書いてあるんですが、
Staticでなくてはならない理由って何でしょう?

Staticじゃなくても問題ないような気がするのですが...
136デフォルトの名無しさん:2006/04/16(日) 15:03:12
GUI なんて、ただの飾りです。
エロイ人にはそれがわからんのです。
137デフォルトの名無しさん:2006/04/16(日) 15:39:14
>>134
Ctrl + F5
138134:2006/04/16(日) 15:40:00
>137
どこで?
139134:2006/04/16(日) 15:40:49
>137
あ!でた!
ありがとうです
140デフォルトの名無しさん:2006/04/16(日) 17:01:53
Map<MultiKey, Map<String, Number>> map = newTreeMapMap<MultiKey, TreeMap<String, Number>>();
Map<String, Number> subMap = new TreeMap<String, Number>();
subMap.put("ああ", 1234567);
subMap.put("うう", 987456);
subMap.put("げほ", 86056);
subMap.put("おえ", 3.1415);
subMap.put("げはっ", 6.02);
subMap.put("がっ", 1.1111555f);

MultiKey multiKey = new MuntiKey("鍵1","鍵2");
map.put(multikey, subMap);
141デフォルトの名無しさん:2006/04/16(日) 18:02:12
Javaを使ってシリアル通信したんですが、

SunのJavaComunicationsAPIのWindows対応がなくなっているようです。
方法でいいものはないでしょうか?
142デフォルトの名無しさん:2006/04/17(月) 01:22:31
アプレットを作成しているのですが、音を出したい時に、auファイルしか使えないと聞いたんですが本当ですか?
auファイルだといい音って、でないような気がするんですけど、wavファイル→auファイル 変換して音が劣化しただけでしょうか・・・・
とにかくauファイルってつかいずらい。なんとかならないでしょうか。
アプレットで音をだすおすすめな、お決まりパターンみたいのがあったら教えてください。よろしくお願いします
143デフォルトの名無しさん:2006/04/17(月) 01:27:38
Toolkit.getDefaultToolkit().beep()
144デフォルトの名無しさん:2006/04/17(月) 01:27:40
JavaTM 2 プラットフォームには、オーディオおよび MIDI (Musical Intstrument Digital Interface) データの取り込み、
処理、および再生用の強力な API が含まれています。この API は、このプラットフォームでの高品質なオーディオ
ミキシングおよび MIDI 合成を保証する効果的なサウンドエンジンによってサポートされています。
この API の提供されるリファレンス実装では、次の機能がサポートされています。

オーディオファイル形式: AIFF、AU、および WAV
145142:2006/04/17(月) 01:44:46
>>144
wavファイルで取り込み実行できました。
・・・・いちいちauファイルに変更していた俺って・・・

ありがとうございました。
146デフォルトの名無しさん:2006/04/17(月) 01:51:23
147デフォルトの名無しさん:2006/04/17(月) 17:30:06
wikiを読んでいたのですがリンク切れになっており、
カレントディレクトリ「.」を環境変数CLASSPATHに追加する方法がわかりません。
どうか教えてください、お願いします
148デフォルトの名無しさん:2006/04/17(月) 17:33:26
SET CLASSPATH=.
149デフォルトの名無しさん:2006/04/17(月) 18:59:08
sh, bash
export CLASSPATH=.:$CLASSPATH
csh
setenv CLASSPATH .:$CLASSPATH
150デフォルトの名無しさん:2006/04/17(月) 20:04:01
windowsXPなのですが、>>148を環境変数の最後にぶちこめばいいんですか?
やってみます
151デフォルトの名無しさん:2006/04/17(月) 20:09:22
;付きでぶち込んでみましたが失敗のようです。
本当に初心者なのでもう少し教えてください
152デフォルトの名無しさん:2006/04/17(月) 20:10:31
ぐぐれよ
153デフォルトの名無しさん:2006/04/17(月) 20:14:32
ググっても分からずwikiにも抜けていて最後に行き着いた場所がここなんです
154デフォルトの名無しさん:2006/04/17(月) 20:31:06
>>151
じゃあマイコンピュータで右クリックしてプロパティ選択して
そこで出てきたウインドウの何処か忘れたけど環境変数設定
するところがあるから、そこで設定したらいいんじゃないかな。
俺今 Linux 使ってるから確認出来ないけど。
155デフォルトの名無しさん:2006/04/17(月) 20:32:29
>>150
コントロールパネル→システムのプロパティ→詳細設定→環境変数
156デフォルトの名無しさん:2006/04/17(月) 20:41:42
そこまでは分かるんです。
システム環境変数内のCLASSPATH欄の値の変更方法がわからないんです。
157デフォルトの名無しさん:2006/04/17(月) 20:56:57
選択すりゃいいんじゃなかったっけ?

まあしかしこれはもう特定のOSの話であって Java の話ではないな。
158デフォルトの名無しさん:2006/04/17(月) 20:58:27
↓でclassごしにインスタンスを作成したいんですが上手くいきません
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=27543
要するにcrearte()メソッドのcommandRectangleをそのままboardRectangleに反映させたいんですがどうやればいいんでしょうか?
((10,10,0,0)の長方形をcreate()メソッドで作成してcommandRectangleに突っ込む→そのインスタンスをboardRectangleに突っ込む)
まだ作りかけなんで他の汚いところは気にしないでください。
159デフォルトの名無しさん:2006/04/17(月) 21:01:43
>>156
(1) システム環境変数またはユーザ変数の、「CLASSPATH」の列 を選択し編集、もしくは新規作成
(2) ダイアログ上部に「CLASSPATH」が記述されていることを確認or入力
(3) ダイアログ下部に「.」を上書き入力もしくは、既存の(正しい)文字列の後ろに
 区切り文字としてセミコロン「;」を入力し、その後ろに「.」を入力
(4) OK を押して終了

以上、取説作成の練習
160デフォルトの名無しさん:2006/04/17(月) 21:05:20
>>159
あ、ありがとうございます!ついに・・・ついに解決しました!
ありがとう!
161デフォルトの名無しさん:2006/04/17(月) 21:09:49
>>160
そんなに感動できるなんてうらやましい!
162デフォルトの名無しさん:2006/04/17(月) 21:45:51
初めてシャーペンの芯を交換した小学生ぐらいの感動だな
163デフォルトの名無しさん:2006/04/17(月) 22:29:45
机の穴が反対側に貫通した時の感動は?
164デフォルトの名無しさん:2006/04/17(月) 22:41:48
シャー芯を机の穴に突っ込んで折れてとれないくらい不愉快
165デフォルトの名無しさん:2006/04/17(月) 22:51:41
log4jについての質問もここでいい?
もしかしたらOSのスペック的な話かも知れないわけだが・・・

現象
 RollingFileAppdender使ってログを出力してるんだけど、
 MaxBackupIndexに999999って定義したらローテートに10分くらいかかってしまう。


これって、リネームとかに時間がかかってるってことなのかなぁ?
でも1回目のローテートからこんなに時間かかるものなのか?
まさか0〜999999のファイルがあるかどうか順番に確認してリネームしようとしてるのか?


だれかエロイ人解説お願いします!!
166デフォルトの名無しさん:2006/04/17(月) 22:57:04
>>164
うわ想像したらめっちゃ不愉快になったw
167デフォルトの名無しさん:2006/04/18(火) 00:28:39
java 3D グラフィックについてですが
何か、3D javaプログラムを作成したいと思うのですが、sunのHPでダウンロードしようとしたらログイン&パスワードしないとダウンロードできないんですか?これダウンロードするといいことあるのでしょうか?

なにか3D的なjavaやりたい!ってときにお勧めのHPあったら教えてください。

ちなみに
ttp://ortros.den.rcast.u-tokyo.ac.jp/~mitani/Java/java3d/
は見ました。

よろしくおねがいします。

168デフォルトの名無しさん:2006/04/18(火) 03:12:30
169デフォルトの名無しさん:2006/04/18(火) 03:14:19
今時ソフトレンダラの勉強って必要ある?
170デフォルトの名無しさん:2006/04/18(火) 03:23:50
>>168
リンク先のアプレット、皆さんの環境では何fpsでます?
ToonShadingで100って遅いのかな?
171デフォルトの名無しさん:2006/04/18(火) 10:57:14
JakarataPOIについて質問です。
POIで新しい行を追加するとき、次のように書くと思うのですが
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet();
HSSFRow row = sheet.createRow(0);

この場合だとrowオブジェクトが作られてその後、そこにセルをセットしたりするのだと思うのですね。
そうじゃなくて、あらかじめrowオブジェクトを単独で作っておいて、cellをセットしたりして、ある一定の
条件に当てはまってた場合rowをsheetに挿入する、条件に当てはまってない場合rowオブジェクトを
破棄する。そういうことは可能でしょうか?
172167:2006/04/19(水) 00:18:06
>>168
じっくりやってみます、ありがとうございますた。
173デフォルトの名無しさん:2006/04/19(水) 00:38:24
Java言語を書くのに便利なテキストエディタを教えてもらえるとありがたいのですが
今はxyzzy使ってます。これより使い勝手のいいものありますか?
174デフォルトの名無しさん:2006/04/19(水) 00:50:11
>>173
たぶんIDEは使わないものとして。使い勝手は個人差、好みがあるから、いろいろ試してみて。
emacs(Meadow), jedit辺りが有名なところ。好みによってはvim。あとはシェアだけど秀丸とか。
これら+xyzzyでかなりの人の環境をカバーできてるんじゃないかな。
175デフォルトの名無しさん:2006/04/19(水) 00:59:56
>>174
NetBeansも入ってはいるんですけど基本からやりたいのでテキストエディタを使っています。
いろいろ使ってみます。ありがとうございます。
176デフォルトの名無しさん:2006/04/19(水) 01:09:30
>>175
がんばってください!
177デフォルトの名無しさん:2006/04/19(水) 01:15:24
テキストエディタで入力することが基本だとは思わないけどなぁ
javacでコンパイルするにもIDEでソース書けばいいし
178デフォルトの名無しさん:2006/04/19(水) 01:45:40
今日から始めようと思ったのですが、インストール先はCドライブじゃないと駄目なんですか?
Dドライブにしたらjavacと打っても実行できないので…
179デフォルトの名無しさん:2006/04/19(水) 01:55:36
>>178
>>1よめ
180デフォルトの名無しさん:2006/04/19(水) 02:40:15
helloworldに挑戦してます。

パソコンはFMV BIBLOのNE3・45Kで、OSはウィンドウズの98SEです。
path設定はC:\AUTOEXEC.BATファイルにあったSET PATH=C:\FJUTY;
という部分にC:\Program File\Java\jdk1.5.0_06\binをくっつけました。

それからメモ帳を開いてpublic class HelloWorld {と書いてHelloWorld.java
と保存するのですが、拡張子がtxtになってしまいます。
拡張子をjavaにしようと名前を変更すると開けなくなります。
これはtxtのままでもいいのですか?
フォルダオプションの表示タブで「登録されているファイルの拡張子は表示しない」
としていてもtxtになってしまいます。

あとコンパイル?は「窓の手」というソフトを使ってmy documentのファイルフォルダを右クリックして
ms-dosプロンプトを開いているのですが、C:\My Documents\My Java Applications>の後ろは
javac HelloWorld.javaだけでいいですか?実行しても「コマンドまたはファイル名が違います」と出ます。

どこがどう間違ってるのか分からないのでご教示お願いします。
181デフォルトの名無しさん:2006/04/19(水) 02:46:50
あなたには無理
182デフォルトの名無しさん:2006/04/19(水) 02:55:45
すまんがもう Win95/98/Me 系の環境構築は忘れてしまった。

> C:\Program File\Java\jdk1.5.0_06\bin
セミコロンが全角。Program File じゃなくて Program Files

・DOS 窓で 「echo %PATH%」 と打ち込んで意図したパスが設定されてるか確認。
 PATH 設定しなくても 「C:\Program Files\Java\jdk1.5.0_06\bin\javac HelloWorld.java」 とか
 全部入力してやればコンパイルは可能。
・*.java ファイルをダブルクリックで開くにはエクスプローラのどこかで 「ファイルの関連付け」 とか
 何とか言うのがあったはず。関連付けをキーワードにネットで探せ。
・MS-DOS の知識がないなら Eclipse 入れた方が早い (98マシンじゃ厳しいか)。
183デフォルトの名無しさん:2006/04/19(水) 03:26:18
> > C:\Program File\Java\jdk1.5.0_06\bin
> セミコロンが全角。Program File じゃなくて Program Files

コロンだ。
184デフォルトの名無しさん:2006/04/19(水) 04:31:24
>>181
そこをなんとかひとつ^^;
>>182
レスありがとうございます。
どうもPATHもうまくいってないみたいです。
でもファイルの関連付けは分かりました。
はじめてなので壊れもいいように古いパソコンを使いましたが
MS-DOSの知識もないのでXPでやってみようと思います。
どうもありがとうございました。m(_ _)m
185デフォルトの名無しさん:2006/04/19(水) 06:56:43
>>184
Cドライブ直下にあるであろうAUTOEXE.batをメモ帳で開いてPATH追加
後再起動でOKだった気がするが
186デフォルトの名無しさん:2006/04/19(水) 09:29:21
Winの基礎を学ぶ方がさきだな
壊れれるって…
187デフォルトの名無しさん:2006/04/19(水) 11:15:27
ちと質問でつ。

あるクラスAからあるクラスBをインスタンス生成する際、
コンストラクタからConnectionを引数として渡します。
(ConnectionオブジェクトはクラスAで生成。ローカル変数)

その後、クラスBの中身ではそのConnectionオブジェクトを
自前のインスタンス変数にコピーして使用しています。

↓こんな感じ
public class B {
private Connection conn;

public B(Connection connection) {
conn_ = connection;
}


これってスレッドセーフになりますかぇ?
188デフォルトの名無しさん:2006/04/19(水) 11:24:34
>>187
クラスBで conn 使う場所と、クラスAで conn 使う場所
(ようするに同じインスタンス使いまわす場所を)
全部 synchronized すればスレッドセーフ。
189デフォルトの名無しさん:2006/04/19(水) 12:11:42
>>187
Aで
Connection conn = hoge.getConection();
B b0 = new B(conn);
B b1 = new B(conn);
B b2 = new B(conn);

ってすると、>>188さんのおっしゃるとおりしないとだめっす。
190デフォルトの名無しさん:2006/04/19(水) 12:41:24
自前のインスタンス変数にコピー…

代入はコピーじゃないよ
変数があるオブジェクトを参照するように設定してるだけ
メソッドの引数としてオブジェクトを渡すのも同じ
つまり、メソッドを呼び出す側も呼び出される側も同じオブジェクトを参照することになる
まず、こういう基礎を学べ
191デフォルトの名無しさん:2006/04/19(水) 14:08:05
>>189
例をちょっと変更して、

Connection conn = hoge.getConection();
B b0 = new B(conn);
   ・
   ・ //なにかしらSQL処理実行中・・・
   ・
b0.close();

みたいな感じで最終的にコネクションをクローズするとき、
Tさんがこれを実行している最中(・・・の処理中)、また別のUさんが
実行してUさんの方が処理完了してしまった場合、
Tさんに影響はある?
192デフォルトの名無しさん:2006/04/19(水) 16:07:38
Connection はスレッドセーフじゃないし、synchronized 付けたところで
トランザクション分離の意味が無いし、そもそもスレッドセーフって意味
分かってる?
193デフォルトの名無しさん:2006/04/19(水) 16:14:02
>>191
トランザクション分離レベル
または独立レベル・アイソレーションレベル
でぐぐれー
194191:2006/04/19(水) 16:39:24
あー、聞きたかったのは
単純にTさんがSQL発行前にUさんが
close処理をしていたらTさんの方で
connection closeになるのかなー・・・て所で。
あくまでアプリケーション側のお話で。
195デフォルトの名無しさん:2006/04/19(水) 16:46:01
I さんと II さんが同じコネクションのインスタンスならそうなるし、別々ならならない。
196191:2006/04/19(水) 17:01:20
>>195
なる。
>>187 の内容でConnectionはローカル変数てなってたから
その場合は、スレッド毎別インスタンスだからならない
ってことね。

ありがたぅ。
197デフォルトの名無しさん:2006/04/19(水) 17:43:17
データソースを使ってDBにアクセスしようとしているのだけど、
本番環境がTomcatで開発環境が、OC4J(JDeveloper付属)なのですね。
でlookupで指定する名前の書き方が、TomcatとOC4Jとで違うらしくて

↓みたいなコード書いちゃってるんだけども、もっと綺麗な方法はないだろうか…
 ソースコードを統一したいのです。

DataSource ds;

try{
ds = (DataSource)ic.lookup("java:comp/env/jdbc/foo");
}catch(NamingException e){
ds = (DataSource)ic.lookup("jdbc/foo");
}
198デフォルトの名無しさん:2006/04/19(水) 17:47:57
外部定義しとけ
199デフォルトの名無しさん:2006/04/19(水) 17:52:37
開発環境を本番にあわせ。
200デフォルトの名無しさん:2006/04/19(水) 17:52:51
>>198 外部定義って、例えばXMLファイルとか、iniファイルに書くってことですよね?
DAOで作ってるんだけど、コネクション張るたびに外部ファイル読むとかまずいっすよね?

サーブレットなんだけど、こういう場合って、アプリケーションスコープとかに最初にこの情報
を格納して、それを使うようにするんですかね?

そんで、DAOクラスのコンストラクタにその情報渡したりするんですかね?
201デフォルトの名無しさん:2006/04/19(水) 17:54:14
>>199 JDeveloperに慣れてしまった… JDeveloperからTOMCAT動かせれたら最高なんだけどなぁ
202デフォルトの名無しさん:2006/04/19(水) 17:55:16
static 宣言するなり ThreadLocal に持たせるなり好きにしろ。
203デフォルトの名無しさん:2006/04/19(水) 17:58:48
開発環境と実働環境が違ってると、テストとか二度手間になると思うのだが。
JDeveloperって、最新のOracleAS Release3でもTomcat使えないの?
204デフォルトの名無しさん:2006/04/19(水) 17:59:59
>>200
コネクションを張るたびに設定ファイルを読むのはOK。
なぜなら、実用レベルのアプリケーションではコネクションプーリングを
使うから、コネクションを張るのは事実上初期化時の一回のみだから。

JNDIサービスより取得したDataSourceオブジェクトは、applicationスコープオブジェクトを
使うまでもなく、DataSourceを管理するクラスとか作って、そのクラスのstaticフィールドで
持っておけばいい。その変数がnullだったらJNDIサービスよりlookup、既に取得済みなら
そのまま使う、というように。

TomcatとOC4Jで書き方が違うのではなく、アプリケーションから見たら
同じようになるように設定しろ。そもそもJNDIサービスはそのためにある仕組みなんだから。


205デフォルトの名無しさん:2006/04/19(水) 18:03:56
>>204 開眼しました。ありがとう!

>>203 私が使ってるのは古いものなので、たぶん無理。最新でもどうなんでしょうね。Tomcat使わせたくないんじゃないの?オラクル
206デフォルトの名無しさん:2006/04/19(水) 18:47:45
java.awt.Checkboxを、クリックされてもチェックの状態を
変えられないようにするにはどうしたらよいでしょうか?
チェックボックスをチェック表示用に使用したいので、
setEnabled(false)で灰色になるのは避けたいのです。
207デフォルトの名無しさん:2006/04/19(水) 18:52:40
画像にしろ
ImageIcon + Label
208デフォルトの名無しさん:2006/04/19(水) 19:14:55
>> 207
ありがとうございます。
そういった方法は、ちょっと思いつきませんでした。
画像でチェックを表示するということですよね。

ちなみに、java.awt.Checkboxの派生クラスでイベントを処理する等して、
クリックを無効化するような方法を考えて幾つか試しているのですが、
そういった事は不可能なのでしょうか?

disableEvents(AWTEvent.MOUSE_EVENT_MASK);

とか、

public void mouseReleased(MouseEvent e) {
 e.consume();
}

とやってみましたが効果ありませんでした。
209デフォルトの名無しさん:2006/04/19(水) 19:39:00
>>208
うーん。awtでは、どうなのかなあ? できないような気がするが。
というのは、awtは普通はネイティブな環境の部品を使うからだ。
Java で絵を書いて出している部品とは違う。
210デフォルトの名無しさん:2006/04/19(水) 20:02:19
>>209
誤解しているかもしれませんが、Javaで触れることのできる範囲を超えているということですね。
おとなしくチェックのイメージを表示するようにします。
ありがとうございました。
211デフォルトの名無しさん:2006/04/19(水) 20:13:34
Checkboxを継承したクラスで
public void setState(boolean state) {}
public void setState2(boolean state) { super.setState(state); }

これでいけない?
状態を変えたい時はsetState2の方で
212デフォルトの名無しさん:2006/04/19(水) 20:35:29
>>211
さっそく試してみたところ、教えていただいた方法で実現できました。
なるほど〜。
ありがとうございました。
213デフォルトの名無しさん:2006/04/19(水) 21:25:52
WEBページで公開されているjavaのゲームを保存するにはどうしたらいいですか

214デフォルトの名無しさん:2006/04/19(水) 22:22:12
ゲームを公開してる人に聞いてください
215デフォルトの名無しさん:2006/04/19(水) 22:28:29
SMP + マルチスレッド環境でスレッド間の整合性が保障されないのって何の対策もしてない
8 バイト値 (long/double) だけ? 参照型や int は大丈夫?
216デフォルトの名無しさん:2006/04/19(水) 23:46:08
>>215
マルチスレッド対応してないのならプリミティブも含めてすべてだめ
SMPであるなしにかかわらずだ
SMPになると再現しやすいけど
217デフォルトの名無しさん:2006/04/19(水) 23:54:53
ふーん、まともに対応しようと思ったらかなり大変だな。
ところでこれって意図的に発生させられた人って居るの?
218デフォルトの名無しさん:2006/04/20(木) 00:33:52
指定したPNG画像の幅と高さを取得する方法教えてください
219デフォルトの名無しさん:2006/04/20(木) 00:36:50
1. ImageIcon 作る
2. getIconWidth(), getIconHeight() 使う
220デフォルトの名無しさん:2006/04/20(木) 01:17:01
>>217
頭大丈夫か?

通常マルチスレッドになったら一定の処理をまとめて保護しなきゃならん
それがいらないのならvolatileでいいが、volatileで済む用件ってまずない

Java以前に排他制御の勉強したほうがよさげ
221デフォルトの名無しさん:2006/04/20(木) 01:23:04
んなこた知ってるっつーの
222デフォルトの名無しさん:2006/04/20(木) 01:30:15
しってるようにはみえんな
>>217をみるかぎり
223デフォルトの名無しさん:2006/04/20(木) 01:38:50
いや、実際大変だろ。再現性なく偶発的で (そもそも発生するかもわからず)、
コード上のレビューだけでプロジェクト内の開発物が漏れなくそれに対応したと
保障するのは。
まぁ君はコードを書く以上は心配しなくてもよさそうだから良いけどさ。
224デフォルトの名無しさん:2006/04/20(木) 01:42:07
あ、対応ってのが 「そういうコードを書く」 とか低次元な解釈させてたらごめんね。
そういう意味じゃないから。
225デフォルトの名無しさん:2006/04/20(木) 02:07:21
jarなどを実行した後に"hs_err_pid4293844035.log"のようなものが
できます。これはどうしてできるのですか?
対処方法は?
226デフォルトの名無しさん:2006/04/20(木) 02:15:52
>>225
Java の仮想マシンが Segmentation Fault などで異常終了したため。
原因は主に実行環境がおかしい事。java.exe、DLL、クラスファイルどうしの矛盾や、
JVM プロセスが変なシグナル拾ったりハードウェア割り込み食らったり、あるいは
サードパーティ製 JNI (JDBC Type2 ドライバなど) の作りがヘボくて高負荷に
耐え切れなかったなんてのも考えられる。

テキストファイルだから中見れ。変なシグナル拾ったときにメインで走ってた処理の
スタックトレースが出てるから (それが直接の原因とは限らないが)。
227225:2006/04/20(木) 02:24:39
いろいろ考えられるんですね、
ファイルの中身はちんぷんかんぷんです。
サンキュー!
228デフォルトの名無しさん:2006/04/20(木) 02:27:24
ちんぷんかんぷんって久しぶり
229デフォルトの名無しさん:2006/04/20(木) 07:40:21
久しぶりに捨て台詞見た>マルチスレッド関連
230デフォルトの名無しさん:2006/04/20(木) 07:55:26
             ∧..∧
            (´・ω・`)  そういうことにしておきたい!
           cく_>ycく__)
           (___,,_,,___,,_)   ∬
          彡※※※※ミ  旦
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   \   どっ!!     /  \ ワハハ! /
     \          /      \    ∞
 l|||||||||||||| ∩,,∩ ∩,,∩  ∩,,∩ ミ∩ハ∩彡
 (,    )(,,    )    ,,)(    )(    )
231 :2006/04/20(木) 09:09:54
ボタンのアイコン用の画像ファイルとかまとめておきたいんですけどどうすればいいのですか?
Eclipseでプロジェクトフォルダ直下にimageフォルダを作ってそのなかに画像ファイルを置いて
new ImageIcon("imege/picture.jpg")
とかすればEclipseから起動するには問題ないけど
別の所から起動するとカレントフォルダがかわるせいか読み込めなくなります。
どうすればいいのですか?
232デフォルトの名無しさん:2006/04/20(木) 09:17:05
クラスファイルと一緒に置いておき

ClassLoader loader = this.getClass().getClassLoader();
new ImageIcon(loader.getResource("jp/co/your/pkg/picture.jpg"));
233デフォルトの名無しさん:2006/04/20(木) 10:02:41
JPanel上に文字列を回転させて(縦とか斜めで)表示したいのですが
どうやったらできますでしょうか?
234231:2006/04/20(木) 10:41:14
>>232
ありがとう!できました。
235デフォルトの名無しさん:2006/04/20(木) 10:46:32
どういたしました
Eclipse ならソースと一緒に入れておけばクラスフォルダに勝手にコピーされるので便利
236デフォルトの名無しさん:2006/04/20(木) 11:53:49
Genericsで2つのinterfaceをimplementsしたクラスを
指定したい場合どうしたらいいですか?
<T extends IF1<T>>
はうまくいきますが
<T extends IF1<T>,IF2<T>>
はうまくいきません。(型指定が2つだと判断される)
<T extends IF1<T> extends IF<T>>
もダメです。(文法エラー)
どなたか教えてください。
237デフォルトの名無しさん:2006/04/20(木) 12:11:42
Geneじゃなくともそんな変数宣言できないだろ?
やりたければ新しいインターフェースつくる
238デフォルトの名無しさん:2006/04/20(木) 13:38:39
jad.exeのMD5教えてください。
jadnt158.zipでもいいです。
いや、本家(http://www.kpdus.com/jad.html)につながらなくて、
適当なサイトから落としてきたんだけど、
一応確認ってことで、どなたかプリーズ。
239デフォルトの名無しさん:2006/04/20(木) 13:47:37
Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov ([email protected]).

dk68ToDJgvY25wwU07Go+Q==
240デフォルトの名無しさん:2006/04/20(木) 13:48:14
>>238
890156143c182028bcfacf9391204775 jadnt158.zip
241238:2006/04/20(木) 14:22:15
どうもありがとう! >239, 240

でも、どうやら漏れのはv1.5.8eだったみたいorz
あとv1.5.8e2ってのも落ちてた。
v1.5.8fってどっかにないかしら?
242238:2006/04/20(木) 14:32:07
> v1.5.8fってどっかにないかしら?
見っけた♪md5sumの結果もぴったりですた。
ttp://steike.com/JavaReverseEngineering
243デフォルトの名無しさん:2006/04/20(木) 15:53:28
なんだよsetFocusの使い方わかんねぇよ!!
オブジェクト.setFocus()って聞いたからそれ通りやったのにできね
 ↑
エロい人これ本当にあってるの?
244デフォルトの名無しさん:2006/04/20(木) 16:53:46
>>243
エロい人よりエスパーに頼んだほうが早いよ。
俺はエロい人でもエスパーでもないので、オブジェクトのクラスは何かとか、どういう状況でどこから
コールしたかとかを知らないと答えられない。
245デフォルトの名無しさん:2006/04/20(木) 17:52:09
246デフォルトの名無しさん:2006/04/20(木) 18:27:33
日付とかの数値データを0から9までの画像ファイルに置き換えて
表示さたいんですけど、どこかに参考になりそうなスクリプトなどは
ありませんでしょうか?
247デフォルトの名無しさん:2006/04/20(木) 18:35:19
>>246
たぶんスレ違い。ここJavaのスレだよ。
248デフォルトの名無しさん:2006/04/20(木) 20:10:01
超初歩的質問なんですが
class Hello {
public static void main(String args[]) {
System.out.println("Hello! Java world!");
}
}
に間違いはないと思います。
それでコンパイルもできてるはずなんですが、なぜか
Exception in thread "main" java.lang.NoClassDefFoundError : Hello
と出ます。
保存先のコンパイルしたファイルは普通に開こうとしてもひらけません。
どこに問題があるか参考書見てもわからないんで教えていただけませんか?
249デフォルトの名無しさん:2006/04/20(木) 20:13:32
javac -cp . Hello
250デフォルトの名無しさん:2006/04/20(木) 20:14:03
> java -cp . Hello
間違えた

java -cp . Hello
251デフォルトの名無しさん:2006/04/20(木) 20:18:08
なんでjavaってCライクな配列があるんですかね?
コレクションライブラリあるのに。
Cプログラマに媚びたんでしょうか?
あとデータメンバをprivateにしないとコンパイルエラーにすればいいのに。
ウダウダ
252デフォルトの名無しさん:2006/04/20(木) 20:23:37
Comparable同士を比較するときに警告が出るのですが、どうしたらいいでしょうか。
void foo(Comparable[] c){
c[0].compareTo(c[1]);
}
警告: [unchecked] raw 型 java.lang.Comparable のメンバとしての compareTo(T) への無検査呼び出しです。
253デフォルトの名無しさん:2006/04/20(木) 20:26:13
>250
次は
Uhrecoginized option; -cp.Hello
Could not create the Java viritual machine.
と出ました
254デフォルトの名無しさん:2006/04/20(木) 20:33:33
>>253
ピリオドの前後にスペース
255デフォルトの名無しさん:2006/04/20(木) 20:37:13
>>254
.の前後にスペース入れたら今度はまた
Exception in thread "main" java.lang.NoClassDefFoundError : Hello
と出ました;;
256デフォルトの名無しさん:2006/04/20(木) 20:44:42
dir と打ってちゃんと Hello.class が出るのか?
257デフォルトの名無しさん:2006/04/20(木) 20:47:00
>>256
ちゃんと出てます;;
258デフォルトの名無しさん:2006/04/20(木) 20:50:47
最初からやり直したら
java Hello
では出なかったけど
java -cp . Hello
では出ました(..)(^^)(^。^)(*^o^)(^O^)ウレシーーー!!
でもその違いはなんですか?
参考書には
java - cp . クラス名
ていうのは載ってないんですが。
259デフォルトの名無しさん:2006/04/20(木) 20:54:08
>>258
たぶん環境変数CLASSPATHが設定されてる(されてない)んじゃん?
echo %CLASSPATH%
とかやってみ。
260デフォルトの名無しさん:2006/04/20(木) 20:59:01
>>258
ここの-cpオプションの説明を読んで。
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/windows/java.html
あとはこれも読んでおくと吉。
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/windows/classpath.html

それから、多分参考書に載っているであろう
「CLASSPATHを設定して〜」の行を一切無視して、環境変数CLASSPATHを設定しないようにすると幸せになれる。

CLASSPATHの設定を勧めるライターは悪人であり、腹を切って死ぬべきだ。
そんな入門書は、唯一神又吉イエスによって地獄の火の中に投げ込まれるであろう。
261デフォルトの名無しさん:2006/04/20(木) 21:01:50
以下のようにソースを書いたら
["Cone は abstract でなく、SolidObject 内のabstract メソッド solidobject()
をオーバーライドしません。"]とコンパイルエラーが出るのですが、abstractクラスを
拡張したクラス内での、オーバーライドの仕方が悪いのでしょうか、どなたか教えてください。

import static java.lang.Math.*;

interface LuminousObject {
public void lightoff(boolean b);
public void lighton(boolean b);
}
abstract class SolidObject {
abstract double solidobject();
}

class Cone extends SolidObject {
double solidobject(double x1, double x2){
return (4 * PI * pow( abs(x1 - x2), 3) / 3);
}
}
class Cube extends SolidObject {
double solidobject(double x1, double x2, double h){
return (PI * pow( abs(x1 - x2), 2) * h / 3);
}
}
以下略
262デフォルトの名無しさん:2006/04/20(木) 21:04:08
>>261
abstract double solidobject();
って引数無しで宣言されてるよ。
263デフォルトの名無しさん:2006/04/20(木) 21:32:19
>>259
>>260
echo %CLASSPATH%
って打ったら
C:\Program Files\QuickTime\QTSystem\QTJava.zip
って出ました
Pathの環境変数を変えたらいいって書いてたけど
CLASSPATHを変えればいいのかな?
変えなかったらまた
Exception in thread "main" java.lang.NoClassDefFoundError : Hello
みたいなエラーが出るんですよね?
264デフォルトの名無しさん:2006/04/20(木) 21:34:57
多分 QuickTime の仕業だと思った
265デフォルトの名無しさん:2006/04/20(木) 21:45:25
>>263
変えるというか、CLASSPATHの設定そのものを消してください。
266デフォルトの名無しさん:2006/04/20(木) 21:49:35
CLASSPATH消しました^^
そこは空白で大丈夫?
消してから
java Hello
って打ったけど、やっぱり
Exception in thread "main" java.lang.NoClassDefFoundError : Hello
て出ました。
どこに問題があるんですかね?
これが気になって次に進めないんです^^;
267デフォルトの名無しさん:2006/04/20(木) 22:06:30
JAVAでDB2にアクセスして、EXPORT文を実行したいのですが、どのようにやればいいのでしょうか?
PreparedStatementを使うとSQLエラーになってしまいます。

268デフォルトの名無しさん:2006/04/20(木) 22:16:52
>>266
Windows使ってる?だとすると環境変数の設定かなんかを変更しないと
プロンプト終わらせると元に戻るよ。
265氏も言ってるように、空白じゃなくて環境変数CLASSPATH自体を消して下さい。
消すのが嫌なら
CLASSPATH=.
にしといたら?
269268:2006/04/20(木) 22:19:04
>>268
ごめん、見にくいけど
CLASSPATH=. <-ここピリオドが1つあるからね
連投スマソ。
270デフォルトの名無しさん:2006/04/20(木) 23:00:37
わかったことは
QuickTime死ね。
普通に考えておかしいと思う。
271デフォルトの名無しさん:2006/04/20(木) 23:15:51
>>262さん
ありがとうございます。
abstractメソッドはabstractクラス内で
宣言した、引数と戻り値をそのままで、内容
をオーバーライド出来るわけですか。
しっつれいしました〜
272デフォルトの名無しさん:2006/04/20(木) 23:16:20
多分 Java Plugin のアプレットや JWS で QuickTime を使うための強行措置だと思われる。
インストール時に 「アプレットから使用できるようにしますか?」 と聞かれたような気がする。
デフォルトの CLASSPATH でカレント見るのを期待してるのはコマンドプロンプト使う開発者
だけだから、QuickTime の JAR 追加しても普通のユーザには影響ないと考えたのだろう。
273デフォルトの名無しさん:2006/04/20(木) 23:17:18
質問ですー
匿名クラスの中から、外のクラスのオブジェクト参照はどうやって指定すればいいの?
たとえば、

public class Yamada{
・・・
  private MouseListener ml=new MouseAdapter(){
    @Override
    public void mouseClicked(MouseEvent e) {
      //この中で、Yamadaオブジェクトを参照したい。
      //thisだと、匿名のMouseListenerを差す様子。
    }
  };
 
//外だとthis=Yamadaオブジェクトでいく。

}    

匿名の中でも、Yamadaのメンバーは普通に見えるようなので、外メソッドに渡す手はあるんだけど、
直感として、多分私が勉強不足なだけだとおもったので、方法が有れば教えてください。

274デフォルトの名無しさん:2006/04/20(木) 23:20:22
Yamada.this
275273:2006/04/20(木) 23:22:29
>>274
ありがとー
276デフォルトの名無しさん:2006/04/20(木) 23:26:06
DB2のエクスポート文はSQLではないよ
CLI(?)のコマンド
277267:2006/04/20(木) 23:28:56
>>276
回答ありがとうございます。
エクスポートをJAVAで実行するにはどのクラスを使えばいいのでしょうか?
278デフォルトの名無しさん:2006/04/20(木) 23:32:59
ホームページのメニューを選んだときの効果音ってありますよね?あれってタグあるんですかね?

どなたか教えてください!素材はあります!
279名無しZERO号:2006/04/20(木) 23:35:50
<script><!--
function MVto(){ window.moveTo(1200,1200) }//--></><a href=""
onMouseOver="MVto()"><font size="1" color="FFFFFF" style="text-decoration:none">
280デフォルトの名無しさん:2006/04/21(金) 01:17:18
>>236,237
<T extends IF1<T> & IF2<T>>
281268:2006/04/21(金) 02:02:49
>>280
Javaの文法がどんどん複雑になってゆく...。
ここまでくると演算子のオーバーロード欲しいよね(w
282デフォルトの名無しさん:2006/04/21(金) 02:06:06
型をなくせばいいんだよね(クラスをなくす訳ではない)
283デフォルトの名無しさん:2006/04/21(金) 02:11:47
>>282
それはかなり大胆な提案だね(w

ところでPrintStreamってもうDeprecatedじゃないの?
さっき友人のコード見てコンパイルしたら何も注意されなくてびっくりした。
漏れの知ってるJavaは古いからなぁ...。
284デフォルトの名無しさん:2006/04/21(金) 02:47:48
TextFieldを右詰で表示するメソッドを作ってこいって言われた。。。

Java始めてまだ1週間の俺には_です。誰か助けてくだしあーーーー
285デフォルトの名無しさん:2006/04/21(金) 03:00:52
JTextField field = new JTextField();
field.setHorizontalAlignment(JTextField.RIGHT);
286デフォルトの名無しさん:2006/04/21(金) 03:11:47
あーswingを使わないでなんですー!すいません!!
awtで?(まだこの表現が正しいかすら分からんです。。。)

お願いします!
287デフォルトの名無しさん:2006/04/21(金) 03:24:08
半角英数字のみだったら楽そうだね
288デフォルトの名無しさん:2006/04/21(金) 03:45:27
java.awt.FontMetricsクラスのstringWidth()使うとか?
289デフォルトの名無しさん:2006/04/21(金) 03:56:13
超適当

int width = field.getSize().width;
FontMetrics fm = field.getFontMetrics(field.getFont());
while(fm.stringWidth(" " + text) <= width){
  text = " " + text;
}
field.setText(text);

TextField.getColumn() なんてのもあるが自動調整されたサイズに対して
正しい値を返すか知らん。
290デフォルトの名無しさん:2006/04/21(金) 04:39:31
JFrameのsetVisible(true)したあとで動的にタイトル非表示するにはどうしたらいいでしょうか?
setUndecorated()はsetVisible()より先にしないとダメみたいです
291デフォルトの名無しさん:2006/04/21(金) 04:40:35
Javaはじめることになったのですが、研修期間の予定がたたず
当分は独学の予定です。
プログラムの経験はなし、独学者にお勧めな参考書ご存知でしたら
情報おねがいします。
292デフォルトの名無しさん:2006/04/21(金) 04:51:50
frame.destroy();
frame.setUndecorated(true);
frame.setVisible(true);
293デフォルトの名無しさん:2006/04/21(金) 05:00:16
JFrameにはdestroy()がないようです
294デフォルトの名無しさん:2006/04/21(金) 05:15:18
destroy() じゃねぇや、dispose()。てか実際出来るか不明。昔作った
Look & Feel と Metal テーマ動的切り替え対応のプログラムで

frame.setUndecorated(false);
frame.getRootPane().setWindowDecorationStyle(JRootPane.NONE);

だけは表示前のみでしかやってないところを見ると、試行錯誤して
出来なかったのかも。
295デフォルトの名無しさん:2006/04/21(金) 08:29:39
>>291
Teach Yourself Java
296デフォルトの名無しさん:2006/04/21(金) 08:42:07
>>290
仕様

>>291
創るJava
297デフォルトの名無しさん:2006/04/21(金) 08:57:07
ちょっと教えてください。パソコンを借りてyahooゲームの麻雀
をやってたんですが、自分のパソコンにもjavaをダウンロード
していざ対戦?・・・固まってしまうんです。特に各テーブルに入ろうと
すると固まるんです。なにか設定があるのでしょうか?

298デフォルトの名無しさん:2006/04/21(金) 09:10:44
>>297
Yahooに聞けハゲ
299デフォルトの名無しさん:2006/04/21(金) 09:16:31
プログラム板に来てする質問ではないよね
300デフォルトの名無しさん:2006/04/21(金) 15:06:39
class A{
int x;
}
public class sample extends Applet {
public void paint(Graphics g) {
A B=new A;
}
public int C(){
return B.x;
}
}
このコードをどう書き換えたらB.xを関数Cの中で見られますか?
301デフォルトの名無しさん:2006/04/21(金) 15:08:51
>>300
教科書見て来い
302300:2006/04/21(金) 15:21:20
せめて索引などで引くキーワードを教えてください。
どのあたりに書いてあるか見当がつかないです。
303デフォルトの名無しさん:2006/04/21(金) 15:26:39
>>300
テキトーだけどこんな感じか?
っつーか、コード設計がメチャメチャだと思われ。

class A{
 int x;
 public int getX(){
  return x;
 }
}
public class sample extends Applet {
 public void paint(Graphics g) {
  A b=new A();
  int result = c(b);
 }

 public int c(A b){
  return b.getX();
 }
}
304300:2006/04/21(金) 15:33:46
なるほど、オブジェクトそのものを引数として渡すんですか。
ありがとうございます。
305デフォルトの名無しさん:2006/04/21(金) 18:17:53
なんか宿題を人にやってもらってる奴がいるな。自分でやれよ、少年。
306デフォルトの名無しさん:2006/04/21(金) 19:22:21
更新窓を設置したいんですが、、一体どうすればいいんですか?
検索しても見つからなくて。。。。
タグや素材がいるんでしょうか?
誰か教えてください!!!
307デフォルトの名無しさん:2006/04/21(金) 19:24:03
知るかウスゲ!
308デフォルトの名無しさん:2006/04/21(金) 19:24:49
>>306
質問に質問で返すのは失礼とはわかっていますが、「更新窓」ってなんのことでしょう?
ここはJavaのスレなので、タグや素材は二次的なものです。
309デフォルトの名無しさん:2006/04/21(金) 19:27:05
>>306
まず近くの東急ハンズに行って下さ(ry
310デフォルトの名無しさん:2006/04/21(金) 19:27:56
もうしわけないです。、よく  ”4月21日 SCHEDULE 更新しました”
とかでる窓っぽいのありますよね?あれなんですけど。。。
311デフォルトの名無しさん:2006/04/21(金) 19:29:17
ますます質問がわからなくなりました('A`)ノ
312デフォルトの名無しさん:2006/04/21(金) 19:29:23
あああれね
313デフォルトの名無しさん:2006/04/21(金) 19:31:37
http://www.sophia-eternal.com/

このサイトの DIARY更新しました とかでるやつです。。。
314デフォルトの名無しさん:2006/04/21(金) 19:45:57 BE:423404249-
ttp://www.smg.co.jp/seminar/java/J_lecture01.html
↑のサイトを参考にJAVAを作ってたのですが
実行してもException in thread "main" java.lang.NoClassDefFoundError: HelloWorld
と出てうまく実行できません
同サイトのトラブルシューティングを確認してもうまくいきませんでした
CLASSPATHはC:\Program Files\Java\jdk1.5.0_05\binでいいのでしょうか?
315デフォルトの名無しさん:2006/04/21(金) 19:47:04
ダメ。CLASSPATH 設定すんな。

java -cp . HelloWorld
316デフォルトの名無しさん:2006/04/21(金) 20:07:31
>>314
がいしゅつ。このスレの上の方見れ。
317デフォルトの名無しさん:2006/04/21(金) 20:08:38 BE:282269838-
>>315
速レスありがとうございます
しかしそれで実行してもうまくいきませんでした
318デフォルトの名無しさん:2006/04/21(金) 20:09:04
我々はエスパーではない
319デフォルトの名無しさん:2006/04/21(金) 20:09:59
>>291
(´・ω・`)つttp://www.oreilly.co.jp/books/4873112796/
>>306
(´・ω・`)つそれJAVAじゃなくてHTMLの領域ジャマイカ?
>>314
(´・ω・`)つttp://www.kab-studio.biz/Programing/JavaA2Z/Word/00000441.html
(´・ω・`)つ>>265
java.lang.NoClassDefFoundErrorは、そんなクラスファイル見つからないぞ(#゚Д゚)ゴルァ!!
とコンパイラ様が怒ってるという意味 コンパイル忘れやコンパイルミスを確かめてみて
あと、CLASSPATHではなくPATHに入れる これお奨め
320デフォルトの名無しさん:2006/04/21(金) 20:11:42
>>317
じゃあ本当に No Class Def なんだろうよ。
321319:2006/04/21(金) 20:14:41
>>319
>とコンパイラ様が怒ってるという意味
これコンパイラ様じゃなくてVM様が怒ってるの間違いね(´・ω・`)
322デフォルトの名無しさん:2006/04/21(金) 20:27:03 BE:376359348-
今度は
エラー:HelloWorld.java を読み込めません
となってしまいました
設定は
変数名:Path
変数値:C:\Program Files\Java\jdk1.5.0_06\bin
としました
323デフォルトの名無しさん:2006/04/21(金) 20:28:44
てめーの家庭教師じゃねーんだよカス
324デフォルトの名無しさん:2006/04/21(金) 20:39:40
>>322
(´・ω・`)つHelloWorld.javaが存在しない
本命 カレントディレクトリ内にHelloWorld.javaが無い
次点 ファイル名のスペルミス
大穴 322の釣り

初心者以前の問題だからここで質問するよりも参考書や教科書を読んだほうが安心確実極速だと思うよ(´・ω・`)
325デフォルトの名無しさん:2006/04/21(金) 21:01:41
JavaでRC4を復号したいのですが、クラスライブラリは何を使えばいいですか?
ttp://itpro.nikkeibp.co.jp/article/Watcher/20060411/235051/
に載ってるWinnyScanを作りたいんです。
326デフォルトの名無しさん:2006/04/21(金) 21:22:51
327デフォルトの名無しさん:2006/04/21(金) 21:24:27
>>326
Page Not Found
ざんねん!
328デフォルトの名無しさん:2006/04/21(金) 21:26:59
>>327
ごめんよ、URLの末尾にlを加えておくれ(´・ω・`)ショボーン
329デフォルトの名無しさん:2006/04/21(金) 21:29:39
たびたびごめん、正しいURLはこれね(´・ω・`)つttp://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/security/CryptoSpec.html
330 :2006/04/22(土) 00:16:22
Javaじゃメンバ名にm_indexとか"m_"を変数名の前につけたりしないの?
人それぞれだろけど一般的な習慣としてどうなってるの?
331デフォルトの名無しさん:2006/04/22(土) 00:22:22
そんな習慣Java以外でもめずらしいだろ
332デフォルトの名無しさん:2006/04/22(土) 00:27:59
コーディング規約に従え
333デフォルトの名無しさん:2006/04/22(土) 00:46:45
>>331
そうでもない。ハンガリアン記法といって、CやC++ではよく用いられる。
Javaでは一般的ではないな。オブジェクト指向的ではない。
334デフォルトの名無しさん:2006/04/22(土) 01:18:18
m_はmicrosoftが好きな表記じゃなかったっけ

個人的には、メンバ変数にはthis.が付くルール
335330:2006/04/22(土) 01:23:22
どうもありがとう。
Eclipseだとgetやsetを生成してくれるメニューとかあるけどメンバに"m_"とか付けてるとへんになっちゃうから気になりました。
やっぱり付けないんですね。
336デフォルトの名無しさん:2006/04/22(土) 01:41:32
え?
337由美子:2006/04/22(土) 01:43:52
初めまして  iαppliTool for DoJa-3.5 Ver.2.22でビルドが完了し
起動するとjava,lang.NullPointerExceptionと表示されますがなぜだかわかりますか?
ソースを取ってきているので間違いはないと思うのですが・・・泣きそうです
よろしくお願いいたします。
338デフォルトの名無しさん:2006/04/22(土) 01:49:17
>>337
ガッ
339由美子:2006/04/22(土) 01:51:34
>>338 いや、それはどーかと・・・

釣りじゃないのですよ
お願いしますよー
340デフォルトの名無しさん:2006/04/22(土) 02:21:33
独自に作ったjarを他で使われないよう利用を制限したいのですが
みなさんはどうやってやってますか?
チェック方法はIPアドレスを考えてます。

HttpSevletRequestを常にjarの中のクラスを使うときに渡せば
getRemoteAddr()でIPは取れますがそれでは煩わしいです。

Runtime#execでipconfigとかifconfigするのも強引すぎるし
HttpClientで認証サーバにアクセスするのもどうかって気がするし。
うーん、こまった。
341デフォルトの名無しさん:2006/04/22(土) 02:24:29
> HttpSevletRequestを常にjarの中のクラスを使うときに渡せば
> getRemoteAddr()でIPは取れますがそれでは煩わしいです。

大丈夫、君のような低脳君が設計したライブラリなんて誰も使わないから。
342デフォルトの名無しさん:2006/04/22(土) 02:30:40
>>341
Javaに関しては低脳で技術が低いのは認めるんですが
ある特定の業務を処理するクラスが入ってるんです。
それだけは価値があると思うのですが。
ITの知識がないとこういうとき厳しいですね…
343デフォルトの名無しさん:2006/04/22(土) 03:06:09
逆コンパイルしてほぼまんまのソース出せるクラスファイル、リフレクションで private 破り
できる Java に厳密な期待しても無駄。普通はライセンスでブロック。
バイナリが変更されない前提なら、公開鍵方式で認証サーバに問い合わせるか、認証用
USBキー (ハードウェア) を使うか、別配布で電子署名した認証データを渡すか、そもそも
Web アプリや Web サービスにして外部に JAR を持ち出さないか。
344デフォルトの名無しさん:2006/04/22(土) 06:04:15
J2SE5.0ってどうやってインストールするんでしょうか?
https://sdlc6a.sun.com/ECom/EComActionServlet;jsessionid=EA1AE2FDF7EBD7AA4E15CEBD1357A321
ここにあるjdk-1_5_0-doc-ja.zipっていうのを落としてindex.htmlのインストールの項目を読んでるんだけど、amd64.exeって言うのが見当たらなくてインストールできません
ウィンドウズのファイル検索機能で落としてきたdocフォルダ内を探しても見つかりませんでした・・・・

どうやってインストールするのでしょうか?

御教示何卒よろしくお願いします
345デフォルトの名無しさん:2006/04/22(土) 06:58:04
アナアがダウンロードしたものは何でしょうか
1。Javadoc
2。J2SE
346デフォルトの名無しさん:2006/04/22(土) 08:01:50
64ビットOSやCPU使う奴は馬鹿が多いなぁ
347325:2006/04/22(土) 13:05:53
>>326-329
ありとうございます、早速調べます。
348デフォルトの名無しさん:2006/04/22(土) 13:08:14
>>333
ハンガリアンはすぐにすたれたよ
349デフォルトの名無しさん:2006/04/22(土) 13:24:58
MSですらもう使ってないしな
350デフォルトの名無しさん:2006/04/22(土) 13:47:52
>>345
どちらでもないに一票。
Javadoc → ドキュメント生成ツール
J2SE → そんなソフトウェアは存在しないからそもそもインストール不能
351デフォルトの名無しさん:2006/04/22(土) 14:13:27
>>350
揚げ足取りが好きそうだな
352デフォルトの名無しさん:2006/04/22(土) 14:34:38
>>350
リアルなら一瞬のうちに友達いなくなるもんなw
2ch見るしかすることなくなるのも納得
353デフォルトの名無しさん:2006/04/22(土) 14:41:37
>>350のような揚げ足取りも、>>352 のような野次馬的な煽りも同類。
354デフォルトの名無しさん:2006/04/22(土) 15:07:31
>>344
ダウンロードしたのはドキュメントだから実行ファイルはありません。

この手順に従ってダウンロードしてください。

1,このアドレスを開く。
http://java.sun.com/j2se/1.5.0/ja/download.html

2,画面の真ん中にある「JDK のダウンロード」という部分をクリックする->画面が変わる。
3,( )Accept License Agreement という部分をクリックする。->画面が変わる
4,一番下にある「Windows AMD64 executable 」という部分をクリックする。
5,ダウンロードが始まる。

以上。
355デフォルトの名無しさん:2006/04/22(土) 15:19:36
4月にIT企業に就職した新入社員です。(文系大学出身)
Javaを覚える際に先輩から「分厚い文法の本(4000円くらい)の本がお勧め」
とアドバイスを頂きました。詳しい書籍名等を聞き忘れてしまったのですが、
該当するようなな書籍名(もしくはお勧めの本)があったら教えて頂けますか?
356デフォルトの名無しさん:2006/04/22(土) 15:35:34
>>355
その先輩に聞け。以上。
357 :2006/04/22(土) 15:37:36
分厚いというと「Core Java」か「創るJava」かどちらかかな?
どちらも文法の本じゃないけど。
358355:2006/04/22(土) 15:38:58
>>356
やはりそれが一番ですかね・・。どうもありがとうございました。
359デフォルトの名無しさん:2006/04/22(土) 15:41:14
IT企業(笑
360355:2006/04/22(土) 15:42:28
あ、357さんもありがとうございます。本屋で色々見てみます。
361325:2006/04/22(土) 16:48:21
すみません、Java5.0で早速作ってみたのですが、JavaのSecretKeySpecは
40bit以上1024bit以下で使ってキーを作れって言います。でも
ttp://itpro.nikkeibp.co.jp/article/Watcher/20060411/235051/
は32bitのキーで暗号化してるので32bitでキーを作りたいのですが・・・
できないのでしょうか?

何か考えが間違っていれば教えてください。
362デフォルトの名無しさん:2006/04/22(土) 20:07:01
親クラスで宣言したprivate変数を
そのクラスを継承した子クラスで
privateでオーバーライドすることは出来ますか?
363デフォルトの名無しさん:2006/04/22(土) 20:15:32
やってみろ。
でも、あまりにもカワイソスだから教えてやるよ。
むり
364デフォルトの名無しさん:2006/04/22(土) 20:16:18
>>362
試してみれば判る



privateはオーバーライドできない
protectedならできる
publicなら勿論出来る

ちなみにfinalも既に宣言してたらできない
365デフォルトの名無しさん:2006/04/22(土) 20:43:53
>>362
オーバーライドは出来ないが書いてもエラーじゃない
さらに親クラスにpublicなsetter、getterがある場合は(以下略
366354:2006/04/22(土) 22:50:32
>>361
ヒントだけ私が 354で紹介したアドレスの一番したにある
その他のダウンロード について調べてみて。
367デフォルトの名無しさん:2006/04/22(土) 23:16:38
SecretKeySpecクラスを逆コンパイルしてソース改変して再コンパイル






言って見ただけさ
368デフォルトの名無しさん:2006/04/23(日) 00:30:34
はじめまして。質問です。
今ビルドしたのですがエラーでエミュでの確認ができません、どーしたらいいのかわかりません
エラーコードはjava.lang.RuntimeExceptionと java.lang.NullPointerExceptionです
環境の設定不足でしょうか?よろしくお願いします
369デフォルトの名無しさん:2006/04/23(日) 00:36:18
何をビルドしたの
Javaのバージョンは?
370デフォルトの名無しさん:2006/04/23(日) 00:40:50
>>369さんありがとうございます
Java 2 SDK Standard Edition v1.3.0_02  iαppliTool for DoJa-3.5(FOMA)を使ってjava
を作りました。
371デフォルトの名無しさん:2006/04/23(日) 00:45:42
まったく初心者でエクセルすら満足に使いこなせない大学生です
なにをどうすればプログラミングが習得できますか
具体的にここ読めばいいよ、などと
おしえてもらえると有難いです
372デフォルトの名無しさん:2006/04/23(日) 00:48:16
スレの感じを見ると場違いだったようです
ごめんなさい
ほかに適切なスレをよく読んでさがします
スルーしてもらってかまいません
373デフォルトの名無しさん:2006/04/23(日) 01:15:05
インターフェースを勉強しだしてさらにオブジェクト
の意味がまたわかんなくなった。
Aクラスを拡張したBクラスがインターフェースCを実装したとして
Cという型の変数が宣言できて、そんでDと言う名の変数を
宣言して、参照するためにBクラスのインスタンスをDに
入れる?もしくは、インターフェースCの変数、メソッドを参照
するために、Bのインスタンスを参照してる?
最終的には、拡張し終わった最後のクラスのオブジェクトしか
全体を見渡すことはできない・・・?
オブジェクトって、入れ物?インスタンスは入れる物?
メソッドってクラスの中に存在する関数と思ってれば良いの?
そんで最後に、たくさん作った拡張されまくったクラス
そしてその諸処にまた拡張されまくったインターフェースが実装されて
るとして、その中のメソッド群の用法って結局覚えきれないと
思うんだけど、やっぱ用法を文書に起こしておくの?
誰かおせーて

374デフォルトの名無しさん:2006/04/23(日) 01:23:43
学習し直した方がいいよ。
Javaではなくて日本語(おそらくあなたにとっての国語)をね。
そもそも何語で書かれた資料を読んでいるの?

class A {}
class B extends A implements C {}

A、B、Cはクラスもしくはインターフェースなのはいいとして
Dは何?ただの変数名?

C object1 = new B();
B D = new B();
A object2 = new B();
375デフォルトの名無しさん:2006/04/23(日) 01:42:12
>>371は本当に大学生か?
まさかJavaスレ見て日本の将来が心配になるとは思わなかった…
376デフォルトの名無しさん:2006/04/23(日) 01:57:15
>>375
まぁデジタルディバイドって言葉もあることだし。
しかしほとんどの大学では情報の授業で
検索の仕方ぐらいは教えてもらえるはずだが。
377デフォルトの名無しさん:2006/04/23(日) 01:57:59
JAVAの理解がまだまだ中途半端な俺に対して
卑下するつっこみ入れるだけで俺の疑問に何も
返答する気無いならスルーしなよ
それとDはインターフェースCの型の変数で
インターフェースCを実装したclassBのインターフェースメソッド
とインターフェース変数を参照するための変数

C D = new B();
378デフォルトの名無しさん:2006/04/23(日) 01:58:46
大学生にコンプレックス持ってる連中でいっぱいだなw
379デフォルトの名無しさん:2006/04/23(日) 02:01:44

>>371==>>373==>>377なのか?
そうは見えなかったが。
380デフォルトの名無しさん:2006/04/23(日) 02:04:09
2chで大学といえば最低でもマーチです
381デフォルトの名無しさん:2006/04/23(日) 02:05:54
エラい低く出たな。
382デフォルトの名無しさん:2006/04/23(日) 02:19:22
まず、>>373を優しい日本語で書いてください。
私、20年間日本語を使って参りましたが、
>>373のような難解な文章は初めてです。

383デフォルトの名無しさん:2006/04/23(日) 02:21:28
>>377
返答したいが、何を質問したいのか理解できない。

>やっぱ用法を文書に起こしておくの?
そうです。

これでいい?
384デフォルトの名無しさん:2006/04/23(日) 02:26:37
>>368
iアプリだったらこっちのスレッドのほうが適切かも。
iモード携帯電話用Java(iアプリ) Part11
http://pc8.2ch.net/test/read.cgi/tech/1141796982/
一応書き込むときは、質問・相談スレッドから移ったと書いたほうが無難。
385デフォルトの名無しさん:2006/04/23(日) 02:58:31
>>383
OKです。
386デフォルトの名無しさん:2006/04/23(日) 04:48:57
まれに香ばしいな。
387デフォルトの名無しさん:2006/04/23(日) 10:46:13
パソコンのソフトってタイトルバーがダサイんですけど
作るとき消せるの?
388デフォルトの名無しさん:2006/04/23(日) 10:49:55
消せるが何か?
389デフォルトの名無しさん:2006/04/23(日) 10:54:00
だってJaneDoeStyleとか何もかも全部のソフトでタイトルバーついてるじゃん
なんで?
390デフォルトの名無しさん:2006/04/23(日) 13:10:59
>>389
なぜほとんどの便所にトイレットペーパーが付いているのかを考えれば分かる。
391デフォルトの名無しさん:2006/04/23(日) 13:18:27
>>368,370

> はじめまして。質問です。
> 今カレー作ったのですが文句言って家族が満足しません、どーしたらいいのかわかりません
> 文句のセリフは「味が薄すぎる」と「ギャグの世界だけだと思っていたが、これがウンコ味のカレーか」です
> 下ごしらえの調味料不足でしょうか?よろしくお願いします

> 電磁調理器 ティファールの鍋を使ってjavaカレー
> を作りました。

で原因が分かるか?
392デフォルトの名無しさん:2006/04/23(日) 13:47:37
>>390
新聞紙でケツを拭くと痛いから。
393368:2006/04/23(日) 14:35:09
>>384さんありがとうございます
助かりました。
394デフォルトの名無しさん:2006/04/23(日) 15:15:08
>>390
天才
395デフォルトの名無しさん:2006/04/23(日) 17:27:10
フリーで使える統計計算用のライブラリありませんか?
中央値とか分散を計算してくれるような奴
396デフォルトの名無しさん:2006/04/23(日) 21:45:13
>>395
とりあえず、Jakarta commons の Math
397デフォルトの名無しさん:2006/04/23(日) 21:50:49
課題:以下のJAVAプログラムお頼みます。
● Comparable による順序付けに従って,配列の中
から最大の要素の位置を見つけるクラス Chooser
を書きなさい.必要なメソッドは次のとおり.
●下記のMainクラスと一緒にコンパイル
して,正しく動くことを確認しなさい.
class Chooser {
public static int maxpos(Comparable[] x) {
// 配列x の中で最大の要素の位置(最大の要素が複数
// あった場合は最初の位置)を返す
}
}
課題
● Mainクラスの内容
class Main {
public static void main(String args[]) {
Integer[] x = {12,34,21,56,32,7};
String[] y = {"this","is","an","aardvark","in","the","zoo"};
int xm = Chooser.maxpos(x);
System.out.println("xの最大値は"+x[xm]+",位置は"+xm);
int ym = Chooser.maxpos(y);
System.out.println("yの最大値は"+y[ym]+",位置は"+ym);
}
}
398デフォルトの名無しさん:2006/04/23(日) 21:54:31
宿題スレいけ
399デフォルトの名無しさん:2006/04/23(日) 22:14:10
宿題スレには既に書いてあるね、ここで質問する前に
400デフォルトの名無しさん:2006/04/23(日) 23:24:36
この時期の宿題ってことは、第1回の課題だろ。
最初から2chに丸投げで、この先、大丈夫なのか。
401デフォルトの名無しさん:2006/04/23(日) 23:42:56
>>396
ありがとうございました
402デフォルトの名無しさん:2006/04/23(日) 23:43:15
最初でも最後でも丸投げ自体おかしいとしか
403デフォルトの名無しさん:2006/04/23(日) 23:53:43
>>400
っていうかリアルでヒント貰った方が早かろうにね
丸投げって釣りなのかな?って思った時期が俺にもありました
404デフォルトの名無しさん:2006/04/24(月) 00:01:30
Unix系で動作するJavaコンソールアプリにて、
ファイルコピーをバイナリ(バイト)読み込み/書き込み
を行うことで実装しようと考えています。

このときコピー元ファイルの、OSのファイル属性を引き継ぎたいと
考えていますが、JavaAPIの範囲でこれを実装することはやはり無理
なんでしょうかね?
405デフォルトの名無しさん:2006/04/24(月) 00:33:05
属性操作はOS依存するので無理
406デフォルトの名無しさん:2006/04/24(月) 14:00:54
>>404
java.io.File には setLastModified() と setReadOnly() というのはあるが、
それ以外の属性は設定できないと思う。
407デフォルトの名無しさん:2006/04/24(月) 14:13:13
Windows (OS/2) Bitmap を読み込んで Image にするライブラリとかありますか?
408デフォルトの名無しさん:2006/04/24(月) 14:42:53
>>407
(´・ω・`)つJava Advanced Imaging(JAI)
409デフォルトの名無しさん:2006/04/24(月) 14:44:44
>>407
それむかーし誰かが作ってるの見たことがあるので Google で探してみたらどうだ?
必ずどこかにあると思うんだが。

ていうか ImageIO とか使えないのか?
410デフォルトの名無しさん:2006/04/24(月) 15:16:21
>>408
それちょっと調べてみます。ImageIO からシームレスに使えると嬉しいんですが。

>>409
いくつか見つかりましたがサポートしていないビット幅とかあったり。
標準 ImageIO (Win/Linux) で使える ImageReader を表示してみると
JPEG, GIF, PNG だけのようですね。
411407:2006/04/24(月) 16:46:11
1.0_01 をインストールしようとしたが、CLASSPATH/JDK/JRE どのインストーラー使っても
バージョンチェックに引っかかってインストールできねぇ orz

デスクトップでダブルクリック → NG
コマンドプロンプトで JDK 1.4.2_09 の JAVA_HOME に移動して実行 → NG
コマンドプロンプトで JDK 1.4.2_09 の JAVA_HOME/bin に移動して実行 → NG

全部 「JDK 1.4 or higher must be installed!」 と出て中止になってしまう。
1.1 はまだアルファっぽいから無印 1.0 を試してみるか…
412デフォルトの名無しさん:2006/04/24(月) 17:44:44
>>411
JAI ImageI/O ToolsじゃなくてJAIをインストールしてみたら?
ttp://www.javainthebox.net/laboratory/graphics/ImageLoading/ImageLoading.html
によるとImageにするにはかなりめんどいらしいけど

あるいはJDK5.0をインストールしてみるとか?
413デフォルトの名無しさん:2006/04/24(月) 18:38:43
JPanelのサイズに応じてJScrollPaneを出したり消したりしたいのですが
(とりあえず今はテストで非表示→表示)
サイズ変更してもスクロールバーが出ません。
何か足りないところはあるでしょうか?

//JScrollPaneの初期化
private JScrollPane getJScrlpn_main()
{
if (jScrlpn_main == null)
{
jScrlpn_main = new JScrollPane(jPnl_main);

jScrlpn_main.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
jScrlpn_main.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);

jScrlpn_main.setSize(720,400);
jScrlpn_main.setPreferredSize(new java.awt.Dimension(720,400));
jScrlpn_main.setEnabled(true);
jScrlpn_main.setLocation(150,45);
jScrlpn_main.setVisible(true);
jScrlpn_main.getViewport().setViewSize(new Dimension(720,400));

}
return jScrlpn_main;
}

//JPanelのサイズ変更
jPnl_main.setSize(1000, 1000);←元は700,400
jPnl_main.revalidate();
jScrlpn_main.getViewport().setExtentSize(new Dimension(1000, 1000));

よろしくお願いします。
414407:2006/04/24(月) 20:18:31
1.0 はただの ZIP ファイルでした。JAR と DLL をぞれぞれ jre/lib/ext と jre/bin に
ぶちこんだら速攻終わりました。コード無修正で BMP, WBMP, TIFF 等が扱えるようになってます。
1.0_01 もただの自己解凍型 ZIP だと思うので、中のファイルが取り出せれば同じ作業で
終わるかと思われます。
415デフォルトの名無しさん:2006/04/24(月) 20:26:55
1からJAVAでグラディウスのような横スクロールシューティングを作りたいのですが、
ifやfor等基本的な部分しか分からない状態から、半年程度をかけて勉強しながら作りたいと思っています。
お勧めのゲームプログラムに関する書籍やHP等ありましたら、教えてください。
416デフォルトの名無しさん:2006/04/24(月) 21:32:16
失礼します
現在JDBCを使ってSQLPlusのようなものを
プロンプト、JSP、Swingのどれかで作るプロジェクトを専門でやっています。

現在そのDBへの接続部分を考えていて
以下の様に作ってはみたのですがどうにも無駄なメソッドがある、もしくは設計がおかしい気がします・・・
宜しければアイデアを分けていただけないでしょうか?
417416:2006/04/24(月) 21:33:09
package JDBC;
import java.sql.*;
public abstract class DBAccess {
private Connection _conn;//ConectionInstance
private Statement _stmt;//StateMentInstance
private DatabaseMetaData _dmd;//DatabaseMetaDataInstance
private String _dbName;//データベース名ipとかね。
private String _hostAddress;//hostAddress
private String _user;//まぁ、ユーザ
private String _pass;//パスワード
//////////////////////Constructer////////////////////
public DBAccess(String dbName, String hostAddress, String user, String pass) {
_dbName = dbName;
_hostAddress = hostAddress;
_user = user;
_pass = pass;
}
////////////////////////Getter//////////////////////
public String getDBName(){ return _dbName; }
public String getHostAddress(){ return _hostAddress; }
public String getUser(){ return _user; }
public String getPass(){ return _pass; }
public Connection getConnection(){ return _conn; }
public Statement getStatement(){ return _stmt; }
public DatabaseMetaData getDatabaseMetadata(){ return _dmd; }
418416:2006/04/24(月) 21:33:40
////////////////////////Setter//////////////////////
public void setDBName(String dbName){ _dbName = dbName; }
public void setHostAddress(String hostAddress){ _hostAddress = hostAddress; }
public void setPass(String pass){ _pass = pass; }
public void setConnection(Connection conn){ _conn = conn; }
public void setStatement(Statement stmt){ _stmt = stmt; }
public void setDatabaseMetaData(DatabaseMetaData dmd){ _dmd = dmd; }
////////////////////AbstractMethod//////////////////
public abstract void connect();
public abstract void disconnect();
}
419416:2006/04/24(月) 21:34:12
class OracleAccess extends DBAccess {
private final static String CLASSNAME = "oracle.jdbc.driver.OracleDriver";
//////////////////////Constructer////////////////////
public OracleAccess(String dbName, String hostAddress, String user, String pass) {
super(dbName, hostAddress, user, pass);
}
public void connect(){
try{
// TODO 接続の確立(Connection, DataBaseMetaDataの生成)
Class.forName(CLASSNAME);
//Connectionを生成
setConnection(DriverManager.getConnection(getHostAddress(), getUser(), getPass()));
//Statementを生成
setStatement(getConnection().createStatement());
//DataBaseMetaDataを生成
setDatabaseMetaData(getConnection().getMetaData());
//確認用Print文
System.out.println(getDBName() + ":つないだよ");
}catch(ClassNotFoundException e){
// TODO ClassNotFound例外の catch ブロック
e.printStackTrace();
}catch(SQLException e){
// TODO SQL例外の catch ブロック
e.printStackTrace();
}catch(Exception e){
// TODO 基本例外の catch ブロック
e.printStackTrace();
}
}
420416:2006/04/24(月) 21:34:48
public void disconnect(){
try {
getConnection().close();
} catch (SQLException e) {
// TODO SQL例外 catch ブロック
e.printStackTrace();
}
}
}
class Main {
public static void main(String args[]){
OracleAccess oa = new OracleAccess("IP","jdbc:oracle:thin:@localhost:1521:IP", "gogo", "nono");
oa.connect();
oa.disconnect();
}
}
421デフォルトの名無しさん:2006/04/24(月) 21:38:38
自作のThreadを他のマシンで実行することは可能でしょうか?

サーバー側でnewした後に、そのThreadをクライアントに引渡し、
クライアントのCPUを利用して、プログラムを実行したいです。
422デフォルトの名無しさん:2006/04/24(月) 21:39:08
// TODO まで読んだ
423デフォルトの名無しさん:2006/04/24(月) 21:41:15
>>421
Thread は Serializable ではないので無理です。
Runnable を implements したインスタンスをクライアント側で受け取って、それを Thread で
実行するというのなら可能でしょう。クライアント側にそのクラスがインストールされていなくても
ClassLoader を使用して動的にロードすれば何とかなります。
424416:2006/04/24(月) 21:42:36
っと、ユーザとパス消してなかったorz
あとStatementのclose忘れてますね・・・
しかし質問するにはプログラムが長すぎでしたかねorz
425デフォルトの名無しさん:2006/04/24(月) 22:45:20
>>415
(´・ω・`)つJAVAの参考書 描画関係の参考書
ゲーム関係の書籍は、プログラミングや描画関係の基本的な事は習得している事を
前提としているからそこをまず勉強したほうがいいよ
ゲームのアルゴリズムや、ゲーム関連の数学・物理でページ取られて描画を解説する
スペースが無いから・・・(´・ω・`)
426407:2006/04/24(月) 22:47:13
さらに続報。Linux には 1.0_01 でインストールできました。こちらはバージョンチェック
しないようなのでカレントを JAVA_HOME に移動してやるだけで OK でした。

ところが、Bitmap ファイルを読み込ませる前に Content-Type と比較してサポートして
いる形式かを判定している部分があるのだが、どうも image/bmp だけ意図したように
動いてくれない。getReaderMIMEType() と比較しても一致するものが無いと言われる。
でもその文字列配列を画面に表示してみるとちゃんと image/bmp と出力される。
getImageReadersByMIMEType("image/bmp") も有効な要素を一つも返さない。

あれこれ試行錯誤の末、何か変なところに空白が入ってるようだと気付き BugParade を
漁ったらこんなことになってました orz
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6202545

1.0_01 のバグでした。1.1βで fix されてるとの事。1.0 で出ないことは確認してます。
427デフォルトの名無しさん:2006/04/24(月) 23:30:46
>>414
ImageIOってBMP対応だったろ

>>415
ゲーム製作板にJavaでゲーム作成とかそんなスレがある

書籍ならいろいろとでてるがJavaのゲーム関係で比較的ましなのは
15歳からどうのこうのとかいうやつだけ

>>421
分散処理したいのならRMI
いまはRMICとかスタブやスケルトンはいらんかららくちん
鯖がわでコード上でスタブを明示的にいれるだけ
428デフォルトの名無しさん:2006/04/25(火) 03:05:17
>>427
分散投資したいならRMIに見えた
429デフォルトの名無しさん:2006/04/25(火) 06:14:06
JTableでセルの値を変更したいのですがどうやったらいいのでしょうか?
430デフォルトの名無しさん:2006/04/25(火) 06:15:44
> ImageIOってBMP対応だったろ

BMP 対応は 1.5 から
431デフォルトの名無しさん:2006/04/25(火) 06:18:22
ちなみにsetValueAtを使ってみたのですが、どうにもなんねっす。
なんか思った動作しないっす。
自分が指定した内容と全然別の内容を挿入してくれるっす。
432デフォルトの名無しさん:2006/04/25(火) 06:22:32

 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
 |  エスパー募集厨! |
 |               |
 |__________|
    ∧∧ ||
    ( ゚д゚)||
    / づΦ
433デフォルトの名無しさん:2006/04/25(火) 06:31:09
あ、
はじめにこれ→isCellEditableでチェックしなきゃ駄目なのかなぁ・・・
434デフォルトの名無しさん:2006/04/25(火) 09:09:58
413どなたかお願いいたします・・・
435デフォルトの名無しさん:2006/04/25(火) 09:29:02
436デフォルトの名無しさん:2006/04/25(火) 10:09:18
>>430
もう登場して1.5年も前のものになにをいってるんだ?
437デフォルトの名無しさん:2006/04/25(火) 10:17:08
なんだそりゃ。1.5 から Java 始めたボクチャンかよw
438デフォルトの名無しさん:2006/04/25(火) 11:47:12
10進数から2進数に変換するプログラムを作ってみせてくれ
439デフォルトの名無しさん:2006/04/25(火) 11:49:01
>>438
yada
440デフォルトの名無しさん:2006/04/25(火) 11:54:38
System.out.println(Integer.toString(Integer.parseInt(dec), 2));
441デフォルトの名無しさん:2006/04/25(火) 13:42:14
>>437
5.0の書式についていけないお子様かよ
442デフォルトの名無しさん:2006/04/25(火) 13:52:45
(´,_ゝ`)プッ 図星かよ
443デフォルトの名無しさん:2006/04/25(火) 14:13:12
(´,_ゝ`)プッとか
444デフォルトの名無しさん:2006/04/25(火) 14:21:14
ImageIOがBMPよめるようになったのしらんやついまだにいたのかよ。
5.0がでたときみんなさわいでいただろ。
そもそもImageIO自体後付だしPNGだって最初は読めなかったぞ。

だが職場でもAPIマニュアルみてList<E>とかMap<K,V>とかが
いまだに読めないお馬鹿なやつは確かにいる。
445デフォルトの名無しさん:2006/04/25(火) 14:37:32
>>444
>だが職場でもAPIマニュアルみてList<E>とかMap<K,V>とかが
>いまだに読めないお馬鹿なやつは確かにいる。
うはwww俺のことだwwwwww

ところで左シフトした後右を0で埋めるには
num = num << 1;
num = num | 0x1;
ってやるしかない?
446デフォルトの名無しさん:2006/04/25(火) 14:38:39
miss 1 で埋めるには
447デフォルトの名無しさん:2006/04/25(火) 14:48:19
5.0 の文法くらいでそんなに自慢げになれる会社勤めの方がうらやましい
448デフォルトの名無しさん:2006/04/25(火) 14:51:45
>>445
一番左を 1 で埋める: num = (num << n) | 0x01;
シフトした分だけ 1 で埋める: num = (num << n) | ((1 << n) - 1)
449デフォルトの名無しさん:2006/04/25(火) 15:07:28
>>447
できないよりできるほうがいい

それだけのことだろう
450デフォルトの名無しさん:2006/04/25(火) 15:12:10
とっくに終わったネタ蒸し返して「俺は知ってる」とか言い始める奴って馬鹿じゃね?
451デフォルトの名無しさん:2006/04/25(火) 15:18:30
そのネタに食いついてる奴も同じく
452デフォルトの名無しさん:2006/04/25(火) 15:39:22
ウィルコムのZERO3でiアプリ開発できる?デバックとかコンパイルとか出来る?
モバイル環境で開発したいんですが良い方法ないですかね?
やっぱOSはXPとかじゃないとコンパイルとか出来ないんですか?
453デフォルトの名無しさん:2006/04/25(火) 15:45:40
>>448
((1 << n) - 1) の部分めちゃめちゃ参考になりました。
2進数の繰り下がりを使うとこんなことができるんですね
454デフォルトの名無しさん:2006/04/25(火) 16:16:30
リフレクションあたりを使って、
クラスのインスタンス名を取得することって可能ですか?
例えば、

 Map productMap = new HashMap();

などと書いた際に、この"productMap"という
インスタンス名を、String化して取得するには、
どう実装したらいいでしょう?
455デフォルトの名無しさん:2006/04/25(火) 16:26:29
>>454
そりゃ"インスタンス名"じゃなくて"変数名"では?
456デフォルトの名無しさん:2006/04/25(火) 16:26:45
productMap.getClass().getName()
457454:2006/04/25(火) 16:30:37
>>455
そうでした。。。変数名自体を取得したい、という意味でした。

>>456
それはクラス名を取得、というものですよね。。。
458デフォルトの名無しさん:2006/04/25(火) 16:33:54

















459デフォルトの名無しさん:2006/04/25(火) 18:29:36
超初心者質問でごめんなさい。
プリミティブなデータってレジスタ変数みたいなもんですか?
460デフォルトの名無しさん:2006/04/25(火) 18:30:50
そこまでプロミティブじゃないです。
461デフォルトの名無しさん:2006/04/25(火) 21:21:40
String aa = r.readLine();
int num = Integer.parseInt(aa);
は、入力された値を整数に変換になりますが

String aa = r.readLine();
char num = XXXXXXXXXXXXX
このように入力された値を文字に変換も可能となりますか?
その場合XXXXXXに記述するルールを教えてください。
462デフォルトの名無しさん:2006/04/25(火) 21:23:54
char num = (aa.length()==0? '\0': aa.charAt(0));
463デフォルトの名無しさん:2006/04/25(火) 21:28:42
>>462
ありがとうございました。
464デフォルトの名無しさん:2006/04/26(水) 08:46:39
Tomcat しか使ったことないんだけど、WebSphere や WebLogic って Ant って標準で
バンドルされてますか? メジャーなコンテナが Ant 積んでるなら、sh で書く気でいた
スクリプトを Ant にしても良いかなと思いついたもので。
465デフォルトの名無しさん:2006/04/26(水) 13:28:45
最近ム板に来る様になって、このスレ見てたら
v5 の新機能全然チェックしてない事に気付いた

何か俺が「この機能あったらJava使うのに」って
思ってた所が殆ど追加されてるやんけ…(゜Д゜)
466デフォルトの名無しさん:2006/04/26(水) 13:43:08
大変更だったから対応して無いミドルウェアや JNI 使ってるライブラリがまだ多い。
IBM 関連はほぼ全滅状態だし。5.0 で出来るようになったという話は別として、
使えの一言で FA 出してる奴は莫迦としか言いようがない。
467初心者:2006/04/26(水) 16:28:42
Graphics g;
g.drawLine(10,10,100,100);

というような場合についてですが,drawLineは抽象メソッド
なはずなのに実際は線が引けているのはなぜなのでしょうか?
468デフォルトの名無しさん:2006/04/26(水) 16:37:55
g.getClass().getName() を表示してみろ。
g の実体は Graphics を継承した隠しクラスだ。
469デフォルトの名無しさん:2006/04/26(水) 16:42:47
>>467
抽象メソッドを持つ抽象クラスは、普通、コンストラクトできませんよね?
でも、gが参照しているインスタンスはどこかでコンストラクトされたはずです

つまり、gは抽象クラスGraphicsを継承した具象クラスのインスタンスなのです
その具象クラスがどこかで定義されており、
と言う事は、そこで実際のメソッド内容が定義されており、
そのメソッドが実際には呼ばれて線が引かれる、と言う訳です
470初心者:2006/04/26(水) 16:50:58
なるほど.SunGraphics2Dクラスでした.
なぜこうなるのかという謎は残りますが,
ありがとございました.
471初心者:2006/04/26(水) 17:12:10
>>469
>>470
ありがとうございました.
472デフォルトの名無しさん:2006/04/26(水) 17:26:02
Javaでパソコン上でQRコードを解読するアプリケーションを探しているのですが
どんなものがあるのでしょうか??

http://sourceforge.jp/projects/qrcode/
これが見つかったのですがどうしてもコンパイル、実行方法がわかりません。
よろしくお願いします。
473デフォルトの名無しさん:2006/04/26(水) 17:37:53
ココはソフト説明所じゃないぞ
474デフォルトの名無しさん:2006/04/26(水) 22:12:34
すみません、ちょっとお伺いしたいんですけど
ブラウザに埋め込まれたJAVAから文字列を取得したいんですけど
何かいい方法ありませんか?
よろしくお願いします。
475デフォルトの名無しさん:2006/04/26(水) 22:36:49
まず、↓の意味不明物体を詳しく説明すると良いと思うよ
「ブラウザに埋め込まれたJAVA」
476デフォルトの名無しさん:2006/04/26(水) 22:44:57
>>474
LiveConnect で検索
今は死語だけどなんか見つかるはず
477デフォルトの名無しさん:2006/04/26(水) 22:45:16
あぁごめんなさい、意味不明でしたね。アプレットです。
ストリーミングで刻々と文字列が変わるのですが
それをパケットスニファ以外で取得したいのです。
478デフォルトの名無しさん:2006/04/26(水) 23:39:18
最近java初心者というより
PC初心者や
人間初心者が
増えてきたと思う
479デフォルトの名無しさん:2006/04/27(木) 00:13:00
>>477
むしろ、プログラムに含まれる文字列をどうやってパケットスニファで取得するのか気になる
わざわざ「以外で」と言うからにはパケットスニファで取得できるなんらかの根拠があるわけだよな?
480デフォルトの名無しさん:2006/04/27(木) 00:16:53
ヒント: > ストリーミングで
481デフォルトの名無しさん:2006/04/27(木) 00:22:02
>>479
昔 tcpdump を Runtime.exec から呼ぶプログラムを作った。
tcpdump バージョンが変わると動かなくなる厄介なものをw
今は反省している。
482デフォルトの名無しさん:2006/04/27(木) 00:23:04
ちなみみに>>477がなにをやりたいのか
さっぱり誰もわかっていない。
483デフォルトの名無しさん:2006/04/27(木) 00:31:50
>>482
こういう感じのものから情報を取得したいんじゃないの?
ttp://www.excite.co.jp/search_stream/filter_on/
と勝手に想像したが…
484デフォルトの名無しさん:2006/04/27(木) 00:41:18
>>413
一通りのソースを書いて。
検証側がコピペで済むように。
あと、
思っているところと違うところに
問題がある可能性があるから
一通りをまず。
485デフォルトの名無しさん:2006/04/27(木) 00:41:46
>>483
サーチストリームなのかな?
だとしたらHttpで検索された文字列を記録しておいて
それをアプレットが読みにくるだけだと思うけど・・・
486デフォルトの名無しさん:2006/04/27(木) 01:15:56
SUN/JDKの一般向けライセンスはJIULのようなのですが、
IBM/JDKのライセンスはどういったものになっているのでしょうか。
487デフォルトの名無しさん:2006/04/27(木) 01:53:47
xml と xsl から html を作る方法を教えてください。
488デフォルトの名無しさん:2006/04/27(木) 01:57:36
489デフォルトの名無しさん:2006/04/27(木) 02:35:49
>>488
お!すばやい回答。まさにこれです。ありがとうございます。
490デフォルトの名無しさん:2006/04/27(木) 03:05:20
リアル厨房です。
delphiっていう言語をやっていたのですが、これはコンポーネントの設置やイベントの設定などが
楽にできました。
んで最近になってJavaをやりはじめてアプレットつくってるんですがボタンの設置や
リスナの登録など手書きでやらないといけないのでしょうか?
(cnt.add(JLabel lb, BoderLayout.NORTH)みたいに)
delphiのようなideがあったら教えて欲しいです。。
491デフォルトの名無しさん:2006/04/27(木) 03:25:01
>>490
Jbuilder(delphi と同じ borland) とか NetBean にはついてるし。
しかもどちらも タダで手に入れる事が出来る。
がんばれ
492デフォルトの名無しさん:2006/04/27(木) 03:33:00
>>491
ありがとうございます。
楽に慣れるのは怖いので(w)もうちょい手書きでやってみます。
無料といえばEclipseってのはどうなんでしょう?
wikiみたところGUI設計に関しては特筆すべきことは書いてないみたいなのですが。
493デフォルトの名無しさん:2006/04/27(木) 03:34:12
490のcntとはContainer cntでした。
494デフォルトの名無しさん:2006/04/27(木) 03:40:56
>>492
java やるなら エクリプス が 一番だと俺は確信している
ただ そいつには フォームデザイナ的なものを見たことは無い
プラグインであるかもしれんが ・・・
495デフォルトの名無しさん:2006/04/27(木) 03:49:08
>>494
ありがとうございます。
とりあえずEclipseはDLしてみたのですが機能が多すぎて全然扱えてないっすw
上に出たのも一通り使ってみて合ったの探しますね
ま、当分秀丸で十分かなぁ
496494:2006/04/27(木) 03:55:11
>>495
心にも無い事言ってくれるじゃないの ところで俺の*を見てくれ こいつをどう思う?
497デフォルトの名無しさん:2006/04/27(木) 03:57:47
>>496
さみしいね キミって人は ・・・ って言うか もう寝なさい
498デフォルトの名無しさん:2006/04/27(木) 07:55:35
>>494
EclipseだってVEがあるよ
ただ、実用的ではない

NetBeans5のデザイナはVBとかDelphiより配置が楽なのがいい
ただ、完全なコンポーネント志向ってかんじではないので
多少コードが多めになる

癖つかめばVBやDelphiより楽になるとおもうはずだ
499デフォルトの名無しさん:2006/04/27(木) 09:36:18
>>480
パケットから、プログラムに含まれる文字列を特定する方法とは何ぞや?という意味で書いたんだが
って寝て起きたら話題が変わってる('A`)



>>495
>とりあえずEclipseはDLしてみたのですが機能が多すぎて全然扱えてないっすw
初めっから使いこなせる人なんていないからとりあえず使い慣れる事が一番だと思うよ
【Java/C++/Ruby/D/TeX/他】統合開発環境EclipseM20
ttp://pc8.2ch.net/test/read.cgi/tech/1141878910/l50
500デフォルトの名無しさん:2006/04/27(木) 10:33:50
eyroiuq[4888]wera

こんな感じの文字列から[]の中だけを指定して抜き出すにはどうしたらいいでしょうか?
[]のなかの文字数が変わっても対応できるような方法を教えてください。



501デフォルトの名無しさん:2006/04/27(木) 10:37:36
>>500
「正規表現」でぐぐるんだ
502デフォルトの名無しさん:2006/04/27(木) 11:13:07
ありがとうございます。やってみます。
503デフォルトの名無しさん:2006/04/27(木) 11:40:13
質問です。
バッチファイルからJavaをキックした際に、二回連続でバッチを
叩いてしまった場合に1本のスレッドをWaitさせたいのですが、
あるメインから別のメインのプロセスをどう参照するかがわかりません。
教えてください。
504デフォルトの名無しさん:2006/04/27(木) 11:52:39
Lockファイルでも作れば
505デフォルトの名無しさん:2006/04/27(木) 12:02:02
if( %BATCH_START% != 1 ){
set BATCH_START=1
  java net.2ch.pc8.UnkoBatch
}
set BATCH_START=0

Winわからないから文法むちゃくちゃかもだけど
こういうロジック書けばいいんじゃん?
506503:2006/04/27(木) 12:19:25
>>504
>>505
早速の回答ありがとうございます。
・・・できればプログラム内でやりたいのですが、無理でしょうか?
507デフォルトの名無しさん:2006/04/27(木) 12:24:30
>>505
バッチの文法はともかく、
親プロセスの環境変数は変わらないので
それでは正しく動かないのでは?
508デフォルトの名無しさん:2006/04/27(木) 12:49:16
どっか適当なポートを使ってlockにすることはあるけど、あんま行儀は良くないな
509デフォルトの名無しさん:2006/04/27(木) 13:08:34
Java FileLock で検索しろ
510デフォルトの名無しさん:2006/04/27(木) 13:10:13
>>507
Winわかんないから適当に書いた。
OSにStaticな環境変数を使うってこと。
iniファイルでもレジストリでもなんでもいいんだけど。
511デフォルトの名無しさん:2006/04/27(木) 13:12:59
それだと JVM が異常終了したら二度とプログラムが起動しなくなるわけだが。
512デフォルトの名無しさん:2006/04/27(木) 13:19:41
>>511
ほんとだ。俺すぐバグ出すからw そしたらやっぱりfinallyだよな。
キックしたJavaのBatchクラスでThreadをコントロールすれば自由度高いね。
513デフォルトの名無しさん:2006/04/27(木) 17:24:31
>>503
スレッドじゃなくてプロセスだろ?
やはりロックファイルが分かり易くていいと思うな。
OSが違ってもロックのファイル名変えるだけで行けそうだし。
514デフォルトの名無しさん:2006/04/27(木) 17:28:25
まぁ多重起動の検知と防止はロックファイルが定番だな。
515デフォルトの名無しさん:2006/04/27(木) 21:29:18
1.4 あたりからレジストリっぽいのが使えるが、あれはドウカネ
516デフォルトの名無しさん:2006/04/27(木) 21:39:42
>>515
え? レジストリっぽいの? 何それ? Property とかじゃなくて?
517デフォルトの名無しさん:2006/04/27(木) 21:42:19
>>516
References クラス参照。
Win だとレジストリに保管されるし、Unix だとホームディレクトリの下のどこだかに入る。
518デフォルトの名無しさん:2006/04/27(木) 21:50:01
雛型はこんな感じでいいのではないだろうか。

public class MainClass {
 public MainClass() {
  // ...

 }

 public static void main(String[] args) {
  try {
   new FileOutputStream(args[0]).getChannel().lock();
   new MainClass();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
}
519デフォルトの名無しさん:2006/04/27(木) 21:52:34
>>517
もしや References じゃなくて Preferences?
520デフォルトの名無しさん:2006/04/27(木) 21:54:42
         r-、
  ⊂こー;    > `t,
    i!~i  rt´ /`"
    | |  \"ヽ
    (=t.__,,r⌒t_..
     ヒ.: ' /  : ̄: :`;
      `ー-t :: :: ::ノ
         ト──r'
         __|    .:|
     l ̄ ̄     .:::|
     | lニニty  .:::::|   < 素で間違えた orz
     }.-t;;;;;;;;;))___ノ_つ
521デフォルトの名無しさん:2006/04/27(木) 22:00:18
swingで
 ボタンを押す→テキストエリアに文字列をフラッシュ
 →数秒待つ→テキストエリアに文字列をフラッシュ
という動作を行いたいのですが、
 textarea.setText("最初の文字列");
 textarea.setText(textarea.getText() + "次の文字列");
とするとまとめて出力されてしまいます。
どうすればよいですか。
522デフォルトの名無しさん:2006/04/27(木) 22:04:21
>>521
append() は?
523デフォルトの名無しさん:2006/04/27(木) 22:05:26
synchronizedキーワードや、サーブレットではjavax.servlet.SingleThreadModelインターフェイス、
J2SE 1.4以降ではjava.nio.FileLockなどの専用のクラスも用意されていますが、
これらによって提供されるロックはあくまでアドバイザリロックと呼ばれる「紳士協定」的な
ロックであるにすぎません。アドバイザリロックにおいては、あくまでプロセス自身が
ロックを行ないますので、他プロセスによる処理についてはロックは無効です。
http://www.atmarkit.co.jp/fjava/javatips/024jspservlet015.html

↑なんか synchronized と New I/O のファイルロックを同列に扱ってプロセス間で
ロックが利かないような書き方してるけど、これおかしいよね。
524デフォルトの名無しさん:2006/04/27(木) 22:07:45
>>521
final ta = textarea;
ta.setText("最初の文字列");
Thread t = new Thread(){
  public void run(){
    try{ sleep(2000); } catch(InterruptedException ex){/* */}
    t.append("次の文字列");
  }
};
t.start();
525デフォルトの名無しさん:2006/04/27(木) 22:11:58
基本情報のH17の問題です。
Counter は,単語を数える処理のインタフェースである。

import java.util.StringTokenizer;
public class WordTable {
private (A) counter;
public WordTable( (A)counter) {
this.counter = counter;
}
でAにはCounter が入りますが、よくわかりません。counterとは何を意味しているのですか?
526デフォルトの名無しさん:2006/04/27(木) 22:14:13
private Counter counter; → インスタンス変数
public WordTable(Counter counter){ → ローカル変数
this.counter = counter; → インスタンス変数にローカル変数を代入
527521:2006/04/27(木) 22:32:07
>>524 の方法でできました。
どうもです。
528デフォルトの名無しさん:2006/04/27(木) 23:52:25
なんだ、お前それでよく試験受ける気に…
529デフォルトの名無しさん:2006/04/28(金) 00:08:35
>>527
一応動いているように感じるだろうが、駄目な例だぞ
いつ動かなくなってもなかないこと

Swingのスレッドはひとつ
そしてそこで処理させる

javax.swing.Timerをしらべてみるといい
530デフォルトの名無しさん:2006/04/28(金) 00:14:21
Swing はそうだったな、失礼
531デフォルトの名無しさん:2006/04/28(金) 00:57:23
Threadでもいいけどその場合は
javax.swing.SwingUtilities:invokeAndWaitでな
532デフォルトの名無しさん:2006/04/28(金) 06:44:08
JavaでWord文書を作成するツールはPOI以外にありますか?
有償、無償じゃ問いません。
POIはエクセルの操作には優れてますが、Wordはまだまだ使いづらくて・・・。
533デフォルトの名無しさん:2006/04/28(金) 11:10:33
厳密でない HTML から DOM を生成する方法ってありますか?
要約作るために <TITLE> と最初の <P> の中だけ抜き取りたいんですが、
正規表現こねくり回すか、自前パーサ組むしかないんでしょうか?
534デフォルトの名無しさん:2006/04/28(金) 11:28:53
>>533
CyberNekoで何とかならんかね。

535デフォルトの名無しさん:2006/04/28(金) 12:48:36
Cookie 使えない端末用に Tomcat 4 で URL Rewrite をしたいんですが
URL にセッション ID くっつけてくれるようなメソッドってありましたっけ?
536デフォルトの名無しさん:2006/04/28(金) 15:01:13
>>535
ある
537デフォルトの名無しさん:2006/04/28(金) 15:36:56
あるあるw
538デフォルトの名無しさん:2006/04/28(金) 16:42:05
あるなら教えろ!
539デフォルトの名無しさん:2006/04/28(金) 17:13:59
>>533
俺もちょうどCybernekoとか使ってたけど
簡単なものだからそんなの必要なかった。
while( bool ){
  if( line.trim().toLowerCase().equals( "<title" ){
    //処理
  }
}
とかでOK。複雑なのだったらやっぱりDOMかなあ。
540デフォルトの名無しさん:2006/04/28(金) 17:14:10
質問です。
マップ(Map)のリスト(ArrayList)のソートをしたいです。
DBの1レコードのデータが一つのMAPになっていて、MAPの中のある項目でリストの中身をソートします。
Collectionsクラスの使用ではできないと思います。
どうやるのでしょうか?
541デフォルトの名無しさん:2006/04/28(金) 17:16:07
Comparator を実装し Collections.sort()
542539:2006/04/28(金) 17:19:48
うわー俺はあほか。equals( "<title" )じゃなくてindexOf( "<title" )>-1ね。
543540:2006/04/28(金) 17:29:00
>541
今までComparableしか使ったことがなかったので知りませんでした。

ちなみに以下のページを見つけ出し参考にしました。なんとかできそうです。
http://www5b.biglobe.ne.jp/~psoft/lesson/sort.html
544デフォルトの名無しさん:2006/04/28(金) 18:37:21
PDFファイルの中身(テキスト)を解析したいのですが、
「java pdf 解析」などでぐぐっても技術情報が見当たらないので質問させてください。

そもそも市販のライブラリを使わずにPDFファイルを解析することは可能なのでしょうか?
PDFの生成なんかはiTextなどあるみたいなのですが・
545デフォルトの名無しさん:2006/04/28(金) 20:14:31
アドビが仕様を公開してる
無料で手に入れることができる
546デフォルトの名無しさん:2006/04/28(金) 20:56:31
Tiger(jdk1.5)をクライアントアプリではなくて、
サーバサイドなどの常に動かし続ける環境で
すでに動かしていますか?
547デフォルトの名無しさん:2006/04/28(金) 21:23:59
動かしていますが何か?
548デフォルトの名無しさん:2006/04/28(金) 21:42:46
>>544
amazonで書籍が入手可能
正直変態フォーマットだと思ったほうがいい

無理せずiTextとかつかったほうが早いと思う
ライセンス上駄目というのなら自作しかないが
549デフォルトの名無しさん:2006/04/28(金) 22:02:31
テキストの抽出を解析と表現する人初めて
パス掛かったPDF読みたいとか言いだすのかな?
550デフォルトの名無しさん:2006/04/28(金) 22:12:18
namazu が PDF から前文検索できてた記憶があるから、あれ解析すりゃできるかも。
Java と関係ないけど。てか何かライブラリ使ってるのか知らんけど。
551デフォルトの名無しさん:2006/04/28(金) 23:32:00
>>547
なんか不安なんだけど、
大丈夫だよね?
552デフォルトの名無しさん:2006/04/28(金) 23:34:38
不安なら使わなきゃいいじゃん。1.4.2でいいだろ。
553デフォルトの名無しさん:2006/04/28(金) 23:37:19
言語機能はだいぶ変わってるけど仮想マシンや JIT コンパイラの実装って何か大革新あったっけ?
554デフォルトの名無しさん:2006/04/28(金) 23:48:58
ジェネリクスやTypeSafeEnumなど安全性や開発効率の大幅向上
GCのパフォーマンスアップ
JITのスピードもアップ
StringBuilderやコンカレント、アトミックAPIなど速度に直結する実装はかなり多い
一応XPathが標準で実装されたとかIPV6完全対応とかRMIがすごい楽とか

鯖分野で設定が容易になる利点として環境変数がまた使えるようになったのがおおきいかも

フットプリントは大きくなってるけど、思ったよりと鯖でも効果あるのも多いよ
555デフォルトの名無しさん:2006/04/29(土) 01:12:05
String#replaceAll(String, String)で後者のString(置換文字)を
前者のString(正規表現)の先方参照された値($1)を引数にしたメソッドの返り値にしたいです。

str.replaceAll(regex, method("$1"));
だとmethodの引数が純粋に"$1"という文字列になってしまいますが、
解決方法か代替方法はどのようなものがありますか。
556デフォルトの名無しさん:2006/04/29(土) 01:24:48
>>555
replaceAll()でソレは無理。どうやってもmethod()の方がreplaceAll()
より先に呼ばれるから。
java.util.regex を使ってマッチさせて$1に相当するものを抽出して
method()を読んで自分でちかん。
557デフォルトの名無しさん:2006/04/29(土) 12:26:52
正規表現を引数として受け取って、
その正規表現に合致するランダムな文字列を取得したいのですが、
何かうまい方法はないでしょうか?
558デフォルトの名無しさん:2006/04/29(土) 12:48:23
デジャブ?
559デフォルトの名無しさん:2006/04/29(土) 13:05:38
ない
自分で正規表現パーサーでも組むくらいの気合がなければ。
560デフォルトの名無しさん:2006/04/29(土) 13:21:48
>>557
簡単なやり方を示します
public String getExample(String regex){
while(true){
if(Pattern.matches(regex, getRandomString()))return s;
}
}
ここでgetRandomString()はランダムな文字数のランダムな文字列を返すメソッドとします
561デフォルトの名無しさん:2006/04/29(土) 15:12:33
このスレに書きこむのは初めてです、よろしくお願いします。

jdk-1_5_0_06-windows-i586-p.exeをインストールし終わり、
javac を実行しようとすると'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と出てしまいます。
よくある質問にあったので目を通し、色々してみたのですが依然実行できません。

パスは%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;c:\borland\bcc55\bin;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Java\jdk1.5.0_06\bin;

クラスパスはC:\Program Files\Java\jre1.5.0\lib\ext\QTJava;.;
としています。
間違っている所、原因となっている所が分かる方がいましたら、教えてください。
よろしくお願いします。
562デフォルトの名無しさん:2006/04/29(土) 15:15:23
\QTSystem\;C:\Program Files\Java\jdk1.5.0_06\bin;
        ^
563デフォルトの名無しさん:2006/04/29(土) 15:21:30
SSL通信について教えてください。
以下のソースを実行すると無事認証OKとなるhtmlを受信するのですが、
その後、受信htmlを元に、検索サービスを実行するPOSTデータを送信すると、ログインしてません。と返ってきます。
ログイン後の受信htmlを解析すると、どうもhidden項目のSessionIDが認証用となっているようで(それ以外のキーとなるパラメータのやり取りが見当たりません)
再度送信データにSessionIDを渡しているのですが、ダメみたいです。
そもそも見当違いのことをやっているのでしょうか?
長文ですいませんが、わかる方いましたらお願いします。

すいません、本文が長いといわれたので、ソースは次の投稿に含めます。
564デフォルトの名無しさん:2006/04/29(土) 15:25:30
↑の質問のソースになります。(改行が多いと言われたので一部省略)
String s=""; //ワーク用
String sHTML=""; //受信HTMLを格納
String sSessionID=""; //受信HTMLに含まれるhidden項目SessionIDを格納
//ログインします。
URL url = new URL(ConnectionURL);
HttpsURLConnection conection = (HttpsURLConnection)url.openConnection();
conection.setRequestMethod("POST");
conection.setDoOutput( true );
OutputStreamWriter out = new OutputStreamWriter( conection.getOutputStream() );
// POSTパラメータのセット
out.write("user=" + sUser);
out.write("password=" + sPass);
out.flush();
out.close();
//受信データのhidden項目(SessionID)を取得します。
BufferedReader reader = new BufferedReader(new InputStreamReader(conection.getInputStream()));
while ((s = reader.readLine()) != null) sHTML = sHTML + s;
Pattern ptn = Pattern.compile("name='SessionID' value='([^']*)");
Matcher mc = ptn.matcher(sHtml);
if (mc.find()) sSessionID = mc.group(1);
//送信データにSessionIDを含めて再度Request(一部省略
out2.write("search=" + sSearch);
out2.write("SessionID=" + sSessionID);
//ログイン後に検索するサービスを実行するが、戻ってきたhtmlはログインしてませんとなります
BufferedReader reader2 = new BufferedReader(new InputStreamReader(conection.getInputStream()));
while ((s = reader2.readLine()) != null) System.out.println(s);
565561:2006/04/29(土) 15:26:42
>>562さん
ありがとうございます。
;を半角に直してみたのですが未だできません。
566デフォルトの名無しさん:2006/04/29(土) 15:27:39
>>561
>>562に補足してあげると、
\; とある場合は、セミコロンとして認識されない。
(認識されないようにする場合の書き方)
QTSystem\

QTSystem
に書き換えれ。
567561:2006/04/29(土) 15:38:57
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;c:\borland\bcc55\bin;C:\Program Files\QuickTime\QTSystem;C:\Program Files\Java\jdk1.5.0_06\bin;

のように書き換えましたが、実行できませんでした、間違っている点があれば
教えてください;
568デフォルトの名無しさん:2006/04/29(土) 15:39:40
>>565
C:\Program Files\Java\jdk1.5.0_06\bin; を
Pathの末尾ではなく先頭に持ってきたらどうなる?
569デフォルトの名無しさん:2006/04/29(土) 15:41:02
>>567
NetBeansをいれてみてはどうかな?
パスの設定とかはOS依存部分でそこはJavaの勉強以前の話
とにかくJavaでの開発ということならIDE(統合開発環境)を使ったほうがいい

そして別立てでゆっくりOS勉強したほうがいいようなきがする
570デフォルトの名無しさん:2006/04/29(土) 15:45:47
GUI 上で環境変数を変えてもコマンドプロンプトを立ち上げなおさないと反映
されないわけだが、ちゃんとやってるか?

コマンドプロンプト上で直接変更したければ下のをコピペで貼り付けろ

set "PATH=C:\Program Files\Java\jdk1.5.0_06\bin;%PATH%"
571561:2006/04/29(土) 15:46:48
>>568さん
やってみましたが実行できませんした。
>>569さん
時間があればゆっくり理解しながら勉強していきたいのですが、
月曜提出の課題があり、その為に自分のPCでプログラムできるように
ならないといけないの少し急いでいます。
572デフォルトの名無しさん:2006/04/29(土) 15:48:23
コマンドラインでのコンパイル含めて課題ってわけか
ならなおさら地道に勉強しなさいとしか
573561:2006/04/29(土) 15:51:00
みなさん、ありがとうございます;
>>570さんのをやってみたらできるようになりました。
初心者の私にとても親切に教えてくださってありがとうございました。
おかげで課題ができそうです、本当に助かりました。
574デフォルトの名無しさん:2006/04/29(土) 16:39:48
FileOutputStream とそこから getChannel() した FileChannel 扱った場合、
クローズは FileOutputStream だけでおk?
575デフォルトの名無しさん:2006/04/29(土) 17:28:23
>>560
レスありがとうございます。
ただ処理が重そう…
実際に試して見ます。

>>559
やっぱまじめにやるとパーサーからつくらなきゃダメですよね…
576デフォルトの名無しさん:2006/04/29(土) 20:03:16
>>573
パス指定の途中に空白が入る場合
〜;"C:\Program Files\〜";〜
って感じで""で囲んだ方が良いよ
577デフォルトの名無しさん:2006/04/29(土) 20:18:28
既存のパーサーが構文木を作るタイプならそれを拡張すれば良いかもね
各ノードは自分に課せられた制約の中でランダム文字列を出力する
.を表すノードクラスがあるのなら、任意のランダム文字を印字して…
ってね
578デフォルトの名無しさん:2006/04/29(土) 20:20:54
自分だけじゃなく前後や上位の制約も意識しなきゃいけないわけだが。
579デフォルトの名無しさん:2006/04/30(日) 01:36:52
一度javaをアンインストールしようと思い、プログラムファイルの中のJAVA
というフォルダを消しました。
それが原因かはわからないのですが、いくつかのサイトでこのページは表示できません。
というネットに繋がってないときによくでてくるページがでてくるようになりました。

これはJAVAを消してしまったことと関係があるのでしょうか?
580デフォルトの名無しさん:2006/04/30(日) 02:11:14
ない
てかアンインストールはコントロールパネルからせれ
581デフォルトの名無しさん:2006/04/30(日) 09:04:01
>>579
ソフトウェアをアンインストールするときに、アンインストールプログラムがあるときはそれを。
コントロールパネルのプログラムの追加と削除に項目がある時はそこから行ったほうが良い。

Windowsには、この名前のプログラムはどこにあるのかとかプログラムの設定とか
起動したときどのプログラムを実行するかとか右クリックしたときに出るコンテキストメニュー
の項目とかフリーセルの得点までありとあらゆる事を記録する”レジストリ”って物が在ってな。
javaを含めインストーラやsetupプログラムでインストールするプログラムのほとんどはレジストリを改変してるんよ。

アンインストールプログラムやプログラムの追加と削除からアンインストールを行うとレジストリを元に
戻してくれるんだが(たまに”ゴミ”が残る場合もあるけどな)それらを行わずファイルを消すと、
もう一回同じぷろぐらむをインストールしようとした際
「レジストリにはこの項目があるからこのプログラムはインストールされてるよ。二重インストールはできないよ」
とインストールが不可能になってしまう事がある。この場合、OSを再インストールするかレジストリをいじくるしかない。
レジストリはいじくるとOS起動すらできなくなってしまう事があるので下手に触れないから最悪OSを(略

まあ、>>580の通りJAVAは関係ないけど
アンインストール=フォルダを消せばよいってのは間違いって事で
582デフォルトの名無しさん:2006/04/30(日) 11:50:52
jdk1.5.0_06をインストールした時に、西欧対応のjre1.5.0_06とかいうのも別でインストール画面が出てインストールしたんだけど、
jdk1.5.0_06をインストールしたフォルダ内にもjreがあるんだけど、この二つは違うものなの?

Eclipseのインストール済みJREに登録するのはどちらがいいのだろう。。

そもそもJDKインストールしないで、JREだけの方がいいのでしょうか?
583デフォルトの名無しさん:2006/04/30(日) 12:57:14
コマンドプロンプト開いたときに、
デフォルトでC:\javaをカレントディレクトリにするようにしたいんですが、
どうすればいいでしょうか。
よろしくお願いします。
584デフォルトの名無しさん:2006/04/30(日) 13:07:14
>>582
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19574&forum=12

>>583
コマンドプロンプトのショートカットをデスクトップに作る
ショートカットのプロパティを開き、作業フォルダをC:\javaにする
ウマー

以上
585582:2006/04/30(日) 14:09:10
>>584
レスありがとうございます。

>>公開JRE(私もこの呼び方ははじめて知りました)にはあって、非公開JREにはない
>>ファイルがいくつもあるようですね。
>>
>>以前APサーバをリモートデバッグする際に、dt_socket.dll が非公開JREにはなくて
>>アレ?と思ったことがありました。

Eclipseには公開JREを登録しておきます
586デフォルトの名無しさん:2006/04/30(日) 15:17:47
JAVAで横スクロールシューティングを作りたいと思っています。
JAVAの基本を覚えた程度の状態で、ゲームプログラミングの参考になるHPや本があれば教えてください。
587デフォルトの名無しさん:2006/04/30(日) 15:39:24
>>586
JAVA シューティング作成委員会
http://pc8.2ch.net/test/read.cgi/tech/1062310183/
とりあえず分からないことがあっても、人に聞かず検索することを覚えたほうがいいかも。
588デフォルトの名無しさん:2006/04/30(日) 15:49:15
>>587
ありがとうございます
ググって見てもいいHPが見つからなかったので、2chで探すのを失念してました
589デフォルトの名無しさん:2006/04/30(日) 16:02:35
>>585
トレースするときに、ブレークポイントで対応するソースが
認識されなかったりしないかい?
590デフォルトの名無しさん:2006/04/30(日) 16:24:12
>>588
ゲーム製作板のほうが細かい情報が多かったと思う
591デフォルトの名無しさん:2006/04/30(日) 16:55:59
public static void main ()
てのは、どこからでも呼び出せるクラス固有の戻り値のないメインのメソッドって事で理解していいのでしょうか?
592デフォルトの名無しさん:2006/04/30(日) 17:03:25
いいお^^
593デフォルトの名無しさん:2006/04/30(日) 17:10:00
>>592
つまらない質問に答えていただいてありがとうございます。
「おまじない?」の意味がようやくわかったので確認したかったのですよ。
「おまじない」として覚えておくのは正解ですね。参考書開いていきなり、public(略は、どこからでも呼び出せる(略なんて説明されてもさっぱりですもんね。
594デフォルトの名無しさん:2006/04/30(日) 17:57:54
CドライブからDドライブへの移動は
cd /d D:\ディレクトリ名 
で移動できるのですが、
今度は逆にDドライブからCドライブへ戻る方法がわかりません。
cd /c C:\ディレクトリ名
で、実行すると以下のようになります
ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。
初歩的なことだと思うのですがお願いします
595デフォルトの名無しさん:2006/04/30(日) 18:04:37
>>594
DドライブからCドライブへ戻るには
cd /d C:\ディレクトリ名
で実行すればいいです。
596デフォルトの名無しさん:2006/04/30(日) 18:05:30
>cd /c C:\ディレクトリ名
cd /d C:\ディレクトリ名
これってjavaと関係あるの?
597デフォルトの名無しさん:2006/04/30(日) 18:06:27
>>591
ちなみに
public static void main (String args[])のargs[]は、メインの引数
コマンドプロンプトで、[java 実行ファイル名 xxxx]のxxxxの部分が入る
たとえば、
public class Hello{
public static void main(String args[]){
System.out.println(args[0]);
}
}
とすればxxxxが印字される
[java 実行ファイル名 xxxx yyyy]とすればxxxxはargs[0] yyyyはargs[1]に入る
いや、String args[]が無かったから説明しておこうかと

そういえばおまじないって変だよな これが無いと動かないほど重要なのにおまじないってw
598デフォルトの名無しさん:2006/04/30(日) 18:07:33
>>595
できました。ありがとうございました。
599デフォルトの名無しさん:2006/04/30(日) 18:20:12
"@@"などの文字列を String#getBytes("Shift_JIS") すると
?に変換されてしまいます。
変換ルールにない文字を'?'に変換してしまうのはJavaのデフォルトなのですが、
この変換ルールを自分で設定する方法はないでしょうか。

今の状態↓
あるシステムにメールを送信する機能があります。
メールの本文、件名に機種依存文字が含まれていると文字化けを起こしてしまいます。
メールのヘッダーに"iso-2022-jp"を指定しているのが原因のようで、
"windows-31j"を指定すれば解決するのですが、
メールは普通iso-2022-jpだろ見たいな事を言われていて他の方法を探しているわけです。
@->(1)
->(株)
のような置換も考えていますが、全パターンを定義するのは。。。(漢字の機種依存文字なんか何に置き換えればいいのかわからん)
600525:2006/04/30(日) 18:29:19
基本情報のH17 秋の問題です。
Counter は,単語を数える処理のインタフェースである。

import java.util.StringTokenizer;
public class WordTable {
private (A) counter;
public WordTable( (A)counter) {
this.counter = counter;
}
でAにはCounter が入ります。
private (インターフェース名) 変数名  
という変数の宣言は持っているjavaの本を見ても載っていませんでした。使えるのですか?
public クラス名 (インターフェース名 変数名)
の使われ方も本には載ってません。
あとインスタンス変数とフィールドは同じですか?
java初心者なので基本情報は難しいかもしれません。返答よろしくお願いします。
601デフォルトの名無しさん:2006/04/30(日) 18:31:45
すみません、わからない問題があったので教えてくださると助かります。


public class list3{
public static void main(Stringarg[]){
intshiire_ne1, teika1, kosuu1, goukei;
intshiire_ne2=200, teika2, kosuu2=3;
shiire_ne1=100; kosuu1=2;
teika1=shiire_ne1 + 10;
teika2=shiire_ne2 + 15;
goukei=teika1*kosuu1 + teika2*kosuu2;
System.out.println(goukei);
double zeikomi1, zeikomi2;
zeikomi1=houhou1(teika1);
zeikomi2=houhou1(teika2);
System.out.println("1:\t"+zeikomi1);
System.out.println("2:\t"+zeikomi2);
/* ここから2行は、特殊文字の説明です*/
System.out.println("1234" + "5678901234567890" + "\n");
System.out.println("1234\t123\t12.");

/* ここからがメソッドhouhou1 の定義です*/
public static inthouhou1(int teika){
double waribiki, uri_ne, zei;
waribiki=0.2; zei=0.05;
uri_ne=teika*(1-waribiki);
return (int) (uri_ne*(1+zei));
}
}

これのhouhou1のreturn文の式の値をdouble型に変更したいのですが
どのようにしたらいいのでしょうか?
602デフォルトの名無しさん:2006/04/30(日) 18:32:20
>>600
インターフェイス名は型名だから使える。
603デフォルトの名無しさん:2006/04/30(日) 18:33:01
>>525
推敲という言葉を覚えていただけないでしょうか?
あと>>526で回答が着てますが…
604デフォルトの名無しさん:2006/04/30(日) 18:33:31
教科書ばかり眺めていてもダメだ。
実際に試行錯誤しながら動かして確認してみれ。
605デフォルトの名無しさん:2006/04/30(日) 18:46:26
>>599
ISO-2022-JP (JIS) には Shift_JIS でいう MS932 みたいな機種依存コードを
包括した亜種がないから無理。「メールは普通JIS」と言ってる奴が「機種依存
でも送信できるように」と言ってるならアホすぎると言わざるをえんな。

どうしてもというなら Windows-31J でエンコードしたのを Base64 + multipart/mixed
で添付ファイルとして送れば? あるいは ISO-2022-JP の HTML で送れ送れば
&#xHHHH; でごまかせるかも。いずれにしても Subject は何ともならんが。

ホストからのシステム移行だとユーザ拡張使ってたりしてよくそういう問題は出るが、
普通置き換えだな。角損 (四角に損) → [損] みたいに。全パターンを定義すれ。
それが仕様だ。
606デフォルトの名無しさん:2006/04/30(日) 19:25:24
>>600
基本情報スレで聞いて来い
607デフォルトの名無しさん:2006/04/30(日) 19:28:32
>>600
日本語の勉強して来いカス
608525:2006/04/30(日) 20:51:21
基本情報のスレってどこにある?
609デフォルトの名無しさん:2006/04/30(日) 20:52:28
資格板てか検索能力無い奴が基本情報受けるなよ
610599:2006/04/30(日) 21:11:09
>>605
サンクス!
とりあえず置換かな。つくっとくと便利そうだしね。

Windows-31Jで本文セットするとちゃんといくみたいだけど
メーラーしだいだからなぁ。
outlookとかthunderbirdでいけるからだいじょうぶなきがするんだけど。。。

こんな感じで全部か。。。
map.put("@", "(1)")
map.put("[", "VIII")
611601:2006/04/30(日) 21:28:11
質問がスレ違いだったみたいなので、すみませんでした。
612デフォルトの名無しさん:2006/04/30(日) 23:06:56
まあ、なんだ。
スレ違いには違いないんだが、
スレ違いでなくても似たような反応だろ。
613デフォルトの名無しさん:2006/04/30(日) 23:18:29
トランザクション内で
問題が起こったとき

} catch(SQLException sqle){
  sqle.printStackTrace();
  if(conn != null){
    try{
      conn.rollback();
    } catch(Exception e){}
  }
}finally クローズ処理

のようにロールバックさせてるのですが、
上のような処理の定石などあれば教えてください。
614デフォルトの名無しさん:2006/04/30(日) 23:22:32
>>610
そういう変換で手を抜くなら、ICU4Jみたいなライブラリ使って
正規化してお茶を濁す方法もあるといえばある。
http://www.icu-project.org/cgi-bin/translit
615599:2006/04/30(日) 23:28:27
>>614
thx!
よくわからんが弄ってみる
616デフォルトの名無しさん:2006/05/01(月) 00:25:36
>>613
ほかにもどういう定石があるか、ってこと?
617デフォルトの名無しさん:2006/05/01(月) 01:11:27
>>599
utf8 を base64 で包んで送る、というのはどうか?
utf8 ならいろんなの送れるよ。
618デフォルトの名無しさん:2006/05/01(月) 01:23:38
>>613
try-catch ブロックで発生するのが SQLException だけとは限らんだろ。
正確に最後のステップまで完了したことを保障するなら (ちょっとダサいが) フラグでやるしかない。

boolean success = false;
try{
  // ...
  success = true;
} finally {
  try{
    if(success){
      con.commit();
    } else {
      con.rollback();
    }
  } catch(SQLException ex){/* */}
  try{ con.close(); } catch(SQLException ex){/* */}
}

commit, rollback, close は失敗しないという前提のコードだが (さすがにそれ以上はリカバリできんし)
気になるならスタックトレースくらい出せば良い。もう何年も考えてるが、これ以外思いつかんな。
619デフォルトの名無しさん:2006/05/01(月) 01:53:49
>>616
そうです。
これで安全なのかなーと。

>>618
SQLException 以外でしたら Exception で全部拾っちゃって、

 ......
 ......
 conn.commit;
} catch (Exception e){
 ロールバック
}finally{
 クローズ
}

てのはどうでしょう?
620デフォルトの名無しさん:2006/05/01(月) 02:12:43
>>618
con.commit();

success = true;
の位置に置かない理由は?
621デフォルトの名無しさん:2006/05/01(月) 02:27:23
>>619
ちゃんと書くなら、

} catch(Exception e) {
 ロールバック;
 throw new あぼーん(e);
} finally {
...

くらいまで書かないと、外側で補足しにくそう
622デフォルトの名無しさん:2006/05/01(月) 02:40:57
>>619
ThreadDeath や OutOfMemoryError が発生するかもよ? フレームワークの最上層
とかでもなければ、むやみに Throwable は catch しない方が良いし。
「例外が発生したら」 じゃなくて 「最後のステップまで実行しなかったら」 に視点を
変えたほうが良い。

>>620
  con.commit();
  success = true;
} finally {
  try{ if(! success) con.rollback(); } catch(SQLException ex){/* */}

適当に書いたらあかんな。COMMIT 失敗したら ROLLBACK の試行に入るべきだから
こんな感じだな。「ローカル変数のフラグで ROLLBACk するかどうか判断する」 って
方に頭取られてたわ。
623デフォルトの名無しさん:2006/05/01(月) 03:48:48
>>622
よくわからんが、Error 等が発生した場合に、
コミットもロールバックもしない状態になるのを避けるためかな?
ものによると、コネクションを単にクローズすると、コミットと同じになるらしいし。
ただ、ロールバックしようとすると例外を発生するような場合はどうするんだろうw

ところで、Error まで考えるんだったら、
Throwable をキャッチして後処理しラップして上位に投げ、上位でラップを毟って、
OutOfMemoryError なら不必要なオブジェクトを解放して再チャレンジ、
ThreadDeath のような手に負えないものだったらそのまま上に再投げ、
などを考えるのが良いような希ガス

Thread のイクナイメソッドを使えば任意のところで
チェックされる例外を含む任意の例外を発生させることもできるし
ThreadDeath なんて考えたくないなぁ
624623:2006/05/01(月) 04:16:45
OutOfMemoryError かもしれないのに
ラッパーを new するのも微妙な気がしてきたw
625デフォルトの名無しさん:2006/05/01(月) 04:21:57
こんにちは。質問させてください。
staticでabstractな変数(メソッド)は、なぜ定義できないのでしょうか。
Javaの言語仕様の問題なのでしょうか。それともオブジェクト指向的ではないのでしょうか。
抽象クラスで変数名を定義しておき、具象クラスで実際の名前を静的に定義させたいのです。
たとえば、
class 生物 {
  abstract static String 目;
  abstract static String 科;
  abstract static String 属;
}
class 人間 extends 生物 {
final static String 目 = "サル目";
final static String 目 = "ヒト科";
final static String 目 = "ヒト属";
}

もちろんstaticを除けば出来ますが、
人間クラスの属を取得するのにわざわざインスタンスを生成してから取得するのはおかしい。
java.lang.ObjectのgetClassName()というのがありますが、あれもstaticで無いのは変ではないでしょうか。
626デフォルトの名無しさん:2006/05/01(月) 04:22:32
COMMIT も ROLLBACK もしないでクローズすると COMMIT されるデータベースもあるし
(たしか PostgreSQL がそうだったような)、クローズに失敗するデータベースもある (DB2 はそうだ)。
ROLLBACK の失敗は繰り返しても再発する可能性が高いので、アプリケーションレベルでは
それ以上救う手立てはない。

後処理のために手に負えない例外を catch すべきじゃないと思うよ。不要な Wrapper クラスが
必要になるのと、下層と上層の取り決め事が増えるのと (結合度が増加)、中間層で意図した
例外を catch 出来なくなるのと (汎用性が低下)。巨大なデータを扱うプログラムだと途中で
OutOfMemoryError を catch する事もあるし。本当の意味で catch(Throwable) が必要なのは、
下層で起きた意図しない例外を全て報告する責任のあるフレームワークの最上層だけ。
627625:2006/05/01(月) 04:25:08
訂正
>>625の最後の一行は、間違いです。
628デフォルトの名無しさん:2006/05/01(月) 04:28:54
>>625
そもそも abstract なフィールドは static である/ないに関わらず宣言できません。

static はクラスメソッドの宣言に使われますが、
abstract はインスタンスメソッドにしか適用できません。
629デフォルトの名無しさん:2006/05/01(月) 04:30:31
>>625
abstract はちょっと置いておくとして、その例は (広義の) クラスをクラス化 (Java の) してるから
おかしく感じるに過ぎない。メタクラスのクラスとインスタンスなんだが、簡単に説明するのは
難しいので例を変えれば?
630デフォルトの名無しさん:2006/05/01(月) 04:58:48
で static abstract についてだが、static な変数やメソッドはインスタンスでなく
クラスに所属するものであり、クラスを明記する以上、抽象化の意味がないから。
その例だと

String family = 生物.科;

と書けたとしても、上記のコードで family に "ヒト科" が代入されるなんて
どうやっても決定付かないでしょ。
631デフォルトの名無しさん:2006/05/01(月) 05:19:32
>>626
なんか、developerworks のこの記事の話に似てるなと思った。微妙に違うかも。
(ただし、Error でなくチェックされない例外の話。)

http://www-06.ibm.com/jp/developerworks/java/040618/j_j-jtp05254.html
Javaの理論と実践: 例外をめぐる議論

ハテハテ。
632デフォルトの名無しさん:2006/05/01(月) 05:28:34
IBM もいつの間にかそんな偉そうなこと書いてるけど、昔の大和研の開発物なんて
全部一種類の throws XXXException 宣言、getMessage() すりゃ "予期せぬ例外" としか
入ってない、なんて糞慣例が流布してたよ。
633デフォルトの名無しさん:2006/05/01(月) 05:35:03
XXXException ってのはは「発生した例外をラップして投げなおす」って意味じゃなくて
「発生した例外を握りつぶして新しく投げなおす」って意味ね。NullPointerException も
SQLException も IOException も。
634デフォルトの名無しさん:2006/05/01(月) 05:41:14
>>625
Javaにはメタクラスの概念がないからそういうことはできない。
メタクラスとは「クラスのクラス」と呼べるもので、java風に強引に書くのなら

MetaStringClass MyString = MetaStringClass.createInstance();
MyString aString = new MyString();

となる、MetaStringClassのことね。

で、強いて言えば、Javaでは
生物クラスのメタクラスは java.lang.Class
人間クラスのメタクラスは java.lang.Class
ですか。

つまり、メタクラスの視点から見れば、生物と人間には階層関係がない
static変数がクラスの属性と呼べるのなら、生物の目・科・属と言う属性と
人間の目・科・属という属性は変数名こそ同じだけど、全くの別もとということになる。
→static変数やstaticメソッドがオーバーライドできない理由。
 static abstractなメソッドがないのも同じこと。

いろいろ突っ込まれそうだけど書いてみた。
635デフォルトの名無しさん:2006/05/01(月) 10:43:32
>>625
「Javaにはクラスメソッドなんかない。あるのはstaticメソッドだ」
という話と基本は同じで、staticの意味を冷静に考えてみればわかる
こと。

つまり、staticなものはオーバーライドできない。オーバーライドでき
ないものに対してabstractなんて使えるわけがない。以上。
636582:2006/05/01(月) 11:39:59
>>589
すいません・・・初心者なので、トレースがなんのことか・・また、ブレークポイントもやったことないです
637デフォルトの名無しさん:2006/05/01(月) 11:49:25
>>625
abstractフィールドが使えるような言語仕様にはなってないので、でき
ない。

生物.get目()をabstractメソッドで定義すれば充分代用できるので、シ
ンプルさを優先してabstractフィールドはいらないと判断されたのかも。
638デフォルトの名無しさん:2006/05/01(月) 12:10:52
質問させてください。
JAVAでファイルアクセスの排他制御はどうやるのでしょうか?
flockみたいのものがほしいのですが、なければ代替案でもいいので教えてください。
639デフォルトの名無しさん:2006/05/01(月) 12:13:12
.lock ファイルでも生成してロック掛ければ?
640デフォルトの名無しさん:2006/05/01(月) 12:25:50
>>638
FileChannel#lock は?
641デフォルトの名無しさん:2006/05/01(月) 12:30:29
小出し始まりの予感
642638:2006/05/01(月) 12:30:58
http://java-house.jp/ml/archive/j-h-b/048543.html#body
こんなの見つけました。なんとかやってみます。
643デフォルトの名無しさん:2006/05/01(月) 12:31:38
次は実はWindowsです、と
644638:2006/05/01(月) 12:34:20
実はLinuxです
645デフォルトの名無しさん:2006/05/01(月) 12:44:25
>>626
諸悪の根源は、そのまま close するとコミットするかもしれない
仕様のせいのような気がしてきた。DB として、そんなんで良いのか?

実装の詳細を隠すために例外をラッピングするのは普通だと思ってたが、
おおよそ様相的な(?)Error に関しては、隠しても意味がない気がしてきた。
646デフォルトの名無しさん:2006/05/01(月) 12:55:02
>>636
JRE に含まれる Java の標準ライブラリが、
ソースへの対応付けのための情報を含むようにコンパイルされているか、の違い。

ソースへの対応付けがないと、デバッガで1個ずつ実行を進めていったりするときに
標準ライブラリの中に入ると、今、自分がどこを実行しているかが分からないハズ(たぶん)。

他にも違いがあるかもしれないけど、開発時にJDK の方を使う理由には十分と思う。
647デフォルトの名無しさん:2006/05/01(月) 13:27:12
JDKじゃないと、antでlib/tools.jarがなくて困ったりする。迷うならJDK使うべし。
648デフォルトの名無しさん:2006/05/01(月) 15:28:11
拡張for文で、
for (Map<String,Integer>map: list) { ... }
はOKなのに
Map<String,Integer>map;
for(map: list) {...}
はコンパイルエラーになるんですけど、なんで?

List<Map<String, Integer>> list = new ArrayList<Map<String, Integer>>();
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("foo", 123);
map.put("bar", 456);
list.add(map);
for (map: list) { // error: 文ではありません。
//
}
649デフォルトの名無しさん:2006/05/01(月) 15:32:28
構文エラーだから
650デフォルトの名無しさん:2006/05/01(月) 15:47:15
>>649
どうも。なぜ構文エラーなんでしょうか。
for (Iterator it=list.iterator(); it.hasNext(); ) ....

Iterator it;
for (it = list.iterator(); it.hasNext(); ) ...
もどちらもOKなのに、拡張for文だと
Map<String,Integer> map;
for (map: list) ...
がだめだという理由がわからないです。
もしよければわかりやすく教えてください。
651デフォルトの名無しさん:2006/05/01(月) 17:02:20
>650 JLS 3rdEd. 14.14.2
652デフォルトの名無しさん:2006/05/01(月) 17:05:14
なぜ構文エラーかと言われればむつかしいね
拡張されたfor文は括弧内で型を指定する必要がある
ただそれだけ
653703:2006/05/01(月) 23:25:12
JavaでGUIって選択どう思います?
654デフォルトの名無しさん:2006/05/01(月) 23:38:20
別に
655582:2006/05/01(月) 23:59:51
>>646
mmm・・・
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19574&forum=12
ここを読むと公開JRE(JDKのJREじゃない奴)をEclipseに登録する方がいいと読み取れたのですが、
これで大丈夫でしょうか。。。?
656デフォルトの名無しさん:2006/05/02(火) 00:02:25
普通にJavaのGUIは多用する
業務系のツールでJava使ってるアプリも多いしな
657582:2006/05/02(火) 00:02:46
連続ですいません

>>647
にも書いてありました。
JDKの方にします
658デフォルトの名無しさん:2006/05/02(火) 00:40:47
【徹底討論】Java3Dの可能性について考えるスレに書き込んだんですが
反応が無いのでこちらに移動します。

三次元可視化装置でjava3Dを動かすのが目標です。まずマルチディスプレイで
java3dのデモを動かそうと思います。

ですがイキナリcom.sun.j3dパッケージのConfiguredUniverseクラスら
辺だよとかヒントを貰ってもどうして良いか分かりません。私にはドキュメント
見てサクっとプログラム書ける様なスキルはありません。

上記について書かれた文献やサイトを探しています。もしくはお手本となる
ソース等何でも良いのでアドバイスください。ヨロシクお願いします。
659デフォルトの名無しさん:2006/05/02(火) 00:44:42
>ドキュメント見てサクっとプログラム書ける様なスキル
をみにつけたらいいんじゃないかなっ
660デフォルトの名無しさん:2006/05/02(火) 00:56:51
詳しくは分からないけどここらへんにのってるんじゃない?
http://java.sun.com/developer/onlineTraining/java3d/index.html
http://sdc.sun.co.jp/java/index.html
参考にならなかったらすまん
661デフォルトの名無しさん:2006/05/02(火) 01:20:38
>>660
クイックレスポンスありがとうございます。
シンプルユニバースとかは書いてるんですがその下層となると・・・残念です。
また何かあれば教えて下さいね。
662デフォルトの名無しさん:2006/05/02(火) 01:36:30
質問させてください。

EclipseでClass.forName("packageA.packageB.hogehogeclass");
としてインスタンス生成を行う処理を含むプロジェクトを作っていたのですが、
Jar出力して、そのjarを
java -jar hoge.jar
として実行したら、
Exception in thread "main" java.lang.NoClassDefFoundError:
と出てしまいました。どうもJarで固めた場合は"packageA.packageB.hogehogeclass"の指定が
うまく行かなくなってしまうようです。

クラスパス関係の問題だと思うのですが、
Eclipseでの通常の実行だとjava.class.pathプロパティは
C:\(省略)\プロジェクトディレクトリ名\bin
と出るのに、jarで固めたものを実行した時のjava.class.pathプロパティは
出力したjar名.jar
となっています。多分、この違いが原因だと思うのですが、どうすれば良いでしょうか。
マニフェストファイルに、上手い具合にクラスパスを追加できれば良いと思うのですが・・・。
どういうパスを記述すればよいのかも、分かりません。

詳しい方、アドバイスをお願いします。

当方の環境はWinXP SP2、JDKは1.5.0_06、Eclipse3.1.1です。
663デフォルトの名無しさん:2006/05/02(火) 03:59:20
すいませんが初歩的な質問をさせてください。
クラス名Sample1というファイルをコンパイルしてクラスファイルはできるのですが、
その後にjava Sample1と打つと次のようなエラーメッセージが出てきてしまい正しく動きません。
よろしくお願いします。

Exception in thread "main" java.lang.NoClassDefFoundError: Sample1
664デフォルトの名無しさん:2006/05/02(火) 04:03:13
Sample1 は public になってるか?
665デフォルトの名無しさん:2006/05/02(火) 04:07:35
>>662
JAR ファイルの拡張子を ZIP に変更して Windows で閲覧
該当クラスファイルがちゃんと入っているか確認
666663:2006/05/02(火) 04:14:46
class Sample1
{
public static void main(String args[])
{
System.out.println("ようこそ");
}
}

というプログラムです。
667デフォルトの名無しさん:2006/05/02(火) 04:16:42
>>666
public class Sample1
668663:2006/05/02(火) 04:32:25
早速のアドバイスありがとうございます。
class Sample1 →public class Sample1
に直してみたのですが結果はかわらず
Exception in thread "main" java.lang.NoClassDefFoundError: Sample1
というメッセージが出てしまいます。
669デフォルトの名無しさん:2006/05/02(火) 04:35:00
>>667
main() が public であればクラスはパッケージプライベートでもかまわないわけだが

>>663
多分 QuickTime の例のやつだと思うけど…

set CLASSPATH=.
↑コマンドプロンプトにこれをコピペで貼り付けて実行してから java コマンド実行してみ
670663:2006/05/02(火) 04:42:04
>>669
set CLASSPATH=.
これで動きました。
ありがとうございました。
671デフォルトの名無しさん:2006/05/02(火) 06:42:55
プログラムやスレッドの実行を指定した時間分だけ止めたりするようなことができるメソッドを
もったクラスには、どのようなものがありますか?
672デフォルトの名無しさん:2006/05/02(火) 06:44:31
Thread.sleep(5000);
673デフォルトの名無しさん:2006/05/02(火) 07:21:08
APIドキュメント内探せよ
最近の本には探し方載ってないの?
674デフォルトの名無しさん:2006/05/02(火) 09:07:24
APIは暇があったら使わなくてもあちこち見ておくもんだ。
必要になって探しても、どこにあるか、そもそも存在するかがわからなかったら意味ないしね。
675デフォルトの名無しさん:2006/05/02(火) 10:31:21
java関連のAPI
ttp://java.sun.com/reference/api/
J2SE 5.0のAPI 日本語仕様
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/
ThreadのAPI
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/Thread.html

次スレから、APIドキュメントへのリンクを貼っといたほうがいいんでない?
676デフォルトの名無しさん:2006/05/02(火) 11:48:10
>>665
きちんと入っています。
677デフォルトの名無しさん:2006/05/02(火) 12:08:02
これから流行るJ2EEフレームワークって何ですか?
678デフォルトの名無しさん:2006/05/02(火) 14:45:58
またエスパー召喚ですか。しかもテレパスじゃなくてプレコグニション
679デフォルトの名無しさん:2006/05/02(火) 19:45:26
呼ばれたようなのでエスバーが来ましたよ?
680デフォルトの名無しさん:2006/05/03(水) 00:26:05
>>677
J2EEは数年前に流行り終わりました
681デフォルトの名無しさん:2006/05/03(水) 02:21:19
>>675
wikiのほうにJavadocのリンクが一応張ってあるけど、
テンプレに追加しても見ない人は見ないんじゃないかなと思う。
現状の ClassPath の質問の多さを考えると。
682デフォルトの名無しさん:2006/05/03(水) 02:26:56
はじめまして

しぃペインターを設置しようとCGI可のサーバーを借りました。
早速やってみようとしたんですが、
皆目やり方の見当がつきません。
すいません。なめてました。
ダウンロードしたファイルを解凍するとjarファイルがあったので
どうやらこれも解凍するのではないかと解凍して
classファイルになったもののこれをどうすればいいのか分かりません。
もしかして解凍するものじゃないんでしょうか。
さっぱりわかりません
683デフォルトの名無しさん:2006/05/03(水) 02:35:18
>>682
板違い
684デフォルトの名無しさん:2006/05/03(水) 02:52:45
>683
どの板に行ったらいいでしょうか?
685デフォルトの名無しさん:2006/05/03(水) 02:57:30
>>684
お絵かき掲示板総合スレッドver.5
http://pc8.2ch.net/test/read.cgi/hp/1136634857/
686デフォルトの名無しさん:2006/05/03(水) 02:59:31
>685
ありがとうございます。
そちらのほうで問題を解決したいと思います
687デフォルトの名無しさん:2006/05/03(水) 13:15:32
jarファイルはclassファイルや画像ファイルなどをZIP形式で圧縮したものだけど、それ自体が実行ファイルでもある
ゆえにただ単にjarファイルをダブルクリックすれば起動する
688デフォルトの名無しさん:2006/05/03(水) 13:29:53
689デフォルトの名無しさん:2006/05/03(水) 14:43:15
>>687
その理屈で言えば、.txtも実行ファイルですか?
690デフォルトの名無しさん:2006/05/03(水) 15:29:40
フルスクリーン化についてです。
今まで640x480のDisplayModeで1024x768のディスプレイにフルスクリーン表示すると
ちゃんと1024x768に拡大表示されていたのですがJDKのアップデートしてから拡大表示
されず画面の真ん中に640x480でしか表示されなくなってしまいました。

どこいじれば直るかご存知ないですか?
691687:2006/05/03(水) 18:52:02
いや、.txtはnotepad.exeと関連付けられていて・・・
あれ?そうするとjarファイルもVMに関連付けされてるだけ?



よくわからんまま偉そうな事言ってすまん 出直してくる
692デフォルトの名無しさん:2006/05/03(水) 18:58:03
>>691
そうですが、何か?
693デフォルトの名無しさん:2006/05/03(水) 19:02:12
694デフォルトの名無しさん:2006/05/03(水) 19:03:32
>>690
BugParade さらっと見たけど見つからんかった。
695デフォルトの名無しさん:2006/05/03(水) 19:24:48
>>691
知ったかぶりオブジイヤーです
696デフォルトの名無しさん:2006/05/03(水) 19:36:07
もういいだろ…>>691をいじめるな!!
697デフォルトの名無しさん:2006/05/03(水) 19:45:29
------------- ここまで自作自演-------------
698デフォルトの名無しさん:2006/05/03(水) 21:07:40
画面を作成しているのですが、
「このウインドウを閉じる」等のボタンを押した時、
そのウインドウを消すにはどうしたら良いのですか?
System.exit()を書くとプログラム自体が終了してしまいますよね。
現在表示されているウインドウだけ消したいのですが・・・
699デフォルトの名無しさん:2006/05/03(水) 21:10:23
setVisible(false);
700デフォルトの名無しさん:2006/05/03(水) 21:11:57
dispose();
701698:2006/05/03(水) 21:15:02
>>699 >>700
どうもありがとうございます。詳しく調べてみます。
702デフォルトの名無しさん:2006/05/03(水) 21:17:15
>>690
BIOSとかディスプレイの設定では?
他のフルスクリーンアプリが問題ないのならあれだが
703デフォルトの名無しさん:2006/05/03(水) 22:15:43
package apl_test;

import java.applet.*;
import java.awt.*;

public class hello extends Applet{
public void paint(Graphics g){
Image myimage;
myimage = getImage( getCodeBase(), "test0.gif" );
g.drawImage( myimage, 10, 10, this );
}
}

以上のソースをコンパイルし、実行したのですが、"test0.gif"が表示されません。
ソースファイルと画像ファイルは同一フォルダ内に置いてあります。
画像が表示されない理由として、どんなことが考えられるか
教えて頂けると有り難いです。
704デフォルトの名無しさん:2006/05/03(水) 22:27:03
CODEBASE はソースのディレクトリでもクラスのディレクトリでもない。
System.out.println(getCodeBase()); を表示してそのディレクトリに置け。
705デフォルトの名無しさん:2006/05/03(水) 22:56:55
Appletとして実行すると、コンソールに出力されず
(System.out.println()で表示できない)
Appletでないと、getCodeBase()が使えないようなのですが
どうしたら良いのでしょうか?
706703:2006/05/03(水) 22:57:48
失礼。705=703です。
707デフォルトの名無しさん:2006/05/03(水) 23:29:18
A,コントロールパネル->Java->詳細タブー>Javaコンソール
B,throw new Exception(文字列);
708703:2006/05/03(水) 23:35:58
>>707
Aの方法を試し、無事に解決しました。
解答して頂き、本当にありがとうございました。
709デフォルトの名無しさん:2006/05/04(木) 02:15:00
>>708
同じことで悩んでたので助かりました。
お礼に僕のまごころを送りますた
710 :2006/05/04(木) 08:46:47
Swingのレイアウトマネージャーでコンポーネントを縦に並べていくFlowLayoutみたいのありませんか?

GridLaoutを使って一列にすると高さが均等になってしまいます。
Boxレイアウトだとコンポーネントの高さが推奨幅より高くなります。
GridBagLayoutだとコンポーネントの高さは推奨幅なのですが、上と下に空きができてセンタリングされます。上から順につめて一列に並べたいのです。
711デフォルトの名無しさん:2006/05/04(木) 08:53:01
>>710
GridBagLayout 使え。一番以外を weighty = 0.0 、一番下を weighty = 1.0 にして
最後にダミーの JLabel とか JPanel とかつっこめば意図したとおりになる。
712710:2006/05/04(木) 09:25:24
>>711
素早い回答ありがとうございます。できました!
713690:2006/05/04(木) 09:48:29
>>694 >>702
ありがとございます。
ディスプレイの設定でした。デスクトップ上で右クリックでグラフィックプロパティ
全画面拡張のオプションセットで戻りました。

いつこんなの設定したか覚えはないんですが・・・
714デフォルトの名無しさん:2006/05/04(木) 10:48:20
>>710
そういう場合普通はボーダーレイアウトで上よせにしておいて
その中にBOXをいれる

いまや実用度ではグループレイアウト使うのが一番だと思うが
まずはレイアウトマネージャ勉強するのはわるくはない

組み合わせるものだとおもいねぇ
715デフォルトの名無しさん:2006/05/04(木) 10:52:34
俺流に通とか自称して恥ずかしくね?
716デフォルトの名無しさん:2006/05/04(木) 11:02:54
日本語の文章を元データとした。シーザー暗号を作り、それを複合化するプログラムを
作ってみたのですが。どうもうまくいきません。
問題は、元データと複合化したデータと比較したとき">"に変わっている文字がちらほらとあることです。
こういうことを防ぐためにはどうすればいいでしょうか。
ちなみに暗号化の方法はFileInputStreamで元データを指定し、
ファイルをバイト化してByteOutputStreamに取り込み、
それをバイト配列に組み込んで、while文を使ってb1[number] += 1;
というように各バイトに1を足すということをしています。
それからFileOutputStreamを使い、write関数を使って暗号データを作りました。
複合化の方法はその逆で、FileInputStreamで暗号データを指定し、
ファイルをバイト化してByteOutputStreamに取り込み、
それをバイト配列に組み込んで各バイトから1を引き、
それからFileOutputStreamを使い、write関数を使って複合データを作る。
こんな感じなんですが、何が間違ってるのでしょうか。
717デフォルトの名無しさん:2006/05/04(木) 12:33:02
Streamの閉じ忘れを防ぐためにfinallyを使うと本で読みました。
それで下記のように書いてみましたが、tryが三重にネスト
されていてすっきりしません。これはこういうものでしょうか?
それとももっと良い書き方があるのでしょうか?

try {
 URL u = new URL("http://www.yahoo.com/");
 String outfilename = System.getProperty("user.home")
   + System.getProperty("file.separator") + "out.dat";
 InputStream urlinput = u.openStream();
 try {
  FileOutputStream fileoutput = new FileOutputStream(outfilename);
  try {
   int b;
   while ((b = urlinput.read()) != -1) {
    fileoutput.write(b);
   }
  } finally {
   fileoutput.close();
  }
 } finally {
  urlinput.close();
 }
} catch (MalformedURLException e) {
 e.printStackTrace();
} catch (IOException e) {
 e.printStackTrace();
}
718デフォルトの名無しさん:2006/05/04(木) 13:28:49
>>717
原則としてそういうものだけど、こういう書き方もあるよ。
 InputStream urlinput = null;
FileOutputStream fileoutput = null;
 try {
urlinput = u.openStream();
  fileoutput = new FileOutputStream(outfilename);
  int b;
  while ((b = urlinput.read()) != -1) {
   fileoutput.write(b);
  }
 } finally {
if(urlinput != null){
   urlinput.close();
}
if(fileoutput != null){
fileoutput.close();
}
 }

あとStream関係はバッファリングしとくほうが無難
719718:2006/05/04(木) 14:40:56
追記
Javaの理論と実践: 良いハウスキーピング習慣を身につける
http://www-06.ibm.com/jp/developerworks/java/060405/j_j-jtp03216.shtml
720デフォルトの名無しさん:2006/05/04(木) 15:22:35
commonsになんかあったような気がするな
721デフォルトの名無しさん:2006/05/04(木) 18:10:56
722デフォルトの名無しさん:2006/05/04(木) 18:35:38
>>721
その書き方ださくね?次はJAVAスレらしく書いてね
723722:2006/05/04(木) 18:37:09
質問です!
例えば、for文で得られた数の分だけ「*」という文字をテキストファイルに出力する際、
出力結果が、



という風に、縦に出力されます。これを
****
**
********
という風にiの値が変わるごとに横に出力させたいのですが、どうすればいいのでしょうか?
724デフォルトの名無しさん:2006/05/04(木) 18:40:30
>>723
おまいなんで722になってんだよ
722は俺様だ
725デフォルトの名無しさん:2006/05/04(木) 18:42:22
>>723
宿題は自分でやれ
726デフォルトの名無しさん:2006/05/04(木) 18:44:03
public void ast(int i){
  for(int j=0; j<i; j++){
    System.out.print("氏ね");
  }
  System.out.println();
}
727デフォルトの名無しさん:2006/05/04(木) 19:20:37
質問です。
mp3の長さ(ミリ秒)の取得ってJAVAでどのようにすればよろしいでしょうか?
728デフォルトの名無しさん:2006/05/04(木) 19:24:59
まずmp3をなんのライブラリで扱おうとしてるの?
729727:2006/05/04(木) 19:47:03
>>728
特に「このライブラリ」という制約は無いのですが…
標準ライブラリだけでは無理ですか?
730デフォルトの名無しさん:2006/05/04(木) 20:00:57
つい最近勉強しはじめた初心者です。

ソースファイルを作成し、コンパイルするまでは順調にいくんですが
最後実行しますと
Error: could not open `C:\Program Files\Java\jre1.5.0_06\lid\386\jvm.cjg
とでるんですが、なにかインストールしないといけないんでしょうか??
731デフォルトの名無しさん:2006/05/04(木) 20:02:09
lid
732デフォルトの名無しさん:2006/05/04(木) 20:54:35
すごく初歩的な質問かもしれないんですが
JAVAだけでアップローダーみたいなサイト作れたりするんでしょうか?
やっぱいrCGIとか勉強しないとだめなんでしょうか?
733デフォルトの名無しさん:2006/05/04(木) 20:57:07
普通に作れるよ
734732:2006/05/04(木) 20:59:40
>>733
即レスありがとう
JAVA勉強してみます
735デフォルトの名無しさん:2006/05/04(木) 21:00:27
ここのソースでも読めば?
ttp://tool-ya.ddo.jp/2ch/trash-box/index.html
736デフォルトの名無しさん:2006/05/04(木) 21:03:44
"\\".replaceAll("\\\\", "\\\\").equals("\\")
の結果がtrueになるのは仕様?
"\\\\"に置き換えてるから"\\\\"にならなきゃいけない気がするんだけど。
737732:2006/05/04(木) 21:11:18
>>735
おお、ソースも公開してるんだ
これ参考にしながらがんばります
738デフォルトの名無しさん:2006/05/04(木) 21:30:25
>>736
マニュアルは読んだか?
置換される文字列で$と¥は通常と動作は違うぞ
739デフォルトの名無しさん:2006/05/04(木) 22:09:02
>>736
"\\".replaceAll("\\\\", "\\\\\\\\").equals("\\"); // false
740デフォルトの名無しさん:2006/05/04(木) 23:29:25
Tomcat 4 だけど HttpServletRequest#setCharacterEncoding() 指定しても getPathInfo() は化けたままなのな。
741デフォルトの名無しさん:2006/05/05(金) 04:52:56
JFrameなどに追加したコンポーネント(JPanel)などの
絶対座標を取得するには、どのようにしたら良いのでしょうか?
getBounds()などを使用しても、相対座標が取得されてしまいます。
742デフォルトの名無しさん:2006/05/05(金) 08:41:03
>>741
JFrameのgetX(),getY()と組み合わせる。
743Gentoo35才:2006/05/05(金) 13:51:21
CP932文字列からUTF8の文字コード(\u0030)へのコンバータを探していますが見つかりません。
参考になるサイト、もしくはフリーソフトで在れば、どなたか教えてください。
744デフォルトの名無しさん:2006/05/05(金) 14:04:22
>>743
スレ違い
745デフォルトの名無しさん:2006/05/05(金) 14:05:25
>>743
参考になるサイトって…APIドキュメント見なさいよ。簡単な入門書でも書いてるような内容なんだけど。
もしかしてインターネットだけで済ませようっていう貧乏人?しかも自分で探すこともしない、と。

CP932はバイト配列とかだろうから、ByteArrayInputStreamで読み込むようにする。
そのInputStreamをInputStreamReaderでReaderに変える。このとき文字コードを指定できるので
UTF-8を指定すれば出来上がり。
746デフォルトの名無しさん:2006/05/05(金) 14:06:16
>>743
それは Java の質問なの?
フリーソフトもなにも
String クラスにはコンバータの役割もあるよ。
747デフォルトの名無しさん:2006/05/05(金) 14:06:38
探すもなにも、数行のコードで実装できそうなものだが
748デフォルトの名無しさん:2006/05/05(金) 14:18:21
> CP932文字列からUTF8の文字コード(\u0030)へのコンバータ
何で \u0030 が出てくるのかさっぱりわからん。

バイト列を全部 \u0030 に置き換えたいのか?
749Gentoo35才:2006/05/05(金) 14:22:49
Eclipseでコードに直接日本語を入れるときにUTF-8にする必要があるのですが。
もしかして設定がおかしいのでしょうか?
普通はどうやっているのでしょうか?
750Gentoo35才:2006/05/05(金) 14:28:49
補足すると、
JFrame frame = new JFrame("\u5F91\u5F92\uu5F93\uu5F94\u5F95");
の様にしていました。
以前の会社では、このようにしていたのですが、普通ではないのでしょうか?
751デフォルトの名無しさん:2006/05/05(金) 14:31:49
>>750
わざわざユニコードエスケープにするより、
ソースのエンコーディング統一するよな、普通は。
752デフォルトの名無しさん:2006/05/05(金) 14:32:21
>>750
動的に生成するもの以外のGUIに設定するラベルは
プロパティファイルに記述するもんだ
753デフォルトの名無しさん:2006/05/05(金) 14:33:25
>>750
普通ではないというより、異常極まりないです。普通は>>751で、コンパイル時に指定します。
754Gentoo35才:2006/05/05(金) 14:45:16
そうですか、外資系だったので、外人がこの辺を知らなかったのか、何か理由があったのかも知れません。
ソースコードはUTF-8で、文字リテラシーUTF-8のエスケープシーケンスで書くというのが規則でした。
何らかの場合に文字化けするのがいやだったのかもしれません。
外人は文字化けしても判別できないからかなぁ。
755デフォルトの名無しさん:2006/05/05(金) 14:47:19
せっかくの外資系企業をやめてどちらへ移られたのですか?
756デフォルトの名無しさん:2006/05/05(金) 14:48:44
> 文字リテラシーUTF-8のエスケープシーケンス
凄い外資系だな。
757デフォルトの名無しさん:2006/05/05(金) 14:50:07
これ以上はそっとしておいた方がよいと思うw
758デフォルトの名無しさん:2006/05/05(金) 14:52:07
>>755
外資といっても、一般的に想像される欧米とは限らない訳だが
759Gentoo35才:2006/05/05(金) 15:08:18
    \   \v/  /   
   __ ヽ(`Д´)ノ ___ 
        ( 回 )         リストラマン参上!!
      / / ヽ  \     
760デフォルトの名無しさん:2006/05/05(金) 15:09:38
そんな外資系はリストラされてよかったと思えw
761Gentoo35才:2006/05/05(金) 15:22:33
>>745
UTF8の文字列は作れるのですが、ユニコードエスケープが、どうもうまく取れないのです。
いろいろやってみて、わからなかったらまた質問します。
762デフォルトの名無しさん:2006/05/05(金) 15:39:32
>>761
そんな君にnative2ascii
763デフォルトの名無しさん:2006/05/05(金) 17:34:49
35歳でそれは…
そんなのが許されるのは15歳まで
764デフォルトの名無しさん:2006/05/05(金) 17:56:10
外資ってこんなのでも仕事できるんですね
765デフォルトの名無しさん:2006/05/05(金) 18:30:00
韓国や中国資本だろ
766デフォルトの名無しさん:2006/05/05(金) 19:01:03
何ここ外資にコンプレックス丸出しかよw
767デフォルトの名無しさん:2006/05/05(金) 19:04:04
コンプレックス丸出しとしか思えないならそう思えばいいよ
768デフォルトの名無しさん:2006/05/05(金) 19:05:18
JavaでGUI作るときどのIDEが一番やりやすいでしょうか?
VS2005みたいにぺたぺたコンポーネントをはりつけるタイプがいいのですが
OSはWindowsです
769デフォルトの名無しさん:2006/05/05(金) 19:13:04
sun one studio
770デフォルトの名無しさん:2006/05/05(金) 19:25:03
ポトペタならNetBeans5が今一番評判いいんじゃない?
771デフォルトの名無しさん:2006/05/05(金) 19:31:25
>>768
同じくNetBeans5をオススメする。
772デフォルトの名無しさん:2006/05/05(金) 20:03:23
サンクス
とりあえずフリーのビーンズ5を入れてみる
JDKとセットになってるやつはv4.xなのね
773デフォルトの名無しさん:2006/05/05(金) 20:59:42
NetBeans5はリファクタリングとかコード回りもほぼEclipseにおいついたしな
ぽとぺたもすごいけど、そっち方面の強化がポイントだと思う

NetBeansってバージョンアップのたびにかわりすぎだけどそろそろ落ち着くのだろうか
774デフォルトの名無しさん:2006/05/05(金) 21:24:29
俺が知らないだけかもしれないけど、新規でクラス作るときに
インターフェースやsuperクラスって指定できないよね?>netbean
775デフォルトの名無しさん:2006/05/05(金) 22:01:37
初歩的な質問ですいません。

List list = new ArrayList();

って、なんで出来るの?

Javaで書かれたソースを読んでいるとよく見ます。
776デフォルトの名無しさん:2006/05/05(金) 22:04:47
ArrayList クラスはList インタフェースを実装しているから。
777デフォルトの名無しさん:2006/05/05(金) 22:12:27
>>776
> ArrayList クラスはList インタフェースを実装しているから。

便乗質問でっす。

それ、なにか意味ある?
どんなときに使うの?
778デフォルトの名無しさん:2006/05/05(金) 22:14:08
オブジェクト指向の本でも一冊買って読めば解るよ。
779デフォルトの名無しさん:2006/05/05(金) 22:18:14
>>777
つかそこがオブジェクト指向の肝の一つだと思う。
BufferedReaderはReaderをラップするけど、実際はFileReaderだったりInputStreamReaderだったりする。それができるのは、これらのクラスがReaderの派生クラスだから。
780デフォルトの名無しさん:2006/05/05(金) 22:22:16
>>777
実装型を意識せずにList型として扱える。
781デフォルトの名無しさん:2006/05/05(金) 22:22:39
>>776
> ArrayList クラスはList インタフェースを実装しているから。

早い回答ありがとうございます

インターフェースを実装してるから・・・
その辺はまだよくわからないです。

もっと勉強してきます。
782 :2006/05/05(金) 22:31:07
ImageIOのreadはimageの読み込みが完了したことが保証されてるの?
AppletとかのgetImageは読み込み完了前に即座に帰ってきて、まだ読み込みが終わってないとか読んだんだけど。
783デフォルトの名無しさん:2006/05/05(金) 22:35:01
>>777
例えば、こんなシグニチャのメソッドがあったとする
public void methodA(List aList) {
 for (Iterator iterator = aList.iterator(); iterator.hasNext(); {
  Object anElement = iterator.next();
  //enElementに対して処理を行う
 }
}

このように定義されていると
List anArrayList = new ArrayList();
anObject.methodA(anArrayList);
-----
List aLinkedList = new LinkedList();
anObject.methodA(aLinkedList);
-----
List aSortedList = new MySortedList();
anObject.methodA(aSortedList);

こんな感じに、様々な種類のリストオブジェクトをmethodAに処理させることができる。
(ArrayList, LinkedList, SortedListいずれもListインターフェースを実装していると仮定)
インターフェースに対して処理を行うように記述すれば以下のようにする必要がなくなる。
public void methodA(ArrayList aList) {}
public void methodA(LinkedList aList) {}
public void methodA(MySortedList aList) {}
784777:2006/05/05(金) 22:54:15

>>779さん >>780さん >>782さん >>783さん

ありがとう

>>783さんの説明が具体例があって一番わかりやすかった。

来週から現場初体験。
なにかわからないことがあったらまた来るよ。

785デフォルトの名無しさん:2006/05/05(金) 23:07:10
>>784
ここはお前の家庭教師じゃないぞハゲ
786デフォルトの名無しさん:2006/05/05(金) 23:14:46
>>782
たぶんおまえさんがみてるのは完了させるのをまつやつ
逆にわざと非同期というかどれくらいロードできたかもとりだせたりかなり柔軟なつくりになってる

最近出た書籍でもgetImage使ってたりするのを見ると萎えるな
787デフォルトの名無しさん:2006/05/06(土) 00:12:05
genericsに関しての質問。

public class Foo<T>{
public void baz(){
Foo f;
Foo[] fs;
f = new Foo();
fs = new Foo[2];
}
}
これはコンパイル通るのに、

public class Foo<T>{
public class Bar{
public Bar(){}
}
public void baz(){
Bar b;
Bar[] bs;
b = new Bar();
bs = new Bar[2];
}
}
これだと 「汎用配列を作成します。」って言われてコンパイル時エラーに
なるのが納得いかないんだけど。
Foo<T>.Bar型の配列が「汎用配列」として弾かれているのだとしたら
前者のFoo<T>型の配列がコンパイル通るのは何故。

また、「b = new Bar(); 」ではエラーが出ずに
「bs = new Bar[2]; 」の方だけがエラーになってるのは不条理な気がするんだが。
788デフォルトの名無しさん:2006/05/06(土) 00:38:20
>>787
前者は Foo<T> のraw型である Fooの配列 Foo[] であって、
tiger で作れないgenerics型の配列 Foo<T>[] ではないから。

new this.Bar() はできるけど、new Foo<T>.Bar[] はできない。
789787:2006/05/06(土) 01:28:19
>>788
さんくす。
そういうことか〜
790782:2006/05/06(土) 05:53:21
>>786
ありがとうございます!
791デフォルトの名無しさん:2006/05/06(土) 14:15:17
Fileオブジェクトを、自分のプログラムの中ではなく
システムのデフォルトアプリで開く方法ってありますか?
例えばWindows上で走らせている際にhoge.txtをメモ帳で開くとかです。
基本的に開けるかどうか、どのアプリを使うかの判断はOS側にさせたいのですが…。
792デフォルトの名無しさん:2006/05/06(土) 14:21:20
>>791
mustang で java.awt.Desktop.open(new File("hoge.txt"));
もしくは JDIC で org.jdesktop.jdic.desktop.open(new File("hoge.txt"));

JConfig でも出来たような気もする。もしくは JNI 使って自作。
793デフォルトの名無しさん:2006/05/06(土) 14:27:34
>>792
× java.awt.Desktop.open(new File("hoge.txt"));
○ java.awt.Desktop.getDesktop().open(new File("hoge.txt"));

× org.jdesktop.jdic.desktop.open(new File("hoge.txt"));
○ org.jdesktop.jdic.desktop.Desktop.open(new File("hoge.txt"));
794sage:2006/05/06(土) 14:27:48
初めは共有ロックして、更新が必要と判ったら排他ロックに切り替えることはできますか?
そもそもこの方法はロックとして問題ありますか?
795デフォルトの名無しさん:2006/05/06(土) 14:31:36
>>792,793
mustangを今から使う勇気はさすがにないですが、JDICてのは使えそうですね。
ありがとうございました。
796デフォルトの名無しさん:2006/05/06(土) 14:59:25
>>794
そもそもここで質問することが間違い
797368:2006/05/06(土) 15:34:50
j2re-1_3_0_04-win.exeをWINXPに入れてMSDOSで確認したところ、

>java -version

Error occurred during initialization of VM
java/lang/ClassNotFoundException: sun/io/ByteToCharMS932

エラーがでました。対処方法はどうすればいいでしょうか。。。
798デフォルトの名無しさん:2006/05/06(土) 15:35:02
>>791
cmd.exe /c start hoge.txt
をRuntime.exec()で起動でいけるらしい
[Java Swing Hacksより]
799だいぶ初心者:2006/05/06(土) 15:50:59
 企業が提供しているサイトで、認証後に表示(もしくはダウンロード)される
データーをJavaで取得したいのですが、データーを呼び出す前の画面でJavaScript
で次の画面に飛んでいきます。
 その場合、Javaの(Scriptでは無く)クラスから次の画面を取得する事は可能
なのでしょうか。
 ここで言う企業が提供しているサイトとはクレジットカードの利用明細や携帯
電話の使用記録です。クレジットカードの方はhtmlで表示され、携帯電話の方は
csvファイルのダウンロードです。
 どなたかご教示頂戴できませんでしょうか、よろしくお願いします。
800デフォルトの名無しさん:2006/05/06(土) 16:18:03
>>799
ブラウザ作るくらいの気持ちがあれば可能
そうでなければ、事前に飛ばされる先を
プロパティファイルとかに定義しておいて
そちらに接続する
801だいぶ初心者:2006/05/06(土) 16:22:04
>>800
ありがとうございます。
ただ、飛ばされる先がランダムだった場合難しいような気が…
802デフォルトの名無しさん:2006/05/06(土) 16:26:50
JAppletで画像の上に複数の透過Gifを表示させたいのですが、
この透過Gifの重なり順を指定できますでしょうか?

JLayeredPane.setLayer() で実現しそうなんですが、
これには直接Imageを指定できないです。
803デフォルトの名無しさん:2006/05/06(土) 16:38:28
>>801
あなたの場合、事前に壁を作るタイプのようなので
実装は無理でしょうね
804デフォルトの名無しさん:2006/05/06(土) 16:41:22
>>802
直接指定できないなら、イメージを追加できるコンテナを使う
って考えに至らないのか?
805794:2006/05/06(土) 16:46:02
どこに質問すればいいですか?
806デフォルトの名無しさん:2006/05/06(土) 16:56:30
>>805
どこへ質問しても回答は得られないだろうよ。
何から何をどういう手段で処理するのか。さっぱりわからん。
JDBC?JCA?ロックをかけるのはRDB?R/3のようなビジネスシステム?レガシーシステム?
自分の脳内では当然の前提なのだろうが、見る人にとってはチンプンカンプン。
JDBC APIを使ったデータベースアクセスの話題である可能性は高いが、
それも見る側にとっては当てずっぽうの推測の域を出ないしね。
807デフォルトの名無しさん:2006/05/06(土) 17:04:44
>>806
ファイルの共有ロックと排他ロックなんじゃね?

いったん共有ロック破棄して排他ロックするしかないんじゃないか?
アトミックな切り替えみたいのは多分無理だと思う。
808802:2006/05/06(土) 17:09:36
自己レス。一応解決できました。
もともと描画順にImageが重なるので、空Imageをいくつか描画して置き、
重ねたい順番にマッチする空Imageへ透過Gifを読み込んでから
repaint()したら出来ました。(うまく説明できない・・・)

>>802
透過Gifなので、透明なコンテナじゃないと駄目ですが、
例えばどういったものがあるんでしょうか。
自己解決の方法はどうもスマートじゃない気がする・・・。
809デフォルトの名無しさん:2006/05/06(土) 18:48:38
>>797
英語のOSじゃないならインストールするものが違うと思うのだが…
「j2re-1_3_0_04-win-i.exe」 <-こっちじゃないの?
810デフォルトの名無しさん:2006/05/06(土) 23:09:02
javaで商用アプリ作りたいんだが、ライセンス料って発生するのか?
そのライセンス料はいくらぐらいなのか教えてくれ。
811デフォルトの名無しさん:2006/05/06(土) 23:24:40
>>810
すげー質問だ。JDKとか落とすときに確認しなかったのか?
Sunを前提に結論から言えば、作ったアプリにはライセンス料は発生しない。
同梱するJDK/JREに関しても、基本的には料金は発生しないが制限はある。
詳しくはJDKに日本語訳が含まれてるから、それを読め。
812デフォルトの名無しさん:2006/05/07(日) 02:04:31
俺のsun jdkのCOPYRIGHTファイルなんか文字化けしてるぜ
813デフォルトの名無しさん:2006/05/07(日) 03:18:05
public void paint(Graphics g)のメソッドでwhile文をkが200になるまでに繰り返します。
このときpublic void init()のメソッドもkが200回繰り返すにはどうしたらいいんですか?
814デフォルトの名無しさん:2006/05/07(日) 03:41:38
Reader系のクラスに markとかresetとかいう関数があるじゃないですか。
あれの使い道がいまいちわからんのですが、これってファイルをモニタして
変更があったら検出するとかそういう風につかえるんですか?
815デフォルトの名無しさん:2006/05/07(日) 04:55:53
>>814
単に読み直しに使えるってだけ。
mark() できる箇所が1箇所だけなので、微妙に使いどころが少ないけどね。

あと、例えばファイルに変更があった場合でも、
InputStream の mark/reset の仕様的には変更を反映してはいけない。
たぶん Reader の mark/reset も InputStreamに準じるはずだから、
「変更があったら検出する」とかはできないはず。
816デフォルトの名無しさん:2006/05/07(日) 07:36:42
Windows XPの環境でSDKをインストールして環境変数も設定したのですが
コンパイルして実行すると
Exeption in thread "main"java.lang.NoClassDefFoundError: test1
と出てしまいます。いろいろ調べたのですがわかりませんでした。
どなたか教えていただけるとありがたいです。宜しくお願いします。
817 :2006/05/07(日) 07:37:53
テキストファイルの最初の行に文字列を挿入したいのですが、効率的な方法はないのですか?
自分ができたのは一時ファイルを作って、それに挿入したい文字列を書き込み、その後に元のテキストファイルから読み込み、そのまま一時にファイルに書き込み、全部コピーし終わったら一時ファイルをrenameして元のテキストファイル名にするというのです。
たった一行の挿入のために元ファイルをまるまる全部コピーするのはすごい無駄なことをやってるような気がします。
818デフォルトの名無しさん:2006/05/07(日) 07:50:05
>>816
自己解決しました!!
819デフォルトの名無しさん:2006/05/07(日) 08:43:53
ちょっと力貸してください
gif画像を連続表示してアニメのようにするにはどうすればいいのでしょう?
調べた限りではマルチスレッドを利用して行うようなのですが
出来ればRunnableインタフェースの実装ではなくThreadクラスを継承する方法で教えていただけたら有難いのですが
820891:2006/05/07(日) 09:14:26
解決しましたスレ汚し失礼でした
821デフォルトの名無しさん:2006/05/07(日) 09:26:35
ちょっと教えてもらいたいんですが、
○()記法により次の計算のオーダーを示す。使用できる命令を加算、減算、
右シフト、左シフトとする。a×b a÷b。aとbは正の整数とし、
計算結果も整数とする。計算オーダーは小さいほうがいいです。
初歩の初歩だとは思うのですが、教えていただけたら有難いです。
822デフォルトの名無しさん:2006/05/07(日) 09:34:31
Canvasクラスを継承したクラスMyCanvasを作って、そこのpaint()に別のクラスで作った配列
の内容を表示させていて、別のクラスで作った配列の中身を更新したときに、MyCanvasを表
示更新させたいのですが、update(),repaint()を書いても更新されません。どうやったら更新さ
れるんでしょうか?
823デフォルトの名無しさん:2006/05/07(日) 11:40:07
>ちょっと教えてもらいたいんですが、
>○()記法により次の計算のオーダーを示す。使用できる命令を加算、減算、
>右シフト、左シフトとする。a×b a÷b。aとbは正の整数とし、
>計算結果も整数とする。計算オーダーは小さいほうがいいです。
>初歩の初歩だとは思うのですが、教えていただけたら有難いです。

何を教えてほしいのかさっぱり分からん。
824814:2006/05/07(日) 12:00:06
>>815
回答ありがとうございました。
なるほど。単純な読み直しだけで、変更は反映しちゃダメなんですね。
とすると、変更を検知するにはいちいちReaderをnewして、
古いものの写しとの差分を取るとかしなきゃいけないんでしょうか。
825デフォルトの名無しさん:2006/05/07(日) 12:39:02
Ocject[] をListに変換したいのですがどうしたらいいですか?
add( Object[] )のようなメソッドがないようです。
やはりループ内で一つずつaddするしかないでしょうか。
826だいぶ初心者:2006/05/07(日) 12:46:53
HTTPクライアントなどで所得したページ中にある『javascript:login_sub();』
をコードから実行する(マウスでクリックしたのと同じ状態)事ができれば
光が見えてくるのですが…。
どなたかお分かりの方、教えていただけませんでしょうか。
827デフォルトの名無しさん:2006/05/07(日) 12:56:57
なんで急に質問が立て続けに・・・

>>825
Object[] o = {"abc",123,null};
List<Object> list = Arrays.asList(o);

ただ、勉強目的ならループでまわしてセットしてもいいと思う。
いろいろいじらないとジェネリクスは覚えれないと思うから。
828デフォルトの名無しさん:2006/05/07(日) 13:02:48
>>825
java.util.Arrays#asList
829デフォルトの名無しさん:2006/05/07(日) 13:03:00
>>827
おおおおおおおおおおおお
謝謝!
830デフォルトの名無しさん:2006/05/07(日) 13:11:34
GWも終わりだから課題やるのさぼっていた大学生が(ry
831デフォルトの名無しさん:2006/05/07(日) 13:16:57
文字列を配列にするにはどうすればいいですか?
832デフォルトの名無しさん:2006/05/07(日) 13:29:49
String[] hoge = new String[100];
833デフォルトの名無しさん:2006/05/07(日) 13:54:10
これからjavaをはじめようと思います。必要なものは何ですか?
834デフォルトの名無しさん:2006/05/07(日) 13:54:52
愛と勇気
835デフォルトの名無しさん:2006/05/07(日) 13:55:45
時間と金
836デフォルトの名無しさん:2006/05/07(日) 13:59:53
気合と根性
837デフォルトの名無しさん:2006/05/07(日) 13:59:54
全部staticじゃ何故ダメなの?
838デフォルトの名無しさん:2006/05/07(日) 14:00:47
インスタンスを複数作ったときに困ることがあるから。
839デフォルトの名無しさん:2006/05/07(日) 14:31:20
eclipseとお茶
840デフォルトの名無しさん:2006/05/07(日) 14:49:26
String の n 文字目を新しい文字で書き換える関数ってない?
char[] に変換してから処理するのが普通?
841デフォルトの名無しさん:2006/05/07(日) 14:58:40
StringBuffer
842デフォルトの名無しさん:2006/05/07(日) 15:00:38
>>840
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/StringBuilder.html
replaceというメソッドで置き換えが可能
843デフォルトの名無しさん:2006/05/07(日) 15:13:23
>>837
staticにする対象がクラスなのかメソッドなのか変数なのかわからんのだが
844デフォルトの名無しさん:2006/05/07(日) 15:26:40
すみませんが、どなたかオブジェクトの取得とオブジェクトの参照がどういった
ものか、また その違いについて御教授お願いします…orz
構文なんかあればその説明もお願いしまつorz
845デフォルトの名無しさん:2006/05/07(日) 15:28:18
>>817
一時ファイルではなくStringBuilderに読み込んだらどうか
846デフォルトの名無しさん:2006/05/07(日) 15:33:48
すみませんが、どなたかオブジェクトの取得とオブジェクトの参照がどういった
ものか、また その違いについて御教授お願いします…orz
構文なんかあればその説明もお願いしまつorz
847デフォルトの名無しさん:2006/05/07(日) 15:35:08
いえいえこちらこそお願いしますm(_ _)m
848デフォルトの名無しさん:2006/05/07(日) 15:36:52
参照と取得って比較できるのかなあ
一般的にオブジェクトの取得=オブジェクトの参照の取得だし
完全に別物と考えた方が良いと思うんだけど
849デフォルトの名無しさん:2006/05/07(日) 15:53:10
一応説明すると
オブジェクトの参照=メモリ上のどこにオブジェクトが格納されているかを示す値
オブジェクトの取得=オブジェクトの参照を取得する事によってオブジェクトへのアクセスを可能にする事
てな感じかと
850sage:2006/05/07(日) 16:12:17
ディスプレイのcolor depthが16ビットのとき、
drawImage(Image, AffineTransform,Observer)で、Imageにアフィン変換かまして
描画させると常に色化けがおきて途方にくれてるんですが、だれか同じ問題解決した人
いませんか? 32ビットだと問題ないんですが、処理速度の都合上16ビットでやら
したいのです・・・。
スケーリングは大丈夫なんだけどもちょっとでも回転させたり歪曲させたりすると
アウトです。
環境は↓
jdk1.5.0_06+winXP+eclipse3.1.1+thinkPadX32
他のPCで走らせても同様でした。

851デフォルトの名無しさん:2006/05/07(日) 17:17:10
入力としてInputStreamを引数に取るメソッドを書こうとしています。
unbufferedなストリームを使うのは効率が悪いので避けたいのですが、
メソッドの中で無条件にBufferedInputStreamでラップして使うのと、
メソッドの利用者が適切にラップするのを期待するのでは、
どちらの方がいいのでしょうか。
852デフォルトの名無しさん:2006/05/07(日) 17:26:36
引数として汎用のストリームならバッファリングは呼び出し元がやるべき

たとえば文字列からファイルシステムやリソースから呼び出すところまで自動化するなら
自分でバッファリングするしかない

まずはバッファリングしないクラスを作るべきだね
そしてバッファリングをするのを継承して作ってもいいし
853デフォルトの名無しさん:2006/05/07(日) 17:33:25
全部staticなクラスだとなんでダメなんでしょう
854デフォルトの名無しさん:2006/05/07(日) 17:34:30
別にダメじゃない
855デフォルトの名無しさん:2006/05/07(日) 19:03:30
他の言語をお勧めする
856デフォルトの名無しさん:2006/05/07(日) 22:48:28
ダメじゃないの?
じゃぁ全部staticにすればいいじゃん
何かダメな理由があるんでしょ

staticを使ったときのデメリットとメリットを説明してよ

>>855
何でよ
857デフォルトの名無しさん:2006/05/07(日) 22:50:17
>>856は、勝手にやりたいようにやればいいと思います。
858デフォルトの名無しさん:2006/05/07(日) 22:52:03
うう・・(´・ω・`)
859デフォルトの名無しさん:2006/05/07(日) 22:57:45
>>856
とりあえずオブジェクト指向の利点が失われそう。多態性とか。
#でもプロトタイプベースのオブジェクト指向とやらは全部static+継承で成り立ってると見れなくもない?教えてエロい人
860デフォルトの名無しさん:2006/05/07(日) 23:02:55
標準にも全部staticなクラスはある
悪いも悪くないも用途次第
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Math.html
861デフォルトの名無しさん:2006/05/07(日) 23:13:49
>>856
同じ型のインスタンスを複数生成して、インスタンス毎に別の値を持たせたいとか、
継承やインタフェースやポリモーフィズムを使いたいとか、
そういったオブジェクト指向ならではの機能をばっさり切り捨てて
C言語等と同様に手続きの実装に徹するのならstaticオンリーでもいいんじゃない?
862デフォルトの名無しさん:2006/05/07(日) 23:42:39
ありがとう
863デフォルトの名無しさん:2006/05/07(日) 23:45:33
まあ多態とかは言語上の制約に近いといえなくもなくて、
本質的には、個別のオブジェクトとして独立に状態を持つ必要がある、
あるいは持っているほうが普通に便利というのが大きい気がする。
逆に言うと、「処理だけ」を行う機能はstaticでよいとも言える。

もちろんその処理に多態性を持たせなくなったら、
インスタンスにせざるを得ないが。
864デフォルトの名無しさん:2006/05/08(月) 00:00:43
どうしてJavaのCollections Frameworkに木構造がないのはなんで?
865デフォルトの名無しさん:2006/05/08(月) 00:08:16
>>864
java.util.TreeMap とか java.util.TreeSet があるが。
866デフォルトの名無しさん:2006/05/08(月) 00:10:55
>>865
意地悪だな
867デフォルトの名無しさん:2006/05/08(月) 00:47:32
>>856
ショッピングカート作ってみたら?
買ってもない商品が勝手に買い物かごに入るからw
868デフォルトの名無しさん:2006/05/08(月) 00:55:45
つまり全部staticでも何故ダメじゃないってこと?
869デフォルトの名無しさん:2006/05/08(月) 01:05:44
Javaで文字列を圧縮ってどうやってやるのでしょうか?
870デフォルトの名無しさん:2006/05/08(月) 01:27:09
>>868
先生にでも聞いて来い
ここはお前専属の家庭教師じゃねーんだよ
871デフォルトの名無しさん:2006/05/08(月) 01:48:01
文字列を構築するとき、StringBuilderとStringWriterは
どう使い分けていますか? StringBuilderの方が軽いので
機能に不足が無い限りそっち、程度でしょうか?
872デフォルトの名無しさん:2006/05/08(月) 02:07:09
使い道が全然違うように感じるが
873デフォルトの名無しさん:2006/05/08(月) 02:10:55
jdk1.4.2で文字列を置換する処理で、最速のやり方を探しています。
思いついたのが
1)String#indexOfを使ってループ。
2)String#replaceAll(想像しただけで激重^^;)。
3)StringBuffer#indexOfを使ってループ。
この3つで、テストしてみました。

//整形のためtabを全角空白2個に置換してあります

String srcStr = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
StringBuffer srcBuff = new StringBuffer(srcStr);
StringBuffer buff = new StringBuffer();

String search = "xyz";
String replaceWord = "XYZ";

int index = 0;
int searchIndex = srcStr.indexOf(search);
int searchLength = search.length();

//VMを落ち着かせるため5秒待つ
try{
  Thread.sleep(2000);
} catch(InterruptedException ie){}

/* 続く


874デフォルトの名無しさん:2006/05/08(月) 02:12:14
つづき */
System.out.print("String indexOf ");
long time = System.currentTimeMillis();
for(int i = 0; i < 10000000; i++){
  while(searchIndex >= 0){
    buff.append(srcStr.substring(index, searchIndex));
    buff.append(replaceWord);
    index = searchIndex + searchLength;
    searchIndex = srcStr.indexOf(search, index);
  }
  buff.delete(0, buff.length());
}
System.out.println((System.currentTimeMillis() - time) + "ms");

System.out.print("String replaceAll ");
time = System.currentTimeMillis();
for(int i = 0; i < 100000; i++){ //激重なのでループ回数1/100、後で100かけ
  buff.append(srcStr.replaceAll("xyz", "XYZ"));
  buff.delete(0, buff.length());
}
System.out.println((System.currentTimeMillis() - time) * 100 + "ms");

/* つづく 長文すみません
875デフォルトの名無しさん:2006/05/08(月) 02:13:21
つづき */

index = 0;
searchIndex = srcBuff.indexOf(search);
searchLength = search.length();
System.out.print("StringBuffer indexOf ");
time = System.currentTimeMillis();
for(int i = 0; i < 10000000; i++){
  while(searchIndex >= 0){
    buff.append(srcBuff.substring(index, searchIndex));
    buff.append(replaceWord);
    index = searchIndex + searchLength;
    searchIndex = srcBuff.indexOf(search, index);
  }
  buff.delete(0, buff.length());
}
System.out.println((System.currentTimeMillis() - time) + "ms");
//ここまで

結果は
String indexOf 611ms
String replaceAll 108100ms
StringBuffer indexOf 371ms
となりました。
もっと早い方法ありましたら、教えてください。
876デフォルトの名無しさん:2006/05/08(月) 02:56:23
検索文字列、置き換え文字列、置き換え対象文字列次第で
最適アルゴリズムは変わってくるような気がしないでもないが
StringBuilder使えばStringBufferより速くなるんじゃないかね。

あとStringBufferがラップしている処理をchar[]対象に自前で書けば
もっと速くなるんじゃないかね。
877デフォルトの名無しさん:2006/05/08(月) 03:13:04
>>876
ありがとございます。1.4.2なんです・・・

>>StringBufferがラップしている処理をchar[]対象・・・
ちょっとソースを見てきます。
878デフォルトの名無しさん:2006/05/08(月) 03:30:25
StringBuffer の indexOf が String の 修飾子 なしの static メソッド呼んでいるんで、
普通ならclassまたぎのメソッドコールのオーバヘッドと、
引数のstr.toCharArray() str.length() の分だけ
String#indexOfの方が速そうなんですが、なぜかStringBufferの方が速い・・・・
なぜなんでしょう?

取り敢えず実測値として速い(3)を使おうと思いますが、
ここがボトルネックになるようならば(相当数の置換をします)
char[]単位で置換する方法を考えたいと思います。
ありがとうございました。
879デフォルトの名無しさん:2006/05/08(月) 03:37:31
>>878
JITコンパイラがインライン展開する可能性があるので、
メソッドコールのオーバーヘッドは
実際に動かしてみないと発生するかは判らない。

C言語みたいに、書いた通りに機械語が生成されてるはずとか思わない方がいいよ。
880デフォルトの名無しさん:2006/05/08(月) 03:41:17
>>874

>   buff.append(srcStr.replaceAll("xyz", "XYZ"));

ここは定数を使っていないようだけど、測定に影響はないのか?
881デフォルトの名無しさん:2006/05/08(月) 03:47:49
>>879
そうなんですか、でもJIT愛してますw

>>880
あとで気づいて直しましたが、やはり桁違いに遅いです。
new String("xyz") と new String("XYZ")
のオーバヘッドが発生するということですよね
882デフォルトの名無しさん:2006/05/08(月) 03:59:53
その前に for(int i=0; i<10000000; i++) {〜} のブロック内でindexやsearchIndexの初期化しないと、
2回目以降の while(searchIndex >= 0) {〜} のブロック素通りするんじゃない?
883デフォルトの名無しさん:2006/05/08(月) 04:02:44
>>882
あ、ホントだ・・・・
やらかしました。もっかいやってみます。
884デフォルトの名無しさん:2006/05/08(月) 04:07:39
(1)と(3)も時間がたくさんかかるため
ループ回数1/100しました。

String indexOf 421ms
String replaceAll 1071ms
StringBuffer indexOf 361ms
885デフォルトの名無しさん:2006/05/08(月) 04:33:44
>>881
本当に>>880はなおしたの?
ループのなかでインスタンス作るなんてずるいぽ。

for(int i = 0; i < 100000; i++){
  buff.append(srcStr.replaceAll("xyz", "XYZ"));
  buff.delete(0, buff.length());
}

↓↓↓

final String fromstr = "xyz";
final String tostr = "XYZ";
for(int i = 0; i < 100000; i++){
  buff.append(srcStr.replaceAll( fromstr, tostr ));
  buff.delete(0, buff.length());
}

で測定よろしく。
886デフォルトの名無しさん:2006/05/08(月) 04:48:42
はい、直しました。
どこかソースをアップロードできるところとかあればいいんですが。
887デフォルトの名無しさん:2006/05/08(月) 04:56:22
>>885
それ、どっちも速度変わらないw

それよりも、String#replaceAll(String, String)の内部で
・Pattern#compile(String)
・new StringBuffer()
・StringBuffer#toString()
が毎回行われるってのが問題かと。

Pattern pattern = Pattern.compile("xyz");
for(int i = 0; i < 100000; i++){
  Matcher m = pattern.matcher(srcStr);
  while (m.find()) {
    m.appendReplacement(buff, "XYZ");
  }
  m.appendTail(buff);
  buff.delete(0, buff.length());
}

修正するとしたらこうじゃない?
888デフォルトの名無しさん:2006/05/08(月) 05:04:29
今こんな感じです。
http://ccfa.info/cgi-bin/up/src/up28355.txt
Test.javaへリネームしてください
889デフォルトの名無しさん:2006/05/08(月) 08:05:53
結局、他のところにボトルネックを作りそうな予感がします。
890デフォルトの名無しさん:2006/05/08(月) 14:29:23
>>889
そうですね、ボトルネックになってから考えればいいですかw
891デフォルトの名無しさん:2006/05/08(月) 17:01:04
StringBuffer の delete で全部削除しているようだが、これは
buff.setLength(0); でいいんじゃないのか?
892デフォルトの名無しさん:2006/05/08(月) 18:34:17

awt使用していて、ウィンドウクローズボタンが押されたら
以下の処理をしています。

 this.addWindowListener(new java.awt.event.WindowAdapter(){
  public void windowClosing(java.awt.event.WindowEvent ev) {
   System.exit(0);
  }
 });

よそのクラスからこのイベントを無理矢理発生させることは可能ですか?
893デフォルトの名無しさん:2006/05/08(月) 20:34:58
>>892
無理矢理でもなく
イベント・オブジェクトを
そのリスナを持つオブジェクトに
ポストすれば良いと。
894デフォルトの名無しさん:2006/05/08(月) 20:57:00
>>213
ゲームを作っている奴がJavaWebStartに対応しているJavaゲームを
公開しているなら実行する時点で自動的に保存される。
アップデートも自動。2回目以降の起動はブラウザ経由でなくても
JavaWebStartから起動できる。Appletの場合は、よくわからんな。
FlashPlayerでFlashを保存できる特殊なアプリがあればいいけどな。

というか保存して一体何がしたいのか? セーブデータを保存するなら
また話は別になってくる。
895デフォルトの名無しさん:2006/05/08(月) 23:28:17
”と¥を表示するときはどうすればいいんですか?
896デフォルトの名無しさん:2006/05/08(月) 23:31:26
shift+ふ

897デフォルトの名無しさん:2006/05/08(月) 23:38:06
>>895
「エスケープシーケンス」でぐぐってみれ
898デフォルトの名無しさん:2006/05/08(月) 23:48:12
>>897
〜println("/0");で”が見れるってことですか?
899デフォルトの名無しさん:2006/05/08(月) 23:54:56
>>898
println("\"");
println("\\");

ダブルクォーテーションを忘れずに
900デフォルトの名無しさん:2006/05/09(火) 00:04:31
>>899
ありがとうございます!助かりました!!
901デフォルトの名無しさん:2006/05/09(火) 02:08:24
println("”");
println("¥");
902デフォルトの名無しさん:2006/05/09(火) 08:27:34
テンプレを見たのですがよくわかりません
Javaの開発環境を作ろうとJ2SE1.4.2._01をインストールしたのですが
PATH変数の設定がわかりません。
変数名(N)というところにPATHといれればいいんですよね??
その下にある変数値(V)は何をいれればいいのですか??
OSはWimdows XPです、説明が下手ですいません
903デフォルトの名無しさん:2006/05/09(火) 09:19:58
>>902
PC初心者かWindows板で環境変数の設定について、初歩を学んできてはいかが?
まあ質問に答えておくと、PATHの変数値には、Javaをインストールした場所\binを「追加」する。
追加だから、既に入っている値は消しちゃダメだよ。セミコロンで区切って追加ね。

しかし1.4.2_01なんて古いの、よく見つけてきたね。
904デフォルトの名無しさん:2006/05/09(火) 09:43:41
WindowsでTOMCAT5.5.16を停止しようとすると
「エラー 1053 : そのサービスは指定時間内に開始要求または制御要求に応答しませんでした。 」
というメッセージがでてまともに停止しない状況になってしまいました。

同じ状況になったことアル人いませんか?
個人的にはグローバルに出していたので、ウィルスとかバックドアしかけられちゃったかなー
と思ってるのですが。
905デフォルトの名無しさん:2006/05/09(火) 10:52:52
>>893
ありがとうございます。
イベントオブジェクトをポストする関数を教えてもらえないでしょうか?
906デフォルトの名無しさん:2006/05/09(火) 11:53:52
すみません。どこを探しても理由がわからなかったので、知っている方教えてください。

int a = 10;

a = a++;

として、変数aを表示した場合、
C言語等では 11 なのに対して、
javaでは 10 のままです。

なぜでしょうか。
907デフォルトの名無しさん:2006/05/09(火) 12:01:26
10のままのソース見てみたいものだ
908デフォルトの名無しさん:2006/05/09(火) 12:20:12
javaて10にならないの?
Cは未定義のような気がするが…
909デフォルトの名無しさん:2006/05/09(火) 12:25:44
a++の返値が足す前のaを返すか足した後のaを返すかの違い
910デフォルトの名無しさん:2006/05/09(火) 12:48:03
906です。

もう少し詳しく書くと、

------------------------------
int a = 10;
int b;
b = a++;

System.out.println( a );
------------------------------

この場合、11が表示されますが、

------------------------------
int a = 10;

a = a++;

System.out.println( a );
------------------------------
と、自身に代入した場合は、10になるのです。

Cだと、どっちも11となります。

911デフォルトの名無しさん:2006/05/09(火) 13:07:17
15.13.2 後置インクリメント演算子++
PostIncrementExpression:
PostfixExpression ++
++演算子があとに続いた後置式は後置インクリメント式である。
後置式の結果が数値型の変数でなければ,翻訳時エラーが発生する。
後置インクリメント式の型は変数の型である。
後置インクリメントの式の結果は変数ではなく,値である。

実行時,オペランド式の評価が中途完了すると,
後置インクリメント式も同じ理由で中途完了し,どんなインクリメントも起こらない。
そうでなければ,値1が変数の値に加えられ,合計は変数に格納される。
加算の前に,バイナリ数値拡張(5.6.2)が値 1と変数に実行される。
その合計は格納前に必要なら,その変数の型へのナローイングプリミティブ変換(5.1.3)
によってナローイングされる。
後置インクリメント式の値は,新しい値が格納される前の変数の値である。

finalと宣言される変数を加算することはできない。
final変数へのアクセスが式として使用されたとき,結果は変数 ではなく,値である。
したがって,後置インクリメントの演算子のオペランドとしてそれを使用することはできない。
912デフォルトの名無しさん:2006/05/09(火) 13:20:48
>>906
> なぜでしょうか。

理由を知る必要はない。Javaでどう定義さていようが、「a = a++;」なん
て書く必要はないし書いてはダメ。
913デフォルトの名無しさん:2006/05/09(火) 13:31:02
>>892, 905
ポストというよりは「ディスパッチ」という方が、今は相応しかった。
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/Component.html#dispatchEvent(java.awt.AWTEvent)

window.dispatchEvent(
   new WindowEvent(window, WindowEvent.WINDOW_CLOSING));

…みたいな感じで。
※window には対象のウィンドウ・オブジェクトを。
※全角空白使っているのでコピペは注意。
914デフォルトの名無しさん:2006/05/09(火) 14:16:28
>>910
上のコードはそうなるのは当たり前
下のコードはCでは未定義

そんなコードが出てきたらそいつはプログラマとしての資質がないからべつに結果がどうなってもいいが
915デフォルトの名無しさん:2006/05/09(火) 14:21:28
つか、Javaでもワーニングでてねーか?その書き方。
916デフォルトの名無しさん:2006/05/09(火) 14:29:00
Cでも処理系依存だよな。
というか、単項演算子と代入演算子の優先順位を考えると、Javaの結果のほうが正しいんじゃない?

そんなコード書いてる時点で正しくないけど。
917デフォルトの名無しさん:2006/05/09(火) 14:35:40
>>913
dクスです。
dispatchEventまでは自分で調べられたのですが
引数の渡し方が不明でした。
918デフォルトの名無しさん:2006/05/09(火) 14:37:39
>>915
Findbugsで警告があがった。

ローカル変数の自己代入があります。
このメソッドは、ローカル変数の自己代入があります。例えば、
 public void foo() {
  int x = 3;
   x = x;
 }
この例のような代入は、無駄です。ロジックの誤りや、タイプミスかもしれません。
919デフォルトの名無しさん:2006/05/09(火) 15:21:39
Cでもうちの環境では 10 になった。
警告オプション付けると、未定義だっておこられる。
つまり、こういうことはやるなって琴田。
920デフォルトの名無しさん:2006/05/09(火) 16:33:51
自己代入は無意味ってか暗黙のダメダメ(w
921デフォルトの名無しさん:2006/05/09(火) 16:35:02
確かに。gccでは operation on ‘a’ may be undefined が出た。
javac は -Xlint:all 付けても何も出ない。
922デフォルトの名無しさん:2006/05/09(火) 17:16:52
Java3Dの質問なのですが
Java3Dで立方体とか球体を表示するようにSwingのJPanelとかを3次元空間に配置して表示する方法って何かあるでしょうか?
923デフォルトの名無しさん:2006/05/09(火) 17:25:08
後置インクリメントが実行されるタイミングが、
代入演算子の実行より前か後かの違い
javaの場合は決まってそうな気がするが…
もちろんやる意味は無いけどね。
924デフォルトの名無しさん:2006/05/09(火) 18:49:56
>>932
a = a++は、優先順位からしたら、a = (a++)と同じはずだよね。
で、(a++)の値は10、そしてaの値は11になる。
その後、左辺に右辺(a++)を代入する。結果、aは10になる。

これが論理的な処理だと思うんだけど、どうかな?
925デフォルトの名無しさん:2006/05/09(火) 20:54:36
906です。

たくさんのご意見ありがとうございました。

これは、自分の後輩からの質問だったのですが、
「こういう書き方ダメよ。」の後に、
私自身が、
「どうしてjavaとCで違う結果になるのか?」
ということ(理由)に答えられなくて、
みなさんの力を借りようと思ったのです。

ありがとうございました。
926デフォルトの名無しさん:2006/05/09(火) 21:31:53
クラスとかメソッドとかよくわかりません。
COBOLみたいにここにここに宣言とか数字とか書く、処理書くとか
分けられてたらわかりやすいんですが
あまりにも不規則すぎて混乱してます。
publicがあったりなかったりstaticとか静的変数につけるとか言うけど
静的変数の見分けの付かないし・・・。
Javaできる方は本当頭いいですよね。
自分が馬鹿すぎて本当この先Javaできるようになるか心配です。
927デフォルトの名無しさん:2006/05/09(火) 21:54:22
>>903
902とは別人だが昔のJDKは↓でダウンロードできるよ。
私はテスト環境を構築するのに使ってる。
Archive: Java[tm] Technology Products Download
http://java.sun.com/products/archive/
928デフォルトの名無しさん:2006/05/09(火) 21:55:22
>>925
Cでは未定義動作なので、ダメ。
Javaでは未定義ではないだろうが、Cを知ってる人が見ると心臓が止ま
るのでダメ。
929デフォルトの名無しさん:2006/05/09(火) 23:34:40
>>926
そこまであからさまだと誰も釣られないと思うお
930デフォルトの名無しさん:2006/05/09(火) 23:35:44
>>926
じゃあ使うな。一生COBOLやってろ。最後までやり通せば人間国宝になれるかも知れないぞ。
931デフォルトの名無しさん:2006/05/09(火) 23:59:21
若く優秀なCOBOL使いはエスパーよりも貴重だと言われているからな
会社の基幹システムで使われている限り需要はあるがCOBOL使いは皆年寄りだから・・・・

年寄り連中が定年になったら基幹システムがロストテクノロジー化して解読できるのは>>926だけに
って燃えるシチュエーションになるぞw
932デフォルトの名無しさん:2006/05/10(水) 00:17:02
そう。そして弟子もいなくて世界で最後の一人になる。
933デフォルトの名無しさん:2006/05/10(水) 00:37:43
でもさ、掃いてシュレッダーにかけて捨てるほどいる
Java使いより、COBOL使いの方が貴重だから、そっちの
ほうが安定収入を得られるんじゃないのw
934sage:2006/05/10(水) 00:52:07
javaでマルチメソッドを使ってAppletviewerを起動するときはどのように実行すればいいのですか?マルチメソッドだけのときは
@javac クラス名.java
Ajava クラス名
でAppletvewerは
@javac クラス名.java
AAppletviewer クラス名.html
ですよね?2つ融合した場合の起動の仕方を教えてください。
935デフォルトの名無しさん:2006/05/10(水) 01:30:24
乱数を10,100,1000,10000個と生成して、おのおのの平均と分散を求めるようなプログラムはどのように作成すればいいのでしょうか?
936デフォルトの名無しさん:2006/05/10(水) 02:16:33
じゅっこ、ひゃっこ、せんこ、まんこ。
937891:2006/05/10(水) 07:22:08
>>934
質問文が謎い
基礎からどうぞ
>1
938デフォルトの名無しさん:2006/05/10(水) 07:23:37
名前消し忘れ失礼
939デフォルトの名無しさん:2006/05/10(水) 07:44:57
>>935
生成した乱数をコレクションとか配列に入れ、
平均と分散を求めれば良い。
940デフォルトの名無しさん:2006/05/10(水) 07:48:10
>>934
同じクラスで、appletとapplicationを兼用する場合?
起動方法は、appletviewerとjavaの両方でいけるということでなくて?
941デフォルトの名無しさん:2006/05/10(水) 08:05:42
>>935
宿題でしょ?
★★ Java の宿題ここで答えます Part 56 ★★
http://pc8.2ch.net/test/read.cgi/tech/1145447187/
942926:2006/05/10(水) 08:06:07
いや、COBOLも全然わかってません
本当にJavaわからないんです
静的変数ってなんなの
文法とか不規則でどー書き始めたらいいかわかりません…
943デフォルトの名無しさん:2006/05/10(水) 08:37:49
ならcobol → basic → java でどうよ
944デフォルトの名無しさん:2006/05/10(水) 08:44:02
COBOL は新規開発ほとんど無くって保守と改造ばっかだから、新規に設計する力は付かんかも知れんよ。
945デフォルトの名無しさん:2006/05/10(水) 09:38:14
Java程度で文法が不規則とか言い出したら、VB.NETやPerlなんかやってられないな。
946デフォルトの名無しさん:2006/05/10(水) 09:41:46
>>942
一度にすべてを理解しようとしないほうが良い
>静的変数ってなんなの
クラス変数の事。元々静的変数はC言語の用語。
例えば犬というクラスを作ったとする。そこからインスタンスを生成しゴールデンレトリーバーとか
チワワなどを作っていく。名前や種類名は生成したインスタンス事に違うからインスタンス変数(staticを付けない変数)
で定義し。しかし、腕の数や足の数などは犬というクラスから派生したオブジェクトすべてに共通するはずなので
クラス変数に定義する。インスタンス生成ごとにころころ変わるからインスタンス変数(動的変数)、どれだけ生成しようと変わらないから
クラス変数(静的変数)だと覚えればよい。
クラス変数を理解するにはインスタンスの生成をまず理解しないと。
>文法とか不規則でどー書き始めたらいいかわかりません…
不規則に見えるだけ。本当に不規則だったら文法エラーを発見するのは非常に困難になる。
javaは厳しいほうだよ。

って言うかここで質問しないで入門書等を購入する事をお奨めする。
推薦図書/必読書のためのスレッド PART31
http://pc8.2ch.net/test/read.cgi/tech/1146122168/l50
947デフォルトの名無しさん:2006/05/10(水) 13:14:34
class 犬 {}
class 俺 extends 犬 {}
948デフォルトの名無しさん:2006/05/10(水) 13:20:38
俺はクラスというよりインスンタンスでは

class 犬 {}

犬 俺 = new 犬();
949デフォルトの名無しさん:2006/05/10(水) 13:28:30
俺はインスタンスだ。
I am instance.

私もです。
Me too.

私はインスタンスを一つ持っています。
I have an instance.
950デフォルトの名無しさん:2006/05/10(水) 13:31:57
You are fuck you.
951デフォルトの名無しさん:2006/05/10(水) 14:21:36
Fuck you very much.
952デフォルトの名無しさん:2006/05/10(水) 15:02:41
class 人間{
boolean 経験 = true
public 人間(遺伝子 母,遺伝子 父){
遺伝子 my遺伝子 = 母 * 父;
}
public boolean getMySonState(){
return 経験;
}
public void lifeEnd(){
System.exit(0);
}
}

人間 俺 = new 人間(母の遺伝子,父の遺伝子);
//中略
if(俺.getMySonState){
俺.lifeEnd
}
953デフォルトの名無しさん:2006/05/10(水) 15:04:20
>>952
すげー勉強になった、サンクス
954デフォルトの名無しさん:2006/05/10(水) 15:10:02
警告: 使われていないローカル変数: my遺伝子
遺伝子 my遺伝子 = 母 * 父;
     ^
エラー: 未定義の変数: getMySonState
if(俺.getMySonState){
   ^
エラー: 未定義の変数: lifeEnd
俺.lifeEnd
  ^
955デフォルトの名無しさん:2006/05/10(水) 15:20:33
everyone is fool
956デフォルトの名無しさん:2006/05/10(水) 15:42:13
while(true){
Syetem.out.println("everyone is fool");
}
957デフォルトの名無しさん:2006/05/10(水) 15:55:23
Eclipse+Java5で、下記のような定義すると、

private static HashMap hashmap = new HashMap();
private static Map objectMap = (Map)java.util.Collections.synchronizedMap(hashmap);

>型の安全性: 型 Collections の総称メソッド synchronizedMap(Map<K,V>) の未検査の
>呼び出し synchronizedMap(Map) がありました。

なんて出るんですけど、どう書き直すべきですかね?
958デフォルトの名無しさん:2006/05/10(水) 16:04:39
環境
jdk1.5.0_05
ant-1.6.5
j3d1.4.0


ttps://java3d.dev.java.net/binary-builds.html

の下にあるExample programs source codeのビルドをしたいのですが、途中で

・・・examples/picking/IntersectInfoBhavior.java:179:シンボルが見つかりません。

と言われて止まります。理由と解決方法を教えて下さい。よろしくお願いします。
959デフォルトの名無しさん:2006/05/10(水) 16:07:44
>>957
HashMap<Object, Object> hashmap = new HashMap<Object, Object>();
960デフォルトの名無しさん:2006/05/10(水) 16:23:43
JDKのバージョンが一気に 5.0 になった件で、
『マーケティングの理由から』
という説明をよく見かけるんですが、
5.0という数字に何か深い理由はあるんでしょうか?
961デフォルトの名無しさん:2006/05/10(水) 16:27:29
Sun のよくやる手
962デフォルトの名無しさん:2006/05/10(水) 16:27:44
>>959
禿しくありがとうございました
963958:2006/05/10(水) 16:48:56
情報後出し失礼します。端末の画像うpします。

ttp://www.uploda.org/uporg386459.jpg
964デフォルトの名無しさん:2006/05/10(水) 16:53:18
>>960
マーケティングの理由から、というのは数字が大きいと勝手に凄いと考える
馬鹿な客に売るため、ということです。

そのような理由により Solaris 2.7 の名前も Solaris 7 になりました。

尚、フリーソフトの Perl が 5.0006 を 5.6 に変更した理由もほぼ同じ
ですが、こちらはどちらかというと慣習から外れていたからです。
もちろんこれだけの違いならほとんど同じだろうと勝手に勘違いする
馬鹿への対応も出来ました。
965デフォルトの名無しさん:2006/05/10(水) 16:55:49
質問です。
GUIのテキストボックスに数字を入れて、それを変数に入れることはできますか?
独学で勉強してて練習として、底辺と高さから三角系の面積を求めるプログラムを作りました。
それをGUIを使って作ろうとしてます。
テキストボックスを二つ用意して、それぞれに底辺と高さを入力して、計算ボタンを押すと結果が表示みたいな。
966デフォルトの名無しさん:2006/05/10(水) 16:57:01
IBM の WebSphere なんかマイナーバージョンアップに見せかけてこっそり
J2SE や J2EE のメジャーバージョンアップしてる。
逆にこっちは大変更したっての客に知られないように。
967デフォルトの名無しさん:2006/05/10(水) 16:57:41
>>965
出来ます。API リファレンスでも見てください。
968デフォルトの名無しさん:2006/05/10(水) 17:00:03
出来るよ、テキストの文字判定と必要ならば
(例:char型からint型へ)変換処理をして計算すればok
969デフォルトの名無しさん:2006/05/10(水) 17:06:03
>>967>>968
ありがとうございます!
APIリファレンスとにらめっこしながら頑張って作ります。
そっか、charだからintにしなきゃいけないのか…
本当にありがとうございました。
970デフォルトの名無しさん:2006/05/10(水) 17:59:30
>>969
正確に言うと String のインスタンスから int 型とか double 型とかの
数値の型に変換しないと計算できない、という感じ。
ヒント: getText(), Integer.parseInt()
971デフォルトの名無しさん:2006/05/10(水) 18:24:26
ブラウザがIE、JRE1.5を使うアプレットを
イントラネットにおこうとしてます。
ローカルファイルの実行(たとえばC:\calc.exe)をさせたい場合に
何もしないとSecurityExceptionになるんですが
どの設定を変えれば問題なく動きますでしょうか?
972デフォルトの名無しさん:2006/05/10(水) 20:14:19
>>926

俺も少しCOBOLやった事あるが、あれもわかりにくいとおもたよ。
変数は全部Cでいうグローバル変数みたいなもんだし。

Javaはそんな不規則でもないと思うが。
973942:2006/05/10(水) 20:14:31
946さんが優しくて泣きそうです。
会社の研修で基礎的なこと聞けなくてつらい。
「こんなのわかってなかったのかよ」みたいに思われそうで。
974デフォルトの名無しさん:2006/05/10(水) 20:18:59
まったくのプログラム初心者に2週間程度で
基礎からオーバーロードらへんまでをマスターしろと言うのです。
簡単な事なのでしょうか。
975デフォルトの名無しさん:2006/05/10(水) 20:19:44
逆に研修終わってからお手上げされる方が会社としては困るんじゃ?
976デフォルトの名無しさん:2006/05/10(水) 20:24:21
>>974
オーバーロードという用語を今知った俺・・・。
そうか、これがオーバーロードだったのか。

まったくの素人に2週間、だとちと厳しいかな。
どんな順序のテキストかによるけど。
俺の場合、結城浩著「Javaプログラミングレッスン」の上下巻終わらす
のに2ヶ月弱かかったよ。まあ、CとかVB並行しながらだけど。
977デフォルトの名無しさん:2006/05/10(水) 20:53:54
オブジェクト指向を理解するための
学習曲線は緩やかだからな
978デフォルトの名無しさん:2006/05/10(水) 22:24:26
antで
<target name="run" depends="compile">
<java classname="Main" classpath="${class}" classpathref="cp"/>
</target>
といった感じでSwingを使ったGUIのプログラムを走らせると、
一瞬フレームが見えてすぐにプログラムが終了してしまうのですが、
どうしたら起動した状態で止まってくれるのでしょうか?

コマンドラインからjavaコマンドで実行するには問題なく動きます。
979デフォルトの名無しさん:2006/05/10(水) 23:10:59
>>956
なんかむかつくけどJavaスレっぽいから許すw
980デフォルトの名無しさん:2006/05/10(水) 23:18:35
文字列の前後の全角半角空白を取り除く正規表現を作らないといけなく
とりあえず前からとっていこうと思うんですが

String ret = "▲△あ▲△あ▲△".replaseAll("^[▲△]*","");
String ret = "▲△あ▲△あ▲△".replaseAll("^[▲△]+","");
▲全角空白
△半角空白
どっちでも同じ結果のようですがどちらでも印でしょうか
981デフォルトの名無しさん:2006/05/11(木) 00:27:00
*と+の意味を調べればわかるものを

何が言いたいのか。

ただの教えて君か
982デフォルトの名無しさん:2006/05/11(木) 03:03:49
Java で画面のキャプチャーを行うプログラムを作れますか?
作れるのであれば方法を教えてください。
対象 OS は Windows です(2000, XP)。
983デフォルトの名無しさん:2006/05/11(木) 03:05:33
>>982
java.awt.Robot#createScreenCapture(Rectangle)
984982:2006/05/11(木) 04:18:11
>>983
早々の回答ありがとうございます。
こんなクラスがあるんですね!調べてみます。
985デフォルトの名無しさん:2006/05/11(木) 06:15:09
>>978
fork="true"するといいはず。

<target name="run" depends="compile">
<java classname="${main.class}" classpathref="project.class.path" fork="true" />
</target>

986978:2006/05/11(木) 06:34:13
>>985
できましたー
ありがとうございますっ!
987デフォルトの名無しさん:2006/05/11(木) 08:24:48
>>981
調べて分からなかったからここで聞いてます
正規表現初心者は歓迎されないってことか
988デフォルトの名無しさん:2006/05/11(木) 08:31:08
989デフォルトの名無しさん:2006/05/11(木) 08:32:11
>>987
どっちでも同じ結果。まぁ + の方が多少マシかな。
990デフォルトの名無しさん:2006/05/11(木) 08:37:55
エクスポートの項目の中にあるよ。「設定」ってのがそれ。
991デフォルトの名無しさん:2006/05/11(木) 08:38:46
エクスポートの項目の中にあるよ。「設定」てのがそれ。
992デフォルトの名無しさん:2006/05/11(木) 10:53:30
板一覧にお気に入りに入れている板しか表示されません。
すべての板を表示するにはどうすれば良いのでしょうか?
バージョンは0.1.12.1です
993デフォルトの名無しさん:2006/05/11(木) 10:58:20
正規表現なら正規表現スレで聞け
994デフォルトの名無しさん:2006/05/11(木) 11:22:52
なんか新入社員みたいなやつらが大量発生してるな。。
でも中途半端に齧ったことあるやつよりズブの素人のほうが
扱いやすいってのはあるから頑張ってくれ。
1,2ヶ月程度で辞めないことを祈る・・・
995デフォルトの名無しさん:2006/05/11(木) 11:54:54
【初心者】Java質問・相談スレッド85【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1147315998/

>>995まで逝ってるのに次スレが無いから立ててきたよ
996デフォルトの名無しさん:2006/05/11(木) 13:12:57
>>995
997デフォルトの名無しさん:2006/05/11(木) 14:46:14
ume
998デフォルトの名無しさん:2006/05/11(木) 14:49:28
    /⌒\  /⌒\
  ((    ; 三    ,,))
    ヽ   (  /    ミ   マラマラマラマラマラマラマラマラマラマラマラマラマラマラマラマラマラマラマラマラ・・・・・・・・・・
     キ   .メ   ./
     乂____ノ       -‐、
    / ̄.| | |  `‐-------´  /
   (──┘ |__|K察 ___   ヽ
    `ー─┬┬─ ´     丶-‐´
     .━━┷┷━━
999デフォルトの名無しさん:2006/05/11(木) 14:58:31
へんなことかかないでください。
1000デフォルトの名無しさん:2006/05/11(木) 15:00:47
「うめいとか、うまくねえとか他人(しと)のやってるのをきいて、
そういうことを言うについちゃァ、別にモノサシがあるわけじゃァありませんが、
まァ、他人の噺ィきいてみて、『こいつァ、俺よりまずいな』と思ったら、
まず自分と同じぐらいの芸ですよ。
人間にゃ誰だって多少のうぬぼれがありますからね。
『俺と同じくれえかな』と思うときには、向こうのほうがちょいと上で、
『こいつァ、俺より確かにうめえや』と感心した日にゃァ、
そりゃァもう格段の開きがあるもんですよ」


古今亭志ん生
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。