★★Java質問・相談スレッド144★★

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。

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

前スレッド
★★Java質問・相談スレッド143★★
http://hibari.2ch.net/test/read.cgi/tech/1295892452/

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

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
2デフォルトの名無しさん:2011/03/24(木) 16:05:20.22
**** 関連スレッド案内 ****
■ AWT と Swing は --
Java低速GUI Swing 9
http://hibari.2ch.net/test/read.cgi/tech/1261232019/
■ SWT は --
Java 高速GUI SWT 3
http://hibari.2ch.net/test/read.cgi/tech/1164877399/

■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part22
http://hibari.2ch.net/test/read.cgi/tech/1295766416/
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 9
http://hibari.2ch.net/test/read.cgi/tech/1249357352/
■ Androidアプリの作成は --
【Google】Androidアプリ作成part8
http://hibari.2ch.net/test/read.cgi/tech/1297616354/

■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 70 ★★
http://hibari.2ch.net/test/read.cgi/tech/1300067785/
3デフォルトの名無しさん:2011/03/24(木) 16:05:37.25
■ NetBeansに関する雑談は --
NetBeans Part6
http://hibari.2ch.net/test/read.cgi/tech/1273665879/
■ Eclipseに関する雑談は --
clipse統合M30【Java/C++/Ruby/Python/Perl】 ←検索にかからなかったので下のスレが立て直したスレッド
http://hibari.2ch.net/test/read.cgi/tech/1280027133/
Eclipse統合M31【Java/C++/Ruby/Python/Perl】
http://hibari.2ch.net/test/read.cgi/tech/1295886572/


**** 開発環境が必要の場合は ****
■ J2SE 5.0 (1.5.0)
http://java.sun.com/j2se/1.5.0/ja/
■ Java SE 6
http://java.sun.com/javase/ja/6/

**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
http://www.java.com/ja
4デフォルトの名無しさん:2011/03/25(金) 00:06:08.20
コンストラクタが定義されていなければデフォルトコンストラクタとして引数なしコンストラクタが自動生成される
→引数なしコンストラクタは、デフォルトコンストラクタである

こんな感じでデフォルトコンストラクタに関する誤解が生まれるんだろうかね。
5デフォルトの名無しさん:2011/03/25(金) 01:39:40.53
まだトラウマ引きずってんの?
6デフォルトの名無しさん:2011/03/25(金) 01:43:03.95
トラウマ?おれは前スレのやつではないんだが
7デフォルトの名無しさん:2011/03/25(金) 14:05:07.57
誤解してても実害はないケースが多そう
8デフォルトの名無しさん:2011/03/27(日) 09:37:01.08
とってもくだらない話ですが…

int配列にintが含まれるかを検査するcontainsのような事をするならどうするのがいいんですかね?
asListしようにもIntegerじゃなくてintなんでうまくいかないし、やはりループで回して検査するしかないのでしょうか?

…正直ダサいから上手くできないかなとおもってるだけなんですがね。
9デフォルトの名無しさん:2011/03/27(日) 10:05:53.97
>>8
コンパイラがチェックしてくれるから不要
10デフォルトの名無しさん:2011/03/27(日) 10:12:26.34
>>8
巨大な配列の中から素早く探すってんならアルゴリズムとしていろいろあるだろうが、そうでも無いなら、やっぱりクダラナイと思う。
11デフォルトの名無しさん:2011/03/27(日) 11:38:33.66
>>8
int には最初から 0 が入っててますけど

特定の数値を探したいなら Arrays.binarySearch
というのがある。ただし、配列はソート済みの必要がある
12デフォルトの名無しさん:2011/03/27(日) 13:49:31.20
エスパー回答させる質問者はプログラミング向いてないんではないかと思ったり
13デフォルトの名無しさん:2011/03/27(日) 15:36:39.24
自分が何が分からないのか分かってないから質問してる訳でw
14デフォルトの名無しさん:2011/03/27(日) 17:42:15.22
プログラミングに向いてないというかただのアホだろ
どの世界にも質問すら満足にできないアホはいる
15デフォルトの名無しさん:2011/03/27(日) 17:50:50.55
自己紹介乙
16デフォルトの名無しさん:2011/03/27(日) 19:07:01.90
>>13
背伸びしすぎなんじゃないの?
「正直ダサい」とかかっこつけてる場合じゃなくて
基礎からやり直したほうが良いよ、絶対。
17デフォルトの名無しさん:2011/03/27(日) 20:45:32.14
JNIで利用しているライブラリが標準出力に出力した文字列を
Java側で取得するにはどうしたらよいでしょうか?

System.setOut(new PrintStream(new ByteArrayOutputStream()))

では取得することができませんでしたが、
シェル上でリダイレクトするとたしかに標準出力に出力されているようです。
18デフォルトの名無しさん:2011/03/27(日) 20:49:13.74
まじかー
19デフォルトの名無しさん:2011/03/27(日) 20:50:53.50
err
2017:2011/03/27(日) 21:13:09.29
> out 2> err
とすると out に書きこまれますので標準エラー出力ではないようです
21デフォルトの名無しさん:2011/03/28(月) 10:53:44.59
EJBを学べる良講座サイトがあったら教えてくれ
22デフォルトの名無しさん:2011/03/28(月) 15:01:42.83
親のコンストラクタを呼ばない方法を教えてください。
子のコンストラクタで何も書かないと親の引数なしのコンストラクタを呼ぼうとするのですが、
迷惑なので呼ばないで欲しいです。どうすれば禁止できますか?
23デフォルトの名無しさん:2011/03/28(月) 15:06:07.77
そのような迷惑な親を継承しなければよいです
24デフォルトの名無しさん:2011/03/28(月) 15:41:36.95
それは無理です。あるいはコンストラクタの中で
ユーザーが直接呼んだか、派生クラスからsuper()で呼ばれたか判別する方法はありませんか?
引数にフラグを渡す以外で。
25デフォルトの名無しさん:2011/03/28(月) 15:52:26.29
if (this.getClass() != MyClass.class) {
しかし設計の見直しをお勧めしたい
26デフォルトの名無しさん:2011/03/28(月) 15:56:36.24
>>24
コストかかってもいいとか実装によっては動かなくてもいいなら
Thread#getStackTrace()で得られる情報から判別できるはず。
2724:2011/03/28(月) 16:51:49.15
>>25
今色々試してみましたが、その方法でいける気がします。ありがとうございます。
設計はこれがベストである自信があるので変更しません。
Javaは初めてですがC++で十分な経験があるので100人で100回考え直しても同じ結論になると思います。
28デフォルトの名無しさん:2011/03/28(月) 17:18:01.50
どんな素晴らしい設計なのか気になる
29デフォルトの名無しさん:2011/03/28(月) 17:20:58.99
おかしいなC++でも親のコンストラクタは必ず呼ばれると思っていたが俺の記憶が間違っているのか
30デフォルトの名無しさん:2011/03/28(月) 17:21:50.38
C++だって何も指定しなきゃデフォルトコンストラクタが呼ばれるのは一緒じゃねえの?
RTTIがJavaほど充実してないC++で十分な経験のあるお前としてはC++でそういう場合どうやってたん?
31デフォルトの名無しさん:2011/03/28(月) 17:54:25.67
派遣土方乙
32デフォルトの名無しさん:2011/03/28(月) 20:13:09.91
JUnit4で全てのテストに先立って1回だけ実行して欲しい処理ってどう書くの?
33デフォルトの名無しさん:2011/03/28(月) 21:18:01.40
JavaってC+みたいに演算子の上書きって出来るの?
34デフォルトの名無しさん:2011/03/28(月) 21:59:47.62
できない
35デフォルトの名無しさん:2011/03/28(月) 22:02:33.25
scala使えば?
36デフォルトの名無しさん:2011/03/29(火) 00:27:11.26
>>30
2chで質問に決まってんだろ

> 103 名前:デフォルトの名無しさん[sage] 投稿日:2011/03/18(金) 14:18:36.12
> 仮想関数リストや、特定のメソッドのインスタンスへのポインタを参照して、
> メソッドがオーバーライドされているかを比較するにはどうすればいいですか?
> 例えば以下のようなコードで
> http://ideone.com/qpNgh
37デフォルトの名無しさん:2011/03/29(火) 13:43:51.62
排他制御がちゃんとなされていれば,
オブジェクト自体はスレッドセーフな実装でなくてもいいんだよね?
Vectorをsynchronizedで排他制御するのと,
ArrayListをsynchronizedで排他制御するのでは,後者に問題は無いですよね.
38デフォルトの名無しさん:2011/03/29(火) 13:59:31.59
VectorやらCollections#synchronizedList(List)の戻り値で用が足りない場合は
自分でsynchronizedするなりして排他制御するしかないわけで。

用が足りてるのにわざわざ自前でsynchronizedするのはケアレスミス発生しやすくなるだけ。
39デフォルトの名無しさん:2011/03/29(火) 14:16:29.65
逆に言えば,synchronized(Object)内の処理で全ての用が足りるのならば
Objectはスレッドセーフで無くてもいいですよね?
というのも生産者消費者的なスレッドプログラミングなので,
synchronizedは使わざるを得ないので,
使うなら軽いArrayListのようなListでも,気をつけて実装すれば十分ですよね
40デフォルトの名無しさん:2011/03/29(火) 14:31:20.82
気をつけて実装するくらいでミスが防げるのなら苦労しないわけで、それで十分かと言われると困るが
まぁ言いたいことはわかる
正しく組めば問題はない
しかしLinkedBlockingQueueとかすでにあるものは使えないようなものなのか
41デフォルトの名無しさん:2011/03/29(火) 15:19:38.16
.classファイルって32bitも64bitも同じですよね
42デフォルトの名無しさん:2011/03/29(火) 15:21:24.53
32bitの.classファイルとか64bitの.classファイルってあるのか?
43デフォルトの名無しさん:2011/03/29(火) 15:21:29.10
ありがとうございます,実装を置き換えてみます

オブジェクトのスレッドセーフと,プログラミング上での排他制御の相互の
必要性について,自分が曖昧な認識だったもので,どうも失礼いたしました(*^^*)
44デフォルトの名無しさん:2011/03/29(火) 15:23:37.26
>>42
失礼。同じ.classファイルを32bit版のJVMと64bit版のJVMの両方で動かせますよね
45デフォルトの名無しさん:2011/03/29(火) 15:27:21.53
動かせますよ
46デフォルトの名無しさん:2011/03/29(火) 17:48:23.09
struts 1.3なんですが、ページ繰りをしたく
<logic:iterate>
のscopeとlengthを動的に指定したいのですが方法がわかりません。
どなたか優しい人教えてください。
47デフォルトの名無しさん:2011/03/29(火) 18:16:12.36
offsetでした。
48デフォルトの名無しさん:2011/03/29(火) 22:08:02.14
CopyOnWriteArrayListの使い道が分からない。
RESTfulな環境でメモリ上にリソース置いて返すときとか?
49デフォルトの名無しさん:2011/03/29(火) 22:47:49.74
Cassandraって日本でも流行る見込みある?
50デフォルトの名無しさん:2011/03/29(火) 23:35:52.09
俺達で流行らせようぜ!

だが、まずCouchDBからだ。
51デフォルトの名無しさん:2011/03/29(火) 23:44:26.44
てかNoSQLが必要な技術者って限られてね?
JavaEEと同じでRDBMSはファットであっても一般的に必要な物は全てあるでしょ。
52デフォルトの名無しさん:2011/03/30(水) 00:04:35.69
一度スキーマレスなんかを味わってみると結構楽しいんだけどな。
確かに案件としての需要は極端に少ないし、RDBの代替にはならない→リプレースでも提案できないって状況だけど。
俺もまだ趣味でしかやってないけど、日次株価データの蓄積と分析なんかどうかと思って試しに模索中。
53デフォルトの名無しさん:2011/03/30(水) 08:57:45.20
public
protected
private

これらってC++と同じだよね使い方や意味としては
54デフォルトの名無しさん:2011/03/30(水) 09:27:20.07
>>53
Javaにはpackageという概念があって、protectedは同一package内ではpublicと同じ。
55デフォルトの名無しさん:2011/03/30(水) 09:30:42.33
おkどうも
56デフォルトの名無しさん:2011/03/30(水) 10:43:28.25
Javaは可視制御 (見えるか見えないか) で
C++はアクセス制御 (アクセス可か不可か、常に見える) という違いもある

例えばJavaの場合
public class Foo {
private static void foo(int x){}
public static void foo(double x){}
}
public class Bar {
public static void main(String[] s) { Foo.foo(1); } // foo(int)は見えないのでfoo(double)を呼ぶ
}
C++の場合
class Hoge {
private: static void foo(int x){}
public: static void foo(double x){}
};
int main() { Hoge::foo(1); } // foo(int)が見えるのでfoo(int)を呼ぶ → privateなのでエラー
57デフォルトの名無しさん:2011/03/30(水) 13:55:41.91
c++脳にはjavaは無理。
58デフォルトの名無しさん:2011/03/30(水) 16:56:13.72
javaすら理解できないならもうおしまい
59デフォルトの名無しさん:2011/03/30(水) 20:19:53.61
Javaで添付ファル付きメールを送信したいんですが、メールを組み立てる
プログラムとメールを送信するプログラムを別々にしたいんです。

最初はMimeMessageを単純にシリアル化してXMLファイルに出力しておいて、
送信プログラムがそのXMLを順次読み込んで送信すればいいかと思っていた
んですが、MimeMessageはシリアル化出来ないクラスのようで、上手くいき
ませんでした。

メール送信に関する一通りの情報をまとめてファイル化する良い方法はない
でしょうか
60デフォルトの名無しさん:2011/03/30(水) 23:09:44.61
RARアーカイブをzipみたいにいじれるjarってどっかないですか?
検索したらjunrarってのでてきたけどリンク切れててみつからないし・・・
61デフォルトの名無しさん:2011/03/30(水) 23:40:45.80
>>59
ぐぐったら
http://www.oracle.com/technetwork/java/faq-135477.html#serialize

writeToメソッドでOutputStreamにはいて
コンストラクタのInputStreamから取り出せってさ
62デフォルトの名無しさん:2011/03/31(木) 22:27:27.03
JPAのEntityManagerに関する質問です。
insertはpersist()、deleteはremove()、selectはfind()かcreateQuery()
だと思いますが、updateにあたるものはreflesh(Entity e)で正しいですか?

marge()かもしれないと思ったのですが、こちらはたぶんdetach()とセットで
Entityのマネージ・アンマネージ(アタッチ・デタッチ)ぽい気がするので。。。
63デフォルトの名無しさん:2011/03/31(木) 22:34:46.20
>>55
余計なお世話かも知れんが俺も蛇足を。
Javaのアクセス権はpublic, protected, private, デフォルトの4つ。
C++のデフォルトは(クラス定義なら)privateを表すが、Javaは別個。

デフォルトアクセスの仕様はprotectedに近いが、以下の違いがある。
protectedは派生クラスからもアクセス出来るのに対して、デフォルトは派生クラスからは見えない。
故にデフォルトアクセスはpackage privateなどとも呼ばれている。
64デフォルトの名無しさん:2011/03/31(木) 23:07:12.60
ん?privateとデフォルトの違いは何だ?
65デフォルトの名無しさん:2011/03/31(木) 23:08:52.41
パッケージ内の他のトップレベルクラスから可視か不可視か。
66デフォルトの名無しさん:2011/03/31(木) 23:20:50.02
private: 自分
デフォルト: package内
protected: package + 派生
public: 裸の付き合いしようぜ
67デフォルトの名無しさん:2011/04/01(金) 02:16:55.55
packageはfriendみたいなもんだな
68デフォルトの名無しさん:2011/04/01(金) 11:01:38.21
C++のfriendはただの友達にしては親密すぎると思うんだ
69デフォルトの名無しさん:2011/04/01(金) 11:31:37.58
friendとpublicの違いについて

どっかに表みたいのない?
70デフォルトの名無しさん:2011/04/01(金) 11:33:51.29
protectedって同パッケージ内も使えたっけ?
71デフォルトの名無しさん:2011/04/01(金) 11:51:09.52
72デフォルトの名無しさん:2011/04/01(金) 11:54:36.81
>>71
本気でありがたい
73デフォルトの名無しさん:2011/04/01(金) 11:57:02.19
ここで質問するのもあれだが、C++知らん俺にfriendとやらを解説してくれ
74デフォルトの名無しさん:2011/04/01(金) 12:01:49.54
俺にfriendがいないので解説のしようがない
75デフォルトの名無しさん:2011/04/01(金) 15:41:32.89
>>73
Java ではオブジェクト a の表示をするのにSystem.out.print(a)をすると、a.toString()が呼び出されるが、これはオブジェクトaのクラスAの所有物なので、privateメンバーとかでも表示だけさせるとか余裕でできる。

一方C++でオブジェクトaの表示をする場合、 std::cout << a をすると std::ostream& operator<<(std::ostream&, A&) が呼び出される。これはクラスAの所有物じゃないので、A内のプライベートメンバーとかそのままでは表示不能。
なので、Aのクラス宣言で、この operator<< を friend 宣言をして、プライベートメンバーを好きにできるようにしておかないといけない。
オブジェクトの内容を表示したいと思うC++初心者には必須のテクニック。
76デフォルトの名無しさん:2011/04/01(金) 23:04:01.21
ListとArrayListって何が違うんですか?
77デフォルトの名無しさん:2011/04/01(金) 23:06:50.14
Listはインタフェイスだからnewできないぞ
ArrayListはクラスだからnewできるぞ
78デフォルトの名無しさん:2011/04/01(金) 23:09:48.91
じゃあList hoge = new ArrayList();ってただのカッコつけですね
79デフォルトの名無しさん:2011/04/01(金) 23:10:28.91
括弧が付いてるだけにな
80デフォルトの名無しさん:2011/04/01(金) 23:16:51.41
ArrayList特有の便利メソッドも使えないから、マジで何やってるかわからんよな>List hoge = new ArrayList();
81デフォルトの名無しさん:2011/04/01(金) 23:21:48.87
ensureCapacity(int)とtrimToSize()って便利メソッドって感じじゃないような。
最適化する時には必要になるかもしれんけど。
82デフォルトの名無しさん:2011/04/01(金) 23:26:15.93
clone()があるじゃないか。

ってもArrayList(Collection<? extends E>)みたいなコピー用のコンストラクタ使えば
それほど不便と言うわけでは……
83デフォルトの名無しさん:2011/04/01(金) 23:52:28.12
「マジで何やってるかわからん」のか。すごいな
84デフォルトの名無しさん:2011/04/02(土) 00:51:13.26
局所変数の場合はどっちでもいいような気もするけどな。
85デフォルトの名無しさん:2011/04/02(土) 01:38:16.25
あるテストクラスからDaoクラスを直接呼んで
そのDaoクラスで行われている実装の正常な動作確認をしたい場合
例えば、ちゃんと引数で設定された文字がパラメータとしてすべて順番に設定されているか、
取得したSQLの結果をrsで想定通りに設定されているか、
Entityにちゃんと設定されているか

などをDaoクラスを一切手をつけずに呼び出し元のテストクラスの中だけで
System.out.println等を埋め込んだりして確認する事は可能でしょうか?

もしできない場合はテストとしてどうするのが最善の策なのでしょうか?
画面のハードコピーしか思いつきませんが

DAOやEntityのテストをしたい場合DAOに手をつけるのはマズイ気がするので
86デフォルトの名無しさん:2011/04/02(土) 09:05:08.78
>>85
JUnitで一般的に・・例えばSELECT文の単体テストを行う場合の正しいお作法は

1.テスト用のデータベースを用意
2.テスト対象のテーブルをDELETEで全クリア
3.テスト用データをINSERT
4.DAO(SELECT文)実行
5.結果をassert
6.テスト用データベースをロールバック

のようにしてブラックボックス的に行う。
言うまでもないがINSERT、UPDATEの場合は最後にSELECTを発行して値を一つずつassertする。

SQL発行やロールバックをDAOとは別に何度も発行するのでJUnitのラッパーとかでテストフレームワークを
多少作り込んで置くのがよい(DBUtilsとか生SQL発行できるユーティリティを使えば難しくない)。

まあめんどくさいので誰もやらなくなるけどなw
87デフォルトの名無しさん:2011/04/02(土) 16:24:51.70
Javaにプロトタイプ宣言みたいな機能が入っていないのはなんでなんでしょう?
技術的な意味ではなくて設計思想的な意味で。
CやC++ではこの機能があるおかげで一目でクラスの全体像の把握ができますが、
Javaではクラス定義と関数定義が一緒に行われ、全体像の把握が難しく感じております。
クラスが巨大化するともう読むのが辛くて(Javaプログラマではないので読むだけです)。
インタフェースや抽象クラスで代替しているのかなとも考えましたが、今まで自分の
出会ったJavaコード(C#もですが)はそんなことはしてません。
そもそもJavaで美しいコード(読みやすいコード)というのはどういったものなんでしょう?
88デフォルトの名無しさん:2011/04/02(土) 16:31:47.45
JAVAよりもむしろC言語について勉強をやり直した方がいい
89デフォルトの名無しさん:2011/04/02(土) 16:43:56.36
>>87
そもそも関数プロトタイプ宣言って大昔のコンパイラの都合で必要になってるだけで
プログラミング言語作る際に必要ないならわざわざ付けたりしないものだぞ。
90デフォルトの名無しさん:2011/04/02(土) 17:00:35.98
>>89
もともとはそうでしょうけど。
でも、今だってプロトタイプ宣言をしておくと理解を助けるのは確かです。
自分がC++でテンプレートのコードを書くときも、書きやすいインラインで書かず、
わざわざ宣言と実装を分けています。
ヘッダだけで理解できるようにコメントも添えて。
だからこそ、後発のJavaがなんで実装しないのか、不思議だったんですよ。
まあ、でも、結局技術的に必要ないからつけてないだけなんですかねぇ。
91デフォルトの名無しさん:2011/04/02(土) 17:15:21.14
単なる慣れの問題でしょ。
javadocの出力だのIDEのメンバ一覧だの見れば良いだけ。
92 [―{}@{}@{}-] デフォルトの名無しさん:2011/04/02(土) 17:21:53.06
それでjavadoc作ったんだな
93デフォルトの名無しさん:2011/04/02(土) 18:21:50.93
Javadocを初めて見たときは、確かにこれは賢い!って思いました。
確か最初から入ってますよね?
代替の手段はこれだったか!
94デフォルトの名無しさん:2011/04/02(土) 18:25:04.70
IDEにはJUnitやTestNGが一緒に付いてくるし、
Javaは言語というか環境そのものなんだよな。
95デフォルトの名無しさん:2011/04/02(土) 23:04:43.85
OpenCSVを使って日本語を含むCSVをUTF-8で吐き出すプログラムを作りました。
開発環境上だと問題なく動くのですが、jar化してjava web startで実行すると一部の文字が文字化けします(その文字以外はUTF-8で読み込めます)。
どんな原因が考えられるでしょうか?
96デフォルトの名無しさん:2011/04/03(日) 00:22:29.10
事故解決しますた
FileWriterだと化けてしまって、OutputStreamWriterだと化けませんでした。
・・FileWriterでも開発環境上だと化けないんですけどね・・Java Web Start ェ・・・
97デフォルトの名無しさん:2011/04/03(日) 09:51:40.44
Javaで作られたオープンソースのSNSってありませんか?
98デフォルトの名無しさん:2011/04/03(日) 19:36:22.57
JMeterの質問ってここでおk?
99デフォルトの名無しさん:2011/04/03(日) 19:42:13.90
いいんじゃん?
100デフォルトの名無しさん:2011/04/03(日) 19:47:57.46
じゃあちょっと質問です。

JMeterで負荷試験をするのに、定数スループットタイマを使おうとすると
テスト開始と同時にIllegal argument exceptionで落ちてしまうんですが、
原因とか分かる人いますか?

Javaのverは7で、パラメータは正しく設定しています。
101デフォルトの名無しさん:2011/04/03(日) 20:21:36.32
一番良いEJBの講座サイトを頼む
102デフォルトの名無しさん:2011/04/03(日) 21:04:22.14
入門で
103デフォルトの名無しさん:2011/04/03(日) 21:09:50.93
そんな質問の仕方で大丈夫か
104デフォルトの名無しさん:2011/04/03(日) 22:16:41.83
どこにいっても相手にされないカスだろ
ほっとけw
105デフォルトの名無しさん:2011/04/04(月) 16:56:32.74
EJBってあんま使われてなくね?
海外はしらんけど
106デフォルトの名無しさん:2011/04/04(月) 19:28:47.29
え?
107デフォルトの名無しさん:2011/04/05(火) 21:04:33.92
初macでjavaやりたいんですけど、
JDKって最初から入ってるんでしょうか?
108デフォルトの名無しさん:2011/04/05(火) 21:21:13.95
入ってたと思いますが
ターミナルで javac -version と打ってみてはどうでしょう
109デフォルトの名無しさん:2011/04/06(水) 07:24:32.80
javaで文字列を返すにはどうすればいいですか?
例えば
void hoge(String s) {
  s = "hoge";
}
のようなことがしたいです。
110デフォルトの名無しさん:2011/04/06(水) 07:31:30.99
>>109
1.素直に戻り値を使う
String hoge(){ return "hoge"; }

2.状態を変更できるオブジェクトを引数として渡して、メソッド内で状態を変更する。
void hoge(StringBuilder s){ s.delete(0, s.length()).append("hoge"); }
111デフォルトの名無しさん:2011/04/06(水) 08:12:37.87
2.にしますありがとう
112デフォルトの名無しさん:2011/04/06(水) 08:36:57.10
>>108
jreだけ入った状態とjdkまで入ってる状態は
どこを見れば分かるでしょうか?
113デフォルトの名無しさん:2011/04/06(水) 10:14:25.53
JRE に javac は無いから実行できない
114デフォルトの名無しさん:2011/04/06(水) 12:14:56.99
PATHが通ってるかの確認と、Eclipseをどれ落としたらいいかと、
日本語が文字化けしますって聞いてきそうな気がする。
115デフォルトの名無しさん:2011/04/06(水) 16:49:47.97
なるほど。
ターミナルって要はコマンドプロンプトと同じなんですね。
ありがとうございました。
116デフォルトの名無しさん:2011/04/06(水) 20:19:00.67
文字化けしたらエクリプスの文字エンコード設定をかえればいいよー

javaでIPヘッダの設定をして通信ってできるのでしょうか?
117デフォルトの名無しさん:2011/04/06(水) 20:26:37.26
>>110-111
2.はJavaの世界じゃ変態コード・・とまでは言わないが滅多に見ないよなー。
たまに見かけて書いた奴に聞いてみると案の定C歴10年Java歴半年とかだったりする。
118デフォルトの名無しさん:2011/04/06(水) 21:09:47.72
RMIについて詳しく乗ってるサイトありませんか?
rmiregistryを使わないタイプの
119デフォルトの名無しさん:2011/04/06(水) 21:10:03.43
文字列が不変っていうJavaの仕様は内部的にはどういう意味なんでしょうか。
Rubyしか知らない自分のイメージとしては、作成されるや否やfreezeされるStringオブジェクトなんだけど、イメージ合ってます?
120デフォルトの名無しさん:2011/04/06(水) 21:20:06.85
RubyのfreezeしたStringは内部状態を変更しようとしたら例外が出る
JavaのStringは内部状態を変更するメソッド自体がなくて継承することもできない
121デフォルトの名無しさん:2011/04/07(木) 00:16:12.03
>>114
ターミナルでjavacと打つと文字化けしたようなのが
ズラーっと出てくるのですが何かおかしいのでしょうか?
122デフォルトの名無しさん:2011/04/07(木) 01:04:41.16
iapplitoolでiアプリを作成しています。

Fontを使おうとしているんだけど
test.setFont(new Font("Arial", Font.PLAIN, 24));

FontのプレーンスタイルのFont.PLAINの部分でエラーが出ます。
どういったことが考えられるでしょうか?
123デフォルトの名無しさん:2011/04/07(木) 01:19:50.78
>>110
2.の実装で,
void hoge(String [] strRet){ strRet[0] = "hoge"; }
みたいに配列に参照突っ込んで呼び出し元に渡してるの見たときはoh...って感じだった
NavigationFilterとか
124デフォルトの名無しさん:2011/04/07(木) 06:47:21.67
>>122
FontのプレーンスタイルのFont.PLAINの部分でエラーが出ていることが考えられます。
125デフォルトの名無しさん:2011/04/07(木) 07:13:42.10
何のエラーかわからんけどコンパイルエラーなんだろうな。importとかつけろ
126デフォルトの名無しさん:2011/04/07(木) 07:17:52.66
>>122
iアプリのFontとAWTのFontを混同しているといったことが考えられます
127デフォルトの名無しさん:2011/04/07(木) 20:40:58.28
RubyのRangeみたいなクラスない?
数値や閉区間、開区間がある区間に含まれるかどうかとか扱うやつ

作ろうとも思ったけど、数値の型とか以下・未満とか上限無しとかの扱いがめんどくさいな
128デフォルトの名無しさん:2011/04/07(木) 22:56:44.13
Windows用の最新のJava Advanced Imaging(JAI)を
ダウンロードはどこでできるでしょうか?
129デフォルトの名無しさん:2011/04/08(金) 01:31:23.52
Webフレームワークでいま一番主流なのなんでしょうか?
2,3個上げてくれると助かります。
130デフォルトの名無しさん:2011/04/08(金) 15:29:57.87
先生方、すまない。教えてくれ。
iapplitoolstarの画面遷移についてなのだが

private Panel p1, p2;
Button button1 = new Button("ページ1");
Button button2 = new Button("ページ2");
Button button3 = new Button("メインに戻る");

と準備して

public void componentAction(Component source, int type, int param) {
if (source == button1) {
if (type == BUTTON_PRESSED) {
Display.setCurrent(p1);
}
}else if(source == button2){
if(type == BUTTON_PRESSED) {
Display.setCurrent(p2);
}
}else if(source == button3){
if(type == BUTTON_PRESSED) {
Display.setCurrent(new MainPanel());
}


大雑把だけどこんな感じです。
メインからボタンを押したらパネル1、パネル2に移動できるけど
パネル1に設置したボタンからメインに戻れない。
どうしたらよいのでしょうか?
131デフォルトの名無しさん:2011/04/08(金) 16:06:55.76
パネル1とパネル2にもsetComponentListenerしてる?
132130:2011/04/08(金) 16:36:09.78
>>131
おぉ・・・神よぉ・・・

本当にありがとうございます。これからも精進します。
133デフォルトの名無しさん:2011/04/08(金) 17:58:35.89
MySQLで特定のスキーマにjavaでいうfinalみたいに、あとから上書き不可とつける機能はありますか?
java側で分岐は考えたけどそういう機能があったらつかいたいんだ…
134デフォルトの名無しさん:2011/04/08(金) 20:51:59.49
検索メソッドって簡潔にどういう意味でしょうか?
135デフォルトの名無しさん:2011/04/08(金) 21:03:59.61
find
136デフォルトの名無しさん:2011/04/08(金) 21:40:56.15
入力した数字を和暦もしくは西暦に変更するプログラムで
入力した数字が8文字以外ならエラーを返し再入力を求め
8文字なら和暦もしくは西暦に変更する
かりに20110408と入力した場合は
平成23年04月08日と表示
昭和61年03月15日と入力した場合は
1986年03月15日と表示させたい場合

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

String input = in.readLine();を使い入力させたのはいいのですが、
入力した数字をyy/mm/ddと認識させる方法がわかりません
20110408と入力した場合2011をyyに04をmmに08をddにそれぞれ代入しなおしたいです

ほかの方法でもいいですので
ヒントください
137デフォルトの名無しさん:2011/04/08(金) 22:21:37.48
DateFormat
138デフォルトの名無しさん:2011/04/08(金) 23:20:25.55
JFormattedTextFieldとかでDateFormatterを使って日付入れたいんですが,
年だけ,平成や昭和などの和暦を使いたいです
そのために別途コンボボックスなど用意してますが,既存のDateFormatterをうまく使って
年だけ数値を変えるための上手いやり方はありませんか?
139138:2011/04/08(金) 23:31:04.89
すいません>>136の方とは別人です

>>136
入力した文字列をSimpleDateFormatを使って"yyyymmdd"というパターンでparseすればいいと思います
parseにより取得できたDateのインスタンスををCalendarのインスタンスに読み込ませれば,年月日がとれるので
年だけ和暦に合わせて引き算すればいいです
140138:2011/04/08(金) 23:34:17.71
>>136 "yyyyMMdd"でしたー あと逆の操作も応用で
141デフォルトの名無しさん:2011/04/09(土) 03:07:15.83
for(int i=1;;i++){
 URL url = new URL("http://hogehoge.net/userrss?page="+i)
 HttpURLConnection conn = (HttpURLConnection)url.openConnection();
 conn.connect();
 if(conn.getResponseCode()==200){        ←☆
   /**

   **/
 }else{
   break;
 }
 conn.disconnect();
 Thread.sleep(1000*60);
}

のようにRSSをページごとにどんどん読み込んでいったら何回目かの☆の部分で、
java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
         ・・・
と出てしまいます。

接続間隔は十分にとったはずですが、どこがまずかったのでしょうか。
142デフォルトの名無しさん:2011/04/09(土) 04:58:40.93
>>141
んー、ローカルでも発生すんの?
143デフォルトの名無しさん:2011/04/09(土) 06:44:08.41
>>137-140
ありがとうございます。やってみます
144デフォルトの名無しさん:2011/04/09(土) 10:00:17.75
C#の構造体は値型、クラスは参照型だけどJavaのクラスはどっち?
ついでにc++はどうなってんの?
145デフォルトの名無しさん:2011/04/09(土) 11:24:27.34
w
146141:2011/04/09(土) 14:43:15.19
>>142
ローカルのサーバに置くってことですか?それどうすればいいんでしょうか。
ローカルに.xml保存してFileの読込に変更すると、connectとか関係なくなるからテスト意味ないですよね。
147 【東電 80.1 %】 :2011/04/09(土) 15:16:26.35
>>141
ストリームをクローズしてないんじゃない?
で、サーバー側がコネクションの上限に達してるとか。
148141:2011/04/09(土) 15:53:11.88
if文の中はこのようになってます。

HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.connect();
if(conn.getResponseCode()==200){
 // パースを実行してDocumentオブジェクトを取得
 Document doc = dbfactory.newDocumentBuilder().parse(conn.getInputStream());
 // ルート要素を取得
 Element root = doc.getDocumentElement();
 // item要素のリストを取得
 NodeList itemList = root.getElementsByTagName("item");
・・・

ストリームのクローズというと、conn.getInputStream()に対してということですか?
conn.connect()に対してということだったら、>>141の通り、if文抜けたあとにdisconnect()しています。
149 【東電 79.2 %】 :2011/04/09(土) 16:00:17.01
>>148
> ストリームのクローズというと、conn.getInputStream()に対してということですか?

はい
150デフォルトの名無しさん:2011/04/09(土) 16:16:49.57
Document doc = dbfactory.newDocumentBuilder().parse(conn.getInputStream());
の部分を
InputStream is = conn.getInputStream();
Document doc = dbfactory.newDocumentBuilder().parse(is);
に分離して、
終わりに is.close() を追加して実行してみます。
151141:2011/04/09(土) 16:37:12.70
>>150も私です。

本来200位あるページで、今まで5,6ページでエラーが出てるところ、
20ページ超えてもエラー出てないので解決したようです。
助言してくれた方々ありがとうございました。

152136:2011/04/09(土) 17:09:49.71
public static void main(String args[]) throws IOException{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
/* 西暦で表示 */
DateFormat seireki
= DateFormat.getDateInstance(DateFormat.FULL);
//System.out.println(gregorianFormat.format(date));

/* 和暦で表示 */
Locale locale = new Locale("ja", "JP", "JP");
DateFormat wareki
= DateFormat.getDateInstance(DateFormat.FULL, locale);
//System.out.println(japaneseFormat.format(date));
int[][] gengou = new int[][]{{1912,6,29},{1926,11,24},{1989,0,7}};
while (true) {
String input = in.readLine();
if(input.equals("Q")) { //Qが入力されたら終了。
break;
}
if(input.length()!=8){ //入力された文字が8文字以外なら再入力
continue;
}
if(input.length()==8){ //入力された文字が8文字なら2011年04月09日と表示
Date date1=null;
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMdd");
String str1 = new String(input);
try {
date1 = sdf1.parse(str1); //parseメソッドでDate型に変換
System.out.println(seireki);
} catch (ParseException e) {
System.out.println("変換できないフォーマットです。");
}
添削おねがいします・・・
153デフォルトの名無しさん:2011/04/09(土) 17:56:20.51
SwingとAppletの知識しか持ってない初心者なのですが
Swingでアプレットのアニメーションのようなことをやりたいのですが、
・Swingでの描画はJPanelを継承すればいい
・スレッドは普通に使える
ということしか分かりません。
アプレットでいうupdate()やinit()、start()等はどうすれば実現できるのでしょうか

具体的には
http://www.javadrive.jp/applet/sample/index5.html
の迷路のSwing版を作れれば、と考えています
154デフォルトの名無しさん:2011/04/09(土) 18:20:15.45
>>153

画面更新があるたびに
repaint()
を呼び出せばよい

裏で動いてるAWTの機構に、画面更新あるからやってくれとお願いするメソッドと考えればおけ

画面更新が必要な部分だけ、ちゃんと範囲を指定して描画すれば、無駄な処理がなくなってよい
repaint(x, y, width, height)
155デフォルトの名無しさん:2011/04/09(土) 18:23:39.27
>>153 のリンク先にある程度のものなら、
JLabel をいっぱい敷き詰めて、色つけたいマス目に setBackground
でやってしまってもいいと思うけどねw
156デフォルトの名無しさん:2011/04/09(土) 19:16:02.76
黙ってろハゲ
157153:2011/04/09(土) 19:22:47.04
>>154 >>155
ありがとうございます
ただ線を動かすだけのアニメーションですが、だいたいこんな感じで問題ないということでしょうか?
変なことをしていたらご指摘いただけると助かります

public class Sample extends JFrame{
static int x=0;
static int y=150;
static TestPanel p;

public static void main(String args[]){
Sample frame = new Sample();
frame.setVisible(true);
while(true){
if(x==200){
x=0;
}

y--;
if(y==0){
y=150;
}
p.repaint();
try{
Thread.sleep(100);
}catch(InterruptedException e){
}
}
}
>>158に続く
158153:2011/04/09(土) 19:23:54.89
>>157の続きです
public Sample() {
setTitle("Test");
setBounds(10, 10, 300, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

p = new TestPanel();
getContentPane().add(p, BorderLayout.CENTER);
}

class TestPanel extends JPanel{
public TestPanel() {
setPreferredSize(new Dimension(200, 150));
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawLine(x, y, 200-x, 150-y);
}
}
}
159デフォルトの名無しさん:2011/04/09(土) 19:43:35.48
おまえにはジャバはまだ無理
160デフォルトの名無しさん:2011/04/09(土) 20:23:17.94
eclipseなんですがjqueryのjsを取り込むとプロジェクトが
赤バッテンになってしまいます。どうしたらいいでしょうか?
161デフォルトの名無しさん:2011/04/09(土) 20:24:41.86
ゴミが増えてきたな
162デフォルトの名無しさん:2011/04/09(土) 23:01:35.07
iteratorで要素を順次処理する中でiteratorの元のコレクションに要素の追加が発生する場合、
ちゃんと同期させるにはどう書けば良いんでしょうか?

synchronized(list){
Iterator<Object> objI = list.iterator();
while(objI.hasNext()){
objI.next().proc();
}
}

みたいにやるとConcurrentModificationExceptionが発生します。
proc()の中でlistへの追加が発生するという状況です。
新たに追加された要素はこのiteratorでは無視したいんです。
163デフォルトの名無しさん:2011/04/09(土) 23:04:50.09
標準入力を使用するプログラムでJUnitを使いたいと思います
キーボードからの入力を自動化する方法を教えてください
よろしくお願いします
164デフォルトの名無しさん:2011/04/09(土) 23:23:31.64
>>162
コピーを作るというのはダメなの
165デフォルトの名無しさん:2011/04/09(土) 23:40:02.89
>>164
サーバーアプリということもあり
大きなリストなので性能的に厳しいんです
166163:2011/04/09(土) 23:44:28.61
事故解決しました。
例えばテキストファイルからの入力としたいときはテストメソッドの中で

System.setIn(new FileInputStream("C:\\0.p0093.txt"));

このようにすればいいんですね
167デフォルトの名無しさん:2011/04/10(日) 01:55:54.93
>>162
ArrayList なら Iterator やめてインデックスで回す
LinkedList なら ListIterator#add を使う
168デフォルトの名無しさん:2011/04/10(日) 09:32:45.14
FrameWork3.0とDirectX9.0で動くソフトを、
Javaだけで開発するには、
どうしたら良いのでしょうか。

EclipseやAndroidがあれば、できますでしょうか。
169デフォルトの名無しさん:2011/04/10(日) 10:11:46.75
>>167
あざっした
170デフォルトの名無しさん:2011/04/10(日) 10:58:05.20
EclipseやAndroidがあればできますよ
171デフォルトの名無しさん:2011/04/10(日) 11:40:41.87
アナル
172デフォルトの名無しさん:2011/04/10(日) 12:38:14.09
>>170
具体的な方法を、お教えください。
Javaだけでの開発がしたいのです。
環境構築は、利用フリーのものだけで、できますでしょうか。
173デフォルトの名無しさん:2011/04/10(日) 12:42:00.22
スレッドセーフなクラスを作るときに
どんなクラス参考にしてる?
174デフォルトの名無しさん:2011/04/10(日) 13:19:22.56
>>173
この本良さそうだ 読んだことないけどw
http://www.hyuki.com/dp/dp2.html

スレッドセーフと一言でいっても、パフォーマンスを確保しつつ、
目的の処理をこなすのは、処理の内容によってま必要なコードの内容も
まったく変わるだろうから、よく考えてやるしかないな

実測によるパフォーマンス評価も不可欠
ここらへんはデータベースのアイソレートレベルの設定、設計とよく似てる
175デフォルトの名無しさん:2011/04/10(日) 13:58:42.31
リファレンス見ながらで理解できてるノン?
176デフォルトの名無しさん:2011/04/10(日) 15:32:44.63
>>173
とりあえず『Java並行処理プログラミング』を読んでおく
一番楽なのは(Stringクラスのように)immutableにしちゃうことだが
常に可能な方法ってわけではない
177デフォルトの名無しさん:2011/04/10(日) 16:17:31.18
Eclipse導入するにあたって、JDKをインストールしたんだけど環境変数とか設定して
Eclipseは使えるようになったけど。
他のアプリが使えないんですよ、ランタイムが参照できないというメッセージが出てきます。
環境変数はキチンと調べて、JAVA_HOMEとPathを指定したんですけどね。

JDKだけだと、他のアプリケーションは使えないんでしょうか、コマンドからだとVerも正しく
確認できるんですけどね。
JDKはJava EE 6 SDK with JDK 6の最新版を落としてきました。
JDKってJREも同時にインストールするんですよね、ネットで調べるとインストール時に
JREのインストールを問い合わせてくるらしんですが、自分の時は無かった様な気がします。
それでも、JDK配下にJREのフォルダもできているんでインストールされていると思うんですが。
只、ネットであれこれ紹介してるのは、JREは決まってインストール先がProgramFilesになっているので
変ではあるなと思っていたんですが。

それで、いろいろと調べていくとJREには公開と非公開があって、JDK配下のJREは非公開で開発用と、
それとは別に実行用のJREが公開として存在しないと他のアプリが使えないらしい事が判明しました。

で、お聞きしたいのは、

・JDKをインストールした後に、JREの同一バージョンをインストールすれば
   完璧な環境になるのでしょうか?

・設定した、環境変数であるJAVA_HOMEとPathはそのままでも良いのか?

   JAVA_HOME = C:\glassfish3\jdk
   Path = ;C:\glassfish3\jdk\bin;C:\glassfish3\jdk\jre\bin
       を、値の最後尾に追加。

・バージョンアップは同期(公開・非公開)を取るのに自分が考慮してあげないといけないのか?

お願いいたします。
178デフォルトの名無しさん:2011/04/10(日) 16:30:05.84
コマンドプロンプト開いてjavaとjavacって打ってみて
内部コマンドまたは外部コマンド,〜として認識されていません
って出たら,Path設定ミスってるんじゃない
179177:2011/04/10(日) 17:19:19.67
>>178
確認しましたが、オプション指定のHELPが表示されました。
ヴァージョンも間違っていないようです。

只、仮に実行環境用の公開JREを別途DLしてインストールした時に、優先順位として
どちらのJREが利用されるのでしょうか、環境変数にも影響が出るのでしょうか?
180デフォルトの名無しさん:2011/04/10(日) 19:15:25.07
JREと、JDK付属のJREとでは微妙に動作が違うぞ。
eclipseだけ動かすならJDKはいらない。
181デフォルトの名無しさん:2011/04/10(日) 21:25:15.73
この先のダウンロード出来ないんだけど、サーバーがダウンしてるのでしょうか?

https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewFilteredProducts-SingleVariationTypeFilter
182デフォルトの名無しさん:2011/04/10(日) 21:27:52.35
181ミスです。

Java SE Development Kit 6u24 のダウンロードです

183177:2011/04/10(日) 21:41:42.64
>>180
いや、JREだけだとコンパイルやデバッグができないし、APIとかクラスライブラリとか使えないし・・・・。
微妙に動作が違うって・・・・いやね、同一Verなら動作が同じじゃないと困るのよw
俺が言いたいのは、JDKに同梱されてるJRE(非公開、開発環境用)と、JRE(公開・実行環境用)なのね。

で、それらが両方とも別Dirにインストールされていないといけないのかってのが先ず聞きたいの。
JDK同梱のJREのパスを環境変数Pathに設定すれば、他のアプリケーションも参照できるんじゃないかと聞いてるの。
態々、別途同じJREを実行環境用にインストールする必要性ってのが理解できない。

確かに、OSが標準で持ってるPathである、c:\programfiles\配下にデフォルトでインストールすれば
環境変数弄らなくても、スコープできるのは理解できるけどな。
JDKにしたって、任意の場所にインストールしても環境変数を弄れば見にいけるって事だろ。

ならば、JREを別途、インストールする必要性が見えてこないって事だ!

それと、環境変数を設定しても、それを使うような仕様にしていないJavaアプリがあるって事が
この上なく理解できないw
ラッパーする時に、参照する場所を普通レベルで考慮できていないという事だよな、お粗末w

加えて、バージョンを同期とっていないと、トラブルの基になるってのが気に入らない。

要するに、開発環境用のJREには、実行以外にもソレ専用のアプリが盛り込まれているが、
実行環境用のJREには、実行するためだけのアプリしか盛り込まれていない。
だから、Javaのヴァージョン毎の実行環境用JREを用意できて、テストなりを複数VerのJava環境で
試せるという事も可能というわけだな。上位は勿論だが、下位互換をどのようにするかって事だな。

つまり、別途、JREをインストールしないといけないと、環境変数なんて見ないってアプリの為にもねw



184デフォルトの名無しさん:2011/04/10(日) 22:09:00.50
なんのJavaアプリが使えないの
jarファイルから起動するやつ?ランタイムが参照できないっていうエラーはよく分からん
exeにラップしてあるようなやつか?
185デフォルトの名無しさん:2011/04/10(日) 22:32:55.96
JDKの中のJREをシステム全体で参照してるんでしょ
186デフォルトの名無しさん:2011/04/10(日) 22:49:55.36
>>182
普通にダウンロードできるけど?
187デフォルトの名無しさん:2011/04/11(月) 00:47:01.92
ぶっちゃけ>>183がなに言いたいのか、話が全く見えん。
「JDKインストールしましたが、◯◯というアプリを実行すると、以下のようなエラーがでます。」じゃダメなのか?
なんあ宗教上の理由でもあんのか?
188177:2011/04/11(月) 01:06:02.66
>>187
全然ダメだな!
しっかりと、目を開いて、もう一度、俺様のレスを熟読して、さえない頭を振る回転させてだなw
質問に答えるんだ!

ほんっと、馬鹿ばかりだよな!
JRE_HOMEすら知らないヤツばかりだ!
189177:2011/04/11(月) 01:08:00.80
>>184
ヒントだ、launch4j。
190177:2011/04/11(月) 01:11:38.51
>>185
お前ってヤツは、ほんっとに・・・・・・・馬鹿。
191デフォルトの名無しさん:2011/04/11(月) 01:47:32.22
つまらん
192デフォルトの名無しさん:2011/04/11(月) 21:56:25.27
iapplitoolstarのHTMLLayoutについてちょっとつまりました。
private Panel p1, p2;

MainPanel() {
setTitle("テスト用");
setKeyListener((KeyListener)this);
setComponentListener(this);

p1 = new Panel();
    p1.setComponentListener(this) ;
    p2 = new Panel();
    p2.setComponentListener(this) ;


とパネルを二つMainPanelの中に準備した場合p1とp2別々にHTMLLayoutを使用することは
できますでしょうか?

先生方、どうか・・・お慈悲を・・・
193デフォルトの名無しさん:2011/04/11(月) 23:44:30.57
Doja知らないけどできるんじゃない?
194192:2011/04/12(火) 00:30:58.75
自己解決しました。
lm2.begin(HTMLLayout.CENTER);
この一行入れるの忘れてました。

失礼します。
195デフォルトの名無しさん:2011/04/12(火) 22:35:55.97
Pdfの1ページ目の中から一番大きな文字列を拾うようなプログラムを作っているのですが詰まっています。
テキストはPDFBoxで取れるのですがサイズや塊はどのように取るのか...
ご存じの方、ヘルプお願いします。
196デフォルトの名無しさん:2011/04/12(火) 22:38:46.04
大きさはフォントサイズです。あいまいですません。
197デフォルトの名無しさん:2011/04/13(水) 12:35:33.74
try~catchで囲わずにエラーメッセージを表示する方法ないですか。
Eclipseで開発していますがIllegalArgumentExceptionなどが起きた場合に
try~catchで囲ってなくてもe.getMessage()の結果を必ず表示して欲しいのですが...
198デフォルトの名無しさん:2011/04/13(水) 12:50:25.29
throws節を付けて、最上位でcatchすればいいんじゃね
199デフォルトの名無しさん:2011/04/13(水) 16:06:33.35
検査例外じゃないならThread#setUncaughtExceptionHandler()でも、なんでも。
200デフォルトの名無しさん:2011/04/13(水) 22:51:14.06
example1.jarと
example2.jarの両方に
com.example.Exampleていう名前のクラスが存在する状態で、二つともリンクしてビルドすると警告が出る。

無能な後輩がjarの中身変えずに
片方のjarのExampleだけ除外して警告を消す方法を前に見ました、とかほざいてるんだが、そんなん無理だよな?
201デフォルトの名無しさん:2011/04/13(水) 23:02:29.79
先輩、便所の落書きに頼るなよwww
202デフォルトの名無しさん:2011/04/14(木) 02:51:12.73
糞みたいな奴がスレに居付くだろ
さくっとスルーしろ
203デフォルトの名無しさん:2011/04/14(木) 03:06:00.33
糞みたいなやつすらいなくなったらこのスレ無人だろw
204デフォルトの名無しさん:2011/04/14(木) 03:46:20.64
>>200
無能なその後輩に聞けよ糞便
205デフォルトの名無しさん:2011/04/14(木) 19:04:59.22
Android SDK and AVD Manager で、SDK Platform等をインストールするとき、どうしても途中でダウンロードが止まってしまいます。

止まると言っても、ダウンロードのバーがそれ以上進まなくなるだけで、何かダイアログボックスが出るわけでもありません。
SDKやADTについての設定は無事に済んだ後で、この問題が発生します。


前回に試みたときは、他のダウンロードの最中に、同じく先へ進まなくなりました。
そして今回は、Done.1 package installed から、先へ進みませんでした。

更に長い時間、放置しておけばどうかわかりませんが、午後ずっとやっててもここまでしか進まなかったので、これ以上は続けられませんでした。
その状態の画像をUPしました。他の場所ではHello Worldまで行けたのですが、今になって上記の問題が浮上してしまいました。

現時点でもAndroidプロジェクトは作れますが、
Android Applicationでの実行(HelloWorld)ができません。
Android環境構築まで済ませたEclipseが売っていたら、助かるのですが・・・。
206デフォルトの名無しさん:2011/04/14(木) 19:17:20.60
必要なパッケージだけひとつずつインストールしてみるとか
207デフォルトの名無しさん:2011/04/14(木) 19:22:07.61
javaを独学で頑張って勉強してみましたがやはり分からないところが多く出てきましたので
いくつか質問させてください
独学なのでとんでもない質問でもご容赦ください

1)JPanelの分野です
JButton b1 = new JButton("N");
JButton b2 = new JButton("W");
JButton b3 = new JButton("S");

btn = new JButton[3];
btn[0] = new JButton("N");
btn[1] = new JButton("W");
btn[2] = new JButton("S");
はどういう違いがあり、どちらがどんな時好ましいでしょうか?

2)JPanelの分野です
getContentPane().setLayout(new GridLayout(2,2));
という文を見つけましたが、
Container contentPane = getContentPane();
contentPane.setLayout(new GridLayout(2,2));
というようにContainerの型宣言はなぜしなくてもいいのでしょうか?

3)MS明朝のようなfontがインストールされていないOS(PC1)に
自作fontをインストールしているOS(PC2)で作成したアプリを
PC1上で起動させても自作fontで表示する方法はあるのでしょうか?

よろしくお願いします
208デフォルトの名無しさん:2011/04/14(木) 19:38:37.39
>>207
1)
前者はもし全部のボタンに対して同じ処理をしたいときがあってもforループが使えなくて不便かもしれない
後者は btn[0] とか btn[1] とか番号でしかボタンを区別できず、northButton, westButton, southButton のようなわかりやすい名前を付けられない
わかりやすい名前は重要だぞ
意味不明な名前を付けてると後で見たときにわけがわからなくなる (2番のボタンってなんだっけ・・・? みたいに)

2)
変数を使う場合は、その変数を型とともに宣言しなければならない
変数を使わないなら、当然何も宣言する必要はない
前者は何の変数も使っていないから宣言する必要はない
後者は getContentPane() の戻り値を変数 contentPane に代入している
何かそうしたい理由があったんだろう (単に「なんとなく」かもしれないけど)

3)
その自作のフォントをアプリに同梱するのなら、 Font.createFont() でそのフォントファイルを読み込むことができる
209デフォルトの名無しさん:2011/04/14(木) 19:55:45.75
>>208さん
ありがとうございます
とても分かりやすかったです

「何の変数も使っていないから宣言する必要はない」というのは目から鱗でした
210デフォルトの名無しさん:2011/04/14(木) 20:00:40.21
目から糞ですか?
211デフォルトの名無しさん:2011/04/14(木) 20:11:22.47
>>205の画像です。

tt​p:/​/ww​w.d​otu​p.o​rg/​upl​oda​/ww​w.d​otu​p.o​rg1​525​759​.gi​f

​htt​p:/​/ww​w.d​otu​p.o​rg/​upl​oda​/ww​w.d​otu​p.o​rg1​525​765​.gi​f

​ttp​://​www​.do​tup​.or​g/u​plo​da/​www​.do​tup​.or​g15​257​71.​gif​

212デフォルトの名無しさん:2011/04/14(木) 20:12:23.90
>>206
必要なパッケージ、というのは、どのパッケージでしょうか。
今のままでは、Android Applicationでの実行(HelloWorld)ができません。
213デフォルトの名無しさん:2011/04/14(木) 20:21:04.23
コピペできない・・・だと・・・っ!
214207:2011/04/14(木) 21:53:44.90
いくつか質問させてください
独学なのでとんでもない質問でもご容赦ください
1)配列の分野です
JPanel[] p = new JPanel[3];

JPanel p[] = new JPanel[3];
はどう違うのでしょうか?どちらがプログラミング的に好ましいのでしょうか?

よろしくお願いします
215デフォルトの名無しさん:2011/04/14(木) 22:25:15.80
>>200
初め片方をクラスパスから外しておいて、
あとでロードするんじゃない?Javassist駆使すればなんとかなるんじゃね?
216デフォルトの名無しさん:2011/04/14(木) 22:26:11.88
>>212
Javaをアンインストール、eclipseも捨てて、イチから入れ直す
悩んでるより絶対に速い。
217デフォルトの名無しさん:2011/04/14(木) 22:28:31.82
>>214
どっちでも同じだと思うけど、
Javaではみんな上の書き方するね。(少なくともおれの周りでは。)
218デフォルトの名無しさん:2011/04/15(金) 00:26:45.33
Java初心者(川場 隆 著 わかりやすいJava入門/三谷純 著 JavaAアプリケーションづくりの初歩を読解する)程度の知識があります。

P2P技術に興味があって、JavaでP2Pプログラミングをしてみたいのですが私にはまだ早いでしょうか?

JavaでP2Pプログラミングするにあたっていい書籍とか参考サイトはありますか?
219デフォルトの名無しさん:2011/04/15(金) 01:05:27.74
あまりオススメできないな。
P2P技術ってブラックボックスな部分がたくさんあって独学でやるのは限界あるし
時間の無駄に終わることになると思うよ。
本気で興味あるならSkype社にでも入ってみれば?
220218:2011/04/15(金) 01:22:52.84
>>219
やはりお勧め出来ないですか
ブラックボックスな部分がたくさんあって独学でやるのは限界がある(現に資料を探してもなかなかいいものに巡り合えませんでした)のは分かっての質問でした。

Skype社に入れるものなら本気ではいりたいですね。
翔泳社の読解シリーズ P2Pビジネスという本を読んでいてSkypeが取り上げられていたのですが、
音声データの扱いをP2Pで限りなく0に近いコストでの実現(設備投資にお金は多少かかったようですが)など、
P2Pに余計興味を引く内容がかかれてありました。

ただ正直自分は頭良くないのでSkype社に入りたくても多分はいれない・・・;;
221デフォルトの名無しさん:2011/04/15(金) 01:31:46.95
オーバーレイ・ネットワークを構築するでもなければ、ただのノードデータベースだぞ。
222デフォルトの名無しさん:2011/04/15(金) 01:44:20.00
Skype(FastTrack)とか仕様非公開のP2Pネットワークも盛んってだけで
例えばBitTorrentやGnutellaのようにプロトコルが明らかなものも多い

P2Pといえど、結局はノード間の通信なのでネットワークプログラミングの知識が必要
関連する書籍はいくつも出ている。ただ、P2Pが非常に難しいのは、
全体を誰も把握していない状況で、各ノードを効率よく協調動作させねばならないという点
223デフォルトの名無しさん:2011/04/15(金) 02:41:28.04
>>218
読んでみたら
http://www.amazon.co.jp/Winny%E3%81%AE%E6%8A%80%E8%A1%93-%E9%87%91%E5%AD%90-%E5%8B%87/dp/4756145485

とりあえずP2Pのチャットプログラムでも組んでみれば。
224デフォルトの名無しさん:2011/04/15(金) 02:57:44.01
ここで聞いて良いかわかりませんが質問させてください。

commons-netを使用してサーバから指定したファイルをftp取得する
処理を作成しているのですが想定通りの動作をしてくれません。

FTPClientクラスのlistFiles(String)を使用してファイル一覧の取得を行いますが
空配列が返却され後続の処理で失敗します。


ググったら下記のページが出てきたので
何となくftpサーバ側の日本語のせいで失敗していることがわかったんですが、
ページ内下部の方に記載してあるparserの作り方がイマイチわかりません。
ttp://www.javaroad.jp/bbs/answer.jsp?q_id=20060824182444314

どなたかcommons-netのparser作成を行ったことがある方、
もしくは作り方がわかる方いますか?

あまり必要ないと思いますが環境は以下となります。
Solaris(サーバ)、win(クライアント)、commons-net-1.4.1


よろしくおねがいします。
225デフォルトの名無しさん:2011/04/15(金) 09:11:04.30
オライリーのJavaネットワークプログラミング
226デフォルトの名無しさん:2011/04/15(金) 14:52:39.70
interfaceで「特定のクラスを継承している事」という制限を書くことは出来ますか?
227デフォルトの名無しさん:2011/04/15(金) 14:56:51.52
>>226
無理。
それ「特定のインターフェイスを実装している事」で代用できんの?
228デフォルトの名無しさん:2011/04/15(金) 15:02:28.03
>>227
継承ベースでやってきたプロジェクトで一部インターフェースを使おうと試みているので
インターフェースへ切り替えるのは範囲が広くなっちゃうんですよね
中途半端にやろうとしても無理そうですね
229デフォルトの名無しさん:2011/04/15(金) 15:15:56.46
JLabelをマウスでドラッグしてつかんで、そのままマウスで位置を移動させる
ような仕組みを作りたいと思っています。

案としては、mousemotionlistenerを使って、
ドラッグを確認したら、マウスカーソルの位置にJLabelを移動させるというのを考えていますが、
もっとシンプルな方法があるったら教えてください。
230デフォルトの名無しさん:2011/04/15(金) 15:43:50.21
public Cell<E> add(int index, E element) {
if (index == 0) // 自分の前に挿入
return new Cell<E>(element, this);
if (next == null) // 末尾に挿入
[ A ];
else
next = next.add(index-1, element);
return this;
}

Aに入るのってなんですか?
231デフォルトの名無しさん:2011/04/15(金) 20:10:27.12
情報が足りない
232デフォルトの名無しさん:2011/04/15(金) 20:25:44.91
ぜんぜん便利そうじゃないから元から入ってるutilの使っとけばおk
233デフォルトの名無しさん:2011/04/15(金) 22:46:51.72
>>218
jxseでも使えば?
最近バージョンアップが多くてうざいけど
234207:2011/04/15(金) 23:32:34.27
いくつか質問させてください
独学なのでとんでもない質問でもご容赦ください

1)swingとAWTの分野です
JLabelとLabelはほぼ同じと考えていいですか?

2)JLabelの分野です
JLabel label = new JLabel("<html><h1>A</h1></html>");
という文を見つけたのですが、
labelをこんな方法で大文字にするのは一般的ですか?

3)フォントの分野です
java.awt.FontのFont(String name, int style, int size)と
同じようにfontのサイズを設定するクラスはswingにあるでしょうか?
見つからなかったのでawtやswing以外のほかのクラスにあるのでしょうか?
235デフォルトの名無しさん:2011/04/15(金) 23:46:47.15
いい加減節度を覚えた方がいいと思うぜ
236デフォルトの名無しさん:2011/04/16(土) 04:11:51.34
聞くばかりでまったく独学じゃないじゃないか
237デフォルトの名無しさん:2011/04/16(土) 17:14:08.92
JPanelの上に置いたコンポーネントのサイズに合わせて、
JPanelのサイズを自動調整することって実現可能?
238デフォルトの名無しさん:2011/04/16(土) 17:28:01.26
他でも質問したのですが。
ttp://www.crew.sfc.keio.ac.jp/lectures/2007s_obpro/ObjectShootingText/index_p1_c6.html#doc7_611
このサイトのサンプルなのですが
obbpro.*がインポートできません。
原因としては何が考えられますか?
開発環境はeclips Helios Service Release 1 です。

239デフォルトの名無しさん:2011/04/16(土) 17:36:24.58
>>237
レイアウトマネージャによると思われ
240237:2011/04/16(土) 17:58:43.07
>>239
BoxLayout使ってるけど
これならいけそう?
241デフォルトの名無しさん:2011/04/16(土) 20:02:21.17
Javaでチャットを作っています
サーバプログラムとクライアントプログラムを別々に用意して
ユーザーがクライアントプログラムのJTextFieldに入力した値を
サーバプログラムに送りたいのですが
どうすればいいのでしょうか
242デフォルトの名無しさん:2011/04/16(土) 20:09:31.35
Socketを使ってください
243デフォルトの名無しさん:2011/04/16(土) 21:27:41.24
guavaってどうよ?
244デフォルトの名無しさん:2011/04/16(土) 23:12:43.61
try〜catchで使ってる分を
try{
int a=0
}catch(略){
略}
return a;
みたいな感じで使いたいんですけど
当たり前のごとく変数のスコープ外なので使えません
どうにか使える方法ってありませんか?
245デフォルトの名無しさん:2011/04/16(土) 23:26:53.01
>>244
int a=0;
try{
}catch(略){
略}
return a;
246デフォルトの名無しさん:2011/04/16(土) 23:42:56.88
>>245
最初は自分もそれを考えたのですが
それだとプログラムが成り立たないもので・・

String getChatLogs(){ //Chatログ処理
try{
File LogFile=new File("C:\\java\\log.txt");
FileReader fr2=new FileReader(LogFile);
BufferedReader br2=new BufferedReader(fr2);
String s=br2.readLine();
br2.close();
return s;
}catch(IOException a){
System.out.println(a);
}

returnをnullで飛ばしたり色々やってみたんですけど上手くいきません
247デフォルトの名無しさん:2011/04/16(土) 23:50:49.86
ちょっと何いってるかよくわからないのだが、returnつけておけばそのコードでいいのでは。
248デフォルトの名無しさん:2011/04/16(土) 23:55:26.29
>>247
戻り値が入る所を
String chatLogs=getChatLogs();
としているのでStringの値を返せとEclipseさんから怒られます
249デフォルトの名無しさん:2011/04/16(土) 23:55:33.69
>>246
String s="";
try{
}catch(略){
略}
return s;
250デフォルトの名無しさん:2011/04/16(土) 23:59:49.23
return (String)null;
251デフォルトの名無しさん:2011/04/17(日) 00:00:45.39
できました!
ありがとうございます!
252デフォルトの名無しさん:2011/04/17(日) 02:01:24.60
>>249
Stringを""で初期化すんじゃねぇよ
253デフォルトの名無しさん:2011/04/17(日) 02:13:45.46
>>252
模範例を提示しないなら只のゴミレスだな

エラー発生時は""が返って呼び出し元で処理が
続行する仕様なら正しいと思うがね
254デフォルトの名無しさん:2011/04/17(日) 03:11:42.18
>>243
主にコレクション系のライブラリを結構便利につかってる。
255デフォルトの名無しさん:2011/04/17(日) 13:18:11.79
Solaris10でlog4jのsyslogAppenderを使用して、syslogに出力してるんだけど、
UTF-8が文字化けで困ってます。

WriterAppenderを継承してるclassみたいに、設定ファイルからencodeの指定を行いたいです。

OSのデフォルトの文字コードが、設定されちゃっていることが問題なんだけど、
log4jのどのソースを変えればいいんだろうか?

解説しているサイトなど知っていたら教えてください。
256デフォルトの名無しさん:2011/04/17(日) 15:26:05.56
キーが複数あるマップのスマートなやり方はどういうものでしょうか?
257デフォルトの名無しさん:2011/04/17(日) 16:41:48.17
キー状態の取得から、それに対応した処理をさせるというものなのですが
String infoState =" ";
keyState=getKeypadState();
if (((1<<Display.KEY_0)&keyState)!=0) infoState+="0";

となっています。これがKEY_1、KEY_2…と続いていきます。

0キーが押された場合、式をすべて二進数の数字に直すと(0001<<0000)&0000となってしまって条件式を満たさないように思います。
計算については何か勘違いしているのかもしれませんが見当もつきません。
どうぞご教授ください。
258デフォルトの名無しさん:2011/04/17(日) 17:02:43.89
>>257
getKeypadStateの説明は読んだか?
259デフォルトの名無しさん:2011/04/17(日) 17:51:36.33
>>258
読んできました
でも意味がわからなかったのでググって詳しく説明がされているサイトがあり
そこを読んでようやく理解しました
ありがとうございました
いや、しかし難しいですね
260デフォルトの名無しさん:2011/04/17(日) 19:26:31.47
strutsでhttpステータスを500で返すにはどうしたらいいでしょうか?
261デフォルトの名無しさん:2011/04/17(日) 19:28:17.54
俺の通ってる専門学校ではStruts何それ食えんの?状態なまま卒業するんだが、
やっぱり相当レベル低い?
262207:2011/04/17(日) 19:29:42.70
前回の質問の1)と2)は書籍やサイトなどで何とか自己解決できました
前々回質問に答えていただいた方ありがとうございました

>>234,>>235
節度なく聞くばかりと言いますが、分からないことを聞いてはいけないことですか?
今まで独学だったからこそ分からないことも多いです
独学というのは周りに聞ける人がいないことであり、それはとても大きなストレスになっています
207と分かりやすくしたのもどの程度までの進捗率かほかの方から分かるようにと思ってでしたが
批難の的になるようでしたらやめます
263デフォルトの名無しさん:2011/04/17(日) 19:37:24.38
俺が若い頃は独学以外道がなく今のようにネットもなかったから
誰に聞くこともできなかったからひとつの問題に何ヶ月も
取り組んだものだ。だから今のような環境が憎たらしいのだ。
264デフォルトの名無しさん:2011/04/17(日) 19:38:12.89
匿名掲示板なんだから,毎回初めてここに来たフリして質問して利用すりゃいいんだよ
265デフォルトの名無しさん:2011/04/17(日) 19:40:33.23
ゴミ人間の戯言などどうでもいい
266デフォルトの名無しさん:2011/04/17(日) 19:43:07.27
>>262
次から次からとあなたのような調子に乗ったゴミが湧いてくるだけなのでもう止めてください。
267デフォルトの名無しさん:2011/04/17(日) 20:03:30.35
つーか質問スレなんだから質問していいだろ。普通。
268デフォルトの名無しさん:2011/04/17(日) 20:04:37.14
別にコテハンで質問しに来ても構わんと思うよ。
ただSwingの質問に的確に答えられる人口は少ないと思うけどねw
269デフォルトの名無しさん:2011/04/17(日) 20:22:35.95
教えてクンと教えたがりの集まるスレだろ? 
調子に乗ったゴミは大歓迎じゃないの??
270デフォルトの名無しさん:2011/04/17(日) 20:33:16.06
質問するのは自由だけどこの世界、金ださないならいつまでも答えは教えてもらえないだろうね
271デフォルトの名無しさん:2011/04/17(日) 20:41:10.18
>>262
質問するのは全然わるいことじゃないんだけど
きみのはきちんとまとめすぎ
2chらしく質問すればいい
272デフォルトの名無しさん:2011/04/17(日) 20:48:09.98
2ch住人って人を不快にさせる能力だけは本当にピカ一だよね。
273デフォルトの名無しさん:2011/04/17(日) 21:15:37.99
願わくば精神を病んで欲しいとすら思ってるよ
274デフォルトの名無しさん:2011/04/17(日) 23:13:23.28
>>256
org.apache.commons.collections.map.MultiKeyMap
275デフォルトの名無しさん:2011/04/18(月) 00:46:24.35
androidアプリの本を読んでいて下記のような記述が出てきました。
Map<?> hashMap;

この?はどのような意味でしょうか?
Map<Integer,String>
とかはわかるのですが。

276デフォルトの名無しさん:2011/04/18(月) 01:54:25.27
それぐらいはさすがにネットで調べられるだろ…
277デフォルトの名無しさん:2011/04/18(月) 02:10:47.25
型が不明のMapってこと
278デフォルトの名無しさん:2011/04/18(月) 08:32:10.28
?,?じゃなくて?
279デフォルトの名無しさん:2011/04/18(月) 08:41:46.49
a instanceof b
の否定って
!(a instanceof b)
みたいにカッコかくしかない?

a == b
だったら
a != b
で書けるよね
280デフォルトの名無しさん:2011/04/18(月) 09:12:43.67
単項 ! の方が先に結合されるからカッコつけないとダメ。
281デフォルトの名無しさん:2011/04/18(月) 09:38:56.69
>>272
日本人は外では喜怒哀楽を全て愛想笑いで表現しないといけないから
ネットでは内に秘めた醜い部分が暴発するんだろう
282デフォルトの名無しさん:2011/04/18(月) 11:13:18.29
>>274
お、ありがとう。
283デフォルトの名無しさん:2011/04/18(月) 12:55:04.89
はじめまして。
質問をあげさせていただきます。(改行数でエラーとなるため分割させてます)

前任者が退職いたしまして、Java(JSP)のシステムを引き継ぐことになったのですが、
何分Java未経験で部署にもわかる方が誰もいないので、質問させていただきます。
284デフォルトの名無しさん:2011/04/18(月) 13:02:09.69
下記環境で動作している社内システムなのですが、1週間に1回の頻度で
"Failed to parse multipart request
 org.apache.commons.fileupload.FileUploadException:
  Processing of multipart/form-data request failed. Connection reset"
という、エラーが発生します(処理は毎日タスクスケジューラよりバッチ実行)
285デフォルトの名無しさん:2011/04/18(月) 13:04:26.21
multipart/form-dataというのがファイルをアップロードする際に利用するものだとはわかったのですが、
エラーの発生する処理の中にファイルアップロードの処理はありませんでした。
(全JSPにmultipart/form-dataの記載あり)

原因としては、multipart/form-dataの記述がされているところだと考えたのですが、
他のPGにも記載されており、過去のログを調査しても上記のエラーは見つかりませんでした。
286デフォルトの名無しさん:2011/04/18(月) 13:10:10.44
当方といたしましては、multipart/form-dataの記述をはずすことで、解決するのではと考えたのですが、
何分理解しきれていない言語なので、同様の事例をお持ちの方はいませんでしょうか?

補足:
エラーの発生しているPGは、前任者が退職する直前にリリースされたもので、
287デフォルトの名無しさん:2011/04/18(月) 13:16:35.96
SQLServer(当SYS)からOracle(外SYS)へデータを連携するものだそうです。
外SYSの検証用環境がないため、上から修正したら本番へアップしろとの指示がでているのですが、
テストなしで本番にあげるのは、怖いため、質問させていただきました。
よろしくお願いします。

環境
OS:WindowsServer 2008 R2 Standard 64bit
Java:JDK1.6.0_17
Tomcat:5.5.28
その他:Struts
288デフォルトの名無しさん:2011/04/18(月) 13:44:38.37
289デフォルトの名無しさん:2011/04/18(月) 17:21:38.38
public class Test {
    public static void main(String[] args) {
        list.add(new hogeImpl());
    }

    static List<hogeImpl> list = new ArrayList<hogeImpl>();
        ↑
    なんでこれダメなの?
        ↓
    List<hoge> get() {
        return list;
    }
}

interface hoge {
}

class hogeImpl implements hoge {
}
290デフォルトの名無しさん:2011/04/18(月) 17:53:16.11
>>289
型が違うから
List<? extends hoge> get() {
にすれば動くであろう
詳しくはこのあたり↓でも読んで
http://www.ibm.com/developerworks/jp/java/library/j-jtp01255/
291デフォルトの名無しさん:2011/04/18(月) 18:02:52.44
>>290
おおおおそういうことか!
初めて<? extends hoge>の意味がわかった
ありがとうございます
292デフォルトの名無しさん:2011/04/18(月) 22:27:22.84
JSPのtaglibで下のようなプロパティファイルがあって、変数${moge}に0か1が入っている時、
<fmt:message key="sex.${moge}">でデータを取得できないかと思ったのですがダメなようです。
代替手段はどんなのがあるでしょうか?タグを作り込む元のJava側で文字列に直しとくしかない?

・hoge.properties
sex.0
sex.1
293275:2011/04/18(月) 23:22:02.79
ご教示ありがとうございます。
ですが、やはりどういったものかわかりません。

>>276
お手数ですが、調べ方をお教えください。
hashmap+クエスチョンマーク・はてな等で調べても見つかりませんでした。
294デフォルトの名無しさん:2011/04/18(月) 23:24:27.77
?の使い方とかIDEに教えてもらって覚えたわ
295デフォルトの名無しさん:2011/04/18(月) 23:51:43.17
>>293
例えば List<Integer> は Integer のリストだろ?
んで List<String> は String のリストだろ?
そして List<?> は不明な型のリストをあらわす
Map も同じ
Map<Integer, String> は Integer から String へのマップ
Map<Integer, Hoge> は Integer から Hoge へのマップ
Map<Integer, ?> は Integer から不明な型へのマップ
そして Map<?, ?> は不明な型から不明な型へのマップだ!
296デフォルトの名無しさん:2011/04/19(火) 00:22:30.38
>>295
ついでに<T>も説明してくれ
297デフォルトの名無しさん:2011/04/19(火) 00:23:30.02
えー自分で調べろよー
298デフォルトの名無しさん:2011/04/19(火) 00:23:50.04
>>293
総称型、ジェネリクスあたりで調べれ
299デフォルトの名無しさん:2011/04/19(火) 01:19:49.77
さらに
Map<? extends A ? extends B>
Map<? extends A, ? super B>
Map<? super A, ? extends B>
Map<? super A, ? super B>
などの組み合わせも有るんだぜ
300デフォルトの名無しさん:2011/04/19(火) 03:48:59.58
えふぇくてぃぶじゃばだいにはんぐらいよめよー
301デフォルトの名無しさん:2011/04/19(火) 04:00:37.62
>>283
2chで聞くようなことか。
〜質問箱とかに行きな。
302デフォルトの名無しさん:2011/04/19(火) 19:01:13.35
退職する前に引継ぎしろよ
Javaの分かる奴を雇えよ
テスト環境つくっとけよ
消せば直ると考えるとかマジキチ

きっと全部消せば直るよ!

       ハ_ハ  アヒャヒャ
     ('(゚∀。∩ なおるよ?
      ヽ  〈 
       ヽヽ_)
303デフォルトの名無しさん:2011/04/19(火) 23:06:23.10
親画面のボタンが押されると、子画面を立ち上げるようにしたのですが、
親画面の下(裏)に生成されてしまいます。
子画面はJFrameを継承しており、親画面のボタンが押されたら子画面をnewして、setVisibleしています。

起動したときに最前面にする方法はありますか?
304デフォルトの名無しさん:2011/04/19(火) 23:16:03.47
JDialog
305デフォルトの名無しさん:2011/04/19(火) 23:19:36.12
>>304
JFrameでは無理ですか?
306デフォルトの名無しさん:2011/04/19(火) 23:22:33.37
setAlwaysOnTop?
307デフォルトの名無しさん:2011/04/19(火) 23:28:47.69
>>306
それは試したのですが、常時最前面に表示されてしまいました。
「起動したとき」に最前面にする方法はありませんか?
308デフォルトの名無しさん:2011/04/19(火) 23:45:09.79
http://www.wikihouse.com/java/index.php?Java%A4%C7%A5%D7%A5%ED%A5%B0%A5%E9%A5%E0%A4%F2%BB%CF%A4%E1%A4%EB%A4%BF%A4%E1%A4%CB%A4%CF%A1%A2%A4%DE%A4%BA%B2%BF%A4%F2%A4%B9%A4%EC%A4%D0%A4%A4%A4%A4%A4%CE%3F

植田 龍男 『Java言語 I(公開講座)』(稚内北星ビブリオン)
植田 龍男 『Java言語II(公開講座)』(稚内北星ビブリオン)

リンク切れてます
2011年になりましたから一度解説サイトを見直してみませんか?
309デフォルトの名無しさん:2011/04/20(水) 00:07:51.42
その起動したときっていうのがよくわらかないんだが、ボタンが押されたときってこと?
それならJFrame.setVisibleでアクティブになるはずだが。
もしならないっていうのなら、setVisibleを呼び出している場所がおかしいんじゃないか。
310デフォルトの名無しさん:2011/04/20(水) 14:42:57.46
>>301-302
ご回答ありがとうございます。
質問箱へ質問をあげてみます。

私が配属されたときには前任者は退職していました・・・。
Javaわかる外注に頼むほうがいい、といったんですがお金の関係でNGと・・・
テスト環境は前任者が自費でサーバを立ててたらしいのですが、退職と同時に持ち帰ったそうです。

正直言って、全部消したいです・・・。
311デフォルトの名無しさん:2011/04/20(水) 14:54:57.68
自費ww
超絶ブラック乙
312デフォルトの名無しさん:2011/04/20(水) 23:02:14.26
>>310
自費wwwwwwwww
そら持ち帰るわなwwww
313デフォルトの名無しさん:2011/04/20(水) 23:32:24.94
自費でテストサーバ構築せざるを得ないくらいに複雑なアプリなら、はっきりいって解決困難だろうな。
前任者もメンテ不能になることをわかっててサーバを持ち帰ったろう。
314デフォルトの名無しさん:2011/04/21(木) 15:06:49.33
引き継ぎ出来て無いじゃんw
手に負えないなら断れよ。首に成って新しいjavaが出来る担当者雇えて会社的には問題解決出来るし。

首に成りたくなければなんとかしろwww
315デフォルトの名無しさん:2011/04/21(木) 17:17:32.46
Androidのライブ壁紙を作る場合、相場はいくらですか?
また自分でJavaを1から勉強する場合のコストと比べて発注するほうが安く済みますか?
316デフォルトの名無しさん:2011/04/21(木) 17:35:34.01
今始めた初心者ですけどメモ帳でHelloWorld書いたんですけどHelloWord.javaで保存すると
HelloWord.java.txtで保存されてコンバイルもできないんですけど
javaファイルという拡張子があるんですか?

なんかインストール必要なんですか?
317デフォルトの名無しさん:2011/04/21(木) 17:46:58.09
>>316
メモ帳が悪い。エクスプローラでファイル名を直せ。
それも分からないならwindowsから勉強しろ。
318デフォルトの名無しさん:2011/04/21(木) 17:48:03.37
自己解決しました
アホなこと書いてしまった
319デフォルトの名無しさん:2011/04/21(木) 17:48:46.12
>>317
すいません
スレ汚しました
320デフォルトの名無しさん:2011/04/21(木) 17:50:13.26
321デフォルトの名無しさん:2011/04/21(木) 17:50:54.54
リロードしてなかった 解決済みか
322デフォルトの名無しさん:2011/04/21(木) 20:58:04.23
>>309
はい、ボタンが押されたときです。
setVisibleのタイミングですか。。
323デフォルトの名無しさん:2011/04/21(木) 21:07:03.63
>>309
簡易なテストのプログラムでは普通に表に出せました。
よくわからないです…
324デフォルトの名無しさん:2011/04/21(木) 21:14:42.33
その簡易なプログラムにコードを追加して元のプログラムに近付けていくか
元のプログラムからコードを削って簡易にしていけば
どこで違ってくるのか境界線が判明するはず
325デフォルトの名無しさん:2011/04/21(木) 21:24:23.73
>>324
ええ。
調べてみます。

ありがとうございました。
326デフォルトの名無しさん:2011/04/22(金) 00:52:24.31
Hibernateで1テーブルを全件SELECTして画面に表示する処理を書いたところ、毎回3回ずつメソッドが呼ばれます。
正常な動作でしょうか?
327デフォルトの名無しさん:2011/04/22(金) 01:18:31.50
抽象的で申し訳でjavaで以下のようなリストを作成するには
javaのなにを勉強すればいいですか?

名前  数学 国語 英語
Aさん  90 80 20
Bさん  80 70 10
以下同様に複数人あり。

このようなリストを作成して数学、国語、英語をクリックすると点数が高い順と低い順に
ソートされる。

申し訳ないですが先輩方、ヒントをよろしくお願いします。
328デフォルトの名無しさん:2011/04/22(金) 01:23:46.19
ウィンドウ出してエクセルみたいに表示したいのか
Webサイト上でそういうページを作りたいのか
ウィンドウ出して、エクセルみたいなことしたいならSwingの基本を学んで
あとはJTableのapidoc熟読すればできるんじゃない
329デフォルトの名無しさん:2011/04/22(金) 01:49:20.63
>>328
まさにこれが知りたかったのです。
ありがとウサギ
330デフォルトの名無しさん:2011/04/22(金) 09:48:44.49
とほほのjavaで勉強するのはこのスレ的におすすめですか?
331デフォルトの名無しさん:2011/04/22(金) 11:41:05.42
ちょっと見てみたけど情報が古いからお勧めはできないかな
ジェネリックの解説がないのはちょっと
332デフォルトの名無しさん:2011/04/22(金) 13:14:03.07
初心者です
アプレットファイルを作りブラウザで表示した時の場合、そのアプレットファイルを変更してコンパイルして、
再度ブラウザで表示すると変更前のアプレットが表示されます。
333デフォルトの名無しさん:2011/04/22(金) 13:16:10.12
ブラウザを一旦閉じてから開いてアプレットを表示させると、ちゃんと変更したアプレットになっています。
アプレットを変更した後に、一々ブラウザを再起動して確認している状態です。
何故なんでしょう、どなたかお教えください、よろしくお願いします。
334デフォルトの名無しさん:2011/04/22(金) 13:48:35.30
キャッシュとかかな?
335デフォルトの名無しさん:2011/04/22(金) 16:13:12.16
Ctrl+F5とかで強制更新されないのか
336デフォルトの名無しさん:2011/04/22(金) 16:17:03.66
オススメの問題集教えて下さい
337デフォルトの名無しさん:2011/04/22(金) 16:18:33.59
2chの宿題スレ
338デフォルトの名無しさん:2011/04/22(金) 16:35:57.71
public class SimpleSlideShow extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

// レイアウト上のImageViewMainを変数imageViewMainに代入
ImageView imageViewMain
  = (ImageView)findViewById(R.id.ImageViewMain);
// リソース画像sampleをimageViewMainにセット
imageViewMain.setImageResource(R.drawable.sample);
}


これどこか間違ってるんでしょうか?
339338:2011/04/22(金) 17:53:19.25
自己解決しました
340デフォルトの名無しさん:2011/04/22(金) 17:57:47.40
宿題スレってまだ機能してるのか?
341デフォルトの名無しさん:2011/04/22(金) 19:26:53.31
Javaの宿題スレだけ誰も立てないね。
需要ないから?
342デフォルトの名無しさん:2011/04/22(金) 20:50:49.34
助けて下さい

来週火曜日の朝までに提出なんですけどまったくわかりません

CをXの立方根の推定値とすると、下記の式はさらによいXの立方根の推定値となる。Xの立方根を五桁の精度で求めるプログラムを作成しなさい。プログラムは複数のクラスを定義して作成すること。

C=C−(C∧3ーX/3C∧2)
右辺はCの3乗-X/3Cの2乗
です。誰か助けて下さい…
343デフォルトの名無しさん:2011/04/22(金) 21:24:21.90
ありがとうございます
とほほのJavaはやめたいと思います
おすすめの初心者サイトってありませんか
344デフォルトの名無しさん:2011/04/22(金) 21:59:26.69
345デフォルトの名無しさん:2011/04/22(金) 22:08:33.57
>>342
漸化式は与えられているので
ニュートン法を理解していなくても問題は解ける
分からない分からないって、何が分からんのだ
346344:2011/04/22(金) 22:14:29.54
>>342
>プログラムは複数のクラスを定義して作成すること。
を忘れていました。訂正します。
http://hibari.2ch.net/test/read.cgi/tech/1295273862/492
347デフォルトの名無しさん:2011/04/23(土) 09:45:53.14
>>343
ジェネリクスがなんだか分かってるのか?
javaに限らないが、新しいほど初心者には分かりにくい機能が多くなる。
とほほ…をほぼ読み切れるぐらいなってから、新しい部分を他で見るでも良いじゃないか。
348デフォルトの名無しさん:2011/04/23(土) 12:14:37.05
初心者はとほほでFA?
349デフォルトの名無しさん:2011/04/23(土) 12:20:10.34
そんな名前のサイト見てる自分に嫌気がささなければいいんじゃね
350デフォルトの名無しさん:2011/04/23(土) 13:10:19.87
とほほはダメと言われ
とほほでやれと言われ
本当初心者の足を引っ張るのが大好きなバカが少数いるスレで大変だな
351デフォルトの名無しさん:2011/04/23(土) 14:12:22.36
ある文字列から正規表現に部分一致する文字列を抽出したいと考えています。

元の文字列:ほげほげほげ2011年04月23日ほげほげほげ
抽出したい文字列:2011年04月23日
使うであろう正規表現:\\d{4}年\\d{2}月\\d{2}日

部分一致するかどうかはMatcherのfindメソッドで判定できますが、
部分文字列の抽出の方法はわかりませんでした。

もし正規表現でできるのであれば、どなたかお教えください。
352デフォルトの名無しさん:2011/04/23(土) 14:26:55.11
>>351
Matcherのgroup()で取れる
353デフォルトの名無しさん:2011/04/23(土) 14:30:33.42
ジャバで正規表現をやろうなんておまえじゃ無理無理
354デフォルトの名無しさん:2011/04/23(土) 14:39:50.27
javaを解説したHPはたくさんると思うのですが、
プログラムまったく未経験者に詳しい解説がなされているようなHPや参考書
を教えていただけませんでしょうか。できればサンプルプログラムのコードのひとつひとつが
何を意味してるのか解説されているようなのがいいです。

結城氏のJava言語プログラミングレッスンを勧められて購入したのですが
プログラム経験者には分かりやすいと思うのですが
やさしい言葉で書かれていてもプログラムが初めての人間には
各項目の詳しい解説が大雑把で先のページを読まないとわからないような
例題とかが出てきて非常に分かりづらい展開で挫折しそうです。

355 ◆QZaw55cn4c :2011/04/23(土) 14:41:30.01
>>354
50% 位わかったら、かまわず先に進むのも一つの手です。
356デフォルトの名無しさん:2011/04/23(土) 14:44:35.70
プログラミングなんて今時無料のIDEあるんだから
何かしら書いてデバッグして繰り返せば馬鹿でも最低限のレベルは覚える
357デフォルトの名無しさん:2011/04/23(土) 14:46:59.66
自演乙
358 [―{}@{}@{}-] デフォルトの名無しさん:2011/04/23(土) 14:49:37.31
麻奈タンの「やさしいJava」なら最後まで読み進められるんじゃないかな
ただこの本ではサンプルコードを超えて自作でプログラムを作れるようにはならないとは思うが
359デフォルトの名無しさん:2011/04/23(土) 18:54:03.69
Androidアプリを作成する目的のみでJavaを学習したいのですが
http://www.eclipse.org/downloads/のどれを利用したらよいのかわかりません
jspやアプレットは作る予定は今後も無いのですがEclipse ClassicとJava DevelopersとJava EE DevelopersとIDE for Java and Report Developersのどれをインストールするものなんでしょうか?
360デフォルトの名無しさん:2011/04/23(土) 19:10:52.75
>>359
Eclipse IDE for Java Developers でなんの不足もない
ただでさえAndroidエミュが重くてじれったいのにeclipseまで不必要に重くすることはない
361デフォルトの名無しさん:2011/04/23(土) 20:23:07.04
>>359
いちおうClassicがオススメだと書いてある
http://developer.android.com/sdk/installing.html
> The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.
362デフォルトの名無しさん:2011/04/23(土) 20:59:50.12
>>359
うえの3つ(Java Developers, Java EE Developers, Classic)以外をあえて使ってる人はかなりの変態とみて間違いない
つうかHeliosは重くてあまり好きじゃないので、プロジェクトで決まってるとかでなければあえてGalileo使うこともある。
363デフォルトの名無しさん:2011/04/23(土) 21:30:26.75
342です。本当にありがとうございました。なんとお礼を申し上げればいいか…
364デフォルトの名無しさん:2011/04/23(土) 21:37:12.68
Java DevelopersとClassicどちらかちゃんと決めてDLしてみます
ダウンロードに8時間かかるので今日は作業できませんが明日試してみたいと思います
ありがとうございます
365デフォルトの名無しさん:2011/04/23(土) 21:40:07.44
8時間って回線が細いってこと?
それじゃAndroidSDK落とすのも大変だなw
余計なお世話だけど
366デフォルトの名無しさん:2011/04/23(土) 21:41:36.62
GAEでHTMLを載せたいのですが
EclipseでGAEのプロジェクトを作ると以下のようなコードが自動生成されました
--------------------------
package Hajimetenogae;

import java.io.IOException;
import javax.servlet.http.*;

@SuppressWarnings("serial")
public class BookServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.setContentType("text/plain");
resp.getWriter().println("Hello, world");
}
}
----------------------
HTMLを埋め込みたいのですが、JavaにはPHPのようにヒアドキュメントで文字列を書く方法はございませんでしょうか?
<html>〜略〜</html>って書くために1行ずつresp.getWriter().println(〜);を書かないといけないのでしょうか?

367デフォルトの名無しさん:2011/04/23(土) 21:59:48.87
JSPというものがあります
368デフォルトの名無しさん:2011/04/23(土) 22:55:04.13
最近Javaを始めた者です
Picというクラスに描画を行うDrawを組み込んで
Graphics2D g2を渡すと描画してくれるようにしたいんですが

class Pic{
void Draw(Graphics2D g2){
g2.drawImage(image, x, y,this);
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
}
}
とするとシンボルを見つけられないと出てうまくいきません
どうすればいいんでしょうか?
369デフォルトの名無しさん:2011/04/23(土) 23:06:29.71
imageとxとyはどこにいるの
370デフォルトの名無しさん:2011/04/23(土) 23:50:52.05
Picのメンバ変数です
一応imageには画像を既に読み込み済み、xとyはちゃんと値が入れてあります
ちゃんと主となるクラスのコンストラクタでnewして作成はしています

public class AAA{
public static void main(String args[])
}
class MyCanvas extends Canvas{
public void paint(Graphics g)
}
class Pic{}
という感じになってまして
newしたMyCanvasをAAAメンバのJFrameに貼り付けてあります

MyCanvasのpaintにPic.Draw(g)を書いて描画させたいんですが・・・
371デフォルトの名無しさん:2011/04/24(日) 00:03:19.90
いやなんというか
シンボルが見つからないってCでいうincludeされてない型・関数、宣言されてない変数があるって意味だと思うんですけど
Cのときは宣言するなり、includeしてしまえばいいわけですが
Javaのときはどうすればいいの?
372デフォルトの名無しさん:2011/04/24(日) 00:13:11.35
importすればいいのでは
373デフォルトの名無しさん:2011/04/24(日) 00:13:48.89
GAEでJSPは使えませんよ
374デフォルトの名無しさん:2011/04/24(日) 00:17:27.52
375デフォルトの名無しさん:2011/04/24(日) 00:39:03.90
Swingのパネル上のコンポーネント配置で
水平中央+垂直中央配置(パネルのど真ん中に配置)するには
どのようなレイアウトを使えばよいですか?
376デフォルトの名無しさん:2011/04/24(日) 00:48:19.08
1x1のGridBagLayoutかな・・・
377デフォルトの名無しさん:2011/04/24(日) 01:20:50.36
>>376
ありがとうございます
378デフォルトの名無しさん:2011/04/24(日) 09:34:34.03
>>370
みんなが飽きるまで情報を小出しにできれば君の勝ちだ
379デフォルトの名無しさん:2011/04/24(日) 10:49:59.07
つうかJSPって今使ってる企業あんのか?
380デフォルトの名無しさん:2011/04/24(日) 10:58:12.27
俺は使ってるけど。。。
381デフォルトの名無しさん:2011/04/24(日) 11:11:29.05
eclipseにandroid sdk入れてファイルサイズ測ったら500MB超えてるって開発環境でこれは異常だろ
382デフォルトの名無しさん:2011/04/24(日) 11:34:51.08
>>381
XilinxのiSEは10Gいってるかも
383デフォルトの名無しさん:2011/04/24(日) 19:57:18.43
キーボード入力した文字から、一番最後の文字を抜き出すのはどうやって書けばいいいのかわかる人いますか?
384デフォルトの名無しさん:2011/04/24(日) 20:01:54.20
length と charAt じゃだめですか?
385デフォルトの名無しさん:2011/04/24(日) 20:05:00.86
>> 384
キーボードで出力させるのをstr1とした場合どう書いていいのか教えてもらえますか?
386デフォルトの名無しさん:2011/04/25(月) 10:12:20.64
jsf2.0って普及してる?
387デフォルトの名無しさん:2011/04/25(月) 12:10:42.54
プログラムと機能にJava(TM) 6 Update 20とJava(TM) 6 Update 24があるのですが
20のほうは消しても問題ないのでしょうか?
388デフォルトの名無しさん:2011/04/25(月) 12:33:21.98
「7」と「10」と「最新」のと「最新の一つ前」以外は消してるな。
7から10の時にずいぶんバグが混入しているので
389 【東電 81.0 %】 忍法帖【Lv=7,xxxP】 :2011/04/25(月) 13:00:04.65
JavaDBのDBをjarに格納して、DB検索できるプログラムを
Java Web Startで配布するSwingアプリケーションとして作ろうと思うんだけど
データベースのファイルをjarの中に入れても動くかな?
データベース保存場所を相対パスに指定ってできるかな?
それとも、Preferences APIを使うかユーザーにデータベース保存ディレクトリを指定させる形式をとらないと動かないかな?
390デフォルトの名無しさん:2011/04/25(月) 15:42:30.35
391 【東電 80.7 %】 忍法帖【Lv=8,xxxP】 :2011/04/25(月) 18:03:08.20
>>390
なるほど。あんがとー。

謎が解けた。
修正可能なDBを扱うには
一旦JarからDBファイルをコピーしてOSのどこかに保存するコードも必要ってことか。
392デフォルトの名無しさん:2011/04/25(月) 19:38:13.73
ttp://quercus.caucho.com/で配布されているQuercus 4.0.11のソースコードをダウンロードして修正しました。
一部、コードを修正して利用したいのですが、Windowsでどのようにコンパイルするのかご教示頂けませんでしょうか

393392:2011/04/25(月) 20:01:16.33
すいません、ここまで調べられました
apache antでコンパイルできるそうでした
C:\test\に修正したquercus-4.0.11-src.jarとinject-16.jarとjavamail-141.jarを入れます
(inject-16.jarとjavamail-141.jarはバイナリ版のほうに入っていますのでそこから取ります)
コマンドプロンプトからC:\test\にカレントディレクトリを移動させて、antコマンドを実行しました。
そうしたら以下のようなメッセージがでました。
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
Buildfile: build.xml does not exist!
Build failed


C:\Program Files\Java\jre6\lib\tools.jarがそもそも存在しません。
C:\Program Files\Java\jdk1.6.0_23\lib\tools.jarはあります。
なのでjdk1.6.0_23のほうからjre6にtools.jarを入れて再度antコマンドを実行したら
Buildfile: build.xml does not exist!
Build failed
と1つエラーが減りました。

build.xmlをtestフォルダに作成したのですが、これにどのような記述をしたらよいのかわかりません。
お力添えをお願いいたします
394デフォルトの名無しさん:2011/04/25(月) 22:01:25.98
フィボナッチ数列の第50までの和を求めようと以下のプログラムを書きました

public static void main(String[] args) {

int a1=1;
int a2=1;
int a=0;
for(int i=0; i<50; i++){
a=a1+a2;
a2=a1;
a1=a;
}
System.out.println(a);
}
実行してみると-1408458269となって-の値になってしまいます
どこが違うのでしょうか?
395デフォルトの名無しさん:2011/04/25(月) 22:09:32.58
intじゃ桁数が足りない
396デフォルトの名無しさん:2011/04/25(月) 22:13:12.14
>>394
forの中でsysoutしてみそ
397デフォルトの名無しさん:2011/04/25(月) 22:27:57.78
めんどくさいから全部BigIntegerでいいよ
398デフォルトの名無しさん:2011/04/25(月) 22:36:08.63
>>395-396
出来ました
範囲外になると-になるの知りませんでした
ありがとうございます
399デフォルトの名無しさん:2011/04/26(火) 00:13:45.05
質問です
基本的なことですが…
フレームワークを使ったJAVAアプリケーションで、
フレームワークではJAVAバリバリなのに業務側のプログラムなったらオブジェクト指向がすっぽ抜けて全体的にきったないプログラムになってしまったことありませんか?
そのようになるのはいたしかたないのでしょうか、またはそんなんなるわけないような指導やクラス構成の作り方があれば教えてください
400デフォルトの名無しさん:2011/04/26(火) 00:33:34.44
やっぱりjavaも日本語も言語にはかわりないってことじゃないでしょうか?
401デフォルトの名無しさん:2011/04/26(火) 00:38:23.73
相手にするなハゲ
402デフォルトの名無しさん:2011/04/26(火) 02:13:59.62
>>399
つドメイン駆動設計
403デフォルトの名無しさん:2011/04/26(火) 10:58:07.50
import java.lang.Math;

public class NewtonMethod {
public static void main(String args[]){
double x = 0.785;
while (true){
double x2 = x * 2;
double xN = x - (Math.cos(x2) - x2 + 1)/(- 2 * Math.sin(x2) - 2);
if (xN >= x){
break;
}
x = xN;
}
System.out.println(x);
}
}

これを複数のクラスを定義して作成する方法に変えるにはどうしたらいいのでしょうか?
404デフォルトの名無しさん:2011/04/26(火) 11:06:27.38
その程度をクラスにする必要ないじゃん
なんのために切り分けたいの?
これだけじゃわからん
405デフォルトの名無しさん:2011/04/26(火) 11:18:58.69
元の問題は「ニュートン・ラプソン法で次の式の根を有効数字6桁で求めるプログラムを作成しなさい。
プログラムは複数のクラスを定義して作成すること。cosX=√x」
で複数のクラスを定義しろという文を見逃して作成してしまっていました。
406デフォルトの名無しさん:2011/04/26(火) 11:32:49.07
それなら、まず関数に出来る部分を切り出す。
その関数の可変部分をメンバ変数とするクラスをつくる。
そのクラスのコンストラクタに引数を渡して使用する。
という手順が宿題としては妥当では?
407デフォルトの名無しさん:2011/04/26(火) 11:35:16.56
もとい、不変部分を定数としてもつクラスを作る、かな?この場合は。
可変部分をコンストラクタなりメソッドなりに渡して使用する、だね。
408デフォルトの名無しさん:2011/04/26(火) 18:27:08.89
質問です。
不正な日付を例外にて検知したいのですが例外が発生せず困ってます。
お手上げです…

String value = "2011/04/1a";
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
format.setLenient(false);
try{
format.parse(value);
} catch(Exception e){
// valueが2011/04/00であれば例外発生
}
409デフォルトの名無しさん:2011/04/26(火) 19:30:36.80
2011/04/1a を 2011/04/a1 などいろいろ変更して試してみろ
410デフォルトの名無しさん:2011/04/26(火) 19:33:55.90
411 【東電 83.2 %】 忍法帖【Lv=11,xxxPT】 :2011/04/26(火) 20:51:04.98
>>398
20数桁以上はBigIntegerでないとオーバーするんだよね
ついでにいうと、再帰関数つかったほうが高速化するぞ
412デフォルトの名無しさん:2011/04/26(火) 21:17:11.32
SimpleDateFormatって末尾の文字を無視するんだね
他にチェック追加するほうがいい気がする
うまくいくかわからないけど解決策として

String format = "yyyy/MM/dd";
String value = "2011/04/1a";
String parity = "/" + value;
SimpleDateFormat f = new SimpleDateFormat(format + parity);
f.setLenient(false);
System.out.println(f.parse(value + parity));
413デフォルトの名無しさん:2011/04/26(火) 21:18:35.75
>>412
一回Dateにパースして検査したらいいだろう
414デフォルトの名無しさん:2011/04/26(火) 21:23:04.67
失礼、上のレス読まなかったわ
415 【東電 80.3 %】 忍法帖【Lv=40,xxxPT】 :2011/04/26(火) 22:13:40.73
>>393
おい
build.xmlがなきゃAntが動作できないのは当たり前だ。
どこかにbuild.xmlがあるはずだ。
416 【東電 80.3 %】 忍法帖【Lv=12,xxxPT】 :2011/04/26(火) 22:14:41.17
>>399
『アジャイルソフトウェア開発の奥義』を読めば設計方法がわかる
417392:2011/04/26(火) 23:01:24.12
>>415
build.xmlがソースと一緒に入ってると思ったんですけど見当たりませんでした
不具合を修正して公開したかったのですがコンパイルに関してのこれ以上の知識が私には無いため断念します
418デフォルトの名無しさん:2011/04/26(火) 23:37:30.81
399です。
先輩方本当にありがとうございます。
でも、うちの仕事場ではクラス設計している暇がありません。もちろん教わる場もありません。
皆さんはどうやってその知識を持つに至ったのでしょうか?
それともこんな基本的なことがわからないならプログラマを辞めるべきなんでしょうか。ぺっ
419 【東電 75.5 %】 忍法帖【Lv=13,xxxPT】 :2011/04/26(火) 23:42:49.27
>>403
> import java.lang.Math;

この部分不要なんだが、なぜ入れたんだ?
420 [―{}@{}@{}-] デフォルトの名無しさん:2011/04/26(火) 23:45:05.38
C言語で大規模なプログラムを書くことを経験すべき
なぜ昔の人がC言語だけでは駄目でC++やJavaを作ったのかを理解すべき
クラス設計とかオブジェクト指向とかを身に付けたいという姿勢ではなく
分かりやすく改造に強いプログラムとは何かということを追求すべき
経験を積めば段々分かってくるとにかく口を動かす暇があるなら手を動かせ
もしくはあきらめろ
421デフォルトの名無しさん:2011/04/26(火) 23:49:19.51
>>419
static importをやろうとして
失敗したように見えなくもない
422 【東電 75.5 %】 忍法帖【Lv=14,xxxPT】 :2011/04/27(水) 00:06:44.18
>>417
Antはコンパイラじゃない。ビルドツール。
Antでコンパイルするといっても、Antがコンパイルを実行するときには(Windowsなら)javac.exeを実行する。

http://caucho.com/download/quercus-4.0.11-src.jar
をダウンロードしたがbuild.xmlなんぞ見つからなかった。
Antでコンパイルできるなんぞどこに書いてあったんだ?
Subversionのリポジトリが公開されているから、ここからチェックアウトしたほうが速いんじゃないのかね。
svn://svn.caucho.com/resin/trunk/modules/quercus

>>418
初心者には結城浩の『Java言語で学ぶデザインパターン入門』なんかがクラスの作り方を
勉強する上でかなり役立つ。こういうところから勉強していくもの。
他に、『Effective Java』もお奨め。内容がJava5以前のバージョンのもので古いが『Javaの鉄則』『Javaの格言』もいい。
『アジャイルソフトウェア開発の奥義』は内容がこすぎて読む時間が足りないかも知れないが
デザインパターン入門は読みやすく初心者にはわかりやすい。
あれをマスターしたら『Effective Java』やIBMのDeveloper Worksの記事でも読めばさらに理解が深まるだろう。
423デフォルトの名無しさん:2011/04/27(水) 00:41:21.02
IPメガネってどうやってだすんだっけか
424デフォルトの名無しさん:2011/04/27(水) 07:28:51.43
サーブレットのFilterのなかでDAOを使うにあたり、Springインジェクション(デフォルトだとSingleton)て使っても問題ないのでしょうか?
イメージ的にはFilterってある程度独立して動いたほうがいい気がするのですが。フィールド変数もどの程度使っていいものか。
425デフォルトの名無しさん:2011/04/27(水) 14:41:15.86
javax.xml.bind.annotationを使って外部XMLファイルからクラスのフィールドを初期化したり
インスタンスが作られたりするクラスがたくさんあるんですが、
ほとんどのクラスは成功するのにあるクラスだけインスタンス化されません。
しかしエラーメッセージも出ないのでどうなっているのか分かりません。
どうデバッグすればいいんでしょうか?
426デフォルトの名無しさん:2011/04/27(水) 19:42:18.60
Javaって本買わなくてもネットで大丈夫?
427デフォルトの名無しさん:2011/04/27(水) 19:53:17.59
全然大丈夫
428デフォルトの名無しさん:2011/04/27(水) 21:06:14.33
>>427
ありがとうございます!
429デフォルトの名無しさん:2011/04/27(水) 21:18:55.45
JSPを覚えたいのですが、例えるとこういうものと認識してよいのでしょうか?
JSP=HTMLにPHPコード<?PHP〜?>を埋め込んで使う感じ
サーブレット=PHPをHTMLに埋め込まず、PHPコードがメイン。HTMLを埋め込む場合はechoかprintで出力する感じ。

また、JSPとサーブレットはどちらがサイト作成に使われるものでしょうか?
430デフォルトの名無しさん:2011/04/27(水) 21:47:32.99
>>418
おれは、新人のとき、やる気だけはあったので、よく技術本を読んでたんだけど、なかなかオブジェクト指向を理解できなかった。
ある時、本を読んでも、書けないことに気づいた。本には現実離れした例ばかりだしな。
乗り物interface、自動車Abstractクラス、スーパーカー具象クラスとか業務であるかよって例でしょwwww

で、どうしたかというと小さめのオープンソースのコードを読んで、
ベテランはどういうクラス構造にするか、どういうメソッドを作るかをいうのを研究し、
実際の仕事で似たものを作ってみたり、まぁ初めは「お前Abstractって書きたいだけだろwみたいなコード」だったんだが、
だんだん理解が深まったよ。参考になれば。
431デフォルトの名無しさん:2011/04/27(水) 21:58:41.00
>>422
ありがとうございますまじで。
結城さんってギコのデザパタのサイトの方ですよね?とてもわかりやすかったですしおすすめとあればやっぱり買います。
デザインパターン、自分で調べはじめてからやっと言語を超えたプログラミングの楽しさがわかりました。
ただ、どうしてもプロジェクトの規約によっては業務側の形がダサくなることにイライラしてました。
そこは以前教えていただいたドメイン駆動設計ってのを勉強していこうと思います
432デフォルトの名無しさん:2011/04/27(水) 22:03:26.74
>>430
わかりますたぶん今の私も「おまえインターフェース使いたいだけだろ」状態です。
使ってみたらわかりました。業務側ではあまり使いどころがないw
でもそんな業務側を変えてやりたい一心で勉強しますっーか、まず小さいプロジェクトを作ってみます。ありがとうございました!
433デフォルトの名無しさん:2011/04/27(水) 22:08:09.62
無理数をprintfを使って√のまま表示するときは
どういうふうに書けばいいですか?
%4fとか書くと小数点になってしまいます
434デフォルトの名無しさん:2011/04/27(水) 22:38:54.38
計算する際にdoubleの精度より下の桁は切り捨てられ有理化してしまいますので、
その時点ですでに小数点になっており、元が何であったかは記憶されていません
記憶されていないものを表示させることはできません
平方根を取る前の値を自分で覚えておき、表示してください
435デフォルトの名無しさん:2011/04/28(木) 00:35:02.04
>>430
昔はいい本があまりなかったのもあると思うよ
特に入門書は今でも微妙なものが多いし、
かといって一足飛びにデザインパターンだ!!ってことでGoF本に突撃しても
たぶん大部分の初心者は理解出来ない

最近は『オブジェクト指向のこころ』とか、まともに読めて有益な書籍がある
436デフォルトの名無しさん:2011/04/28(木) 01:03:28.42
interfaceとかabstractって理解するまでが大変なんだよね。
ちなみに私はAndroidのソースコードを半年ほど研究して自由に使えるようになった。
Androidフレームワークの車輪を再発明してるとinterfaceの使い所なんてのも分かるようになった。

その結果、
abstractはドリルで穴が空けられた樽で、その穴に蛇口を付ける事が出来る物
interfaceは樽やドラム缶にドリルで穴を空けてそこに蛇口を付ける行為
と定義する事が一番自然な形に近い事が分かった。
車とかに例えるよりこっちの方が分かりやすいと思うんだけどなぁ
437デフォルトの名無しさん:2011/04/28(木) 01:43:19.86
>>434
分かりました
ありがとうございます
438デフォルトの名無しさん:2011/04/28(木) 03:54:40.87
Java仮想機械のガベコレは世界一なの?
439デフォルトの名無しさん:2011/04/28(木) 07:50:38.57
interfaceは逃げ、abstractはマンドクセ
これが俺の理解
440デフォルトの名無しさん:2011/04/28(木) 09:56:09.76
javaでhtmlを読み込んでpdfに変換して欲しいとのとんでもない要求を出されたのですが、そんな方法やライブラリはあるでしょうか?
441デフォルトの名無しさん:2011/04/28(木) 10:04:12.15
ググれカス
お前に要求を出した事自体がとんでもハップン歩いて5分
442デフォルトの名無しさん:2011/04/28(木) 10:32:54.12
Eclipseでブレークポイントで止めている間にコードを書き換えたら反映されますか?
443デフォルトの名無しさん:2011/04/28(木) 12:21:38.44
場所によっては
444デフォルトの名無しさん:2011/04/28(木) 15:52:01.35
eをマクローリン展開をして第15項で打ち切って近似値を出したくて
下のように書いたのですがうまくいきません
どこがおかしいのでしょうか?
public static void main(String[] args) {

double sum = 1.0;

for(int i=1; i<15; i++){
sum = sum + 1/fact(i);
}

System.out.print(sum);
}

static int fact(int n){
if(n<=0){
return 1;
}else{
return n*fact(n-1);
}
}
445デフォルトの名無しさん:2011/04/28(木) 16:32:15.33
1/fact(i)
1.0/fact(i)
446デフォルトの名無しさん:2011/04/28(木) 17:15:06.86
>>445
ありがとうございます
447デフォルトの名無しさん:2011/04/28(木) 17:24:21.75
>>426
昔は本買ったほうが勉強しやすかった。
今は買わなくても学べるサイトがいくらかある。だが本を買ったほうが効率がよい場合もある。
とくに特定分野に関することや応用的なことに関しては書籍のほうが
習得が早い場合もある。書籍がネットより学習しやすい点はパラパラと本を捲って
ざっと概要を掴めること。

>>429
使い方としてはそれに近いが
厳密には違う。
JSPは初回実行時にHttpServletを継承したクラスに変換して
workディレクトリにソースコードを生成してその場でコンパイルしてから実行する。

基本、JSPとServletは併用するもの。
昔からよく使われていたのがMVCアーキテクチャでJSPがView、ServletがController、DB等がModelとして扱われるもの。

PHPやASPそっくりな素のJSPはいろいろ問題があったから、
Apache Struts、Apache Tapestry、Java Server Facesといった技術が登場してきた。
今じゃこれらの技術も完全枯れてしまったか時代遅れかもしれん。

>>430
オブジェクト指向なんて、理系分野の理論を勉強する感覚だ。たとえば電気回路でオームの法則の共振回路を勉強したって
複素数やらなにやらが沢山出てきて最初はまったく意味不明で、勉強しているうちに、あるときにハッと理解できるようになる。

>>431
ギコのデザインパターン、そんなのあったね。マルチスレッド編より先に、マルチスレッド編でないほうから読んだほうがいいのではないかと。

>>435
GoF本は難しいから、だから結城浩の『Java言語で学ぶデザインパターン入門』がお奨めなんだが。
あれならすぐに理解できうかと。あの本を読んでinterfaceや抽象クラスを効率よく使う方法がわかった。
448 【東電 79.7 %】 忍法帖【Lv=18,xxxPT】 :2011/04/28(木) 17:34:53.05
>>433
C++のSTLにはRationalクラスというのがあり…
だがIrrationalクラスはなかったな
Javaにも似たようなのがどっかにあったな
有料版で。


MATLABのsymlinkなら変数をシンボルに変換して
そういうことができるんだが
Javaでは個人か組織が作っているそういうAPIを探さなければ無理。

Apache Commons Mathには複素数を扱うComplexクラスがあるが
449 【東電 79.7 %】 忍法帖【Lv=19,xxxPT】 :2011/04/28(木) 17:47:10.13
>>436
> その結果、
> abstractはドリルで穴が空けられた樽で、その穴に蛇口を付ける事が出来る物
> interfaceは樽やドラム缶にドリルで穴を空けてそこに蛇口を付ける行為
> と定義する事が一番自然な形に近い事が分かった。
> 車とかに例えるよりこっちの方が分かりやすいと思うんだけどなぁ

それだと多重継承を説明するのにちょっと

>>440
それをJavaで作る必要があるのか?
すでにHTMLをPDFに変換するソフトならいくらでもあるぞ。

どうしても作りたければこのAPIで作れるのでは。
http://www.itextpdf.com/
日本語を含むHTMLも変換するにはiText.jarに加えてiTextAsian.jarも必要な。
450デフォルトの名無しさん:2011/04/28(木) 22:13:44.73
> abstractはドリルで穴が空けられた樽で、その穴に蛇口を付ける事が出来る物
> interfaceは樽やドラム缶にドリルで穴を空けてそこに蛇口を付ける行為

こんな分かりにくい説明初めて見たわw
451デフォルトの名無しさん:2011/04/29(金) 09:52:48.77
interfaceは外部の都合
abstractは内部の都合

外部から共通に呼び出したいならinterfaceを使うし
内部で共通の処理を持ちたいならabstractを使う

だからabstractクラスは外部に開放されるべきではない

だから多くの場合は外に見せるためにinterface作って
さらに内部の処理をまとめるためにabstractを作る
452デフォルトの名無しさん:2011/04/29(金) 12:13:18.37
イベント的なメソッド作りたいな。Abstractにして、onXxxx()っていう抽象メソッドつくるかな。とか、
あー、ファクトリ作ろうとしてたけど、条件ありすぎだわ。こりゃビルダーにしないと。とか、
そういう感覚を養うには、オブジェクト指向の理論や本よりも、オープンソース読みまくって、いろいろ試してみることをおすすめする。
こういうクラス構造であるべきとか熱く語るくせに、ソース書かせたらまるでダメな人ってイタい。おれはそういう人になりたくない。
よくわかんねーけど、例えばこんな感じ?って書ける人になりたい。

本から入ったほうが理解が速いっていう人もいると思うけど、自分にはこっちのほうが合っていた。
453デフォルトの名無しさん:2011/04/29(金) 12:29:58.51
人のライブラリとか見てるとクラスに<E>みたいなのが付いていたりするけど、
これってなんて名前の技術なの?
454デフォルトの名無しさん:2011/04/29(金) 12:35:36.62
ジェネリクス
コレクションとかで見かけると思うけど
455デフォルトの名無しさん:2011/04/29(金) 12:46:32.92
「よくわかんねーけど、例えばこんな感じ?」
こーゆーのも困るけどな
ちゃんと「こんな感じ」にしたときのメリットデメリット語れないと
456デフォルトの名無しさん:2011/04/29(金) 12:52:57.03
ジェネリクスですか。
ありがとうございます。
これで作業に組み込めます
457デフォルトの名無しさん:2011/04/29(金) 12:55:22.89
(おまえが何いってんのか)よくわかんねーけど、(要件を元に適切な設計するなら)例えばこんな感じ?
って意味だろうな。
458452:2011/04/29(金) 13:02:59.45
>>457
あ、そうです。説明不足申し訳ない。
こういうことを要求されている。と要件を伝えたあと、
「こういうクラス構成であるべき、いやここはインタフェースであるべきで、(略」とかやってるのをみるとさ、
そんなもんコードつくりゃメリデメわかって速いじゃない。って思うんだ。
459デフォルトの名無しさん:2011/04/29(金) 14:06:30.84
うざい
460デフォルトの名無しさん:2011/04/30(土) 00:46:34.34
コレクションに対してLINQみたいなことはできますか?
461デフォルトの名無しさん:2011/04/30(土) 07:16:22.72
無理
462デフォルトの名無しさん:2011/04/30(土) 09:47:42.05
オブジェクトがどこから参照されているか、逆にどこからも参照されていないことを
知るにはどうしたらいい?
463デフォルトの名無しさん:2011/04/30(土) 10:12:24.84
jhatでヒープダンプを取る
464デフォルトの名無しさん:2011/04/30(土) 10:16:15.91
インターフェースだけ定義されていて、まだ実装されてない関数を呼んだら
UnsupportedOperationExceptionを投げとけば良いですか?
UnimplementedExceptionという名前の例外があればいいのですが、
どこを探しても見つかりません。

465デフォルトの名無しさん:2011/04/30(土) 10:17:30.92
作ればいいジャン、UnimplementedException
466464:2011/04/30(土) 10:21:22.09
可能ならなるべく標準の例外を使ったほうがいいと思うのですが、どうでしょうか?
467デフォルトの名無しさん:2011/04/30(土) 10:23:38.02
>>462
クラスにstaticな変数を持たせる。参照されたらその変数を更新する。
.classになってれば話は別。
468デフォルトの名無しさん:2011/04/30(土) 10:26:45.45
>>466
じゃあ一番近そうに見える標準の UnsupportedOperationException から派生して UnimplementedException を作ってみては
469464:2011/04/30(土) 10:31:37.07
>>468
案1:標準のUnsupportedOperationExceptionを投げる
案2:標準のUnsupportedOperationExceptionを派生した独自例外NotImplementedExceptionを投げる
どちらがJavaの慣習により沿っているでしょうか?
(どちらでもいいというのはナシで)
470デフォルトの名無しさん:2011/04/30(土) 12:14:19.39
Exceptionの継承は標準じゃないんじゃないか
471デフォルトの名無しさん:2011/04/30(土) 13:31:12.89
>>469
とりあえず、UnsupportedOperationException投げとけ
無駄に使用者の学習コスト増やすな

もっとも、こんな例外を投げるのは
妥協の産物または無能の産物だけどな

参考:
ttp://java.sun.com/javase/ja/6/docs/ja/technotes/guides/collections/designfaq.html#1
472デフォルトの名無しさん:2011/04/30(土) 14:07:09.43
NotSupportedExceptionが.NETと全然違う意味で驚いたのも今は昔
473 【東電 88.3 %】 忍法帖【Lv=22,xxxPT】 :2011/04/30(土) 20:59:19.77
>>451
ま、interfaceは濫用しすぎると危険だからな
たまにAbstractよりinterfaceのほうが便利だからといって
やたらとinterface実装を多様したひどいコードをみかける。
interfaceはpublicだからとんでもないものがみんな丸見え

未だに定数としてインターフェースを使っているコードも見かける
Enumにしとけって
474デフォルトの名無しさん:2011/05/01(日) 04:37:04.54
>>469
おれなら、UnsupportedOperationException投げる。
それからJavaDocに「@deprecated 未実装です。使用しないでください。」と書いとく。
eclipseの環境なら取り消し線でるから使用者が間違わない。と思う。
475デフォルトの名無しさん:2011/05/01(日) 12:29:04.54
>>460
JoSQLとかlambdajとか
476デフォルトの名無しさん:2011/05/01(日) 16:12:42.05
javaでeclipse使いとかプログラマとして終わってるだろ。
エンジニアとしての成長の可能性0
LAMPでPHP書いてる下層PGの方がまだマシなエンジニアになりそうだ。
477デフォルトの名無しさん:2011/05/01(日) 16:51:36.66
プログラマとエンジニアのキミの定義は?
478デフォルトの名無しさん:2011/05/01(日) 17:58:20.62
プログラマ ⊂ エンジニア
479デフォルトの名無しさん:2011/05/01(日) 18:05:16.11
itは稼げる時期が短いからな。
480デフォルトの名無しさん:2011/05/01(日) 18:16:09.78
効率よくやったほうがいいだろ
481デフォルトの名無しさん:2011/05/01(日) 19:14:49.45
テキストエディタで規模のあるプログラムを書くのは馬鹿だろ…
482デフォルトの名無しさん:2011/05/01(日) 19:20:17.62
Javaを敵視してる人たちってやっぱりemacsとかvimでガリガリやってるんですか?
483 [―{}@{}@{}-] デフォルトの名無しさん:2011/05/01(日) 19:25:34.33
eclipseにvimプラグイン入れてコーディングしてるな
484デフォルトの名無しさん:2011/05/01(日) 19:53:10.30
new byte[]{1, 0} を整数の256に変換するには、どうすればよいですか?
485デフォルトの名無しさん:2011/05/01(日) 20:21:16.55
b[0]<<8|b[1]
486デフォルトの名無しさん:2011/05/01(日) 20:30:03.16
ByteBuffer使えば
487デフォルトの名無しさん:2011/05/02(月) 11:55:44.51
c:\hoge\hoge.txt
というパスからc:\hoge
を取得するにはどうしたらいいでしょうか?
488デフォルトの名無しさん:2011/05/02(月) 13:36:59.71
String path = "c:\\hoge\\hoge.txt";
File file = new File(path);
String parent = file.getParent();
489デフォルトの名無しさん:2011/05/02(月) 13:40:30.31
>>487
Windowsならパス区切りが \ だから new File("C:\\hoge\\hoge.txt").getParent()
それ以外なら String str = "c:\\hoge\\hoge.txt"; str.substring(0, str.lastIndexOf('\\'));
490デフォルトの名無しさん:2011/05/02(月) 13:51:11.45
>>488,489
おまいら。さんくす。
491 【東電 83.0 %】 忍法帖【Lv=33,xxxPT】 :2011/05/02(月) 17:42:03.69
>>476
LAMPでPHPって、JavaがPHPに変わっただけじゃん
それで終わってるならLAMPでPHPプログラマやってるヤツなんかもっと終わってるよ。
PHPなんか型に曖昧な言語だから汚いコードばかり書いてしまうので、
エンジニアとしての成長の可能性はマイナス成長だ。
492 【東電 83.0 %】 忍法帖【Lv=34,xxxPT】 :2011/05/02(月) 17:44:25.23
>>488-490
OS依存は避けたいから直接\\は辞めたほうがいいわな

\\のかわりにFile.separatorChar で置き換えたくなってくる
493デフォルトの名無しさん:2011/05/02(月) 18:34:23.02
separatorChar使うやつは初心者
494デフォルトの名無しさん:2011/05/02(月) 19:28:44.93
Tomcat7をインストールして、簡単なアプリを作って、ab -n 10000 -c 10 ぐらいでベンチマークしたんですが、
なんか結果が全然安定しなくて困ってます。
具体的には、リクエスト数が6000ぐらいになったところでとたんにフリーズしたかのように遅くなります。
JITでのコンパイルに時間がかかるのかと思いましたが、-serverオプション指定してるし、
2回目のab起動でもきまって6000ぐらいで遅くなるので、違うように思います。
(JITなら一度コンパイルされたあとは遅くなったりはふつうはしないですよね。)
ばくぜんと、GCなのかなーとは思うのですが、いつも決まって6000ぐらいで遅くなるので、
GCがそこまで同じタイミングで発生するとも思えず、手詰まりです。
なにかアドバイスお願いします。
495デフォルトの名無しさん:2011/05/02(月) 19:56:36.92

200未満の整数を入力
10 ←キーボード入力
あなたは10を入力しました
10は偶数です
10は3の倍数ではありません

200未満の整数を入力
105 ←キーボード入力
あなたは105を入力しました
105は奇数です
105は3の倍数です

実行結果がこうなるifかswitchの書き方解る人いますか?
496デフォルトの名無しさん:2011/05/02(月) 20:01:39.02
>>494
いやあ、同じようなことしてるなら同じようになるんじゃね?
そこらへんでメモリが足りなくなってきてるとかさ
497デフォルトの名無しさん:2011/05/02(月) 20:21:10.71
>>496
メモリは十分載んでます。4GBほど。またfreeでみてもメモリを食い尽くした感じではないですね。
そういえばjvm自体に使用可能なメモリ最大量の制限があったんでしたっけ。
それなのかなあ。
498デフォルトの名無しさん:2011/05/02(月) 20:27:03.57
jconsole繋いで見てみては
メモリの使用量とかグラフで表示してくれる
499 【東電 88.7 %】 :2011/05/02(月) 20:57:02.96
>>497
-Xmxでヒープサイズ指定してるよね?
500デフォルトの名無しさん:2011/05/02(月) 21:57:24.36
>>495
ググればすぐ出てくると思うけど、%演算子で剰余を求められるから、入力された数をxとすれば x % 2 == 0 が真の時に偶数、偽の時に奇数となる。
同様に x % 3 == 0 が真だと3の倍数
501デフォルトの名無しさん:2011/05/02(月) 22:16:33.53
jspとServletってどっちが多く使われているの?
502デフォルトの名無しさん:2011/05/03(火) 01:41:06.61
>>495
http://ideone.com/yTLhP
/tech/1295273862/
503デフォルトの名無しさん:2011/05/03(火) 02:04:49.15
同じ親クラスへ代入するインスタンス生成のコンストラクタ宣言(関数?)って
同じ配列に格納できませんかね?
A a=new b[0](x,y);
A a=new b[1](x,y);
みたいなことをしたいです
504デフォルトの名無しさん:2011/05/03(火) 13:04:20.60
Aってクラスの中にname変数とnum変数があったとして
それをBクラスのDispメソッドに渡したい場合
A a = new A("name",1);
B b = new B();
みたいに宣言して
b.Disp(a.getName(), a.getNum());
ってやるべきなのか
b.Disp(A a);
ってオブジェクトをそのまま渡してDispメソッド内でget〜メソッドを使うべきなのか
javaはじめたばかりなので教えてください
505デフォルトの名無しさん:2011/05/03(火) 14:07:08.90
>>504
いろいろ考え方はあるが簡単には・・
まず後者の方法はAとBに強い依存関係が出来てしまうので、
Bが「nameとnumを処理するためのクラス」なら前者にするし、
Bが「Aというデータのまとまりを処理するためのクラス」なら後者が妥当になる。

また、例えば「Aというデータのまとまり」が別のクラスCから直接取り出したりした場合(A a = C.getA();)、
AとCに依存関係があるので、さらにAを直接Bに渡すとBとCにも依存関係が出来てしまう。
これを嫌う場合はあえて前者を採用したり、さらに「Dというデータのまとまり」を用意して
D d = new D();
copyProperties(a, d); // フィールド値コピー
b.Disp(d);
のようにする場合も多い。
506デフォルトの名無しさん:2011/05/03(火) 14:09:05.18
どこが出所の情報でも構わないが名前と数字を受け取って、
Bクラスが何らかの処理をするのがdispメソッドの役割なら前者。
Aクラスの情報を受け取って何らかの処理をBクラスで行うのが役割なら後者。
後者はBクラスがAクラスのことを知っていなければならない。
AクラスとBクラスの結合度が違うから自分が求めている役割を実現する方を選択。
507デフォルトの名無しさん:2011/05/03(火) 15:01:12.45
どっちかのやり方が間違ってるわけではないんですね
参考になりました、ありがとうございます
508デフォルトの名無しさん:2011/05/03(火) 16:02:52.64
そもそもDispがAのメソッドだった方がいいんじゃないの?とか
509デフォルトの名無しさん:2011/05/03(火) 20:55:09.65
オブジェクト指向のクラス分けなどが難しいのですが
オススメの勉強方法や本があったら教えてください
510デフォルトの名無しさん:2011/05/03(火) 22:18:40.51
作って公開する
511デフォルトの名無しさん:2011/05/04(水) 01:27:56.79
Eclipseが鬼のように重いのですが
軽めの統合開発環境ってないでしょうか
512デフォルトの名無しさん:2011/05/04(水) 01:31:20.06
>>511
PC買い換えろ
513デフォルトの名無しさん:2011/05/04(水) 02:09:25.58
Java遅いんだけど、sendfile(2)みたいなメソッドないの?
514デフォルトの名無しさん:2011/05/04(水) 02:17:58.66
クラスってのは設計図であって、newすることによって実体が作成される
クラスの構造を勉強する場合に、世の中にある物(オブジェクト)を
クラスに置き換えたらどんな構造になるかいろいろ考えると見えてくるよ
たとえば、車クラス、携帯電話クラス、パソコンクラス、住所録クラス、などなど

車クラスなら
class car{
int 重量
int 排気量
String タイヤ型番
・・・
・・・
・・・
void 重量表示(){
}
void 排気量表示(){
}
boolean エンジンON(){
}
boolean エンジンOFF(){
}
boolean ギアチェンジ(){
}
・・・
・・・
・・・
}
って感じね。
あるクラスにはどのような属性・値(フィールド)があって、どのような動作(メソッド)が
あるかを意識することが大事ですね!
がんばって!
515デフォルトの名無しさん:2011/05/04(水) 07:12:17.03
>>513
Javaが遅いこととsendfileにどういう関係があるのかしらないけど、
sendfile相当はFileChannel#transferTo
516デフォルトの名無しさん:2011/05/04(水) 12:08:22.04
Int型 112111

左から3番目の2を取る命令文教えてください
517デフォルトの名無しさん:2011/05/04(水) 12:10:29.20
(112111 / 1000) % 10
518 【東電 76.9 %】 :2011/05/04(水) 12:38:09.12
>>516
> Int型 112111
>
> 左から3番目の2を取る命令文教えてください
>

(112111-110111)/1000
519デフォルトの名無しさん:2011/05/04(水) 13:05:42.74
Linux(x86,32bit)上のJava(1.6.0_24)で、サイズが2Gバイト以上の
ファイルに対して File#setLastModified() を実行するとかならず失敗するの
ですが、これはバグですよね。
こういうのはどこに報告すればいんでしょうか。
520デフォルトの名無しさん:2011/05/04(水) 14:07:50.69
>>519
書き込み権限がないとか、そーゆー話でなくて?
521513:2011/05/04(水) 14:14:06.01
>>515
返信ありがと。
Socket同士の場合はできないんですね。
522デフォルトの名無しさん:2011/05/04(水) 15:03:44.97
あるクラスの関数をstaticでも非staticでもアクセスしたいのですがどのようにしたらいいでしょうか?
523デフォルトの名無しさん:2011/05/04(水) 15:39:03.99
非staticならインスタンス生成してからアクセスすればいい。
もしくはソース弄ってstaticにしてしまう。
524デフォルトの名無しさん:2011/05/04(水) 16:16:15.30
じゃヴぁプログラマーです。って言うのは恥ずかしくないですか?
525デフォルトの名無しさん:2011/05/04(水) 16:20:58.57
じゃヴぁプログラマーです。って誰が言ってんの?
526デフォルトの名無しさん:2011/05/04(水) 16:21:21.16
少しぐらい恥ずかしいほうが快感じゃないか
527522:2011/05/04(水) 16:45:13.23
>>523
ありがとうございます!
528デフォルトの名無しさん:2011/05/04(水) 21:38:14.60
>>514
わかりやすく説明ありがとうございます!
いろいろ考えてみますね
529デフォルトの名無しさん:2011/05/05(木) 01:57:05.24
Cでいうsystem("cls");はJAVAだと何に当たりますか?
530デフォルトの名無しさん:2011/05/05(木) 05:33:46.53
>>525
古いけどらきすたかな
531デフォルトの名無しさん:2011/05/05(木) 11:11:21.66
jarまたはclassを実行したjava.exeのパスを
プログラム側で取得することってできますか?

それと、jarを起動しHTTP経由でサーバ側のjarファイルの
更新日時を確認し、サーバ側が新しい場合はjarファイルを
更新したいのですが、実行中のjarファイルを更新する方法って
何かありませんか?
532デフォルトの名無しさん:2011/05/05(木) 11:35:28.90
>>531
1番目のは環境変数から間接的になら簡単だが・・
2番目のはJavaWebStartじゃいけない理由があるんだよな?
533531:2011/05/05(木) 11:54:22.20
>>532
レスありがとう。
2番目はJava Web Start以外で何か方法がないかと。
534デフォルトの名無しさん:2011/05/05(木) 23:04:00.56
何かを取得するメソッドの命名について
get〜かcreate〜かで悩むのですが
使い分けの基準はありますか?

ぐぐったらファクトリメソッドにはcreate〜をつける規約があったのですが。

インスタンス変数の値に何らかの処理を加えて返す
引数なしprivateメソッドの名前はget/createどちらが相応しいでしょうか?
535デフォルトの名無しさん:2011/05/05(木) 23:11:26.67
privateなら何でもいい気もするが俺ならget。
536デフォルトの名無しさん:2011/05/05(木) 23:52:55.71
新しいインスタンスであることが重要または特徴である場合は create とか new とか
別に既存のインスタンスであっても問題でない場合は get とか
537534:2011/05/06(金) 00:16:04.79
>>535-536
ありがとうございました。
538デフォルトの名無しさん:2011/05/06(金) 00:24:52.01
25もアップデートしなくていいから早く8を出せ
539デフォルトの名無しさん:2011/05/06(金) 15:00:26.38
>>493
うんProiperties使うよね
540デフォルトの名無しさん:2011/05/07(土) 02:52:25.64
JavaでURLから.mht形式でページを保存するにはどうすればいいのでしょうか
>>519
http://bugs.sun.com/bugdatabase/

ちなみに該当のレポートはこれじゃないですかね?
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6652379
542デフォルトの名無しさん:2011/05/07(土) 16:40:10.42
JDKが持っているjarファイルについて一部古いバージョンをeclipseのデバッグ実行から使わせたい場合どうすればいいですか?
543デフォルトの名無しさん:2011/05/07(土) 16:42:25.67
>>464
NetBeansのIDEサポートだと
UnsupportedOperationException 投げるようなコードができるからそれに合わせとけば?
544デフォルトの名無しさん:2011/05/07(土) 16:44:24.40
>>462
どういう状況で知りたいのかわかりませんが、
例えばNetBeans Profile(or jvisualvm)のヒープウォーカー
http://netbeans.org/features/java/profiler_ja.html
545デフォルトの名無しさん:2011/05/07(土) 16:56:11.08
>>542
そもそもEclipseはデバッグ時OracleのJDK使ってない。
546デフォルトの名無しさん:2011/05/08(日) 00:59:21.41
え?
547デフォルトの名無しさん:2011/05/08(日) 23:57:09.96
Javaで書かれたプログラムが実行中たまに異常にCPU使用率が上昇するんですが
どこに問題があるかをどうやって特定したらいいですか?
548デフォルトの名無しさん:2011/05/09(月) 01:17:20.50
Canvasクラスとかの使い方が書いてあるお勧めのBOOKとかサイトってありますか?
549 [―{}@{}@{}-] デフォルトの名無しさん:2011/05/09(月) 01:24:37.97
OReillyのJava Swingって英語版しか出てないんだよなあ
1200ページもあって凄い充実してそうなんだが
550デフォルトの名無しさん:2011/05/09(月) 04:57:49.62
コードは世界共通なんだから英語版で十分だろ
551デフォルトの名無しさん:2011/05/09(月) 06:31:43.24
>>547
デバッガを繋いで停止させる
552 ◆6W4srb4nmo :2011/05/09(月) 08:24:19.00
>>547
gc だろ 。gw は 終わった5/9
553デフォルトの名無しさん:2011/05/09(月) 10:28:18.54
>>547
普通にプロファイラ使うといいと思うよ。
まともなIDEなら、CPU喰ってるメソッドやGCの負荷とか統計出してくれるはず
554デフォルトの名無しさん:2011/05/09(月) 19:53:16.69
メソッドが良く分からんのですが、
Cで言うところのサブルーチンみたいなものですか?
サブクラスとして宣言すれば、
他のクラスからインスタント化して再利用可能とか?

サブクラスとメソッドの住み分けが良く分からないといった状況ですorz
555547:2011/05/09(月) 23:13:56.57
大人数が接続するサービスでたまに発生するので
開発マシン上ではなく公開サーバ上の実行中のプログラムで分析できると楽なのですが
そういう方法はありますか?
556デフォルトの名無しさん:2011/05/10(火) 00:25:35.12
それはプロファイラでできる
557デフォルトの名無しさん:2011/05/10(火) 00:31:52.16
jvisualvmを使ってみましたがCPU占有率ではなく単にスレッドの経過時間を計測するだけなので
DB書き込み処理をするメソッドばかり上位に表示されてしまいました
CPU占有率を表示してくれるプロファイラを教えてください。
558デフォルトの名無しさん:2011/05/10(火) 01:47:37.79
質問です。
JAVA VMのデバッガを使ってclassファイル(バイトコード)を抽出する事は可能でしょうか?
あるjarファイルに格納されてあるclassファイルをまとめてjavaソースにデコンパイルしたいのですが、
呼ばれた順番にJavaソースを取得したいので、どなたかこの辺の知識に詳しい方お願いします。
559 【東電 84.0 %】 忍法帖【Lv=40,xxxPT】 :2011/05/10(火) 21:56:16.19
>>547
つjconsle
560 【東電 84.0 %】 忍法帖【Lv=40,xxxPT】 :2011/05/10(火) 21:57:43.28
>>558
逆コンパイルはJad

バイトコードはEclipseのBytecode Outlineプラグインを参照
561デフォルトの名無しさん:2011/05/10(火) 21:58:30.39
NetBeansで画面つくって同時にプロファイラも使えて便利でした
562デフォルトの名無しさん:2011/05/10(火) 22:44:46.99
>>559
jconsoleはクラスをロードした順番とそのクラス名が取得できそうですね。
クラスファイルは取得できるのでしょうか?
563デフォルトの名無しさん:2011/05/10(火) 23:02:03.75
usbからの情報を取得したいのですが、JSR-80というAPIを使えばできるのでしょうか?
OSはLinuxで作っています
564デフォルトの名無しさん:2011/05/11(水) 00:54:39.86
ナンバー型をストリング型に変えて変数に入れたい。どうすれば?

of使ったがエラーになる
565デフォルトの名無しさん:2011/05/11(水) 03:43:41.23
>>564
toStringじゃだめなの?
566デフォルトの名無しさん:2011/05/11(水) 08:14:57.43
ナンバーBをストリングAの変数にしたい場合


ストリング A = tostringB

ってこと?
567デフォルトの名無しさん:2011/05/11(水) 08:29:06.05
Number number = 1;
String s = number.toString();
568デフォルトの名無しさん:2011/05/12(木) 11:08:54.95
JAVAでUSBカメラの制御を行う方法として、JMFを利用する以外には
どのような方法がありますでしょうか?
569デフォルトの名無しさん:2011/05/13(金) 00:30:29.79
kill -3 <procId>
このコマンドでスレッドダンプ出力させるとプロセス死にますよね?
プロセスを死なせずにスレッドダンプを取る方法はありませんか?
570デフォルトの名無しさん:2011/05/13(金) 01:10:25.63
Javaの勉強の為アプレットでゲームを作っているのですが、
ゲームを作るのに便利なライブラリとかありませんか
571569:2011/05/13(金) 01:17:48.93
windowsだとプロセスを停止せずにスレッドダンプが取れるのに
Linuxだと出来ません
なにか方法はありませんか?
572デフォルトの名無しさん:2011/05/13(金) 02:05:20.09
サーバープログラムの勉強をしているのですが、

static Vector connections;

という宣言をすると、Eclipseで
「Vector は raw 型です。総称型 Vector<E> への参照は、パラメーター化する必要があ
ります」
というエラーが出ます。調べたんですが、raw型というmのが今市理解できません。

どうもJDK1.5から出来た制約らしいですが、これはどのように直したらよいのでしょうか?
573デフォルトの名無しさん:2011/05/13(金) 02:19:24.67
>>572
型、クラスを指定してあげる


Vector<Integer> v = new Vector<Integer>(0);
574デフォルトの名無しさん:2011/05/13(金) 02:29:17.73
最近の日本語では全くという意味でいまいちという言葉を使うんだな
575デフォルトの名無しさん:2011/05/13(金) 02:35:20.56
>>570
Javaの勉強のためだというなら便利なライブラリに頼らず自分の力で苦労して作れ。
どうせなら自分が便利だなと思えるライブラリ自体を自作すればもっといい。
576デフォルトの名無しさん:2011/05/13(金) 02:37:49.38
>>573
レベルが低くてすみません・・・
Vectorというのはクラスではないのでしょうか?
それにさらにIntegerというクラスを指定してあげるということでしょうか?
あと、コンストラクタが0ということは、
このオブジェクトは、全ての要素が0のオブジェクトとして初期化されたのでしょうか?
577デフォルトの名無しさん:2011/05/13(金) 02:40:22.44
A, 0
B, O
C, O
D, ○
578572:2011/05/13(金) 02:42:36.94
>>573
すみません。実は下記の行でもエラーが出ます

connections.addElement(s);

エラーメッセージは、
型 Vector<Integer> のメソッド addElement(Integer) は引数 (Socket) に適用できま
せん
となります。どのように改編したらよいのでしょう・・
579572:2011/05/13(金) 02:45:06.04
>>573
型のIntegerをObjectにしてみたらエラーが消えました。
よくわからないけど、ためしてみます
580デフォルトの名無しさん:2011/05/13(金) 02:46:10.42
>>554
ごめんなさい、よく分からないんですが、
メソッドってクラスがそれぞれ持つ機能じゃないの?
住み分けって?
581デフォルトの名無しさん:2011/05/13(金) 02:48:58.29
>>580
サブルーチンとサブクラスを同じような存在と>>554は思ってるんだろ
みんなさわらないようにしてるんだからふれるな
582デフォルトの名無しさん:2011/05/13(金) 02:49:56.86
>>579
Vectorにこれから突っ込む続けるオブジェクトの型をそこで指定するんだよ

分からないのは分かるけど例をそのまま入れれば
解決すると考えるのは止めたほうがいいっす
583デフォルトの名無しさん:2011/05/13(金) 02:50:54.68
>>578
えーと Integerはあくまで例です
Socketクラスを引数に渡したいなら、Vector<Socket>でいけるかと
まあ、Objectでもいいですけど・・・
584デフォルトの名無しさん:2011/05/13(金) 03:02:22.49
Javaで同じプロセス中の他スレッドの情報(実行中のメソッド等)を取得する方法はありますか?
585572:2011/05/13(金) 03:06:49.98
>>582
>>583

本当にありがとうございます。
プログラムは無事動きました。
Objectに指定したら動きました。
Vectorクラスとかのことを本で勉強したいのですが、
私の記憶では独習JAVAクラスの本ではそのあたりの記述はあまりなかった気がします。
どんな本を読んだらそのあたりの入門にはいいのでしょうか?
おライリーはちょっと難しそうですが・・・
586デフォルトの名無しさん:2011/05/13(金) 03:11:30.71
>>584
Thread#getThreadGroup()でカレントスレッドのThreadGroupを取得すれば、
そのサブグループも含めて所属するアクティブスレッドを取得できる。
さらにThreadGroup#getParent()で親グループを取得できるので後はループもしくは再帰で。
587デフォルトの名無しさん:2011/05/13(金) 03:58:12.69
>>585
おまえじゃ無理
もうあきらめろ
588デフォルトの名無しさん:2011/05/13(金) 05:39:59.83
>>585
言語仕様が拡張されていくことを踏まえると、
更新されつつある資料を調べる方が無駄がないと思う。
589デフォルトの名無しさん:2011/05/13(金) 07:20:13.85
>>585
独習Javaの新しい版では
ジェネリクスについての話が少し追加されているはずだが
とりあえず適当にぐぐってみれば?
590デフォルトの名無しさん:2011/05/13(金) 07:28:30.84
>>558ですけど
やっぱ
無理そう?
591デフォルトの名無しさん:2011/05/13(金) 07:35:08.42
Minecraftってネットゲームやろうとしたら

# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x52024340, pid=5280, tid=4124
#
# JRE version: 6.0_25-b06
# Java VM: Java HotSpot(TM) Client VM (20.0-b11 mixed mode windows-x86 )
# Problematic frame:
# C 0x52024340
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
ってエラーが出た
Minecraftの質問スレじゃ解決しないしJava関係そうだからこっちきてみた
よければご回答よろしくおねがいしますです
592デフォルトの名無しさん:2011/05/13(金) 08:25:39.69
>>591
そのまんまのキーワードいくつかで、情報見つかりそうだけど・・
http://www.minecraftforum.net/viewtopic.php?f=17&t=160507

幾つか解決方法が挙げられてて、解決したひと、しなかったひとと居る感じ。
一つの方法はファイルの入れ替えで:
 lwgjl をダウンロード http://j.mp/gk5qyu(縮めた。なんとなく嫌なら http://lwjgl.org/ ここから最新版を。)
 ファイルを展開して lwjgl-2.7.1/native/windows/ に移動。
 そこの全ファイルをコピー
 %appdata%/.minecraft/bin/natives に移動。(エクスプローラのアドレス欄にそのまま記述で。;不可視フォルダ)
 そこに上書き。
心配なら上書きする前に、それら保管しておいて。
さて、うまくいくんでしょうか・・
593デフォルトの名無しさん:2011/05/13(金) 15:33:10.21
>>592
やってみたが
ログインした後すぐ画面真っ暗になるわ
これはJavaの問題じゃなさそうなんでまたMinecraft質問戻る
なんかありがとう(´・ω・`)
594デフォルトの名無しさん:2011/05/13(金) 20:34:22.88
>>593
ざんねん・・
ATIのビデオカードだと起こるそう・・
別の解決方法では、.bat ファイルを自作して
java -Xmx768M -Xms256M -jar minecraft.exe
というような内容(割り当てメモリを増やす)のコマンドを記述して実行するもの。
minecraft.exe があるフォルダ内に .bat ファイルがある状態に─。
595デフォルトの名無しさん:2011/05/14(土) 09:01:58.33
Vector使うケースって未だにあるのか…
596デフォルトの名無しさん:2011/05/14(土) 09:22:22.79
>>594
それはやったけど直らない(´・ω・`)
やっぱりATIだからか・・・
なんかbatで開いたときにat Java.lang.Thread.run(Unknoen Source)みたいなのが並んでるんだが
それも書いておいたほうがいい?
597デフォルトの名無しさん:2011/05/14(土) 17:07:37.84
他クラスのArrayListの内容を別のクラスのArrayListにコピーしたい
のですが、
ArrayList<People> peoples=new ArrayList<People>(TryPeople.people);
だと上手くいきませんでした。
どのように書けば良いのでしょうか?
598デフォルトの名無しさん:2011/05/14(土) 17:12:22.39
>>597
http://ideone.com/Ddn9z
ちゃんと動くけど
どう上手くいかないのか説明するべき
599デフォルトの名無しさん:2011/05/14(土) 17:13:35.58
for文で回してPeopleのフィールドをひとつひとつコピーしてください
600デフォルトの名無しさん:2011/05/14(土) 18:02:45.33
>>598
シンボルが見つかりません
変数 people
TryPeopleのクラス
TryPeople.people
^
と出てきます。
ちゃんとTryPeopleクラスにpeopleは存在しています。
601デフォルトの名無しさん:2011/05/14(土) 18:03:50.29
>>600
TryPeople.people
^
です。すいませんずれました。
602デフォルトの名無しさん:2011/05/14(土) 18:04:00.90
privateなんじゃね
603デフォルトの名無しさん:2011/05/14(土) 18:04:37.61
publicです
604デフォルトの名無しさん:2011/05/14(土) 18:13:11.03
ソース全部貼り付けちゃいなよ、YOU!
605デフォルトの名無しさん:2011/05/14(土) 18:32:00.07
http://www.geocities.jp/lang_lang_true/TryPeople.txt
です。
前半のクラスは変えずに後半だけで処理をしろとのことでしたので、
このように作ってみたのですが・・・
606デフォルトの名無しさん:2011/05/14(土) 18:43:02.18
getPeople()で何をやってるの?
TestPeople.Peopleの意味が分かりません。
ってか人間オブジェクトなのにgetでリスト返すとか意味が分からない

for(People s : people){
s.show();
}

じゃだめなの?


607デフォルトの名無しさん:2011/05/14(土) 18:47:44.29
駄目らしいです。
getPeopleでpeopleの内容をコピーしてそれをshowで表示させるのだそうです。
が、私自身もまったくこれをやる意味が分かりません。
608デフォルトの名無しさん:2011/05/14(土) 18:57:47.48
609608:2011/05/14(土) 18:59:08.45
pass:774
610デフォルトの名無しさん:2011/05/14(土) 19:05:02.93
>>609
ありがとうございます。
位置が違ったんですね・・・
611デフォルトの名無しさん:2011/05/14(土) 19:08:26.06
そもそもPeople.getPeople()がまず意味のないロジックだ。
612デフォルトの名無しさん:2011/05/14(土) 22:02:09.84
JAppletで画像を表示させて押した矢印キーの方向に移動させるプログラムを作っています。
上下左右への移動はできました。
斜めの方向にも移動ができるようにしたいのですがどういう風にすればいいのでしょうか?
613デフォルトの名無しさん:2011/05/14(土) 22:08:17.28
矢印キーに斜めはないから、しなくていいんじゃないか
それかテンキーの 1 3 7 9 を使うとか
614デフォルトの名無しさん:2011/05/14(土) 22:11:24.64
>>613
少し言い方が悪かったみたいです。
たとえば↑と→を同時に押したときに斜め右上にいくようにしたいのですが…
615デフォルトの名無しさん:2011/05/14(土) 22:17:19.64
各キーが押されてるか否かを覚えるboolean変数を作る
boolean upKeyIsPressed;
boolean downKeyIsPressed;
以下略
KeyListenerを実装して、
onKeyPressedで押されたキーに対応するboolean変数をtrueにする
onKeyReleasedで離されたキーに対応するboolean変数をfalseにする
各boolean変数を見て複数同時にtrueになっていたらそれらは同時に押されている
616デフォルトの名無しさん:2011/05/14(土) 22:23:15.24
>>615
boolean型を作って判定すればいいのですね。
ありがとうございます。試してみます。
617デフォルトの名無しさん:2011/05/14(土) 23:56:09.02
javaよくわかんないんですが質問です。

パッケージを落としてきたので、ビルドしたいのですが、Makefileはあったのですが、どうやってメイクしていいのかわかりません。
makefileの内容は
all:
  jar cfm analyzer.jar \
  Manifest.txt \
  org/sump/analyzer/*.class \
  org/sump/analyzer/tools/*.class \
  org/sump/analyzer/icons/*.png \
  org/sump/util/*.class \

こんなです。
どうやってメイクしたらよいですか?
javacってコマンドでやるのかと思ってたけどいろいろ試したけどできなかった。
618617:2011/05/14(土) 23:57:49.82
ちなみに試したのはこんなコマンド

C:\test\src>javac -classpath org/sump/analyzer/ -classpath org/sump/analyze
r/tools -classpath org/sump/util -classpath rxtx-2.1-7-bins-r2/RXTXcomm.jar org/
sump/analyzer/*.java org/sump/analyzer/tools/*.java org/sump/util/*.java
エラー: org/sump/analyzer/*.java を読み込めません。
エラー 1 個
619デフォルトの名無しさん:2011/05/15(日) 00:18:32.12
>>615
そういうのは、ビットマスクで表現するのがいい

int TOP = 1, LEFT = 1 << 1, BOTTOM = 1 << 2, RIGHT = 1 << 3;
とかやって、上と左同時押しされてたら

keyState = TOP | LEFT;

みたいにやる
620デフォルトの名無しさん:2011/05/15(日) 00:21:42.24
>>619
いい加減時代錯誤な方法。
621デフォルトの名無しさん:2011/05/15(日) 00:22:39.68
>>619
どんまい
622617:2011/05/15(日) 00:35:24.78
なんかいろいろ見ながらビルドしたらどうやらできたけど実行したら例外が。。
このパッケージってJDK1.4.2で作ったって、サイトには書いてあったんだけど
今、JDKの公式行ったら、JDK6ってなってた。
JDK1.4.2ってだいぶ前なの?
JDK6でビルドできるかな?できなくてもぜんぜん不思議じゃない?
Java経験無くてよくわかんない。
623617:2011/05/15(日) 00:36:33.31
ちなみに出た例外はこんなんだけど。。

c:\test\src\LogicAnalyzer\client\all>java -jar test.jar test
Exception in thread "main" java.lang.NoClassDefFoundError: Loader (wrong name: o
rg/sump/analyzer/Loader)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: Loader. Program will exit.
624デフォルトの名無しさん:2011/05/15(日) 00:47:28.91
ソースコードの引き継ぎを頼まれたんですが、
Eclipseで開いたら「TODO 自動生成されたメソッド・スタブ」というのが1000個くらい有って、
すっごく泣きそうになったんですけどどうしたらいいですか…?
例外は全部printStackTraceされてました。
例外はキャッチして握りつぶしたあとreturn falseとかreturn nullとかしてます。多分全箇所でです。
何もやる気が起こりません。
625デフォルトの名無しさん:2011/05/15(日) 00:50:51.43
しょーがねーじゃん
そんな環境でしか働けねーんだから。
626デフォルトの名無しさん:2011/05/15(日) 00:53:25.06
必要なな流れの部分だけ把握してあとは放置でいいよ^^
627617:2011/05/15(日) 02:04:34.86
動いたんでもういいです
628デフォルトの名無しさん:2011/05/15(日) 04:05:47.02
>>620
どこがだw
SWT や AWT のイベントマスクでもこの方法は使われてるだろう

どこでも見かける、すっきりした超スタンダードな書き方
629デフォルトの名無しさん:2011/05/15(日) 07:47:47.64
たしかに昔から良く使われてる方法だな。型安全じゃないのがアレだが。
630デフォルトの名無しさん:2011/05/15(日) 09:28:05.00
>>628
だからそれがもう古いと言っている。
取り敢えずEffectiveJava位読もうぜ。
631デフォルトの名無しさん:2011/05/15(日) 10:09:34.13
頭でっかちになっちゃう人はどの分野にも多くいる
632デフォルトの名無しさん:2011/05/15(日) 10:31:22.30
じゃあこうだな
enum Key { UP. LEFT, DOWN, RIGHT };
EnumSet<Key> keyState;
633デフォルトの名無しさん:2011/05/15(日) 19:17:01.70
>>624
1000箇所の仕様をすべて文書化しろよ。って前任者にいうべき。
634デフォルトの名無しさん:2011/05/15(日) 20:15:12.93
教えて
クラスAにメンバー変数としてstatic int x = 0を書いて
クラスBでクラスAをAiという名でインスタンス化してからAi.x=1とするのと
クラスBでそのままA.x=1とするのはメモリ上でも同じことをしてるの?
635デフォルトの名無しさん:2011/05/15(日) 20:29:56.13
同じ。ちなみに前者はコンパイル時に警告でるはず。
636デフォルトの名無しさん:2011/05/15(日) 21:01:42.80
JavaのプログラムをEclipseでGitにてバージョン管理しています
この環境で作成しているプログラムをEclipse上で実行した際や,
プログラムをjarにエクスポートして,他のPCで実行した際などに,毎回
fatal: Not a git repository (or any of the parent directories): .git
というログメッセージが標準エラー出力に出力されてきます
自分のプログラム内にリポジトリをいじるようなコードは含んでいません

これは一体どこのクラスがどういう意味で出力しているのでしょうか
ちなみにリポジトリ自体は正常に使えています
637デフォルトの名無しさん:2011/05/16(月) 09:50:30.36
>>634
一秒間に何百回と contains, hashCode やら equals やら何度も
メソッド呼び出して、入力チェックするんだろう

こういっても詮無いことだが、ビット立ってるか確認するだけのほうが
いいだろう。コードも短くて済むし メモリもちょっと少なくて済むw
638デフォルトの名無しさん:2011/05/16(月) 19:46:20.01
タイプセーフを無視できるなら。
なんだかんだでAndroidにまで定数指定のビットシフトは使われてるからな。
ちなみにEnumはコンパイルによって単なるint定数になる。
639デフォルトの名無しさん:2011/05/16(月) 20:10:32.72
> ちなみにEnumはコンパイルによって単なるint定数になる
おいおい
640デフォルトの名無しさん:2011/05/16(月) 20:26:46.77
よほどかつかつな状態じゃないとtypesafe enum使うことで増える計算量やメモリ量は無視できる程度。
宣言側で考えればenum使ったほうがpublic static final連発するより短くなる。
641デフォルトの名無しさん:2011/05/16(月) 21:03:36.98
>>636
eclipseのgitプラグインが出しているんじゃない?
コマンドラインで実行したらそのエラー出力はなくなりませんか?
642デフォルトの名無しさん:2011/05/16(月) 21:31:07.85
>>641
2つのWindows環境でコマンドプロンプトからjava -jar hoge.jarと実行したときは、
内部のログ出力と一緒にfatal: Not a git repository〜が出てきました.
そして今度は別PCのUbuntuのコンソールでこのjarを実行してみたら
fatal:〜は出てきませんでした…
ソースのどこかにgitに関するコードが組み込まれているのかとも思ってたんですが
もうちょっと調べてみたいと思います
643デフォルトの名無しさん:2011/05/16(月) 22:16:17.43
public static String getHash(String org, String algorithm){
if ((org== null)||(algorithm== null)){
return null;
}

MessageDigest digest = MessageDigest.getInstance(algorithm);
try {
byte[] buff = new byte[4096];
int len = 0;
while ((len = in.read(buff, 0, buff.length)) >= 0) {
digest.update(buff, 0, len)
}
}
catch (IOException e) {
throw e;
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
}
}
以上のあるパッケージの部分コードで、
InputStreamからファイルを読み込んでバイト配列に入れる処理はどのように書いた方がよろしいですか?
644デフォルトの名無しさん:2011/05/16(月) 23:56:58.31
FileInputStreamで検索したら例でてくるだろ禿野郎
645デフォルトの名無しさん:2011/05/17(火) 00:32:25.79
>>644
import package643;

public class Exsample{
public static void main(String[] args){

String value= "2ch";
String hash= Encrypter.getHash(value, Encrypter.ALG_SHA1);

System.out.println(hash);
}
}

自分で文字列だけ詰め込むことはできましたがFileInputStreamからの入れ方がよくわからん
具体例示してくれるとありがたいです
646デフォルトの名無しさん:2011/05/17(火) 00:55:47.20
ローカルのSQLファイル
例えばGoogleChromeのクッキーファイルとか、Janeのキャッシュファイルとか を読み取り任意のコマンドを実行させるにはどうしたらよいのでしょうか
ネット上にはSQLサーバーに接続して・・・の方法は載っていますが、ローカルのc:\programfiles\googlechrome\cookie
とかのローカルのパスを指定する場合の解説が見つかりませんでした
647デフォルトの名無しさん:2011/05/17(火) 01:38:53.13
データベースが何かをググってこい
648デフォルトの名無しさん:2011/05/17(火) 02:05:59.65
そもそもJavaなのか
649デフォルトの名無しさん:2011/05/17(火) 03:35:50.27
sqlite.jarとsqlite_jni.dllをネットのどっかから見つけてきて下を参考にすればできるよ
javasqlite-20100727-win32.zipとか

import java.sql.*;
import SQLite.*;
public class SQLiteHello {
public static void main(String[] args){
try {
Class.forName("SQLite.JDBCDriver");
Connection c = DriverManager.getConnection("jdbc:sqlite:/c:/sqlite/testdatabase");
//これを入れない場合は、コミットしなくてもコネクションを切れば自動でコミットされる
c.setAutoCommit(false);
Statement st = c.createStatement();
//INSERTなどのクエリを実行する場合は、こんなふうに。
//int rc = st.executeUpdate( "insert into testtable values(2,’Hello’,'World’)" );
ResultSet rs = st.executeQuery( "select col1, col2, col3 from testtable" );
while ( rs.next() ) {
int i = rs.getInt(1);
String s1 = rs.getString(2);
String s2 = rs.getString(3);
System.out.println( i + " :" + s1 + s2 );
}
rs.close();
st.close();
c.commit();
c.close();
}catch(java.lang.Exception e){
e.printStackTrace();
System.exit(0);
}}}
650デフォルトの名無しさん:2011/05/17(火) 06:39:17.22
並列処理の中断について教えてください.

スレッドを中断するときはinterruptを投げます.
中断される各スレッドは、自分自身がinterruptされたか判断するために
isInterruptedメソッド使い、されていれば
InterrputExceptionを投げて処理を中断させるのが一般的(?)だと認識しています.

このinterruptされたかのチェック方法について質問させてください.
isInterruptedメソッドは自分で処理の間に挟んで定期的に
チェックしなければいけないのでしょうか?
なにか、interruptされたら呼ばれるリスナー的なものはないのでしょうか?

この辺の知識がまだ不十分でどのように処理してよいかわからない状態です.

もしよろしければ、教えてください.

651デフォルトの名無しさん:2011/05/17(火) 12:43:57.42
例えばループで処理しているなら、一回処理のたびにインタラプトされているか調べて、
されているなら、諸々の処理をして安全にループを抜ける処理を書く。

書いてることが古かったらスマソ
652デフォルトの名無しさん:2011/05/17(火) 13:24:50.76
ちょっと大学の課題でつまったんだが質問してもいいだろうか?
653デフォルトの名無しさん:2011/05/17(火) 13:34:58.65
すれ違い
654デフォルトの名無しさん:2011/05/17(火) 14:21:16.25
高卒の俺でよければ答えるが
655デフォルトの名無しさん:2011/05/17(火) 17:07:24.91
javaの宿題スレは無いのね。もう授業で教えなく成った?

http://hibari.2ch.net/test/read.cgi/tech/1276873238/
いろんな言語で宿題 第五編
656デフォルトの名無しさん:2011/05/17(火) 17:21:17.85
Date型で2011-05-17 17:17:00 の値のdatetimeを
String.format("%tF %tT", datetime, datetime)で書式化出来るんですが
datetimeが二つでスマートでないのでString.format("%hoge", datetime)で
同様の結果を得るにはどうhogeを書くのでしょうか?
657デフォルトの名無しさん:2011/05/17(火) 17:27:15.20
>>649
横からなんですがそのドライバがAndroidにも非公式で入ってるんですが
executeUpdateで日本語をinsertすると
StringIndexOutOfBoundsExceptionでエラーになります。
何か回避方ありませんか?
SQLiteもJDBCも初めてなのでどのへんを攻めればいいかヒントだけでも助かります。
658デフォルトの名無しさん:2011/05/17(火) 17:59:30.90
>>656
argument_index 使えばいいんじゃね?
String.format("%1$tF %1$tT", datetime)
659デフォルトの名無しさん:2011/05/17(火) 18:07:19.45
>>658
それです!ありがとう
660デフォルトの名無しさん:2011/05/17(火) 18:37:01.91
どなたか課題といてくれませんか?

課題:ポップアップメニュー"to Binary","to Octal","to Hex"を持ち,
メニューを選択してChangeボタンをおすと,テキストフィールドに入力
された10進数の数字が2進数・8進数・16進数に変換され,
Labelに結果が表示されるプログラムを作成しなさい.
ただしWWWブラウザで実行できるようにし,例外処理も行うことこと.

アプレットの表示領域の大きさは横幅200、高さ100とする.

2進数・8進数・16進数への変換
Integer クラスのメソッドである,toBinaryString,toHexString,
toOctalStringを利用せよ
661デフォルトの名無しさん:2011/05/17(火) 21:09:31.58
それは全部自分で作るの?
662デフォルトの名無しさん:2011/05/17(火) 21:18:56.46
やっべぇ、NetBeansつかわないとつくれねーやw
663デフォルトの名無しさん:2011/05/17(火) 21:28:51.65
質問です。

ディレクトリ内の拡張子jpgのファイル名が欲しい時などに
FilenameFilterかFilefilerを使うと思うのですが、両者の使い分けがわかりません。
どのように使い分けるべきでしょうか。
664デフォルトの名無しさん:2011/05/17(火) 22:00:03.35
>>660
とりあえず作ってみた。
AWTかSwingかすら指定されていなかったから適当にAWTで書いた。
操作確認はFireFox4.0.1とアプレットビューワーで大体やった。
ソース内にコメントで大体の説明は書いてる。
665デフォルトの名無しさん:2011/05/17(火) 22:00:41.36
>>663
名前だけで判断できるならFilenameFilter、
名前以外例えば更新日時なんかも使って判断したいならFileFilter
666デフォルトの名無しさん:2011/05/17(火) 22:02:04.65
>>664
URLが切れてた。

URL: ttp://ll.la/YtGT
667デフォルトの名無しさん:2011/05/17(火) 22:09:14.41
すいません。swingでおねがいします
668デフォルトの名無しさん:2011/05/17(火) 22:13:57.91
>>666
仕事はや!
質問者じゃないが、うまくできてたよー
669デフォルトの名無しさん:2011/05/17(火) 22:44:36.04
>>666
ありがとうございました^^ まさかほんとに返ってくるとは思ってなかって
感謝御礼です。また、分からなくなったらよろしく御願いします。
670デフォルトの名無しさん:2011/05/17(火) 22:59:32.48
>>663
蛇足だろうけど拡張子だけを見るなら
javax.swing.filechooser.FileNameExtensionFilter を使ってもいい。
コンストラクタへの引数で説明と拡張子を指定するだけで動作する。
SwingのJFileChooser使う必要があるけど(確かAWTのFileDialogには対応していない)。
671デフォルトの名無しさん:2011/05/17(火) 23:00:15.22
質問者じゃないけど俺も落とした
672デフォルトの名無しさん:2011/05/18(水) 01:22:50.66
>>665
回答ありがとうございます。
FileFilterでも名前で判断したり、FilenameFilterで名前以外で判断したり、といったことも
できそうな気がしますが、そういうことは作法としてやらないほうがいいのでしょうか?
673デフォルトの名無しさん:2011/05/18(水) 01:31:17.89
>>670
回答ありがとうございます。
知らないメソッドだったのでぐぐってみましたすっきり書けていいですね、頭に入れておきます。
大して長くないのにERROR:本文が長すぎますってなんなの・・・
674デフォルトの名無しさん:2011/05/18(水) 11:19:29.56
POIについてなんですがシート全体のセルのロックを外したいのですが
シートすべてのセルに対してスタイルを設定していくのは
非現実的なのですが、シート全体のセルのロックを全て外す
というのを一括で行う方法はないでしょうか?
675デフォルトの名無しさん:2011/05/18(水) 23:49:56.42
例外処理ですが、thorws連発してたらあまりにもthrowsだらけになってしまって
throwsが望ましくないようなメソッドにまでthrowsがつくようになっていました。。。
で、例外処理の補足位置ってどういうポリシーが一般的なんでしょうか?
676デフォルトの名無しさん:2011/05/19(木) 00:04:24.60
なぜcatchしないのかとw
677デフォルトの名無しさん:2011/05/19(木) 00:09:02.33
>>675
ビジネスロジックの実装クラスでcatchしてRuntimeExceptionの派生クラスでラップしてthrow
678デフォルトの名無しさん:2011/05/19(木) 00:09:09.73
質問の仕方が不明確でした。
catchをする位置に関しての質問です。
一番上までもっていくってポリシーだったんですが
それだけじゃスマートじゃないよなと、はたと思った次第です。
679デフォルトの名無しさん:2011/05/19(木) 00:12:56.46
モデルからビューにいったとき (ビューで別のExceptionに置き換える)
通信クラスからビジネスクラスにいったとき (ビジネスクラスが理解できるExceptionに置き換える)

多分だけど、階層がかわったときじゃないかなー

>一番上までもっていくってポリシーだったんですが

Exceptionを置き換えずに一番上までもっていくんですか?
WEBブラウザにリモートプロトコルの例外が表示されていいとでも?

もし画面がなくて、CSV出力するだけのプログラムだったらどうするんですか?
ホストの電文に、スタックトレースわたすわけにはいかないですよね?

下請けしてるなら社名を明らかにするべきw
680デフォルトの名無しさん:2011/05/19(木) 00:18:43.35
>>679
>Exceptionを置き換えずに一番上までもっていくんですか?

はいw
そこらへんは俺様アプリなのでとりあえず問題はないんです。。。
というより、それゆえあまり深く考えてこなかったんですねw

ロジックの階層の境目を越えないあたりですべて処理済みにしちゃうのが一般的ということですね。
勉強になりました。
681デフォルトの名無しさん:2011/05/19(木) 00:19:31.83
階層がかわったとき以外に、処理をとめたくないときとかもcatchしないとですね。

電文を読み込むプログラムが、電文の文字列を数値として、Integer.parseIntでエラーになった場合とか
処理を全部中止する「べき」か、継続する「べき」かは仕様としてネゴをとる必要があるでしょう。

データベースの列の幅が短くて、SQLExceptionが発生した場合とかも、
それ以外の(例:商品)については、システムに投入する必要があるでしょう。

投入エラーについて、電文の生もまま、ファイルやDBなどに書き込む必要もあるでしょう。

この場合、上(ビュー)に投げるべきなのは、例外ではなく警告(メッセージのみ)となります。
682デフォルトの名無しさん:2011/05/19(木) 01:18:19.99

TimeZone.getDefault()ってOSのタイムゾーンみてるんですか?

例えば、UbuntuやCentOSでタイムゾーンの設定をUTCからPSTに変えると実行結果もその直後に変わる?
dateコマンドの表示がUTCのときは、Javaの実行結果もUTCの時間になって、
dateコマンドの表示がPSTのときは、Javaの実行結果もPSTになると。

ちょっと試す環境ないので(自分の怠慢ですが)、結果だけ教えてください
683デフォルトの名無しさん:2011/05/19(木) 01:22:04.52
俺も気になる
暇人よろしく
684デフォルトの名無しさん:2011/05/19(木) 11:45:46.11
選択ソート、挿入ソート、バブルソートの長所 短所を教えてください
685デフォルトの名無しさん:2011/05/19(木) 11:55:30.49
>>680
選択ソート  3以上のソースからのマージにつかえる
挿入ソート  ファイルとメモリをあわせてファイルに書き出せるのでメモリが貧弱でもよい
バブルソート 名前がかわゆす
686デフォルトの名無しさん:2011/05/19(木) 11:58:26.58
http://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%BC%E3%83%88

てか、Wikiにすべてかいてあるお
687デフォルトの名無しさん:2011/05/19(木) 11:59:15.40
>>682
ソース、ダウンロードしてきたらいいのかもしれない

多分JavaVM起動時のTZだと思うけど
688デフォルトの名無しさん:2011/05/19(木) 11:59:22.87
もう少し詳しく説明してくれるとうれしい
689デフォルトの名無しさん:2011/05/19(木) 12:02:45.06
>>688
Wikiより詳しく?
ggrks
690デフォルトの名無しさん:2011/05/19(木) 12:06:03.40
>>689
ゴメス・・・
691デフォルトの名無しさん:2011/05/19(木) 13:47:13.46
ある関数でdouble 型の計算を行うとします。
そしてその計算を単体テストしたいと考えました。
例えばシンプルに、
public double add(double a,double b)
{
return a + b;
}
とあったとき、この計算を確かめたいとします。
main
double ans = add(1.2,1.4);
if(ans != 2.6)//これはヤヴァイ
{
 fail();
}
これは誤差の関係上ダメです。
ですが、こういう場合はどうすれば誤差を考慮にいれたテストとなるのでしょうか?
これはjavaに限った話ではないのですが・・・
692デフォルトの名無しさん:2011/05/19(木) 13:54:05.28
>>691
junit使ってるなら、
org.junit.Assert#assertEquals(double expected, double actual, double delta)
693 【東電 74.6 %】 忍法帖【Lv=15,xxxPT】 :2011/05/19(木) 13:54:27.83
>>579
Objectはやめれ
やったらおまえを殴ってしまうかもしれん
694デフォルトの名無しさん:2011/05/19(木) 14:02:02.38
>>691
差の絶対値が e 以下になるかを確認する
もちろん e は必要なほど十分小さくなるように選ぶ
695691:2011/05/19(木) 14:13:27.59
ありがとうございます!

>>692
なるほど!これを使えばいいんですね!
>>694
なるほど!!

考え方はよく分かりました。
eを選ぶ考え方の基準はどうすればいいのですか?
例えば100あたりの判定と1000000000あたりの判定では
1000000000はeは大きめでないといけないらしいぞと聞いたことがあるんですが
696デフォルトの名無しさん:2011/05/19(木) 16:00:54.87
697デフォルトの名無しさん:2011/05/19(木) 17:02:11.59
>>691

Math.ulp()使えば誤差の限界っぽい情報が求まる。
2.6のulpは4.440892098500626E-16あたりだ。

Math.nextAfter()使えば前後の値が解る。
2.6の次に大きい数は2.6000000000000005あたりで、
次に小さい数は2.5999999999999996あたりだ。

本来"2.600000000000000088817841970012523233890533447265625"
と書かなければならないテストコードを、いいかげんなテストプログラマが
"2.6"と適当な近似値で書いてもコンパイル結果が一緒だったのが気にくわないなら、
"0x1.4cccccccccccdp1"
とIEEEビットイメージで書かせればいい。
698デフォルトの名無しさん:2011/05/19(木) 18:16:52.19
javaでの演奏について AudioClipで演奏は
a1=java.applet.Applet.newAudioClip(Main.class.getResource(file));
a1.play();
というのはわかったのですが
このa1が演奏中であるかどうか状態を知るにはどうすればいいですか?
ググってみたんですがよくわからなかったのでヒントを下さい。
699デフォルトの名無しさん:2011/05/19(木) 19:02:31.00
AudioClipはインタフェースなんだから、
デコレータパターンで操作追跡用AudioClip作ってくるむといいよ。

いくらなんでももう javax.sound.sampled に移行した方がよくないかい?
700デフォルトの名無しさん:2011/05/19(木) 19:17:36.40
javax.sound.sampled midi ですか。
わかりました そちらに移行します。
701691:2011/05/19(木) 20:18:41.19
>>696
ありがとうございます。

>>697
とても理解が深まりました。
これで浮動小数点ともう少しうまく付き合えそうです!

解決です。ありがとうございました。
702デフォルトの名無しさん:2011/05/19(木) 21:37:50.31
Javaで画像ビューアを作成しようと思っています。

ImageIO.read(File)で未対応の画像(例:MAG)を表示したい場合
どのようにMAG用ImageReaderを作成、登録するのでしょうか?
703デフォルトの名無しさん:2011/05/19(木) 22:14:24.80
入力した引数まで、素数を探すものを書いたのですが、
何も表示しないでプログラムが終了してしまいます。教えてください。ソースコード下
class prinum{

public static void main(String[] args){

int hikisu = Integer.parseInt(args[0]); //上限を引数で取る

first_loop: for (int num1 = 0; num1 <= hikisu; num1++){ //first_loop 始まり

seccond_loop: for(int num2 = 1; num2 <= hikisu; num2++){ //seccond_loop 始まり

int num3 = num1 % num2; //変数num3を置いて調べる数÷num2の余りとする

if(num3 == 0){ //余りがゼロの時

continue seccond_loop; } //seccond_loop に戻る

System.out.println(num1 + "は素数\n");

} //seccond_loop 終わり
} //first_loop 終わり
}
}
704デフォルトの名無しさん:2011/05/19(木) 22:23:13.60
>>702
javax.imageio.spiを参照。
705デフォルトの名無しさん:2011/05/19(木) 22:30:59.23
>>703
> 何も表示しないでプログラムが終了してしまいます。
これまじ?

引数無ければエラー出るだろうし、負数か0を入力しない限り
2は素数 3は素数 4は素数 みたいに本当も嘘もおかまいなしにガンガン表示すると思うんだが。
706デフォルトの名無しさん:2011/05/19(木) 22:34:27.37
>>703は突っ込みどころが多すぎて困る
707デフォルトの名無しさん:2011/05/19(木) 22:37:50.12
>>705
コマンドプロンプトに
C:\program file>java prinum 5
で実行したら下に
C:\program file>
ってすぐ出てきました。
708デフォルトの名無しさん:2011/05/19(木) 22:42:39.82
>>707
C:\Users\7743\Documents>javac prinum.java

C:\Users\7743\Documents>java prinum 5
1は素数

1は素数

1は素数

1は素数

2は素数

以下延々と続く……
709デフォルトの名無しさん:2011/05/20(金) 00:05:27.79
Webアプリケーションのフレームワークの選択に悩んでいます。
今ならこれ!っていう鉄板な組み合わせとかありませんか?

ざっと見た感じSpringかSAStrutsか、という感じでしたが。
710デフォルトの名無しさん:2011/05/20(金) 00:14:36.48
予算と開発期間ぐらい示さないと何ともwww

人材調達がしやすいのは古典的なjsp/jdbc, strutsあたり。

http://hibari.2ch.net/test/read.cgi/tech/1217536023/
△△もっとStruts2の良さを教えてくださいSsssion6
711デフォルトの名無しさん:2011/05/20(金) 00:36:39.59
いまさらStruts1系とか触りたくねーけどな>SAStruts
人を集めやすいとか言ったって、Struts1やってたドカタはもうAndroidとか行ってんじゃないの。
Struts2やSpringMVCは初見でも十分わかりやすいと思うけど日本じゃ主流じゃない感がありあり。

ViewはFreeMarkerやVelocityも触ったけど無難なのは巣のjsp(+jstl)だと思う。
データアクセスはiBatisだな。仕様変更の嵐にも対応できる。

ということで結論としては Apache Wicket + Hibernate が鉄板かな。
メンバーをワクワクさせる事のできる組み合せだ。
712デフォルトの名無しさん:2011/05/20(金) 00:37:04.60
特定の型(独自に規定)のリストの値をソートして二分探索したいのですが、分かりませんでした。
comparatorを自分で作ってソートする所までは出来たのですが、
javaで用意されているクラスで二分探索する方法が分かりませんでした。
ご教授お願いします。

class original{
//年齢、名前を登録するbean
int age;
String name;
public original(int arg1,String arg2){
this.age=arg1;
this.name=arg2;
}
}
//以下 年齢、名前が10個分入っているリスト
List<original> beanList  
//mycomparatorは年齢順になるようにルールを規定
collections.sort(beanList,new mycomparator())

この後が分かりませんでした。。。
よろしくお願いします。
713デフォルトの名無しさん:2011/05/20(金) 00:42:14.53
>>712
Collections#binarySearch
714デフォルトの名無しさん:2011/05/20(金) 00:50:54.32

Android 開発をしようと、初めてJavaを触っています。

View を継承して好きな画面表示を作れるよと書いてある本を読んで、以下のコードを書きました:
public class MyView extends View {}

するとエラーが出ました:
Implicit super constructor View() is undefined for default constructor. Must define an explicit constructor.

そこで、Eclipse さんが教えてくれた available quick fix:
Add constructor 'MyView(Context)'
Add constructor 'MyView(Context, AttributeSet)'
Add constructor 'MyView(Context, AttributeSet, int)'

をそのまま実行してみました:
public class MyView extends View {
public MyView(Context context) { super(context); }
public MyView(Context context, AttributeSet attrs) { super(context, attrs); }
public MyView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle); }
}

それでも同じエラーが出たままです。なぜでしょうか。
715デフォルトの名無しさん:2011/05/20(金) 01:34:16.46
>>713
規定している型がString等の基本型なら探索出来たのですが、
original型を指定すると駄目でした。

Arrays.binarySearchとかいうものがあるみたいですが、
これも基本型のサンプルしか出てこないorz
716デフォルトの名無しさん:2011/05/20(金) 01:34:43.65
>>714
わかんないけど、実行してるプロジェクトが間違ってるとか?
717デフォルトの名無しさん:2011/05/20(金) 01:37:48.98
>>716
すみません、実行というのは quick fix をしたというだけです。
エラーが出ているのでコンパイルできていません。
718715:2011/05/20(金) 02:07:10.30
解決しました。第二パラメータの「キー」が分かりにくいですね・・

一応ソース

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

public class test {

public void testBinary() {
List<original> testBeanList = new ArrayList<original>();

Random rnd = new Random();
int tempNum = 0;
for (int counter = 0; counter < 10; counter++) {
Integer ran = rnd.nextInt(100);
original bean = new original(ran, "sameName");
testBeanList.add(bean);
tempNum = ran;
}
Collections.sort(testBeanList,new myComparator());
int zzz = Collections.binarySearch(testBeanList,new original(tempNum, null),new myComparator());
}
}
719デフォルトの名無しさん:2011/05/20(金) 08:11:34.73
>>703
1個1個ツッコミを入れてみる

・引数がないときの対処は?
・NumberFormatExceptionの例外処理は?
・素数の定義は2以上の1と自身でしか割り切れない整数だから0,1,その数自身の判定は不要。
・if文の条件にしか使ってないから変数num3は不要

具体的な変更
・素数の定義を踏まえるとfor文の範囲はnum1が2 〜 hikisu、num2が2 〜 num1-1にするとよい。
・判定処理はsecond_loop内で1度でも余りが0になった場合素数でないので、
 second_loopの前にboolean型の変数を用意し、余りが0になったときその値を変更するなどする。

処理の例 http://www1.axfc.net/uploader/Sc/so/235867.dat
720デフォルトの名無しさん:2011/05/20(金) 08:47:25.92
素数って何?
721デフォルトの名無しさん:2011/05/20(金) 08:50:04.80
素敵な数
722714:2011/05/20(金) 09:08:49.23
自己解決しました。保存しないと Eclipse さんがエラーチェックをやり直さないからでしたorz
723709:2011/05/20(金) 09:37:46.53
>>710
半分趣味なので一人でやろうと思っています。
リンク先のスレも参考にしようと思います。

>>711
趣味でやる場合、その「ワクワク」が結構大事だと思うので、
その組み合わせについて調べてみます。

レスありがとうございました。
724デフォルトの名無しさん:2011/05/20(金) 12:18:00.22
仕様のような気がしてならないんだけど、

Queueをsynchronizedでロックしながら使っているんだけど、別スレッドからaddると、
ロックが解除される。

便利っちゃ便利だけど、どこでもnotifyやnotifyAllをしていない。

仕様でしょうか?
725デフォルトの名無しさん:2011/05/20(金) 13:18:33.86
Queue型のオブジェクト(例えばLinkedList)のロックをsynchronizedで取得しても、
あらゆるスレッドからLinkedListにaddし放題だよ。
文句はLinkedListの作者まで。

Collections#synchronized***シリーズにQueueがないのかー。

BlockingQueueとput()を使うのはどう?
726デフォルトの名無しさん:2011/05/20(金) 13:27:47.76
Queueって、溜めるときにnotifyするものとして使う場合を想定してるんじゃないかな。
notify先を自身でコーディングする以上、synchronizedもそれなりに実装してねっていう。

Queueをsynchronizedしていた場合だとしても、notifyでもっかいsynchronized獲得しなきゃならないから、実装してないんじゃない?
727デフォルトの名無しさん:2011/05/20(金) 13:30:35.88
どこかのスレッドが一度でもsynchronized使うと、CPUのレジスタ割り付けが解除されてmemoryからsynchronizedされて値を取り出さなきゃならないから、
LinkedListにはsynchonizedつけて欲しくないな。

StringBuilderはうれしいと思うし
728デフォルトの名無しさん:2011/05/20(金) 15:19:00.04
プリミティブ型のarraysを降順にソートするAPIはありませんか?
どうしてもプリミティブ型をボックス化してComparatorで並べ替えるしかありませんか?
729デフォルトの名無しさん:2011/05/20(金) 15:25:35.08
Arrays#sort()してから順番逆にすりゃいいんじゃね?
730デフォルトの名無しさん:2011/05/20(金) 15:42:34.34
addする側のスレッドでQueueのロックを取得してないんなら
他でロックされていようがaddできるのはあたりまえ
731デフォルトの名無しさん:2011/05/20(金) 15:59:42.65
hibernateはまだしも、wicketは10年後でもわくわく出来るのかねえ。1.4に描き直すだけでも大変みたいよw
既存のシステムと連携させるとhiberじゃ細かく対応できないから直接sql描く羽目になると思うなあ。

http://hibari.2ch.net/test/read.cgi/tech/1220671877/
Java⇔RDBのMapping-Frameworkを語るスレ Vol.5
http://hibari.2ch.net/test/read.cgi/tech/1132407308/
【Java】Wicket【HTML】
732728 :2011/05/20(金) 17:15:02.79
とりあえずそれでいきます。
ありがとうございました
733デフォルトの名無しさん:2011/05/20(金) 21:18:29.83
>>709
趣味なら「Play framework」もいいと思う。
フルスタックなので迷わないでよい。(まぁ良し悪しだが。)
734デフォルトの名無しさん:2011/05/20(金) 21:49:22.25
>>731
つうか「オラわくわくしてきたぜ」的な意味でワクワクと書いたのに困るよな
735デフォルトの名無しさん:2011/05/21(土) 05:48:12.60
linuxで真ん中が透明の枠のようなウィンドウを作成する方法はありませんか?
AWTUtilitiesでは対応していないようで挫折しています
736デフォルトの名無しさん:2011/05/21(土) 06:08:35.02
答えを知らないのでヒントだけ、
jdesktop 透過ウィンドウ
でググりなさい

大丈夫、あなたは出来る子
737デフォルトの名無しさん:2011/05/21(土) 09:09:56.27
RHEL+GNOMEで半透明スプラッシュのアルファ成分が
うまく表示されなくてあきらめた気がするんだが…

半透明ウィンドウの描画責任って誰にあるんだっけ?
プライバシーにもかかわる問題なので、
それなりのセキュリティ障壁はあるはずと思うけど
738デフォルトの名無しさん:2011/05/21(土) 10:08:28.56
strはString型。

String str = "あいう|えおか|きくけ|こ01|234";
String[] array = str.split("|");

を実行すると、1文字ずつバラされた配列が出てきてしまいます。

「|」は正規表現か何かの予約文字なのですか?
それらを蟲して「|」でsplitする方法教えてください。
739デフォルトの名無しさん:2011/05/21(土) 10:11:56.18
>>738
> 「|」は正規表現か何かの予約文字なのですか?
yes

> それらを蟲して「|」でsplitする方法教えてください。
String[] array = str.split("\\|");
740デフォルトの名無しさん:2011/05/21(土) 10:12:32.55
String str = "あいう|えおか|きくけ|こ01|234";
String[] array = str.split("\\|");
741デフォルトの名無しさん:2011/05/21(土) 10:38:55.54
>>739-740
ありがとうございます!
742デフォルトの名無しさん:2011/05/21(土) 10:54:10.09
エスケープシーケンス勉強しろ
743735:2011/05/21(土) 11:17:52.95
>>736
ありがとうございます。ググッてみます!
>>737
同じ状況です。アルファ値が無視されてしまったり
ubuntu+compiz環境ではウィンドウ全体を透過させることはできました
しかし一部を投下させる枠のようなものは作れませんでした
744デフォルトの名無しさん:2011/05/21(土) 11:24:36.96
>>737
描画自体には責任発生しないんじゃないかね?
キャプチャ許すか許さないかの方では責任発生しそうだけど。
745デフォルトの名無しさん:2011/05/21(土) 11:52:45.84
半透明のためにSunがGPLのOS弄ったって書いてあるじゃんか。できないんじゃね?
746デフォルトの名無しさん:2011/05/21(土) 12:46:19.39
インターフェースで Money2 getYen(); と宣伝して、
実装したクラスで
public Money2 getYen(){
return value*rate;
}
とするとエラーになるんですが、value*rateはdoubleです。
どこが間違っているんでしょうか教えてくださいお願いします。
747デフォルトの名無しさん:2011/05/21(土) 12:59:01.57
Money2がインターフェースです
748デフォルトの名無しさん:2011/05/21(土) 13:24:38.27
double getYen();

public double getYen(){
return value*rate;
}
じゃない?

といかお金の計算にdouble使って大丈夫?
749デフォルトの名無しさん:2011/05/21(土) 13:26:39.64
端数出さないんだからintでいいだろあほが
750デフォルトの名無しさん:2011/05/21(土) 13:26:50.36
大きなお世話です
751デフォルトの名無しさん:2011/05/21(土) 13:34:21.27
正規表現で躓いて動けないので、だれかたすけてくれ

aがくっついていない数字をヒットさせたいんだが、下の例だとa333の後ろの33にヒットしてしまうんだ。

文字列 300 500 123 a333 12
正規表現 (?<!a)(\\d+)

誰か頼むよ
752デフォルトの名無しさん:2011/05/21(土) 13:38:22.76
>>748 解答ありがとうございます。
あえてdoubleではなくインターフェース使っているんです。
Money2インターフェースに
Money2 getYen();
と宣伝し、
実装したクラスの中で
getYen();
メソッドで処理したいんですが、
753デフォルトの名無しさん:2011/05/21(土) 13:41:22.26
おい、おまえら。プログラムなんてやってないで
キャバレーでおんなのおっぱいでもモミモミしていお。
754デフォルトの名無しさん:2011/05/21(土) 13:47:39.58
これが終わったらしたいんだけどww
755デフォルトの名無しさん:2011/05/21(土) 13:54:49.35
>>751
これでどうよ。(?<=^| )(\\d+)
756デフォルトの名無しさん:2011/05/21(土) 14:02:52.88
>>752
ならdoubleじゃなくてMoney2を返せばいいじゃん
757デフォルトの名無しさん:2011/05/21(土) 14:04:25.80
>>755
ありがとう
文頭かスペースにヒットさせるのか。
ウーム、やっぱりそれしかないかな?
入力文字列がスペースが入らず、
444+300 500 123 a333 12
みたいな時も、444と300にヒットさせられると嬉しい

とりあえずは、スペースがちゃんと入っているかチェックするメソッドを入れて対処するわ
758デフォルトの名無しさん:2011/05/21(土) 14:12:22.26
>>756 ならdoubleじゃなくてMoney2を返せばいいじゃん
これができないんです、教えてくださいお願いします
759755:2011/05/21(土) 14:14:19.07
>>757
それなら、(?<=^| |\\+)(\\d+)でいけるとおもうけど、
区切り文字とみなす文字がなんなのかだね。

>文頭かスペースにヒットさせるのか。ウーム、やっぱりそれしかないかな?
んー、どうだろう。
「区切り文字」と「数字が複数個並んでいる部分」の間に「a」が入っていない文字列を取ってくる。
って発想だったんだけど。「[\b]」だとダメだしね。
760デフォルトの名無しさん:2011/05/21(土) 14:20:17.49
>>758
return new Money2();
761デフォルトの名無しさん:2011/05/21(土) 14:20:58.53
>>759
ああそっか、区切り文字全部書いてやればいいんだ・・・w
ちょっちかっこ悪いけど、確かにそうだね
それも盲点だったわ
ありがとう
762デフォルトの名無しさん:2011/05/21(土) 14:24:05.14
自分自身を返したいなら
public Money2 getYen(){
yen=value*rate;
return this;
}
キャストしないとyenは外からは見れないだろうけどね
763デフォルトの名無しさん:2011/05/21(土) 15:00:03.78
>>762
解答ありがとうございました、うまくいきました。yenは外から見れなくていいです。
764デフォルトの名無しさん:2011/05/21(土) 16:09:16.42
JavaでGUIの勉強をしようと思ってます。目的はそんなに思いついてないのですが、
とりあえずVBの入門書にあるようなGUIプログラムをJavaでも作れるようになろうかと。
そこでSwing、SWT、JavaFXのどれで作ろうか迷ってるんですが、どれがお勧めですか。

これを勉強しておけば他のプラットホームでも少しの勉強で何とかなるだろ、ってのがいいのですが。
765デフォルトの名無しさん:2011/05/21(土) 16:14:25.28
>>764
JavaFXはやめておけ。
766デフォルトの名無しさん:2011/05/21(土) 16:25:31.44
Swingでいいんじゃね
767デフォルトの名無しさん:2011/05/21(土) 16:36:45.18
Swingしかやったことないけど、Swingはいいよね
768デフォルトの名無しさん:2011/05/21(土) 16:38:03.70
>>751
(?<!a|\d)\d+
769デフォルトの名無しさん:2011/05/21(土) 16:41:10.17
じゃSwingでやります。どもでした
770デフォルトの名無しさん:2011/05/21(土) 16:56:37.11
>>765
どうしてナムコ?
771デフォルトの名無しさん:2011/05/21(土) 17:01:58.78
何がナムコなんだ
772デフォルトの名無しさん:2011/05/21(土) 17:18:06.49
レス番がナムコなのか
773751:2011/05/21(土) 17:37:15.30
>>768
あんた完璧!
最高!

自分で説明すると、
(?<!a|\\d)\\d+

・最初に\\d+(連続する数字)にヒットしてそこから後読み(戻り読み)する
・aが前にあった場合はヒットしない
・数字が前にあった場合はヒットしない

必ず数字の前には数字以外の文字があるという事だな!!!
当たり前のことでも、中々気づけないもんだね。

ありがとう!
774デフォルトの名無しさん:2011/05/21(土) 17:43:17.66
やるなガンダム。
775デフォルトの名無しさん:2011/05/21(土) 17:45:15.13
またそうやって訳のわからん事を言い出す
おっさんかよ
776デフォルトの名無しさん:2011/05/21(土) 18:14:46.29
まだまだ終わらんよ
だっけか。昭和の人乙。
777デフォルトの名無しさん:2011/05/21(土) 22:13:50.17
778デフォルトの名無しさん:2011/05/21(土) 22:23:36.54
>>777
いろんな言語で宿題 第五編
http://hibari.2ch.net/test/read.cgi/tech/1276873238/
779デフォルトの名無しさん:2011/05/21(土) 22:25:17.20
>>777
この課題でわからないところはどこでしょう?
そうしたら暇な人が、わからないところを回答するかもしれない。
780デフォルトの名無しさん:2011/05/21(土) 22:26:31.77
今Swing勉強中です。

VBにはラベルをクリックしたらイベントが発生して、そこで処理を行わせたりできるんですが、Swingだと
Labelにはクリックに対するイベントリスナーがなさそうですが、VBと同じようなことはできますか?
781デフォルトの名無しさん:2011/05/21(土) 22:55:06.23
>>780
java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
java.awt.Component#addMouseListener(java.awt.event.MouseListener)

じゃダメとかそーゆー話?
782デフォルトの名無しさん:2011/05/21(土) 23:14:53.90
>>781
なるほど、そういうイベントリスナーがあるんですね。勉強になりました
783デフォルトの名無しさん:2011/05/21(土) 23:25:49.10
>>777
モリタポスレが答えてくれそうだったんだが‥‥‥。
784デフォルトの名無しさん:2011/05/21(土) 23:26:12.79
CUIベースのRPGで
二次元配列を使用してMapを生成するコード教えて下しあ
785デフォルトの名無しさん:2011/05/22(日) 01:26:39.95
>>777
暇つぶしに解いてみた。一応動作確認はしてるつもり。

URL: ttp://ll.la/yz=n
786デフォルトの名無しさん:2011/05/22(日) 08:29:29.69
String文字列ってStringを new した場合と違ってメモリ喰わないっていうけど、どうして?
787デフォルトの名無しさん:2011/05/22(日) 08:30:25.31
ガベージコレクタで
使われていないオブジェクト2つが互いに参照してたら
参照ポインタ0にならなくてずっと残るの?
788デフォルトの名無しさん:2011/05/22(日) 09:29:24.68
>>786
リテラル文字列は予め用意された参照を返すだけだから。
newした場合は、内容的には既存の文字列でも新たに割り当てが発生する。
789デフォルトの名無しさん:2011/05/22(日) 10:06:13.02
>>788
じゃあ既存の文字列が2回以上参照されない場合はメモリの消費は同じ?
790デフォルトの名無しさん:2011/05/22(日) 10:23:41.28
CUIベースのRPGで
二次元配列を使用してMapを生成するコード教えて下しあ
791デフォルトの名無しさん:2011/05/22(日) 10:33:21.07
"/" と "\" を改行抜きでランダムにテキスト出力すれば、迷路模様がCUIに出力されるぜ
792デフォルトの名無しさん:2011/05/22(日) 10:45:13.72
nethackを参考にすればいいんじゃないの
793デフォルトの名無しさん:2011/05/22(日) 11:05:59.16
>>785
ありがとうございます。参考にします。。
794デフォルトの名無しさん:2011/05/22(日) 11:08:33.36
795デフォルトの名無しさん:2011/05/22(日) 11:10:13.55
>>787
一般的にJVMのGCは参照カウント方式ではない
796デフォルトの名無しさん:2011/05/22(日) 11:25:35.07
だから何でこのスレで宿題なんだよ
>>778にでも行けよ
797デフォルトの名無しさん:2011/05/22(日) 12:38:15.64
小さい1kぐらいの画像を沢山表示させるようなモノ作ってるんだけど
imageicon>label>panelでやってます、、が
同じ画像を表示させたいときに新しくlabel作って
同じ手順で画像取り込む以外に方法ないですか?
それとも、他に手順の少ない方法あるでしょうか?
798デフォルトの名無しさん:2011/05/22(日) 12:51:00.41
>>797
"小さい1kぐらいの画像"をまとめて一枚の画像ファイルに納めて
x座標、y座標の描画範囲指定で表示させるというのはどうでしょうか?
799デフォルトの名無しさん:2011/05/22(日) 12:55:05.03
>>797
javax.imageio.ImageIO を使うなり、java.awt.Toolkitを使うなりして
事前に画像を読み込んでImageオブジェクトを生成しておいて、
それを引数にしてImageIconを生成するといくつも画像を読み込まないと思う。
800デフォルトの名無しさん:2011/05/22(日) 13:11:42.75
>>794
課題2の方は勝手にインタフェース定義して使ってるけど、
ダメそうなら使わない場合の処理をコメントアウトしてるから
そっちを使って。

URL: ttp://ll.la/haQG

>>796
>>778見てきたけどあそこは他の宿題スレに来た課題を別の言語で
実装してみるってだけらしい。むこうもこっちに誘導してた。
801デフォルトの名無しさん:2011/05/22(日) 13:13:34.58
>>568
QuickTime for Java
JMF異常にオワコンだけどな。
802デフォルトの名無しさん:2011/05/22(日) 13:14:28.24
>>571
JDKの中にそんなツールなかったか?
803デフォルトの名無しさん:2011/05/22(日) 13:16:24.99
>>580
最近の日本語では全くという意味でよくという言葉を使うんだな
804デフォルトの名無しさん:2011/05/22(日) 13:31:14.30
Map<SomeClass, Integer> map;

こういうマップがあったときに
Integer val = map.get(someClass);
val++;

ってやったらマップの中の値も変わるの?
普通のオブジェクトだったら変わると思うけど、Integerだと?
805デフォルトの名無しさん:2011/05/22(日) 13:31:55.38
>>722
実行する前に保存するオプションがあるからそれチェック入れとけ
806デフォルトの名無しさん:2011/05/22(日) 13:36:46.86
>>765
むしろ今から始めるならJavaFXだろう
807デフォルトの名無しさん:2011/05/22(日) 13:40:47.85
>>789
お前の日本語がわからん。既存の文字列ってなんだ?
参照される回数でメモリの消費量が変わるわけがないだろう。
808デフォルトの名無しさん:2011/05/22(日) 13:43:07.31
>>787
その2つのオブジェクトが他の誰からも参照されていないのであれば
GCされる
http://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%BC%E3%82%AF%E3%83%BB%E3%82%A2%E3%83%B3%E3%83%89%E3%83%BB%E3%82%B9%E3%82%A4%E3%83%BC%E3%83%97
809デフォルトの名無しさん:2011/05/22(日) 13:46:21.52
>>798さんくす
>>799
最初にイメージ読んでlabelまで作ってしまう場合は
toolkit使う意味はあります?

810デフォルトの名無しさん:2011/05/22(日) 13:52:12.15
誰かJava7のスレ立ててくれ
811デフォルトの名無しさん:2011/05/22(日) 13:54:03.68
Swingでラベルの位置を調整しようとしてるんですが、下のforループで1番目(i=0)がフレームの
真ん中に来てしまいます。例えばi=5から始めてもi=5の分だけが真ん中に来てしまう。
これはどうしてでしょうか。

----------------------------------------
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Ex extends JFrame{
JLabel label;
String s = "Java Swing!";
public Ex(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("Ex2_1");
this.setSize(300,200);
label = new JLabel(s);

for(int i=0; i<4; i++){
JLabel label = new JLabel(s);
label.setSize(200, 30);
label.setLocation(i*20, i*20);
this.add(label);
}
}

public static void main(String[] args){
Ex frame = new Ex();
frame.setVisible(true);
}
}
812デフォルトの名無しさん:2011/05/22(日) 13:59:38.68
>>811
レイアウトマネージャのせいじゃないのか?
813デフォルトの名無しさん:2011/05/22(日) 14:02:20.37
あー、忘れてた。

this.setLayout(null);

を入れればいいんですね。どうもです。
814デフォルトの名無しさん:2011/05/22(日) 14:04:14.55
>>809
その画像を読み込む手段として
ImageIO.read() か Toolkit.getImage() を挙げたんだけど?
どちらか好きな方を使えばいいと思うって意味で。
815デフォルトの名無しさん:2011/05/22(日) 14:04:24.11
>>811
違うかもしれないけど
labelを複数個つくって
label1.setLocation(20, 20);
label2.setLocation(40, 40);
とかしないと、一個しかつかえないんじゃにゃいの
2回addしたら一回目の消えるっていうかそんなイメージ?
816デフォルトの名無しさん:2011/05/22(日) 14:09:50.47
>>815
なんか1回目はレイアウトマネージャで真ん中に入れられるみたいです
2回目からはなぜか調整できるようで。どういう挙動なのかわかりませんが、レイアウトマネージャに
頼らないでやると最初から行けました
817デフォルトの名無しさん:2011/05/22(日) 15:16:22.42
eclipseの調子が悪いのか、コードがうまく動かない。

例えば、
Rectangle r = obj . getBounds(); //objの位置を取得
r . x = r . x + 10;    //右に10移動
r . y = r . y + 10;    //下に10移動
obj . setBounds(r);   //反映
で、x軸方向だけ移動したり、

class A -> class B -> class C
と呼んで class Cで変数の変更を行おうとしているのに、
class Bに飛んだ瞬間に、class Cの変更が完了してる

Eclipse Ver3.3.2

なにかアドバイスを・・・
818デフォルトの名無しさん:2011/05/22(日) 15:22:22.63
よくわからんけど防御的コピーの話?
819デフォルトの名無しさん:2011/05/22(日) 15:24:28.07
>>806
要望を読めよ。「他のプラットホーム・・・」っていう下り。
それに、JavaFXはいま失速気味だろ。
それでもJavaFXをおすすめするのか?
820デフォルトの名無しさん:2011/05/22(日) 15:34:40.86
>>817
デバッガを複数起動しているに1ガバス
821デフォルトの名無しさん:2011/05/22(日) 15:38:42.97
xのy乗=z のとき
yとzからxを求める関数って何ですか?
822デフォルトの名無しさん:2011/05/22(日) 15:43:11.37
z = Math.pow(x, y);
x = Math.pow(z, 1.0 / y);
823デフォルトの名無しさん:2011/05/22(日) 15:43:36.03
x^y=z
y*log(x)=log(z)
log(x)=log(z)/y
x=exp(log(z)/y) あとは関数探す事。
824デフォルトの名無しさん:2011/05/22(日) 15:47:14.84
ありがd
825デフォルトの名無しさん:2011/05/22(日) 17:42:25.28
>>791
惚れたw
826デフォルトの名無しさん:2011/05/22(日) 18:46:40.14
ゴミしかいないなここ
827823:2011/05/22(日) 18:52:47.60
x^y=z
y*log(x)=log(z)
log(x)=(1/y)*log(z)
x=z^(1/y) あとは関数探す事。>>823 Thanks
828デフォルトの名無しさん:2011/05/22(日) 22:22:53.20
>>826
てめー Suiton すっぞ
829デフォルトの名無しさん:2011/05/22(日) 22:30:02.52
初心者です
下記のようにコードを打ち込むと
1行目Aで「型はすでに定義されています」というエラーが出てしまいます
どなたか改善案をお教え願いませんでしょうか?

class A {
String name;
A(String name) {
this.name = name;
}
}
class B{
A sch1 = new A("本田");
A sch3 = createA("森下");
A sch4 = sch3;

void display() {
System.out.println(sch1.name);
System.out.println(sch3.name);
System.out.println(sch4.name);
}
A createA(String name) {
return new A(name);
}
}
class Exec {
public static void main(String[] args) {
B all = new B();
all.display();
}
}
830デフォルトの名無しさん:2011/05/22(日) 22:40:04.33
すみません自己解決しました
大変失礼しました

デフォルトパッケージに同じクラスを持ったファイルがありましたorz
初歩的なミスで大変恥ずかしい・・・
831デフォルトの名無しさん:2011/05/23(月) 11:21:07.81
>>819
ん?xamlとかflashの何とかとか、ああいうのが流行りじゃん。
Swingとは全然違うぞ。
832デフォルトの名無しさん:2011/05/23(月) 12:00:21.36
zipファイルの中身を解凍せずに閲覧できるライブラリありませんか?(漫画ビューワみたいな事をやりたい)
java.util.zipで可能でしょうか?
833デフォルトの名無しさん:2011/05/23(月) 16:04:27.78
うーーん、よく分からん動作がいっぱい・・・

ArrayListが不安定な動作をする。
今特に問題なのが、

Queue で poll すると
java.util.NoSuchElementException が発生する。

調べたところ、ArrayListは意外と Thread safetyじゃないらしく
ttp://www.velocityreviews.com/forums/t147203-problems-with-linked-lists.html
みたいな話になっているようだけど。

確かにThreadは使っている。
でもQueue.add以外は他のThreadからはアクセスしていないし、
肝心なコードもいちおう synchronizedで囲んでる

while(queue.isEmpty()){
synchronized(queue){
try {queue.wait(2000);} catch (InterruptedException e) {}
}
System.out.println("exit");
}
return queue.poll();  //ここでExceptionが発生する

他にjava.util.NoSuchElementExceptionが発生する要素は無いでしょうか
834デフォルトの名無しさん:2011/05/23(月) 16:36:03.87
>>833
素直にArrayBlockingQueueとか使えばいいんじゃね?
835デフォルトの名無しさん:2011/05/23(月) 16:55:59.83
>>834
返信ありがとうございます。

検討したことがあるのですが、

別スレッドからのaddは、いまのところテスト環境にて、mainスレッドからstartしていますが、
最終的には別PCからのアプリケーションで起動します。
通信エラーなどの再送はTCPでOKだと思いますが、
addに関しては、通信プロセスに渡した後次の処理に進まざるを得ません。
つまり、addにNULLが帰ってこないので、addの再送が無理です。

取りこぼしは最もNGなので、気軽にArrayBlockingQueueからNULLを返されてもこまるので、
採用不可となっております。
836デフォルトの名無しさん:2011/05/23(月) 17:30:28.06
日本語でおけ
837デフォルトの名無しさん:2011/05/23(月) 17:54:57.44
ウンチみたいな奴ばっかだな
838デフォルトの名無しさん:2011/05/23(月) 18:09:24.14
centosにjavaを入れました

java初心者なのですが
テキストから「ON」という文字を読み込んで
buf.equals("ON")で比較しても一致しませんでした

読み込んだ文字をファイルに書き出してみると
ONと書かれていました

何が原因なのでしょうか?
839デフォルトの名無しさん:2011/05/23(月) 18:17:09.00
ちなみにこのパターンだとうまくいきました

String hikaku = new String("ON"); if(buf.regionMatches(0,hikaku,0,hikaku.length()) == true ){
//成功処理
}
840デフォルトの名無しさん:2011/05/23(月) 19:01:23.51
テキストに改行文字や空白文字が入ってて、
bufには それも含まれてるからequalsで比較してもダメだったとか?
841デフォルトの名無しさん:2011/05/23(月) 19:06:34.37
まあとりあえずtrimして比較だな。
あとbufのlengthを表示。
842デフォルトの名無しさん:2011/05/23(月) 20:28:35.40
>>832
できるよ
843デフォルトの名無しさん:2011/05/23(月) 21:12:28.29
linkedlistにaddする過程で要素削除されてるんじゃないの?
そもそもそのコードのsynchronizedの使い方では排他制御になってない
正しくはこうじゃない?
Object obj = null;
synchronized(queue){
while(queue.isEmpty()){
try {queue.wait(2000);} catch (InterruptedException e) {}
}
obj = queue.poll();
}
return obj;
844デフォルトの名無しさん:2011/05/23(月) 21:18:00.52
あとlinkedlistに追加するスレッド側は
synchronized(queue){
queue.add(obj);
queue.notyfyAll();
}
845デフォルトの名無しさん:2011/05/23(月) 21:34:15.53
カレントディレクトリをファイルオブジェクトとしてもらおうと思ったのですが、
File f = new File(".");
File parent = f.getParentFile();
としてもparentはnullでした。
なぜでしょうか?
846デフォルトの名無しさん:2011/05/23(月) 21:54:00.97
>>845
new File(".").getCanonicalFile()
847デフォルトの名無しさん:2011/05/23(月) 22:03:07.37
「その抽象パス」が親ディレクトリ持たない場合は File#getParentFile() は null を返す。
要するに抽象パスから絶対パスや正規パスへの変換は明示的にやんなきゃダメ。
ついでに、"." をカレントディレクトリとして解釈して欲しい場合は正規パスに変換しないとダメ。
848デフォルトの名無しさん:2011/05/23(月) 22:28:13.97
VB5からJAVAに移行してるんですけど
どうすればJAVAのソースコードの妥当性確認が出来ますか?
849デフォルトの名無しさん:2011/05/23(月) 22:35:37.07
初心者向け入門書にのってるくらいの短いサンプル程度なら継承やら実装やらコードかける
けど、一から何か作ろうとするとまったく書けない
どないすればいいんだろ
850デフォルトの名無しさん:2011/05/23(月) 22:41:21.93
>>843-844
ありがとうございます。

>>843にしたら、今のところエラーはでませんでした。
ただ、
プロジェクト内で検索してもpollは1つだけなんですよね。
もちろんremoveなんか使っていないし、取り出しはこのpollだけです。
それが、mainスレッドでインスタンス化した5つのクラスにだけ存在してます。
queueオブジェクトはクラス内のメンバーとして存在しています。

どうやったらelementがpollする前に削除されるんだろ、ってところはまだ疑問のままです。

851デフォルトの名無しさん:2011/05/23(月) 22:42:55.45
とにかく何か書く
単機能のツールでもなんでもいいから書くしかないだろうな
852デフォルトの名無しさん:2011/05/23(月) 22:48:51.01
>>850
Javaのソースを読めば何か見えてくるかも。たぶん。
Javaでもアウトオブオーダー実行は起こり得るから、
発生条件を明確にするのはちと大変そうだ。
853デフォルトの名無しさん:2011/05/23(月) 22:52:20.75
javaプログラマーの人たちはUMLを使うことが多いと思いますが、
モデリングツールは何を使っていますか?
854デフォルトの名無しさん:2011/05/23(月) 22:58:08.57
>>846-847
なるほど!
"."というのはあくまでも「抽象パス」
だから実際のパスを取得する必要があったということですか!
ありがとうございました!
855デフォルトの名無しさん:2011/05/23(月) 23:00:13.22
ぱwwwわwwwぽwww

>>849
なんか適当に自分の興味持ってるアプリを1本作る。
実装が糞でもいいのでとりあえず動くところまで。
○×ゲームとか4×4オセロとかマインスイーパとか。
856デフォルトの名無しさん:2011/05/24(火) 00:19:27.04
>>853
紙とペン。暇が出来たらEnterprise Architect。
857832:2011/05/24(火) 01:12:03.83
>>842
どもです。やってみます。
858デフォルトの名無しさん:2011/05/24(火) 01:14:44.79
swing勉強中です

ある本を読んでたらアダプタクラスの話が書いてましたが、これまでは
特に知らないでエクリプスに頼ってイベントリスナ使ってました
アダプタクラスって今も使うんでしょうか。読んでる本若干古いんで、
もしかして今どきは必要ないのかなーと思いまして、、、
859デフォルトの名無しさん:2011/05/24(火) 01:22:12.64
普通に使う
ちょちょっとイベント処理書きたい時とか匿名リスナにして使うと便利
860デフォルトの名無しさん:2011/05/24(火) 02:52:34.28
>>853
一人でやるときはastah
複数でやるときはEA買ってもらう
861デフォルトの名無しさん:2011/05/24(火) 07:16:15.43
>>831
流行りを勉強したいなんて書いてないでしょう?
そもそもJavaFXは、技術としては新しいけど流行りじゃないし。Orcleになってからさらに下火でしょ。
なのでJavaFXはおすすめしない。ってこと。
862デフォルトの名無しさん:2011/05/24(火) 10:14:24.48
情報系の授業でjavaをやってるんだが、用語満載で付いていけない…
取っ掛かりとして、まずどのように勉強すればいいでしょうか?
863デフォルトの名無しさん:2011/05/24(火) 10:21:53.21
わからない用語をググってみれば?
864デフォルトの名無しさん:2011/05/24(火) 13:35:58.60
Eclipse heilosで今開発してるのですが
@overrideのjavadocの書き方が分かりません

paramなどは
/**
@param
*/
などで設定出来ますが、overrideで作成したソースには
@override っていうのが灰色で入るのですが

自分で作成した場合はどうやって付ければいいのでしょうか?
普通に@overrideって入力してもエラーになります。
865デフォルトの名無しさん:2011/05/24(火) 13:57:28.81
>>864 @override は javadoc のタグじゃないそうです。
866デフォルトの名無しさん:2011/05/24(火) 14:19:21.28
>>865
なるほどー、自動生成以外で付ける方法はないのです?
867デフォルトの名無しさん:2011/05/24(火) 14:55:51.40
JRE1.5でjavaのプロセスIDを取得することは可能でしょうか。
無理な場合java.exe単位でユニークになるような情報はあるでしょうか。
868デフォルトの名無しさん:2011/05/24(火) 16:19:35.08
eclipseだとできるけどな
@override
869デフォルトの名無しさん:2011/05/24(火) 16:23:03.77
たとえば
/**
* FieldPrinter を生成します。
*/
@Override
protected FieldPrinter createPrinter() {
return new FieldCharPrinter();
}
って書いといてマウスカーソルをcreatePrinterにあわせると
FieldPrinter main.Main.createPrinter()
FieldPrinter を生成します。

上書き: Game 内の createPrinter()

って出る
870デフォルトの名無しさん:2011/05/24(火) 17:28:49.66
antlr2
antlr3
どっちがお勧めなのでしょうか
JSPと組み合わせるならantlr2がデフォルトで入っているらしいのですが
antlr3の高機能も気になります
871デフォルトの名無しさん:2011/05/24(火) 19:33:59.54
>>862
いろいろ原因は考えられると思うが、
・コンピュータの仕組みをイマイチ理解してない
・実際にプログラムを打ち、動かす経験が足りてない。
あたりが原因ではない?
872デフォルトの名無しさん:2011/05/24(火) 20:49:11.05
public interface Print {
  void print();
}
とあって、このインターフェースを引数に取る
public static void Func(Print p)
{
  p.print();
}
という関数があって、
Func(new Print(){
  public void print()
  {
    System.out.println("hogehoge");
  }
});
と呼び出せますよね?
つまり書いてないけどPrintインターフェースをimplementsした無名クラスが
一時的に生成されている、ということになりますよね?
<質問>
1、これはラムダ式のようなイメージで理解していいのですか?
2、これはなんていう名前の機能ですか?(これもラムダ式っていうのかな・・・?)
873デフォルトの名無しさん:2011/05/24(火) 21:00:24.18
RubyのブロックパラメータとかJavaScriptの関数オブジェクトをJavaの文法内で実現したもの・・で
これ自体は別に特別に用意された構文でもなんでもないのでラムダ式かと言われたら違うような気が駿河。

呼び方は無名クラスとか無名インナークラスとか。
業務アプリだとソートのコンパレータや、あとGUI系のリスナ実装でまれによく見る。
まあ使用禁止されてることもあるが。
874872 :2011/05/24(火) 21:04:56.06
>>873
なるほど、そういった経緯があったんですね
swingの解説でなんだこれは!?となったのですが、
ソートのコンパレータなどけっこう痒いところに手が届きそうです。
875デフォルトの名無しさん:2011/05/24(火) 21:10:06.33
>>864
ガキ解決したか?
876デフォルトの名無しさん:2011/05/24(火) 22:51:48.96
WebサイトログインをJavaで行いたいのですが、(例えばyahooメール)
Basic認証で出来ないものでしょうか。
877デフォルトの名無しさん:2011/05/24(火) 23:24:42.99
誰がつかうと思う?w
878デフォルトの名無しさん:2011/05/24(火) 23:55:07.85
できるよ
879デフォルトの名無しさん:2011/05/25(水) 00:20:56.20
>>878
Authenticatorを使ってアクセスする方法を試してみたんだけども
うまくいかなかったので駄目だと思ってました。
880デフォルトの名無しさん:2011/05/25(水) 00:31:26.88
前置・後置インクリメントの違いについて質問です。
「以下のコードは後者がパフォーマンスでやや優るが等価である」は正しいですか?
誤りであればどう違いますか?

for (int i = 0; i < n; i++) doSomething(i);
for (int i = 0; i < n; ++i) doSomething(i);
881デフォルトの名無しさん:2011/05/25(水) 03:39:28.14
最近javaでゲームをつくりはじめました。
2D横スクローリングシューティングを作っています。

自機の移動をキーアダプターで上下左右の4方向に動くようにしています。

4方向に移動のほか、4方向にステップダッシュの効果をつけたいと考えています。
そのコマンドは4方向のキーいづれかを2連続押しというものを考えています。
(たとえば、ガンダム連邦VSジオンのような)

キーリスナーを2連続押しで反応するにはどのようにしたらいいですかね?

ゲーム作成総合で聞いたほうがいいですか?
882デフォルトの名無しさん:2011/05/25(水) 04:17:12.78
>>880
うちのコンパイラはインクリメント部分はどちらもiincを使用している点を含めてループ全体で同じバイトコードを吐いたんだが
パフォーマンスを測定したら後者が優れていたという>>880のコンパイラはどういうコードを吐いたの?
883デフォルトの名無しさん:2011/05/25(水) 06:48:31.09
>>881
前回キーを押したときの時間を記録しておいて,
現在の入力と比較してそれがしきい値以下ならば2連続押しの処理をすればいいよ

そういう処理を挟むと煩雑になると感じるなら,キーリスナを継承した新しいキーリスナを作って
2連続押しの時に呼び出される新しいインタフェース作って実装し,ゲーム側からはそれだけ使うようにすると便利
884デフォルトの名無しさん:2011/05/25(水) 07:14:01.31
for (Integer i = 0; i < n; i++) doSomething(i);
for (Integer i = 0; i < n; ++i) doSomething(i);

これなら後者のが早いね
バイトコードまでは見ないけど
885デフォルトの名無しさん:2011/05/25(水) 08:33:19.79
doSomethingを空 nを127以下にして外側でもう一回ループさせるとか工夫しないと差がわからないレベル。
886デフォルトの名無しさん:2011/05/25(水) 10:00:07.40
>>867
Runtime.getRuntime().hashCode() でいいんじゃね
887デフォルトの名無しさん:2011/05/25(水) 11:52:49.93
rmid.exeを起動してクライアントから通信を開始すると、rmidから起動されたjavaがアクティベーションで登録したポート以外をLISTENINGします。
デバッグで止めてみると、以下の場所でbind(null)しています。
つまり空いているポートならなんでもいいのでLISTENINGしようとしています。
このポートを指定させる方法はあるでしょうか?

at java.net.ServerSocket.bind(ServerSocket.java:322)
at java.net.ServerSocket.<init>(ServerSocket.java:189)
at java.net.ServerSocket.<init>(ServerSocket.java:101)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(Unknown Source)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.listen(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.exportObject(Unknown Source)
at sun.rmi.transport.tcp.TCPEndpoint.exportObject(Unknown Source)
at sun.rmi.transport.LiveRef.exportObject(Unknown Source)
at sun.rmi.server.UnicastServerRef.exportObject(Unknown Source)
at java.rmi.server.UnicastRemoteObject.exportObject(Unknown Source)
at java.rmi.server.UnicastRemoteObject.exportObject(Unknown Source)
at java.rmi.server.UnicastRemoteObject.<init>(Unknown Source)
at java.rmi.server.UnicastRemoteObject.<init>(Unknown Source)
at java.rmi.activation.ActivationGroup.<init>(Unknown Source)
at sun.rmi.server.ActivationGroupImpl.<init>(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.rmi.activation.ActivationGroup.createGroup(Unknown Source)
at sun.rmi.server.ActivationGroupInit.main(Unknown Source)
888デフォルトの名無しさん:2011/05/25(水) 12:17:55.31
>>883

ありがとうございますb
889デフォルトの名無しさん:2011/05/25(水) 15:52:28.02
<input type="button" value="ボタン1" font-size:16px;\" onmousedown="wmenu1();">
<input type="button" value="ボタン2" font-size:16px;\" onmousedown="wmenu2();">
このようなボタンを置いて
function wmenu1(){
if( menu1.style.display == "none" )
menu1.style.display = "block";
if( menu2.style.display == "block" )
menu2.style.display = "none";}
function wmenu2(){
if( menu2.style.display == "none" )
menu2.style.display = "block";
if( menu1.style.display == "block" )
menu1.style.display = "none";}
このように置いて
<table id=menu1 cellpadding=0 cellspacing=1 bgcolor="#000000"><tr><td> ボタン1 </td></tr></table>
<table id=menu2 cellpadding=0 cellspacing=1 bgcolor="#000000"><tr><td> ボタン2 </td></tr></table>
このようにして、ボタンを押すと表示するテーブルを切り替えるようにしました
しかし、サイトを開いたときにボタン1のテーブルとボタン2のテーブルが両方表示されてしまい
サイトの形が崩れてしまうのですが、サイトを開いたときにボタン1のテーブルのみが表示される方法を教えて下さい
890デフォルトの名無しさん:2011/05/25(水) 15:59:19.74
>>889
bodyのonLoadでwmenu1を呼び出せばいいんだけど
お前にはそれ以前の問題があることに気付いてほしい
891デフォルトの名無しさん:2011/05/25(水) 17:11:41.75
ローグライクゲームで敵がプレイヤーを見つけると追いかけてくるアルゴリズムはどういう風に組んでいるのですか
892デフォルトの名無しさん:2011/05/25(水) 18:21:45.19
せっかくゲーム製作関係の板があるんだし、そっちで聞いてみるといいよ
またはnethackかなんかのソースを読むといい
893デフォルトの名無しさん:2011/05/25(水) 19:16:52.32
ありがとうございます。
894デフォルトの名無しさん:2011/05/25(水) 19:37:29.55
>>891

フェロモンモデルはどうよ。
時間の経過と共に弱くなるフェロモンをプレイヤーが振りまき、
敵はフェロモンの強い方へ引き寄せられるということで

ローグタイプなら大してメモリも食わないはず
895デフォルトの名無しさん:2011/05/26(木) 11:11:58.54
DateFormat#parse()の高速な実装ってないですか?
896 【東電 78.0 %】 :2011/05/26(木) 12:25:27.73
>>895
高速化出来る余地があるのに放置されてると思うなら
Bug Databaseに登録しとけば?
897デフォルトの名無しさん:2011/05/26(木) 12:54:25.95
嫌味
898デフォルトの名無しさん:2011/05/26(木) 17:27:15.54
イヤミ?
無いってことがわかったんで
別のやり方考えられるわ
ありがとう
899デフォルトの名無しさん:2011/05/26(木) 17:41:31.90
まぁ気悪くすんなよ。
和暦から旧暦、サマータイム、ヒジュラ暦まで
ありとあらゆる暦をあらゆる言葉で実装しなけりゃならんのだぜ?
900デフォルトの名無しさん:2011/05/26(木) 17:48:59.90
回答できないバカは黙ってなさい
901デフォルトの名無しさん:2011/05/26(木) 21:49:15.43
最近仕事でJavaを始めたのですが、
インターフェイスと抽象クラスの使い分けが理解できません。

どういう感じで使い分ければいいでしょうか?
902デフォルトの名無しさん:2011/05/26(木) 22:06:43.80
文字変数sで簡単にメモリも消費抑えて
右あるいは左の文字1,2文字を削る方法ありませんか?
903デフォルトの名無しさん:2011/05/26(木) 22:08:39.01
インターフェース:まだ見知らぬ他社や他国のPGに自分のライブラリを使ってもらうために使う
抽象クラス:出来の悪い後輩PGになるべくクソコードを書かせないために使う
904デフォルトの名無しさん:2011/05/26(木) 23:16:12.33
インターフェースに実装を付けたい場合に抽象クラスを使う…かも
905デフォルトの名無しさん:2011/05/26(木) 23:38:29.53
単一継承を強要したい場合は抽象クラス。
そうでない場合はインターフェイス。
906デフォルトの名無しさん:2011/05/26(木) 23:45:21.79
>>902
String#substringじゃダメなん?
907デフォルトの名無しさん:2011/05/26(木) 23:50:12.29
substringと.length()の組み合わせしかないですかね やはり
908832:2011/05/26(木) 23:59:43.14
Ajaxとサーブレット間のデータの受け渡しってどうすればいいの?JSON?

具体的には、SenchaTouch等で見た目を作って、
裏はSpringFrameworkを使ったWebアプリ作りたい。
909908:2011/05/27(金) 00:00:31.15
名前欄間違えた・・・。
910デフォルトの名無しさん:2011/05/27(金) 01:15:48.32
>>908
画面系をSenchaTouchで裏をJavaいいね。
おれはJSONのライブラリはJSONICをおすすめする。JSON.encode(object)でエンコードできて楽。
で、裏をRESTEasyにしている。(Jerseyと迷ったけどRESTEasyの方がおれにはとっつきやすかった。)
911デフォルトの名無しさん:2011/05/27(金) 11:20:38.95
>>908
Protocol Buffersてのを評価しようと思ってるんだが
代わりにやっといてくれ。
912デフォルトの名無しさん:2011/05/27(金) 12:48:37.18
すまん、javascriptとは無関係なライブラリのようだ…
913デフォルトの名無しさん:2011/05/27(金) 14:55:46.79
914デフォルトの名無しさん:2011/05/27(金) 15:15:39.63
>>777>>794と同一人物だろこいつ
自分でやれよ
915デフォルトの名無しさん:2011/05/27(金) 15:35:30.70
>>903
自己紹介乙
916デフォルトの名無しさん:2011/05/27(金) 16:21:02.04
917デフォルトの名無しさん:2011/05/27(金) 17:45:04.39
課題お願いしますとかどうしょうもないな
なんのためにプログラムやってんの
今すぐ辞めろ
918デフォルトの名無しさん:2011/05/27(金) 18:00:21.30
小数点の計算をすると、小数点以下16桁まで表示されるのですがどうすればいいのでしょうか?
2.3+2.2をするとちゃんと2.5になるのですが
2.3-2.2をすると0.09999999999999964と表示されてしまいます…
919デフォルトの名無しさん:2011/05/27(金) 19:05:46.89
int型にキャスト
920デフォルトの名無しさん:2011/05/27(金) 19:21:59.40
BigDecimalを使用
921デフォルトの名無しさん:2011/05/27(金) 23:04:54.00
「2.3」をコンパイルすると2.29999999999999982236431605997495353221893310546875になる
「2.2」をコンパイルすると2.20000000000000017763568394002504646778106689453125になる。

期待してるであろう「0.1」のコンパイル結果は0.1000000000000000055511151231257827021181583404541015625だ。

間違った答えを出すわけにはいかないよな。
922デフォルトの名無しさん:2011/05/27(金) 23:13:47.35
ふつーにお願いします。
923デフォルトの名無しさん:2011/05/27(金) 23:48:00.78
もう倒産したろ
924デフォルトの名無しさん:2011/05/27(金) 23:51:59.99
5つの引数を持つメソッドにa1,a2,a3,a4,a5(型はArrayList)を渡す際
組み合わせは5!ありますがどういうプログラムを組めばすべて試せるでしょうか?
925デフォルトの名無しさん:2011/05/28(土) 00:06:55.59
>>924
どういった要望か、おれが読み違えていなければ、こんなんでどうでしょう。
動かしていないので間違いがあるかもしれないけど。
ArrayList[] arrays = new ArrayList[]{a1, a2, a3, a4, a5};
for(int i=0;i<5;i++){
for(int j=i;j<5;j++){
someMethod(arrays[i], arrays[j])
}
}
926デフォルトの名無しさん:2011/05/28(土) 00:22:20.52
>>925
a1〜a5はそれぞれ別の配列なんです
someMethod(a1,a2,a3,a4,a5)〜someMethod(a5,a4,a3,a2,a1)を試したいということなんです
927デフォルトの名無しさん:2011/05/28(土) 00:29:19.65
Listを引数にして順列を生成するメソッドを作り込むしかないんじゃね。
commons.Mathにあるんじゃ・・と思ったけどないのね。
まあサンプルコードはいろいろ落ちてるけど。
928デフォルトの名無しさん:2011/05/28(土) 01:25:59.28
とあるライブラリのとあるクラスHogeのとあるメソッドgetPiyoを拡張したい。

Hogeはライブラリ内部でnewされ、コンストラクタの引数も特殊なので
ユーザが直接newするものではない。
Hogeを継承したHageクラスを作ってgetPiyoをオーバーライドするにしても、
コンストラクタの引数を用意できないのでnewできない。
ライブラリの内部でHogeの代わりにHageを使うというような方法もない。

Hogeはgetterメソッドをたくさん持っている。
Hogeを委譲するHigeクラスを作ってgetPiyoを置き換えるとしても、他の
全getterを実装するということは大変なので避けたい。

Hogeのgetterには一様にアクセスしたい。getPiyoだけ別メソッドを噛ます
ということはしたくない。


こういう状況で何かいい解決策はない?
929デフォルトの名無しさん:2011/05/28(土) 02:01:50.95
930デフォルトの名無しさん:2011/05/28(土) 02:36:50.74
>>929
javaFXとjavaFx2.0は別物と扱うべきじゃないか?違いがありすぎ。

まぁ、javaFx2.0のライブラリは良さそうね。いつベータはずれるんだろう。。
期待はしているけど、主流になるのかちょっと見極めたい感じ。
931デフォルトの名無しさん:2011/05/28(土) 03:13:03.35
intでkeyとvalueという配列がありサイズは同じ、要素番号が対応しています。
keyの値でvalueをソートしたいのですがどんな感じに出来ますでしょうか?
932デフォルトの名無しさん:2011/05/28(土) 03:56:57.57
key:valueペアのMapを作って
key配列をArrays.sortでソートして
ソートされたkey配列を使ってMapからvalueを取り出して配列化

とか

key:valueペアのクラスとComparator定義して
key:valueペアクラスのListをCollections.sortでソートして
valueだけ取り出して配列化

とか
933 【東電 61.5 %】 忍法帖【Lv=5,xxxP】 :2011/05/28(土) 04:33:31.07
>>630
それは、enum型を使った例の技か?
934デフォルトの名無しさん:2011/05/28(土) 10:31:03.51
>>928
AspectJ のようなアスペクト指向ツールが使えるかもしれない
935デフォルトの名無しさん:2011/05/28(土) 12:35:00.93
>>928
Groovy なら、
Hoge.metaClass.getPiyo = {-> /* 処理 */}
だけで済んじゃうんだけど・・
936デフォルトの名無しさん:2011/05/28(土) 13:53:36.14
Javaってもしかしてstaticなメンバやstatic初期化ブロックはそのクラス自体がソースコード上どこからも参照されていないとき
初期化されないんですか?

public class SomeClass2{
private static final boolean test = new SomeClass();
}

public class SomeClass{
SomeClass(){
System.out.println("test");
}
}

SomeClass2が一切参照されていないとき、"test"の出力が出ないという理解は正しいですか?
937デフォルトの名無しさん:2011/05/28(土) 13:54:59.88
ファイルの選択で質問です。

http://java.sun.com/javase/ja/6/docs/ja/api/javax/swing/JFileChooser.html

JFileChooserで拡張子を指定して選択したいのでFileFilterを使用したいのですが、
クラスの説明に書かれている
>demo/jfc/FileChooserDemo/ExampleFileFilter.java
が見つかりません。

これはFileFilterの使用は推奨されなくなったということなのでしょうか?
938デフォルトの名無しさん:2011/05/28(土) 13:56:03.22
お前は何を言っているんだ
939デフォルトの名無しさん:2011/05/28(土) 14:59:10.76
>>936
初期化されるのはクラスがロードされるとき。

どこかでClass.forName("SomeClass")みたいにして
クラスをロードするように書いておけば初期化される。
940デフォルトの名無しさん:2011/05/28(土) 17:37:11.23
>>926
http://www.geocities.jp/s2412502/combination.html
これをちょっと応用すればできる。
941908:2011/05/28(土) 19:04:24.18
>>910
ありがとう。
JSONICとRESTEasyをキーワードに調べてみる。
 
>>911
よくわからんかった。
942デフォルトの名無しさん:2011/05/28(土) 21:27:30.60
synchronizedでロックするオブジェクトがリストやマップなどの他のオブジェクトへの参照を大量にもつものだった場合
普通のオブジェクトより重くなったりしますか?
要素の先までロックしたりとかは起こるんでしょうか?
943デフォルトの名無しさん:2011/05/28(土) 21:53:32.36
他スレッドのスタックトレースを取得する方法ってありますか?
944デフォルトの名無しさん:2011/05/28(土) 23:05:51.19
>>943
final ArrayList ret = new ArrayList();
new Thread(new Runnable() { public void run () { ret.add(new Exception()); } }.start();
>>942
ない
945デフォルトの名無しさん:2011/05/28(土) 23:12:21.48
勉強がてらC++から移植してるんだけど参照型の引数をうまく実現する方法って何かないの?
例えば int BadKnowHowOk(int &here) の「here」
配列にすれば実現できるけどスマートじゃないし・・・
946デフォルトの名無しさん:2011/05/28(土) 23:51:49.73
クラスにしたらどうだろう
参照を渡すんじゃなくてメンバー変数でメンバーメソッドを呼ぶとか
947デフォルトの名無しさん :2011/05/29(日) 01:35:27.41
透過率?を維持したまま gに描画したいのですがどうしたらいいんでしょうか?
現状は全く透過されないまま描画されて困っています。

BufferedImage img1 = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB);
BufferedImage drawImg; // 描画したい画像

public void draw(Graphics2D g) {
Graphics2D g1 = (Graphics2D) img1.getGraphics();


g1.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f));
g1.fillRect(0, 0, img1.getWidth(), img1.getHeight());)

g1.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.0f));
g1.drawImage(drawImg,0,0,null);

g.drawImage(img1,0,0,null);
}

948デフォルトの名無しさん:2011/05/29(日) 01:46:29.14
メソッドを戻り値にするメソッドを作ることは無理でしょうか
 メソッドB = インスタンスA.メソッドA()
 メソッドB()
みたいに記述したいのですが
 インスタンスB = インスタンスA.メソッドA()
 インスタンスB.メソッドB()
のようにインスタンス経由じゃないとできませんか?
949デフォルトの名無しさん:2011/05/29(日) 01:54:04.45
うん。Javaでは無理。
950デフォルトの名無しさん:2011/05/29(日) 03:34:44.88
メソッドを戻り値にするのはリフレクションでできる。

Method methodB = ClassB.getMethod("methodB", null);

methodBがインスタンスメソッドならmethodB単独では呼び出せなくて、instanceBが必要。

methodB.invoke(instanceB, null);

methodBがstaticメソッドならinstanceBはなくても呼び出せる。

methodB.invoke(null, null);
951デフォルトの名無しさん:2011/05/29(日) 04:00:50.03
>>949
m9
952デフォルトの名無しさん:2011/05/29(日) 09:18:34.28
Windowsでネット上からJava Web Startで起動したプログラムは、
その後プログラムの追加と削除の画面に現れますが、これが削除できません。
アンインストールを実行しても、この追加と削除のリストに残り続けるのですがみなさんは普通に削除できますか?
最終的にはツールでレジストリのインストール情報のみ削除しましたが、何か残ってそうですっきりしません。
何か知っている方が入れば教えてください
953デフォルトの名無しさん:2011/05/29(日) 13:03:13.66
>>939
ちょうどこんなの読んだ。
クラスのロードとイニシャライズはアトミックではない
ttp://feather.cocolog-nifty.com/weblog/2011/05/post-2d93.html

仕様上はこのタイミングだそうで。
http://java.sun.com/docs/books/jls/third_edition/html/execution.html#12.4.1
954デフォルトの名無しさん:2011/05/29(日) 13:08:33.64
>>937
あんたが言ってるのはこれか?
http://java.sun.com/javase/ja/6/docs/ja/api/javax/swing/filechooser/FileFilter.html

http://download.oracle.com/javase/tutorial/uiswing/components/filechooser.html#advancedexample
が該当するもののようだ。確かに同名ファイルは無いね。
955デフォルトの名無しさん:2011/05/29(日) 13:11:33.16
>>941
気にするな
956デフォルトの名無しさん:2011/05/29(日) 13:56:04.97
>>954
demo/jfc/FileChooserDemo/ExampleFileFilter.java は
javax.swing.filechooser.FileNameExtensionFilter が導入されたから削除されたんだろ、たぶん。
957デフォルトの名無しさん:2011/05/29(日) 17:45:59.11
C++にあるpairの機能をjavaで使いたいのですが、
標準ライブラリに同等の機能はありますか?
958デフォルトの名無しさん:2011/05/29(日) 18:25:59.07
1ヶ月ほど前からJava始めた初心者です。
初歩的な質問ですが、継承元のクラスTestがあるとします。
Test[] test1 = new Test[2];で宣言して、
継承先の子クラスであるTest2,Test3をインスタンス化するときに親で宣言した配列の
test1に入れることってできるんでしょうか?
test1[0] = new Test2();
test1[1] = new Test3();
959デフォルトの名無しさん:2011/05/29(日) 18:33:42.41
そのものはない。

java.util.Map.Entryとか、
他にも探せば代用になるものが見つかるかもね。
960デフォルトの名無しさん:2011/05/29(日) 18:42:54.85
>>958
できるよ
961デフォルトの名無しさん:2011/05/29(日) 18:43:13.87
>>958
入れられる。
例えば、参照型のあらゆる型は Object[] の要素として代入できる。
962デフォルトの名無しさん:2011/05/29(日) 18:45:12.65
public interface DiffSource {
public Object getElement(int index) throws DiffException;

public Object getElements(int startIndex, int endIndex)
throws DiffException;

public int size() throws DiffException;

public boolean compareElement(Object o1, Object o2) throws DiffException;

}
メソッド getElement(int) は型 DiffSource で未定義です、
メソッド size() は型 DiffSource で未定義です
↑のエラーが解決できなくて困ってます、どなたかご教授お願いしますorz
963 【東電 74.8 %】 忍法帖【Lv=1,xxxP】 :2011/05/29(日) 18:46:25.77
>>624
TODOはEclipseの仕様
TODOって文字列をコメントに書くと、Eclipseがそれを認識し表示される。
例外のprintStackTraceとは直接は関係ない
964 【東電 74.8 %】 忍法帖【Lv=12,xxxPT】 :2011/05/29(日) 18:47:04.34
try-catch内でreturn nullとかfalseとかやってるお前も引き継ぎ元のバカのクズと一緒。
いい加減学習しろ。それはやってはいけないアンチパターンの一種。
そういう付け焼刃的対応がお前らの身を滅ぼすことになるんだが。
965958:2011/05/29(日) 19:04:17.29
>>960,961
ありがとうございます
便利ですねー
966デフォルトの名無しさん:2011/05/29(日) 20:28:53.46
((MyView)v).settouchX((int)((((MyView)v).e.getX()));
この文括弧の数間違ってませんよね?
コンパイルエラーになります。
967デフォルトの名無しさん:2011/05/29(日) 20:44:13.74
>>966
(int) の後の ( が一個多いように見えるが。
968デフォルトの名無しさん:2011/05/29(日) 20:50:10.62
・・まったくのスレ汚し失礼しました。
969デフォルトの名無しさん:2011/05/29(日) 21:25:35.64
Scannerのデフォルトの区切り文字は空白文字だそうですが
useDelimiterで空白を指定しても同じようにうごきません
またそのように指定し 1 2 3 などを入力すると
hasNext()で4個目のトークンの存在がtrueになります
なぜでしょうか?
970デフォルトの名無しさん:2011/05/29(日) 22:05:39.10
import java.util.*;
public class stest {
public static void main(String[] args) {
Scanner scanner = new Scanner("1 2 3");
scanner.useDelimiter(" ");
while (scanner.hasNext()) System.out.println(scanner.next());
}
}

C:\Users\stest>javac stest.java

C:\Users\stest>java stest
1
2
3

C:\Users\stest>
971デフォルトの名無しさん:2011/05/29(日) 22:21:22.47
直接Stringとして入れるとうまくいくんですね
"1 2 3"のところをSystem.inにしてコマンドから打ち込むと
同じような結果が得られないのはどうしてですか
972デフォルトの名無しさん:2011/05/29(日) 22:27:09.01
LWSP
でググれks
973デフォルトの名無しさん:2011/05/29(日) 22:27:32.67
>>849
最初は一人で作ることしか考慮できないから、それでいいんよ。
mainメソッドから呼ばれるだけのロジックで書いていき、
そのうちメソッド分割、クラス分割、インタフェース実装と
仕組みを学んでいく機会ができるはず。
ないなら、かえって覚えないほうがいいさ。
974デフォルトの名無しさん:2011/05/30(月) 01:32:32.57
import java.applet.Applet;
import java.awt.Image;

public class Test6 extends Applet{
public void init(){
Image img = getImage(getCodeBase(), "../img/gazou.jpg");
}
}
画像のjpgはどこにおけばいいんですかね
今はD:\workspace\shooting\bin\imgにあります
根本的に違うのでしょうか
975デフォルトの名無しさん:2011/05/30(月) 02:15:18.95
サイトの利用規約のページを開いたかどうかを判定したいのですがJavaでできますか?
手元にあるJavaの本を読み漁って見ましたがそういう記載がありませんでした;;
976デフォルトの名無しさん:2011/05/30(月) 02:28:17.39
セッションやクッキーを使えばできるんじゃない
一般にはセッションを奨める
977デフォルトの名無しさん:2011/05/30(月) 02:31:33.37
非同期でXML(DOM)から取得した要素を、HashMapに値をputした際、
putしたはずの要素がmapが入ってない or mapに入っている要素が多いという現象が発生してます。

上記を行っている処理がスレッドセーフになっていないから問題なんだろうとは思うのですが、根拠がありません。。
どうしてmapにputした要素が増減するのか具体的にわかる人 or 説明しているHPってありますか?
978デフォルトの名無しさん:2011/05/30(月) 05:09:20.90
979デフォルトの名無しさん:2011/05/30(月) 07:08:40.83
>>974
それでもかまやしないんだが、ImageIO.read() 使ったほうがいいんでないか
980デフォルトの名無しさん:2011/05/30(月) 13:03:49.51
String str[];
str = {"aaa","bbb"};

って書くとEclipseがエラーを指摘してくるんだけどダメなんだっけ?

String str[] = {"aaa","bbb"};
なら何も言われない。
981デフォルトの名無しさん:2011/05/30(月) 13:12:51.88
初期化とそうでないか。
982デフォルトの名無しさん:2011/05/30(月) 13:13:59.98
>>980
ダメ。

String[] str = の右側におけるのは変数初期化子、
str = の右側におけるのは式。
変数初期化子の場合は {"aaa", "bbb"}みたいな配列初期化子もOKだけど、
式の場合は配列生成式になるからnew String[]が必須。
983デフォルトの名無しさん:2011/05/30(月) 13:18:27.14
おお
new String[]つければ済む話だったのね
サンクス
984デフォルトの名無しさん:2011/05/30(月) 18:01:01.23
スタックトレースがスタートレックに見えた・・・。
長寿と栄光を
985デフォルトの名無しさん:2011/05/31(火) 00:11:19.03
1日が終わる時間(12時になるまで)の時間を算出することはできますか?
986デフォルトの名無しさん:2011/05/31(火) 00:21:52.67
>>985
できる
987デフォルトの名無しさん:2011/05/31(火) 00:30:56.45
<script language="JavaScript">
var h=$PL[70];var timerID;
function () {
var dt = new Date();
dt = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate()+1);
h = $DATE + dt;
}
</script>
$PL[70]というPerlで定められた変数の中に1日が終わるまでの秒数を代入したいです
こんな感じで作ってみたのですが動作しません;;
どこをなおせばいいでしょうか?
988デフォルトの名無しさん:2011/05/31(火) 00:34:22.01
思ったんだけどもしかしてJavaScriptスレで聞けばいんじゃね?
989デフォルトの名無しさん:2011/05/31(火) 00:42:55.15
JavaとJavascriptをまったく同じものだと思ってました
今日からJavascript初めた初心者ですのでスレ違いなのは見なかったことにしてください
失礼しました
990デフォルトの名無しさん:2011/05/31(火) 00:42:59.41
>>1
>プログラミング言語Javaに関する質問スレです。
>JavaScript, Ajaxの質問は、ここでは受け付けていません。
991デフォルトの名無しさん:2011/05/31(火) 02:13:41.63
【 課題 】課題1
【 形態 】Java  
【 期限 】5日以内でお願いいたします。
【 補足 】http://edu.net.c.dendai.ac.jp/ad1/2011/kadai.html
      いきなり失礼ですが、頼るところがないのでお願いいたします。
992デフォルトの名無しさん:2011/05/31(火) 02:17:48.83
javascriptのスレどこ?
993デフォルトの名無しさん:2011/05/31(火) 02:20:14.44
>>991
ここしか寄る辺が無いとは寂しい人生だな
994デフォルトの名無しさん:2011/05/31(火) 02:29:46.87
> 写したと思われるほど酷似したレポート
みたいに非科学的な理由で勝手にレポートを評価したらあかんよね。
類似度の評価方法を示せって先生に言った方がええよ。
995デフォルトの名無しさん:2011/05/31(火) 02:34:50.79
じすれ
996 【東電 55.6 %】 忍法帖【Lv=1,xxxP】 :2011/05/31(火) 02:40:26.70
友達に聴いてみるとか、教授に聴きに逝くとかそういうのすらせずににちゃんに丸投げして終わりなのか。
漏れが講師なら負荷与えたく成る様な学生だなw

仮に卒業できて社会に出て答えが無い様な問題にぶち当たった時に、またにちゃんに丸投げして来るのか興味深いな。
997 忍法帖【Lv=1,xxxP】 【東電 54.0 %】 :2011/05/31(火) 06:45:19.57
次スレお願いします
998デフォルトの名無しさん:2011/05/31(火) 10:30:58.77
>>991
せめてわからないところを聞く程度にしろよ
それなら答えるから
999デフォルトの名無しさん:2011/05/31(火) 10:34:52.97
★★Javaの宿題ここで答えます★★ Part 70
でもOKかもしれない
1000デフォルトの名無しさん:2011/05/31(火) 11:08:18.10
すいません。お願いします。
JAVAの宿題ここで教えます。70 書き込み欄がなくて書き込めないんですよ。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。