[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 04/10 16:12 / Filesize : 227 KB / Number-of Response : 855
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2009/01/19(月) 11:06:38 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    pc11.2ch.net/hp/
Webプログラミング pc11.2ch.net/php/
をご利用下さい。

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

前スレッド
【初心者】Java質問・相談スレッド122【歓迎】
pc11.2ch.net/test/read.cgi/tech/1229255937/

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

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
www.wikiroom.com/java/

2 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 12:29:32 ]
2 名前:デフォルトの名無しさん[sage] 投稿日:2008/12/14(日) 20:59:33
**** 関連スレッド案内 ****
■ AWT と Swing は --
Java低速GUI Swing 8
ttp://pc11.2ch.net/test/read.cgi/tech/1227234261/l50
■ SWT は --
Java 高速GUI SWT 3
ttp://pc11.2ch.net/test/read.cgi/tech/1164877399/l50

■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part18
ttp://pc11.2ch.net/test/read.cgi/tech/1214192372/l50
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 8
ttp://pc11.2ch.net/test/read.cgi/tech/1206017034/l50

■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 66 ★★
ttp://pc11.2ch.net/test/read.cgi/tech/1221652206/l50

**** 開発環境が必要の場合は ****
■ J2SE 1.4.0
ttp://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/index.html
■ J2SE 5.0 (1.5.0)
ttp://java.sun.com/j2se/1.5.0/ja/
■ Java SE 6
ttp://java.sun.com/javase/ja/6/

**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
ttp://www.java.com/ja/

3 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 13:33:41 ]
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ  まピョーん☆
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ

4 名前:デフォルトの名無しさん [2009/01/19(月) 22:21:44 ]
Collection から 任意のオブジェクトの配列に変換する際、
以下のようなプログラムを書くと思いますが、

List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
:
String[] array = list.toArray(new String[0]); ←(1)
System.out.println(array.length);

このとき(1)で Collection#toArray() に渡すのは、 以下のどっちが正しいのですか?
・new String[0]
・new String[list.size()]

d.hatena.ne.jp/rf0444/20081128/1227863468
というページを見つけたが、コメントで以下のようにあるが、

> // もはやtoArrayの引数にサイズ0の配列を渡すのはお約束
> String[] strs = strList.toArray(new String[0]);

> ですよね〜

「お約束」「ですよね〜」となるのが理解できない。

new String[list.size()] とやらずに new String[0] とやるのは常識(お約束)なんですか?


5 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 22:39:17 ]
>>4
>> T[] result = new T[size];
> とか出来ないのか。

なんて言ってる人たちだから。

6 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 22:42:42 ]
>a - リストの要素の格納先の配列。
>   配列のサイズが十分でない場合は、
>   同じ実行時の型で新しい配列が格納用として割り当てられる
どう見ても new String[list.size()] の方が効率いいと思うが。

7 名前:デフォルトの名無しさん [2009/01/19(月) 22:50:58 ]
質問です。アドバイスをお願いします!
現在JTabbedPaneでタブを作っているんですが、その中身を別のクラスから呼び出そうとすると、
「シンボルを見つけられません」とエラーが出てしまいます。
部分的にソースを書くと、
//タブに貼り付けるパネル設定
JPanel tabPanel2 = new JPanel();

//テキストエリアのクラス
JTextAreaTest sc ;
sc = new JTextAreaTest();

//タブの設定
tabPanel1.add(sc);  ←ここでエラー
tabPanel2.add(new JLabel("ラベル"));

JTextAreaTestクラスのインスタンス化したものを設定しているのが問題なのでしょうか?
それともインスタンス化自体間違っているのかどなたか助言をお願いします!



8 名前:デフォルトの名無しさん [2009/01/19(月) 22:51:56 ]
jnlpで
外部ライブラリにいちいち署名しない方法教えて。
grant allpermissionは抜きで。

GoogleAPIのJARを解凍して一個のJARにまとめて
署名したけど、なんか動かんかった。MANIFESTの情報を
引き継がなきゃなんないのか?

つか、いちいちサードパーティの信頼性を
プログラマが保障しなきゃいけないモデルってあり?

せっかくのJavaFXもこんなめんどくさい
サンドボックスのせいで普及しなそう。


9 名前:7 mailto:sage [2009/01/19(月) 22:53:21 ]
>>7
すいません、パネルの設定が一行抜けてましたorz
正しくは下です

//タブに貼り付けるパネル設定
JPanel tabPanel1 = new JPanel();
JPanel tabPanel2 = new JPanel();

10 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 23:05:22 ]
>>9
オマエが抜書きしている時点で全て怪しいいよ。
全部どっかにアップしろ



11 名前:4 mailto:sage [2009/01/19(月) 23:13:28 ]
>>5-6
レスどうもありがとうございます。
いくら Collection.toArray() 内で、適切に拡張してくれるとはいえ、
new String[list.size()] の方が効率がよいということなので、
自分はそうするようにします。

List list = new ArrayList() とか StringBuilder sb = new StringBuilder()
でも、今までは気にしていなかったけど、その時点でサイズを決めることができる場合は、
コンストラクタに初期サイズを指定した方が効率がいいのかな。
(明確な差は現れないような気もするけど)

12 名前:7 mailto:sage [2009/01/19(月) 23:19:40 ]
>>10
ソース上げました

ttp://uproda.2ch-library.com/src/lib093498.java.shtml

13 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 23:24:17 ]
WinXP SP-3に、jre-6u11-windows-i586-p.exeをインストールしていました。
Revo Uninstallerというフリーソフトでアンインストールを行い、ウイルスソフトを
停止して、再インストールしようとすると、
「この操作は現在インストールされてている製品に対してのみ有効です。」
となり、インストールできません。
セーフモードで起動し、インストールしようとすると
「システム管理者によって、ポリシーはこのインストールを実行できないように設定されています」
となってしまいます、administratorでインストールしようとしても、同様の結果です。
プログラムの追加と削除には、既にjavaの項目はありません、完全削除か、再インストールしいたいのですが、できなくて困っていますどうしたらいいでしょうか?
Sunに聞いたほうがいいのでしょうか?

14 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 23:26:23 ]
>>12
JPanle#addはComponentしか受け付けないから

15 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 23:27:02 ]
>>14
×JPanle
○JPanel

16 名前:7 mailto:sage [2009/01/19(月) 23:38:08 ]
>>14
なるほど!だからエラーが出るんですね
ということは、直接設定せずに間接的に設定すればおk?
ちょっとやってみます

17 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 00:00:51 ]
>>16
目標がなんだかわからないが、
普通にやりたいなら、
JTextAreaTestのコンストラクタでやっていることは全部Sampleのコンストラクタに出して、
JTextAreaTest自体やめちゃえば?

18 名前:7 mailto:sage [2009/01/20(火) 00:23:02 ]
>>17
確かにそれだと表示されるんですが、
最終的にこれに他にもJMenuとかいろいろ足していきたかったので、
Sampleの中に全部入れていくと見難いかと思ってクラスに分けたかったんです
もう少しやってみてだめだったら、このままSample内に入れてしまおうと思います

19 名前:デフォルトの名無しさん [2009/01/20(火) 00:41:44 ]
クラスに分けるときは、もうちょっとオブジェクト指向を
勉強したほうがよいかと。

JTextAreaTestをインスタンス化(new)して
そこからJTextAreaTestがもってるスクロールペーンの
参照を取得して、Sampleのほうのタブペーンにaddする。

難しい方法はJTextAreaTest extends JPanel
とかして、JTextAreaTest自体をタブペーンにaddする。

がんばれー。


20 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 00:43:15 ]
>>18
タブに入れるパネルか、
パネルに入れるスクロールペインをサブクラス化した方が良いのでは?



21 名前:デフォルトの名無しさん [2009/01/20(火) 01:54:41 ]
>>11
>コンストラクタに初期サイズを指定した方が効率がいいのかな。
インスタンス生成時に、予めサイズが分かってるなら、その方が良いよ。
気になるなら、ソース読んでみると良い。
それに、パフォーマンスを気にするなら、まずは自分の手を動かして実測してみるのが一番。

22 名前:デフォルトの名無しさん [2009/01/20(火) 01:59:57 ]
JAVAでパフォーマンスを気にする奴はどんな髪型してるんだ?

23 名前:7 mailto:sage [2009/01/20(火) 02:15:59 ]
>>19-20
助言ありがとうございます
まだまだオブジェクト指向は理解しきれていないですが、二人の言葉を参考に
なんとかクラスを分けたままでタブに表示することができました!
ttp://www.dotup.org/uploda/www.dotup.org19740.java.html
テキストエリアのサイズの設定がおかしいことになってますが、
今日はここまで出来たので寝ようと思います
ここに来てよかったです。ありがとうございました


24 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 02:55:21 ]
>>22
大量にデータを扱うようなプログラムを作る場合、
パフォーマンスは気にすべきだと思うが。

あなたは、Java で書こうと C で書こうと、いま自分が書いているプログラムが
どれくらい無駄なことをやっているか、どれくらい効率的になっているか、意識していないんですか?


25 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 03:26:18 ]
大量って具体的にどれほどバイト?

26 名前:デフォルトの名無しさん [2009/01/20(火) 03:28:13 ]
>>24
青二才はオナニーしてはよ寝ろw

27 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 04:12:27 ]
Cで書くのが面倒でJavaしてる時点でパフォーマンスは考えてないな。

perlとかスクリプト書けばすぐ済むのをいちいちCでやるのかと同じ。

28 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 04:25:00 ]
JAVA的にはperlじゃなくてRUBYだと思うが・・・

29 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 08:54:20 ]
なんでrubyがでてくるんだ?

30 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 09:26:18 ]
指示ファイルを読み込んで動作するプログラムがあります。
classファイルで動いている時には、自身のclassファイルがあるフォルダから、
jarで動いている時には、自身のjarから抽出して、
それぞれ動かしたいと思います。
自身のパスと、classなのかjarなのか、はどうやったら得られるんでしょうか。
ご教示願います。



31 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 13:32:42 ]
相対パスで指定すれば関係ないんじゃない?

32 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 17:36:21 ]
>>27
なんでperlなの?

33 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 17:37:24 ]
>>24
大量って具体的にどれほどバイト?

34 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 17:52:04 ]
どれほどバイト

35 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 18:08:12 ]
>>30
クラスファイルと同じ場所に指示ファイルがあるのなら
getClass().getResourceAsStream(指示ファイル名);
で指示ファイルから読み込むためのInputStreamが返される
指示ファイルの位置が知りたいのならClass#getResourceメソッドを使えばそのURLが得られる
クラスメソッドならクラス名.classでClassインスタンスが得られる

36 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 19:20:17 ]
質問です。
main.exec()を実行する際に以下のように値をセットするようにしました。

Class name1 = new Class();
Class name2 = new Class();
...
Class name10 = new Class();

name1.setA("a");
name2.setA("b");
...[引数が微妙に違う]...
name10.setA("j");

name1.setB("default");
name2.setB("default");
...[引数が同じ]...
name10.setB("default");

以下setC(すべて同じ引数), setD(name1〜5が同じ引数、name6〜10が同じ引数)と続く

main.put("METHOD1", name1);
main.put("METHOD2", name2);
...
main.put("METHOD10", name10);

main.exec();

似たような処理を記述しているので冗長に感じます。
もう少しスッキリとさせることはできないでしょうか?

37 名前:36 mailto:sage [2009/01/20(火) 19:22:17 ]
具体的には数字ではなくて
nameItigo
nameRingo
nameSuika
のような意味のある名前になっています(引数もそれに関連するものです)

38 名前:sage [2009/01/20(火) 21:48:32 ]
サーブレットはサーバで動くアプリケーションというのは分かったですが、
普通のjavaアプリケーションは何て言うんですか?

39 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 22:01:00 ]
javaアプリケーション

40 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 22:33:45 ]
>>36
Classクラスは標準で存在するクラスだから仮の名前に使うのは良くない。
nameなんたらという名前がその場だけのものなら配列なりコレクションなりに置き換えた方がいい。
セットするリソースもそれに合わせてまとめておく。そうすれば繰り返し構文が使える。
名前の変更ができないのなら配列等にname〜の参照を保持してそれを使うようにするとか。
Hoge nameFoo = new Hoge();
...
Hoge[] names = {nameFoo, ...};
String[] valueA = {"a", ...};
...
for (int i = 0; i < names.length; i++) {
names[i].setA(valueA[i]);
...
みたいな感じ。



41 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 04:38:30 ]
動作効率(速度面・資源面など)について質問です。

class Sub extends Super {
}

class Sub2 extends Sub {
}

class Sub3 extends Sub2 {
}

ここでSub3をインスタンス化して継承したSuperのメソッドを使うのと、
Superをインスタンス化してメソッドを使うのでは、
動作効率は変わってきますか?
継承すればするだけ継承した下位のクラスを利用するとき動作効率が劣るのでしょうか?

42 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 08:16:03 ]
>>41
JVMの実装による。お使いのJVMでベンチマークしてください。


43 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 08:34:02 ]
その程度最適化で吸収される

44 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 11:29:19 ]
一般的には、気にするだけ無駄だな。


45 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 11:45:21 ]
>>41
どっち使ってもinvokevirtualになるだろうし大して変わらんと思うが。
まぁJVMの実装次第だけど。

46 名前:41 mailto:sage [2009/01/21(水) 12:00:17 ]
みなさんレスどうもありがとうございます。
自分の中のイメージとしては、
小物の入った小さい箱にそれよりも大きな箱を重ねていく感じで、
小物をとりだすときに箱を1つずつ取り払う分作業速度が遅くなり、
大きな箱を用意する分資源(メモリ等)を多く使うのではと思い質問しました。
大してかわらなそうとのことなので気にしないことにします。

47 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 12:35:45 ]
>>35
ありがとう。
提示されたキーワードで調べてみます。

48 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 13:16:26 ]
サーブレットからアプリケーションを実行する時って
どうすればいいんでしょうか。



49 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 16:33:13 ]
もうすぐ現場に出るのですが
覚えといたほうがいいものを教えてください。

50 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 16:42:51 ]
>>49
ハンカチとティッシュを忘れない



51 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 17:03:50 ]
行為の前に敷いてあげて行為の後で拭いてあげるんですね

52 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 17:20:26 ]
>>48
アプリケーションをコンテンツとして用意して、ブラウザに送る。

53 名前:36 mailto:sage [2009/01/21(水) 21:56:48 ]
>>40
ありがとうございます。
配列にしたことでスッキリできました。

54 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 21:58:12 ]
ご存知でしたら教えてください。

servletのフレームワークで、プロパティー形式以外の入力を処理するようなものってありますでしょうか?
普通、リクエストボディには
キー=値
という形式でデータが納められているとおもうのですが、
これがCSVだったり

kamoku,tensuu
kokugo,81
rika,69
suugaku,77

XMLだったり

<data>
<name>
<sei>foo</sei>
<mei>bar</mei>
</name>
<age>26</age>
</data>

するリクエストが飛んできた場合、適切にBeanのフィールドに値を詰めてくれるようなフレームワークです。
以上、よろしくお願いします。

55 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 22:21:15 ]
よく分からんがO/Rマッピングのこと?

56 名前:54 mailto:sage [2009/01/21(水) 23:08:13 ]
O/Rマッピングと言っていいのかわからないのですが、
つまりクライアントから

POST /TestServlet HTTP/1.1
Host: localhost
Content-Length: 17
Content-Type: text/xml

<data>
<foo>bar</foo>
</data>

こんなリクエストが投げられてきた時にO/Rマッピングみたいな事をしてくれるフレームワークです。
そういうのありますでしょうか?






57 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 23:52:19 ]
JAXBとか

58 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 00:23:25 ]
JTableについて質問があります.

JTableのテーブルモデルをAbstractTableModelを拡張した自作(TableModelEx)の物にしています.
TableModelExにAbstractTableModel#getValueAt(int row, int column)をオーバロードしてgetValuAtの返り値がセルのデータになるはずですが
どうもうまくいきません.行内の全ての項目の値が同じものになってしまいます.
そこでオーバーロードしたgetValueAtの引数rowとcolumnを調べてみるとcolumnの値が変化してません.
例えばSystem.out.println(row + ":" + column)で調べると
0:0
0:0
0:0
1:0
1:0
1:0
といった具合になります.同じ列をアクセスしているようです.本来ならば
0:0
0:1
0:2
1:0
1:1
1:2
となっているはずです.
どうすればよいでしょうか?

59 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 00:51:10 ]
>>58
それを言うならオーバーロードでなくオーバーライドじゃね?
まあTableModelインタフェースで定義されてるだけだからオーバーライドというよりインプリメントかもしれんが。
TableModelEx自身やそれがどう使われているか分からないことには何ともいいようがない。たとえば、
class Model extends AbstractTableModel {
public int getRowCount() {
return 10;
}
public int getColumnCount() {
return 5;
}
public Object getValueAt(int row, int column) {
System.out.println(row+","+column);
return new String(row+","+column);
}
}
みたいに簡単なのをそのコードで使ってるJTableのモデルに与えてみてもうまくいかない?

60 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 00:53:27 ]
AbstractTableModel自体は抽象クラスだからインプリメントでなくオーバーライドでいいのか…



61 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 03:51:12 ]
>59
それと同等のプログラム組んでみたらうまくいった.
それでいろいろ試してみたらハードコーティングで作った列はAbstractTableModel#getValueAt(int row, int column)の
引数columnでちゃんとアクセス(column = 0,1,2,3...)してくれるみたいなんだけど
実行中に動的に追加した列に関してはAbstractTableModel#getValueAt(int row, int column)の引数columnが常に0だった.
つまり動的に追加した列は0列目とまったく同じ値になった.
で,今作ってるプログラムは動的に列を追加するもの(列の定義があるファイルにあってそれをロードする)なので
思うように行きません.

62 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 04:45:47 ]
>>61
たぶんTableModelExでデータを追加する機能がきちんと組めていないんだと思う。
動的に追加するのならAbstractTableModelでなくDefaultTableModelを継承したほうが楽。
class Model extends DefaultTableModel {
public Model() {super(10, 5);}
public Object getValueAt(int row, int column) {return new String(row+","+column);}
}

JFrame f = new JFrame();
final Model m = new Model();
JTable t = new JTable(m);
f.add(new JScrollPane(t), BorderLayout.CENTER);
JButton b = new JButton("add row");
b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
m.addRow(new Object[m.getColumnCount()]);
}});
f.add(b, BorderLayout.SOUTH);
JButton b2 = new JButton("add column");
b2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
m.addColumn(String.valueOf((char)('A' + m.getColumnCount())));
}});
f.add(b2, BorderLayout.EAST);
みたいなのはちゃんと機能する。

63 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 11:39:42 ]
列を追加するときにfireTableStructureChanged()を追加した動的に列を追加してももうまくいった.
とにかくありがとう

64 名前:デフォルトの名無しさん [2009/01/22(木) 14:24:42 ]
ボタンをクリックする度に新しいJTextPaneを、JInternalFrameを使って
表示させています。
クリックされる度にJTextPane textPane = new JTextPane();
として生成しているのですが、一度目のクリックではtextPane1、二度目のクリックでは
textPane2...というふうに、違う名前にしたいのです
どのようにしたらいいでしょうか

65 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 14:32:06 ]
>>64
名前といわれても、なにの名前だか

66 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 14:48:02 ]
ていうかSwingはSwingスレ行ってやれよ。超過疎ってるんだから。

67 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 14:53:26 ]
質問です。
現在、↓のようなプログラムを作りました。
ttp://www3.uploda.org/uporg1954205.java.html
システムトレイにアイコンを常駐させ、フレームを閉じてもアイコンから表示でき、
時間設定することでシステムトレイに常駐させたアイコンからお知らせできる、というプログラムです。
普通にフレームを閉じてアイコンから開いても普通に表示されるんですが、
時間設定をしてからもう一度フレームを開くと、上下にパネルを並べていた
レイアウトが並べて表示されてしまいます。
レイアウトが崩れてしまう原因はなんでしょうか?
アドバイスをお願いします!

68 名前:67 mailto:sage [2009/01/22(木) 15:04:50 ]
すいません、上のプログラムですが、余計なコメント類を消してすっきりさせて
みたらレイアウトが崩れなくなりました。
お騒がせしてすいませんorz

69 名前:デフォルトの名無しさん [2009/01/22(木) 19:28:09 ]
質問なのですが
apacheとtomcatの連携させて、
javaのサンプルプログラムをdosでコンパイルして動かして連携を確認しました。
ところがエクリプスで同じプログラム造るとtomcatで動いてもapacheで動きません。
どなたか原因ご存じですか??

70 名前:デフォルトの名無しさん [2009/01/22(木) 20:04:50 ]
質問させてください
二次元配列でfor文を使って、各行の最小値を求めてから、
その最小値の要素の要素番号を表示するにはどうすればいいのですか?
下のように表示させたいのですが…よろしくお願いします。


10, 1, 9, 7, 8
30, 10, 9, 6, 4
-1, -2, -9, -5, -6

0行目の最小値 = 1
0行目の最小値の要素番号 = 1
1行目の最小値 = 4
1行目の最小値の要素番号 = 4
2行目の最小値 = -9
2行目の最小値の要素番号 = 2



71 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 20:06:23 ]
>>70
宿題スレの方がいいんじゃね?
ここってアルゴリズムスレじゃないと思うんだ

72 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 20:38:24 ]
アルゴリズム体操はじまるよぉ〜〜☆☆☆

73 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 20:39:10 ]
>>71
失礼しました、改めて宿題スレで聞いてみます
ありがとうございました

74 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 21:59:06 ]
最近Javaを勉強し始めましたが、コンストラクタを使用するメリットが
イマイチよく分かりません。
どういった場面で利用し、どのように役に立つのでしょうか?


75 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 22:13:30 ]
多分あなたが書いた「コンストラクタが不要なクラス」のサンプルを
貼ってもらえると説明出来ると思う。
どういう理由でコンストラクタ不要と考えたか分からないので。

76 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 23:11:16 ]
インスタンスを作った時点で必ずメンバ変数が初期化されてるってハッピーじゃね?
メンバ変数が初期化されてなかったらどうしようとかビクビクしなくて済むわけで。

77 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 08:46:10 ]
オブジェクト指向プログラミングでは
オブジェクトを構成単位としてプログラムを構築するが
そのオブジェクトの内外部の境界の決定は
そのオブジェクトにどのように整合性(不変条件)を持たせるかが
一つのキーポイントとなっている。

ところが、単にオブジェクトを生成しただけでは、
Javaの既定のフィールドの値では
生成直後の状態がその整合性を満たせない場合がある。
このような場合に、コンストラクタなどを使って
正しい状態のオブジェクトが生成できるように細工をする。

なお、コンストラクタが終わる前に、直接的にも間接的にも
その構築中のオブジェクトの参照を漏洩するのは
整合性がない状態でオブジェクトを晒すことになるので、やってはいけない。

78 名前:デフォルトの名無しさん [2009/01/24(土) 09:55:14 ]
アプレットです。init()を実行した時点で一旦処理を止めて、マウスのeventで
paint()に進むようにしたいのですが、制御の方法が分かりません。
今は最後まで処理してからマウスeventを待っています。
宜しくお願いします。


79 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 11:52:04 ]
プログラム晒せないなら宿題スレに逝けば?
★★ Java の宿題ここで答えます Part 67 ★★
pc11.2ch.net/test/read.cgi/tech/1232627790/l50


宗教的な儀式は別にして、コンストラクタって使うの面倒だよな。
クラスのインスタンス実行した時点で初期化しとけよ。

80 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 12:11:32 ]
コンストラクタ使うのが面倒って、お前
インスタンスを一個しか作らないようなプログラムしか
書いてないんじゃないか?



81 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 12:36:50 ]
つうか、コンストラクタへの引数ってメソッドの引数と同じようなもんだろ
コンストラクタはいらねーってのはメソッドの引数はいらねーっていってるようなもんだな
ていうか、コンストラクタがどうのとか言ってる奴って、
JavaAPIをまともに使ったことねーんじゃねーの?
あれらにコンストラクタがなかったら悲惨なことになると思うが

82 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 12:53:43 ]
コンストラクタは気になる

ClassA a = new ClassA();
a.setFile(file);
a.setDir(dir);
a.exec();

ClassA a = new ClassA(file, dir);
a.exec()

どちらがいいんだろう?判断する根拠を持っていない・・・

83 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 13:20:05 ]
>>82
後者だと、引数が不正だった場合にインスタンスの生成そのものを行わないという設計・実装が可能。
同じ理由でDIコンテナでもコンストラクタインジェクションを好む人は多い。


84 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 13:55:58 ]
ちょっと教えてくれ

telnetクライアントを作りたいんだが、
いろいろ調べてみるとApache Commonsのnet
というコンポーネントを使用する例が出てくる。
やっぱこれを使った方がやりやすいのかな?
あと、公式サイトはリンク切ればかりなんだけど、
ちゃんとここから落とせるのかな?

85 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 14:12:34 ]
java入門のswing関係で
「getContentPane().add(button1);」というコードをを発見しました
getContentPane()の戻り値のインスタンスを使って、add()にアクセスしているって解釈したんですが
間違っていませんか?



86 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 14:20:23 ]
>>83
というよりむしろ引数が無ければコンパイルエラーにしてくれる点が重要では

>>85
そのたうり

87 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 14:24:29 ]
>>83
コンストラクタの中で、戻り値をコントロールできる?
ってか、引数のチェックをした結果を、コンストラクタの呼び元でインスタンスが出来ているかどうかで判断するのか?

88 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 14:26:21 ]
>>86
わかりました
ありがとうございます

89 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 14:56:58 ]
スレッドって手数を増やすんじゃなくてひとつの領域を効率よく使うためのアプローチなんですかね

90 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 16:16:23 ]
キャストについての質問なのですけれど、

class Parent{}
class Child extends Parent{}

class cast{
public static void main(String[] args){
Parent p;
p = new Child();

Child c;
c = (Child) new Parent();

}
}

実行時にclasscastexceptionの例外が発生します。
c = (Child) new Parent(); ここのキャストがまずいらしいんですけど、
どうすればエラーが出ないのでしょうか?よろしくお願します。



91 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 16:48:20 ]
>>90
バナナはおやつですが、
おやつはバナナではありません

92 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 16:54:49 ]
>>82
前者だと、オブジェクト指向的には
setFileやsetDirを使わなかったときにexecを呼び出した場合の処理
(たぶん、IllegalStateExceptionでも投げる?)
を書かなければならないという手間がかかる反面、
aを生成後に処理を挟んでこれらのsetterを呼び出せるという
柔軟性を持たせることができる。

手間と柔軟性のトレードオフだが、アジャイル的には
最初は後者で作っておいて、必要になったら後者にリファクタリングする
のがよさげと思われ

93 名前:92 mailto:sage [2009/01/24(土) 16:56:53 ]
typoった
>最初は後者で作っておいて、必要になったら後者にリファクタリングする
後者→前者

状態数は削れるだけ削るのが基本

94 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 17:02:12 ]
>>93
いっぱいの「い」を「お」に変えると?

95 名前:92 mailto:sage [2009/01/24(土) 17:06:56 ]
おっぱお!
後者で作っておいて、必要になったら前者、ね

96 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 17:45:37 ]
>>91
なんとなくわかりました.。ありがとうごさいます。

97 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 21:35:12 ]
ファイルフィルターについて質問です
ファイルチョーザで任意の一つのディレクトリを選択させるダイアログを作ろうとしています
String型のopenBtnNameに格納された名前が付けられたボタンを押すとアクションリスナーが
アクションパフォームドにイベントeを引き渡し、String型のcmdにeのアクションコマンドを引き渡した後、
下記のプログラムに入るようにしました

   else if(cmd.equals(openBtnName)){
      JFileChooser openDirFC = new JFileChooser(".");
      openDirFC.setAcceptAllFileFilterUsed(false);
      FileFilter dirFilter = new FileFilter(){
   public boolean accept(File f){
          return f.isDirectory();
      }
      public String getDescription(){
       return "directorie";
      }
      };
      openDirFC.setFileFilter(dirFilter);
      openDirFC.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
      int res = openDirFC.showOpenDialog(this);
      if(res == JFileChooser.APPROVE_OPTION){
         File inputFile = openDirFC.getSelectedFile();
         DataHandler dataHandl = new DataHandler();
         allData = new TableHandler(dataHandl.load501parameters(inputFile));
      }
   }

ここで、ファイルフィルターを設定していますが、eclipse3.3の画面上で
openDirFC.setFileFilter(dirFilter);の行のsetFileFilterの部分に赤波線が引いてあって
「型 JFileChooser のメソッド setFileFilter(FileFilter) は引数 (FileFilter) に適用できません」
と言われます。setFileFilter(FileFilter)の引数は(FileFilter)で合っているかと思いますが、
どうして適用できないのでしょうか?原因に見当がつきません。よろしくお願いします。

98 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 21:49:14 ]
>>97
java.io.FileFilter
javax.swing.filechooser.FileFilter

99 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 21:58:33 ]
>>98
ありがとうございました

import java.io*;
import.javax.swing.*;
は記述していたのですが
import.javax.swing.filechooser.FileFilter;
を追加したらできました。

100 名前:デフォルトの名無しさん [2009/01/25(日) 03:01:44 ]
javaゲームプログラミング アルゴリズムとフレームワークとかいう表紙に二次キャラの絵が描いてある本
やったことある人いませんか?
そこの2章スプライト作成のsprite.java
で最後の記述にDraw draw=null;ってありますけど
Drawは標準的クラスでないからもちろんエラーでます
この本なんなんですか?



101 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 03:25:29 ]
あれってオリジナルキャラだと思ってたんだけど元ネタがあったのか
最初から100回嫁

102 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 03:44:19 ]
>>100
添付のCDにクラスを定義したソースファイルがある。

103 名前:デフォルトの名無しさん [2009/01/25(日) 04:12:46 ]
>>102
トン

104 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 19:29:52 ]
>>100
(^ω^;)

105 名前:デフォルトの名無しさん [2009/01/25(日) 23:48:15 ]
100ですが第6章のBlock.javaで
必要なクラスをすべておいてもBlockクラスが見つからないってエラーが出ます
付属CDのソースを使っても同じエラーが出ました
何が悪いんでしょうか?この本Game2Dクラスの説明がはしょってあるのでまったくわかりません
この本なんなんですか?

106 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 00:04:35 ]
ソフトバンクパブリッシングに文句言え

107 名前:デフォルトの名無しさん [2009/01/26(月) 00:05:36 ]
>>106
文句いいたいのはヤマヤマなんだけど
これでもし俺がなんか単純なミスで動作してなかっただけなら恥ずかしいし・・・
だからお前らに聞いてるの!!

108 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 00:08:26 ]
ここで晒す恥のほうが恐ろしい結果を招くことを知らぬ勇者め。

109 名前:デフォルトの名無しさん [2009/01/26(月) 00:12:38 ]
>>107
おまえ巨大ウンコだろ?

110 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 00:13:03 ]
エスパーするとBlock.javaの内容をここに貼りつけるかロダにあげろってことか
そのためにはその本を買うか立ち読みしてこないといけないんだけど、
それを見ず知らずのおまえのために誰かがやってくれるといいね



111 名前:デフォルトの名無しさん [2009/01/26(月) 00:16:58 ]
>>110
いや著名な本だから誰かもってるだろ
俺もここで進められた本だし
何より俺はお前らを信じてるよ

112 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 00:30:06 ]
まあ、二版が出てるくらいだから売れたんだろうけど、
タイトルにゲームと付いているような入門書を選ぶやつは、
大概脱落してここにいないだろ。

113 名前:デフォルトの名無しさん [2009/01/26(月) 00:33:10 ]
>>112
そうか?結構面白いぞこれ
初心者のおれにはちょっと説明足らずな点をどうにかしてほしいんだけどな

114 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 01:34:23 ]
そもそも初心者が応用から始めるな。まず基礎からだろ。

115 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 01:44:23 ]
>>105
第6章にBlock.javaなんて無い、5章だろ
だいたい、Block.javaは、Blockを定義しているんだからBlockが見つからないとかあり得ないだろw
なんかタイプミスしてるはず

116 名前:デフォルトの名無しさん [2009/01/26(月) 01:54:06 ]
手っとり早く絵がうまくなる方法ないすか?

117 名前:デフォルトの名無しさん [2009/01/26(月) 02:12:50 ]
>>115
そうだ5章です、すまぬ
しかしBlock.javaもCD内のソスコードを使ったけどダメなんすよ
Block.java
Draw.java
DrawRect.java
Game2D.java
InputEventTiny.java
Queue.java
ScrollSpace.java
SoundPalette.java
Sprite.java
これらすべてCD内のものをそのまま持ってきました
んで結果
Error : I can not create Game2D or newGame2D().

ありえないだろw

118 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 02:16:30 ]
エラーメッセージもっと貼れ

119 名前:デフォルトの名無しさん [2009/01/26(月) 03:05:30 ]
>>118
Error : I can not create Game2D or newGame2D().
java.version : 1.6.0_11
java.vendor : Sun Microsystems Inc.
java.lang.ClassNotFoundException: Block
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at info.Game2D.startGame(Game2D.java:140)
at info.Block.main(Block.java:14)

これで全部です
何度もぐぐったけど解決できません お願いします

120 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 03:25:10 ]
画像とかのリソースファイルがないんじゃね?



121 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 03:45:24 ]
>>119
> java.lang.ClassNotFoundException: Block
> at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
Block クラスがクラスローダーで見つからない、と。

> at java.lang.Class.forName(Class.java:169)
> at info.Game2D.startGame(Game2D.java:140)
Game2D.java の140行目で Class.forName を呼び出しているようだが、
引数は恐らく "Block" なのだろう。
"info.Block" なのに "Block" とは之如何。

122 名前:デフォルトの名無しさん [2009/01/26(月) 04:54:48 ]
>>121
Block.javaの14行目です
public static void main(String args[]){
startGame("Block");
}

Game2D.javaの140行目です

Game2DMain newGame2DMain() {
try {
Class argClass[] = {getClass()};
Constructor g2dmCon
= Class.forName(GAME_MAIN_NAME).getConstructor(argClass);
Object initArgs[] = {this};
return (Game2DMain)(g2dmCon.newInstance(initArgs));
} catch(Exception e) {
infomation("Error : I can not create Game2DMain.", e);
}
return null;
}

 引数はきちんとBlockになってるようですがわかりません

123 名前:デフォルトの名無しさん [2009/01/26(月) 04:57:09 ]
訂正

136 static void startGame(String game2dClassName) {
137 GAME_NAME = game2dClassName;
138 try {
139 Game2D game2D = (Game2D)(Class
140 .forName(game2dClassName).newInstance());
141 game2D.newGame2D();
142 } catch (Exception e) {
143 infomation("Error : I can not create Game2D or newGame2D().", e);
144 }
145 }

124 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 10:55:42 ]
各ファイルを置くフォルダの構成が間違ってるんだろ
もっかい本の該当箇所を読み返せば?

125 名前:デフォルトの名無しさん [2009/01/26(月) 16:44:51 ]
import java.applet.Applet;
import java.awt.Graphics;

/*<applet code="App2.class" width="500" height="500"></applet>*/


public class App2 extends Applet {
public static void main(String args[]){
int []a= {1,2,3,4,5};
paint(,a[0],a[1],a[2],a[3]);



}

public void paint(int i, int j, int k, int l) {
Graphics.drawLine(i,j,k,l);

}

}

こういう風にmainメソッドで引数を作って、下でアプレットで線を引くようなプログラムを作りたいんだが、
どこをどう直せばいいんですか?(Graphics g)を引数に追加してg.drawLineってやると、mainメソッドでどうそれを代入すればいいかわからないんだが・・・

126 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 17:08:31 ]
ImageIO.write
で、既存のファイルに書き込みをすると、PCごと落ちてしまいます。
皆さんもお試し下さい。


127 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 18:40:55 ]
>>126
import java.awt.image.BufferedImage;
import java.io.*;
import javax.imageio.ImageIO;
public class Hoge {
public static void main(String[] args) throws IOException {
InputStream in = new FileInputStream("moge.jpg");
BufferedImage im = ImageIO.read(in);
in.close();
OutputStream out = new FileOutputStream("moge.jpg");
ImageIO.write(im, "jpg", out);
out.close();
}
}
落ちたりしないよ?
この場合、画質の劣化や圧縮率の違いでファイルサイズが変わるけど、
writeによる上書きでPCが落ちるなんてことはない。

128 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 19:11:00 ]
>>125
つっこみどころが多すぎる
きちんと初心者向けのjavaの参考書を買って頭から読んで理解することから始めた方がいい
買うときは内容を見てグラフィックス関連やアプレット関連の記述がそれなりにあるものを

129 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 19:29:35 ]
>>125
すまん、マジで基本からやりなおしたほうがいいと思う

130 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 19:47:30 ]
>>127
OutputStreamではなく直接Fileを指定する。
上書きの場合、100%リセットする。
おそろしいことです・・・・。





131 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 20:24:25 ]
>>125
(1) まずアプレットとして正常に動くものを作成する。
通常paint(Graphics g)はアプレット作成者が描かせるために直接呼び出すものではなく、
アプレット画面が描かれる時にこういう風に描いてねという作成者の要求を書いておくメソッド。
呼び出しはアプレット実行環境が必要な時に呼び出してくれる。
そして、paintではなくinitやstartメソッドで描画のためのパラメータを設定して、
それをpaintで読んで描くようにする。
パラメータの授受にはアプレットクラスに必要なだけインスタンス変数を定義すれば十分。

(2) そのアプレットをアプリケーションとして動かす。
Appletクラスもグラフィックコンポーネントの一種なので、
Frame等のトップレベルウインドウを作成してそれにaddすれば表示できる。
ただ、アプレットの場合、init、start、stop、destroyの四つのメソッドが
アプレット実行環境から呼ばれることが前提になっているので、
アプリケーションから動かす場合は、開始時にinitやstartを呼び出し、
終了時にstopやdestoryを呼び出すようにする。
ただ、オーバーライドしていないメソッドは呼び出さなくてもいい。
そしてmainからアプレットへのパラメータの引渡しは、
paint用に定義したインスタンス変数を使えばいい。

initやstartでgetParameterで設定するパラメータを読み取る形にしているのなら、
アプリケーション側では、AppletStubのgetParameterをオーバーライドして、
mainで決めた値から得たパラメータ値を返すようにしたものをAppletに設定するといい。
あまりまじめに作ると自作アプレットビュアとかになるのでやりすぎは禁物。

なんにせよjavaのグラフィックフレームワークの使い方を初歩から勉強した方がいいと思う。

132 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 20:34:16 ]
>>130
import java.io.*;
import javax.imageio.ImageIO;
public class Hoge {
public static void main(String[] args) throws IOException {
ImageIO.write(ImageIO.read(new File("moge.jpg")), "jpg", new File("moge.jpg"));
}
}
全然問題なく実行できるんだが? JavaのバージョンとかOSは何?

133 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 20:42:31 ]
自分で作成したjarファイルの中に外部ライブラリjarを埋め込むにはどうすればよいのでしょうか?

複数のjavaファイルをコンパイルしMyApp.jarにまとめました。
外部ライブラリ(log4, commons-io, commons-*等)をMyApp.jarと同じディレクトリに配置しclasspathに記述することで動作確認できました。

MyApp.jarにライブラリファイルを単に追加しただけだと
実行時に「ミツカラネーヨ」と怒られてしまいます。

134 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 20:50:48 ]
Fat JarとかOne-JARとかでぐぐってみる

135 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 21:20:15 ]
>>132なんですって!?自分の環境がおかしいだけなのか!?
OSはXP,Javaは1.6.0_11
いや、もう忘れてください。deleteしてからwriteしたら何事も無く動いたんで・・・
夢でも見ていたんでしょう・・・

136 名前:デフォルトの名無しさん [2009/01/26(月) 22:11:30 ]
おい結局何のアドバイスもないの?
何、お前らの実力ってその程度だったの?拍子ぬけだわ〜

137 名前:133 mailto:sage [2009/01/26(月) 22:24:32 ]
>>134
キーワードでぐぐったら有益な情報が見つかりました。
ありがとうございます。

138 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:53:03 ]
>>136
いろいろアドバイスもらってるじゃん。それもわからないようじゃどうしようもない。
このスレは初心者は歓迎するがバカは歓迎しない。

139 名前:デフォルトの名無しさん [2009/01/27(火) 00:11:53 ]
>>138
何と勘違いしてるんだ?このアホ

140 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:18:54 ]
IDでないから誰が誰やら

せめて自分の番号ぐらい書け糞野郎



141 名前:デフォルトの名無しさん [2009/01/27(火) 01:15:22 ]
>>139
水の中に入れると、どうして乾いたウンコは砕け散るんですか?

142 名前:デフォルトの名無しさん [2009/01/27(火) 01:46:05 ]

いろいろアドバイスもらってるじゃん。それもわからないようじゃどうしようもない。
このスレは初心者は歓迎するがバカは歓迎しない。

↑って、答えられないときのここの常連の常套句だよなwwうける。


143 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 03:03:56 ]
馬鹿は初心者を免罪符にするから嫌われるんだよね。
初心者だろうが、玄人だろうが、ちゃんとまず自分で勉強して、何が理解できなかったのか具体的に書いて、アドバイス受けろよ。
上達する香具師は(初心者や玄人に限らず)、質問の仕方もウマい。

144 名前:デフォルトの名無しさん [2009/01/27(火) 05:28:35 ]
980 Mr.名無しさん New! 2009/01/27(火) 05:28:00
>>975
pc11.2ch.net/test/read.cgi/tech/1232330798/
ここ
この138と143を徹底的に痛めつけてほしい


145 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 05:29:11 ]
痛めつけにきたけど?

146 名前:デフォルトの名無しさん [2009/01/27(火) 05:29:34 ]
おうおう!毒雑舐めてる奴どいつよ?

147 名前:デフォルトの名無しさん [2009/01/27(火) 05:31:31 ]
ウッサンに絡んでる奴どいつだよ?

148 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 06:28:59 ]
>>144-147
ところで鼻糞って食えるんですか?

149 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 13:16:06 ]
ネットから有用な情報を引き出したいなら、
ネットに混乱を持ち込んじゃいけない。

150 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 14:57:20 ]
伸びてると思ったら馬鹿が現れたのか



151 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 18:03:59 ]
コレクションについてよくわかんないんだけど
これって、オブジェクト版の配列なのか?
しかも、めちゃくちゃ使いやすいように改良したやつ

152 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 18:12:51 ]
まあそんなもん

153 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 18:17:38 ]
わかった、どうも

なんか、難しそうな名前付けてたからやる気が失せたが
実際は超簡単だった

154 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 18:19:08 ]
オブジェクト版の配列と聞いてArrayListを思い出した

155 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 18:19:29 ]
Enumの初期化について質問です。ネイティブライブラリを読み込んで、
そこから得られる値をJavaの定数にマッピングするクラスなのですが、
初めはこんな感じで実装していました。

public class TestConst {
  static { System.loadLibrary("libNativeHoge");}
  public static final int A = NativeHoge.getA();
  public static final int B = NativeHoge.getB(); ...

次にオシャレにEnumで実装しようとすると、static{}句をEnumの定義に
含めることが出来ないために怒られます。

public enum TestEnum {
  static { System.loadLibrary("libNativeHoge");} // 文法エラー
  A(NativeHoge.getA()), B(NativeHoge.getB()), ...

  private final int nativeVal;
  TestEnum(int nativeVal) {this.nativeVal = nativeVal;} ...

さらに、このEnumクラスをユーティリティクラスで包んで、そちらに
static{}句を移すとコンパイルは通るもののTestEnumの初期化前
にstatic{}句が呼ばれません。

public class TestUtil{
  static { System.loadLibrary("libNativeHoge");} // 切ないことに、呼ばれない
  public static enum TestEnum {...

Enumの初期化前に確実にある処理(上記例ではSystem.loadLibrary)
を実行する方法は何か無いでしょうか?

156 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 19:13:45 ]
>>155
TestEnumを使用する前にTestUtilクラスをロードする。
説明コードを短くするためにgetAとかをちょっと変えるけど、
public class TestUtil {
static { System.out.println("TestUtil static initializer"); }
public enum TestEnum { A(NativeHoge.get("A")), B(NativeHoge.get("B")), C(NativeHoge.get("C"));
TestEnum(String v) { System.out.println("TestEnum constructor " + name() + ", val=" + v); }
}
}
class NativeHoge {
public static String get(String s) { System.out.println("NativeHoge " + s); return s; }//本当はnativeメソッド
}
class Main {
public static void main(String[] args) throws ClassNotFoundException {
Class.forName("TestUtil");/////
System.out.println(TestUtil.TestEnum.A);
}
}
/////の行が無ければA,B,Cを先に初期化しようとするが、
TestUtilが先にロードされればその静的初期化子の方がA,B,Cの初期化より先に呼ばれる。
別にforNameでなくてもTestUtilクラスがロードされるような処理を
TestEnumが使われるより先に行うことをTestEnumの使用規約ということにしてしまう。
例えば、TestUtilにpublic static void init() {}のようなダミーのメソッドを作って、
TestUtil.init()をまず呼んでねってことにすれば使う側も少し楽に。

157 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 19:16:07 ]
>>155
public enum TestEnum {
  A(NativeHoge.getA()), B(NativeHoge.getB()), ... ;
  static { System.loadLibrary("libNativeHoge");}


158 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 19:30:59 ]
>>157
それはloadLibraryより先にNativeHoge.getA()が呼ばれる。
enumではAやBの初期化をコンパイラが生成した静的初期化子の中で行うから、
その静的初期化子の処理はTestEnumの静的初期化子の中で最後に実行される。

159 名前:157 mailto:sage [2009/01/27(火) 19:33:35 ]
すまん、適当なことを言った。順番が問題だなあ

public enum TestEnum {
  A(NativeHoge.getA()), B(NativeHoge.getB()), ... ;
}

class NativeHoge {
  static { System.loadLibrary("libNativeHoge"); }


160 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 19:38:49 ]
>>159
あー、そうか。難しく考えすぎた。
nativeメソッドがNativeHogeクラスに抽出されているからその方法でいいんだね。
TestEnum自身がnativeメソッドを持っていて、
それをTestEnumのコンストラクタで呼び出す場合と混同してた。失礼した。



161 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 20:09:12 ]
>>156
初めは確かにそういう実装だったのですが、たかが定数を読み出す
ためにinit()なんかやってられるか〜というクレームが(笑)。

>>157
う〜ん、なるほど。Enum要素の列挙のあとであればstatic{}句は書ける
のですね。勉強になりました。でもやはり呼ばれるのは各要素が初期化
された後でした・・・

>>159
はい。確かにその解決策が確実なんです。ただNativeHogeはSWIGで
自動生成されたクラスで、出来ればあまり弄りたく無かったのです。
ただ調べてみるとSWIG側の工夫でNativeHogeにstatic{}句を埋め込む
事も出来そうなので、>>159の方向で調べてみます。

色々ありがとうございました。

162 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 21:07:39 ]
>>161
public enum TestEnum {
  A(TestConst.A), B(TestConst.B), ... ;

  private static class TestConst {
    static { System.loadLibrary("libNativeHoge");}
    static final int A = NativeHoge.getA();
    static final int B = NativeHoge.getB(); ...

むずいな。

163 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 22:39:51 ]
javaを独習してるのですが
メンバークラス(またはインナークラス)の存在価値が分かりません。
クラスの外にあるクラスも中にあるクラスも使うときはnewするんだから同じじゃないんですかね?
やっぱり大きいプログラム組むような経験が無いとピンと来ないものでしょうか?

164 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 22:48:21 ]
>>163
staticが仕えないので身内だけで仕事できる=保守性最強

嘘だお^^

165 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 22:53:59 ]
>>161
SWIGで生成されるNativeHogeのJavaバインディングは
loadLibraryしないと使えないこと前提なのに
その処理自体は自動生成されるソースにはデフォルトで入ってないの?
NativeHogeを使うためには使用前に別の場所でloadLibraryせよっていうのは
init()なんかやってられるかというのと同じ文句が出そうなんだけど

もしSWIG側をいじりたくないなら
NativeHogeにgetAなどの処理を委譲するクラスを作って
そのクラスのstaticイニシャライザでloadLibraryするとかは?
class NativeHogeDelegator {
static { System.loadLibrary("libNativeHoge"); }
public static int getA() { return NativeHoge.getA(); }
...
使うときはNativeHogeDelegator.getA()の方を使う
ただ自動生成ということなのでgetAとかのメソッド名は頻繁に変わることはないという前提で
TestEnumで直接getAとかの呼び出しを書いているので頻度は高くないとは思うけど


166 名前:163 mailto:sage [2009/01/27(火) 22:59:58 ]
>>164
ありがとうございます。
全く理解できませんがwなんかすごく意味があるのは分かりました。
勉強する気湧いてきたぁああ

167 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 23:04:54 ]
>>163
最近メンテされてないけど
ttp://javafaq.jp/S016.html#S016-09

168 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 23:10:47 ]
>>165
調べてみたら、ネィティブメソッドをラップするクラスの定義に
Javaコードを流し込む指示をSWIGの定義ファイル(iファイル)に
書けることが分かりました。実際サンプルは次のようなもので、

%pragma(java) jniclasscode=%{
 static {
  try {
   System.loadLibrary("exampler");
  } catch (UnsatisfiedLinkError e) {
   System.err.println("Native code library failed to load. \n" + e);
   System.exit(1);
  }
 }
%}

これを少し弄ることでNativeHogeに相当するクラスの定義に必要な
static{}句を流し込むことが出来て万事解決しました。というわけで、

>SWIGで生成されるNativeHogeのJavaバインディングは
>loadLibraryしないと使えないこと前提なのに
>その処理自体は自動生成されるソースにはデフォルトで入ってないの?

デフォルトでは入っていないけど手動の解決策は用意済みなので
ちゃんとドキュメントのサンプルは隅から隅まで読みましょう、という
教訓でしたw

169 名前:デフォルトの名無しさん [2009/01/28(水) 00:17:49 ]
お前らメモリどんくらい積んでる?

170 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 00:22:39 ]
16G



171 名前:デフォルトの名無しさん [2009/01/28(水) 01:17:25 ]
offspringというArreyListにGeneというクラスを足してって、Listの中にいくつクラスが存在するかを知るためにはどう書けばいいの?
List.size(offspring)を使うと、GeneというクラスにはList.sizeは使えないって表示されるんだが

172 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 01:25:26 ]
>>171
>クラスを足して
これは、何をすること?
っていうか、クドクド説明するより、
ソースをアップローダに上げた方が早いのでは?

173 名前:デフォルトの名無しさん [2009/01/28(水) 02:05:10 ]
インナークラスにすれば、メソッド内の変数がインナークラス内も範囲内になるから便利だよ。コードもまとまってめんどくさくないし。

174 名前:デフォルトの名無しさん [2009/01/28(水) 14:57:08 ]
P12.java:45: シンボルを見つけられません。
シンボル: メソッド getParameter(java.lang.String)
場所 : P12 の クラス
num=Integer.parseInt(getParameter("number"));
^

このエラーの意味を教えてください。
お願いします。

175 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 15:02:24 ]
>>174
ムリ、情報少なすぎ

176 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 16:21:50 ]
numって変数がないぞってエラー

177 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 16:24:37 ]
いや、getParameterってメソッドがないぞってエラーかもしれん

178 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 22:42:58 ]
いまからJavaを勉強しようと考えています。
したい事は、フラットファイルを読み込んで中の文字列を処理し、
別ファイルに吐き出すことです。

こんな感じの事がしたい人が読むといい実用的な参考書があれば、教えてください。
# perlを少しかじったことがある程度の無謀な新参レベルです

179 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 23:14:50 ]
実用的な参考書か

■読んでないけど参考になりそうだ
Eclipse 3.4で超簡単Javaプログラミング基礎入門 (1/5) - @IT
www.atmarkit.co.jp/fjava/rensai4/java5eclipse01/java5eclipse01_1.html

後は、下のキーワードでぐぐればサンプルがいくらでも出てくるぜ
「java テキストファイル 読み込み」
「java テキストファイル 書き込み」

180 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 23:43:49 ]
しかし、ほんといい時代だ

インターネッツに繋げてれば、参考資料読み放題だぜ



181 名前:デフォルトの名無しさん [2009/01/28(水) 23:54:52 ]
誰かが作ったフレームワークを使ってそこからクラスを作って組み込むことは出来るんですが
自分でフレームワークを作りたいときオススメの参考書ないすか?

182 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 00:08:44 ]
>>179
紙媒体を探してたりしてたわけですが

ありがとうございます。

183 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 00:32:42 ]
紙はわかんないんだな

グーグル先生に聞いてれば勉強できちゃうって思うようになっちまったもんで。
PCから離れて勉強する機会があるとやっぱ紙媒体も必要だよね

184 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 08:11:00 ]
>>181
「Java言語で学ぶデザインパターン入門」
ttp://www.amazon.co.jp/dp/4797327030/

これ読んでも、フレームワークが作れるかどうかは経験次第だが。

185 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 10:52:51 ]
>>174
ファイル P12.java の 45行目に書かれている、
引数にStringを持つメソッド getParameter の定義を
見つけることが出来ませんでした。の意。

大抵はスペルミス。static の付け忘れとかも。
行数の表示されるエディタを使うとヨロシ。

186 名前:デフォルトの名無しさん [2009/01/29(木) 12:22:36 ]
COBOLしかやったことがないのですが、
Javaを覚えるのは大変ですか?
家のPCでJavaを用いたオリジナルアプリケーションを作成することは可能でしょうか。

187 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 12:25:44 ]
家のPCでCOBOLを用いたオリジナルアプリケーションを作成していたのなら難しくはない。

188 名前:デフォルトの名無しさん [2009/01/29(木) 12:38:40 ]
>>187
ありがとうございます。
COBOLは出先の金融機関でしか触ったことがないです。
PCでもCOBOLプログラミングができるとは聞きましたが・・・。
例えば・・・小遣い帳や住所録などの管理システムも作れるでしょうか。

189 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 12:41:48 ]
COBOLは潰しが利かないから、何を覚えるのも大変だと思う。

190 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 13:02:21 ]
>>189
まあ、他の言語に移ると、扱える整数が小さかったりして驚くよね。
構造体の定義や初期化も面倒くさいし、
表示フォーマットも不便だし・・・



191 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 13:32:03 ]
他のスレでは.NET使いたいって言ってるし釣りっぽいな

192 名前:デフォルトの名無しさん [2009/01/29(木) 13:42:08 ]
>>191
なんで分かるの?

193 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 14:52:01 ]
質問です。
サーバーサイドJavaをレンタルサーバーでやりたい場合、
サーバーには何を入れたらいいんですか?

サーブレットとかは何に格納すればいいんでしょうか?


194 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 15:13:37 ]
COBOLだろうが何だろうが基本はアルゴリズムだから同じでしょ
昔の知識で言うとCOBOLは出来るけどBASICは出来ないってありえないだろ

195 名前:デフォルトの名無しさん [2009/01/29(木) 15:20:04 ]
Netbeans6.5で初期ページになってる水色のページのタイトル部分だけ
文字化けするんだけど、同じ症状の人いますか?
ネットで調べたら、公式サイトで症状は確認されているが原因は不明とのこと。

196 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 15:56:04 ]
Netbeans6.5スレにいけ。
専用スレがあるならそこで聞け

197 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 16:23:09 ]
>>191
COBOLの.Netって富士通が出してるやつしか無いんじゃね?
海外では使ってないのかな?

198 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 18:30:03 ]
.net使いたいって言ってるだけでcobolを使いたいって言ってるとは限らないんじゃね?
>>191が言うそれと>>186が同一人物だとして>>186はjavaに興味を示してるわけだし
.netでc#やりたいってその別のスレでは言ってるのかもしれん
そんなことより.net版のcobolなんてあるのならjvm上で動作する言語はいっぱいあるからjcobolとかもありそうだな

199 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 20:49:19 ]
何故インスタンスを作らなくても、大丈夫なのかよくわかりません
どなたか回答お願いします

public class SampleApp extends JFrame{
public SampleApp(){
  this.setSize(new Dimension(300,200));
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  this.setLayout(null);
     略


200 名前:デフォルトの名無しさん [2009/01/29(木) 20:49:34 ]
.NETってプログラミング言語ですか?



201 名前:デフォルトの名無しさん [2009/01/29(木) 20:53:26 ]
>>199
このクラスのインスタンスを別のクラスからつくるんだろ

202 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 21:05:57 ]
>>201
ありがとうございます

203 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 21:08:23 ]
>>199
簡単に言うとthisは自分を参照するから。
実行時は実行中のコンテキストを指す・・・というと誤解があるか。

204 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 21:19:13 ]
>>203
public SampleApp()がどこかでインスタンス化されるから
インスタンス名を省略できるってわけですね?


205 名前:デフォルトの名無しさん [2009/01/29(木) 21:29:27 ]
よそに投稿しようと思ったけどやめた。削除されるから。
馴染み深いここにする。すれ違いだけど、聞いてくれ。

昨日、大発見したんだ。

ハルマゲドンっていうじゃん。あれって、素の言語の意味だと、「ギルドの丘」っていう意味なんだって。
で、聖書の3:16章にハルマゲドン(ギルドの丘)で最終戦争が起こるっていう予言があるんだと。

で、聖書とマヤの予言には大昔のつながりがあるんだと。マヤの暦は2012年12月21日を最後に消えてるでしょう。 だから、なにかあるんじゃないかと思うんだ。。

やっぱ、最終戦争(第3次世界大戦)じゃないかって本とかでいわれてるけど、一番問題なのは、ハルマゲドンの本当の意味のギルドの丘の場所なんだけど、イスラエルのガザの近くなんだって。

まじで、やばくね?

ハルマゲドンっていうじゃん。あれって、素の言語の意味だと、「ギルドの丘」っていう意味なんだって。
で、聖書の3:16章にハルマゲドンで最終戦争が起こるっていう予言があるんだと。

で、聖書とマヤの予言には大昔のつながりがあるんだと。マヤの暦は2012年12月21日を最後に消えてるでしょう。

やっぱ、最終戦争(第3次世界大戦)じゃないかとかいわれてるけど、一番問題なのは、ハルマゲドンの意味のギルドの丘の場所なんだけど、
これってば、イスラエルのガザの近くなんだって。

まじで、やばくね?昨日、深夜ブックオフで買ってきたオカルト本を組み合わせるとこういう結果になるんだけど。

206 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 21:35:33 ]
メギドの丘な

207 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 21:44:41 ]
>>207
そうそれ!わかってくれたか。やっぱやばいよ。まじで。

208 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 22:21:20 ]
メギドの丘は宅地開発でもう無いよ

209 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 22:38:16 ]
ぱっと見エロゲの話かと思った

210 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 00:09:17 ]
自演乙w



211 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 02:45:51 ]
家のwindowsのパソコンにeclipseをダウンロードしてつかっているんですが、
マウスイベントのソースを書くときだけエラーがでます。
授業でもらったソース通りにまるまる書いてもだめです。
ちなみに授業でもecipseを使ってまして学校のPCだったら上手くいくんです。
スペルミスもさんざん確かめました。ダメです。
他のイベントは試したことないですが・・・
テストも近かったりするんで誰かお願いします


212 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 03:01:52 ]
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
→public class App24 extends Applet implements MouseMotionListener {
int x = -5 , y = -5;

public void init() {
→ addMouseMotionListener(this);
setBackground(Color.white);
}
public void mouseDragged( MouseEvent e ) {
x = e.getX();
y = e.getY();

repaint();
}
public void mouseMoved( MouseEvent e ) { }

public void update(Graphics g) {
paint(g);
}

public void paint(Graphics g) {
g.fillOval(x , y , 3 , 3 );
}
}
>>211です。 
例えばこのようなソースを書いたとします。
すると、4,8行がおかしいようです。

213 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 03:05:39 ]
addMouseMotionListener((MouseMotionListener)this)

214 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 03:15:01 ]
返信ありがとうございます。
試しましたが同じ所にエラーが出たままみたいです。
他に問題点はないでしょうか。
よく分かりませんがソースを書く以前に設定とかも適当に
やってるんでその辺におかしいと思う点あればそっちも
考えてくれたらです。こうゆう設定にしないとイベントは
使えないんだみたいな・・・

215 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 03:16:25 ]
>>212
矢印入ってるからじゃねーの?

216 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 03:18:37 ]
JDKのバージョンが違うとか?

217 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 03:23:15 ]
>>215矢印はエラーがでる場所をわかるようにいれました。
実際は入れてないです。
>>216何のことかさっぱりわからないいんです。
とりあえずソースに問題がないならもう無理っぽいですね・・・


218 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 03:24:47 ]
>>217
エラーメッセージくらい貼れよ、カス

219 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 03:49:23 ]
まず学校の環境と自宅の環境が違うんだろ。
学校の先生に相談してみたら? テストの点数悪くてもやる気で成績くれるかもよwww

具体的な環境設定はこっち。
Eclipse統合M26【Java/C/PHP/Ruby/Python/Perl】
pc11.2ch.net/test/read.cgi/tech/1224536200/l50



第三次世界大戦でも起きたら世界不況脱出するかもな。不謹慎だが。
第二次世界大戦の前にも大恐慌起きて、世界大戦で緊急財政支出行って持ち直したよね。



COBOLは出来るけどBASICは出来ないじゃなくて、BASICじゃやってられないって方が大きいだろう。
器用貧乏であれこれ出来るなら、プロジェクト毎に適当に言語決められてもなんとか成るが、
普通は、新しい言語覚えるのは非常にコスト掛かる物だろ。
基本はコミュニケーションでも、日本語使いが、英語覚えるのは大変だぜ。日本語をそのまま使えたほうが遥かに便利。

220 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 05:17:43 ]
>>219
鼻糞は黙っとれ



221 名前:デフォルトの名無しさん [2009/01/30(金) 05:35:08 ]
エクリプスでコントロールきー+シフトきー+Oでインポート調べてくれる機能あるけど
あれGUIでやるにはどこ押せばいいの?

222 名前:foo mailto:sage [2009/01/30(金) 08:36:08 ]
Velocity で、テンプレートから利用できる変数の一覧を出力する方法ってあるかな?グローバル変数のダンプでもいいけど…

223 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 10:54:41 ]
>>212
は基本的なオブジェクト指向の概念もわかってないくせに
GUIやらアプレットやらやろうとしてるのが間違い
入門からやり直せ

224 名前:デフォルトの名無しさん [2009/01/30(金) 14:28:53 ]
質問です。

機種依存文字を扱う必要があって、EUC_JPではなく
EUC_JP_Solaris
という文字コードに変換してファイルに出力しようとしているのですが、「avの文字だけ上手く変換できません。
他の文字「@」などは正常に出力されてます。

OSはウィンドウズです。
理由や対処法をご存知な方はいらっしゃいませんか?

「〜」の変換だけでも頭が痛かったのに……orz


225 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 15:19:27 ]
EUC_JP_Solarisっていうcnarsetにbチていう文字がないんじゃない?
どうみても拡張文字だし。

226 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 15:19:50 ]
charsetね

227 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 16:54:53 ]
ソラリスが動作する開発環境が必要では?

228 名前:デフォルトの名無しさん [2009/01/30(金) 18:58:33 ]
エクリプスでコントロールきー+シフトきー+Oでインポート調べてくれる機能あるけど
あれGUIでやるにはどこ押せばいいの?


229 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 20:33:38 ]
>>225-226
普通に考えたらそうなんだけど確証と、bノ対する対処法が欲しかった

>>227
ほかの文字はXPで動いてます。
ただのEUC_JPだったら@だって変換できないですよ。

そもそも拡張文字なんてどうせウィンドウズ以外じゃ表示できないんだから諦めてくれればいいのにorz
ウィンドウズ以外じゃ使わないシステムだからそんな言い訳が通用するはずも無く……

230 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 20:41:30 ]
ウィンドウズ以外で使わないんなら EUC 使わないで SJIS系の windows-31j つかっときゃいいんでは?



231 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 21:13:25 ]
>>230
EUC_JPで他システムに送るからeuc系以外不可です。

けどwindows-31j から直接(うにを介さず)EUCに変換できれば上手くいくかもしれないですね。 そんなことできるか知らないですけど。

232 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 21:24:04 ]
>>231
変換先がないって言ってんだから、送られた側のシステムでb使うことはないんじゃねーの?

233 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 22:10:13 ]
>>232
試してもらえば分かると思いますが、
サクラエディタや秀丸エディタで「avをEUC_JPで保存できますし開けます。

あと事の発端はシステムから送りかえされてきたファイルに@などがあったことなんで使わないとはいいきれないんです。


ここに居る人のレベルでは対処不可ですか? とちょっと煽ってみる。

現象自体は「avを含む文字列を文字コードにEUC_JP_Solarisを指定してファイル出力するだけで再現すると思います。 (再現しなかったらバージョンの問題など、別の理由になるので再現しないならそのほうがありがたいのですが……)

「avをEUC_JPで出力したい、ただそれだけなんです。 よろしくお願いします。


234 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 22:16:49 ]
冗談でもそんな煽り入れられたら死ねといいたくなるね

235 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 22:27:44 ]
そもそもEUC_JP_Solarisで@やら対応しているのか?
EUC_JP_MSなんて物が存在してるようで、秀丸で保存できるのはEUC_JP_MSだから?か?

236 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 22:39:24 ]
>>235
javaで使う方法がありますか? その文字コード。

Javaが内部でうにに勝手に変換するのが問題なんです。
うにには本来拡張文字が無いので。


237 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 22:47:13 ]
>>236
サポートされているエンコーディング
java.sun.com/j2se/1.5.0/ja/docs/ja/guide/intl/encoding.doc.html

javaの5.0かせサポートされてるくさい

文字コード表
ash.jp/code/codetbl2.htm

そしてJISX0208にNo.はある。
しかしjavaはうにとの相互変換でアボーンしちゃうんだよなどうしたものか

238 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 23:01:03 ]
> うにには本来拡張文字が無いので。
件のbヘU+2116。ちゃんと存在する。

239 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 23:09:12 ]
>>237
EUC_JP_MSで検索したらヒットしなかったんですけど、EUC_JP_Solarisの話ですか?
0208にあるならEUC_JP_LINUX 使えば上手くいく可能性はありますね。
上手くいくなら
EUC_JP_LINUXとEUC_JP_Solarisでそれぞれエンコしてバイト単位で比較して補完するってこともできなくは無いか。一からエンコードプログラム書くよりはましだろうけど…

>>238
そうなんですか? JAVAでバイト吐かせて確認してたのでその値であることは知ってましたが、
どこかの文字コード対応表では未対応扱いになってたので正式なものではないのかと思ってました。

存在するかどうかはあまり問題じゃなくて、変換できないのが問題なんですけどね。

240 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 23:09:34 ]
>そしてJISX0208にNo.はある。
ないよ。その表はフォントが対応してると勝手に表示しちゃうだけ。

JIS X 0208 では13区は使われてない。
だから独自拡張する人達に13区勝手に使われちゃってるんだけど。



241 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 23:17:20 ]
>>240
なんというカオス

eucJP-ms
www2d.biglobe.ne.jp/~msyk/charcode/cp932/eucJP-ms.html

ここの表だと0208にはない事になってるね
つまり、0208に存在しないbェEUC_JP_Solarisでバケルのは正常な動作なのか

242 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 23:20:21 ]
>>240
NEC拡張外字って書いてますね。
NEC死ねばいいのに。


243 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 23:24:10 ]
>灰色のコードポイントは、IBM特殊文字でも定義されています。
こっちに変換されている悪寒

244 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 23:31:15 ]
>>243
テラパッドでEUCで保存したら0xADE2で保存された。

だが、0208にはbヘ存在しないんだから、
EUC_JP_MS→うにに→EUC_JP_Solarisで破壊されるのは正常くさい。
※EUC_JP_MS→うにに→EUC_JP_MSでも破壊されるかもしれんけどw

そして、最大の問題はEUC_JP_Solarisに存在しない筈のbェ、
>>231のシステムで使われているかどうか。
windowsで使えるんだから使えないのはおかしいとか電波な事を客が言うかどうか。

245 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 23:43:56 ]
>>244
EUC_JP_Solarisに存在するかどうかより使えるかどうかが問題だから
残念ながら多分使えませんは通用しないです……

というか機種依存文字だから使えませんは通用しなかった。


246 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 23:48:01 ]
>>245
やっぱそうなるか〜そっちのシステムの実装によっちまうんだな。

しかし、対策考えると頭から湯気がでそうだな

247 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 23:48:48 ]
とりあえず、EUC_JP_Solarisのシステムでb使ってるか、使えているかを調べんとあかんね

248 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 23:50:38 ]
>>246
正直この仕事で文字が嫌いになりました。


249 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 23:58:55 ]
長い間ありがとうございました。

結論は「正攻法はなし」って感じですねorz
独自で文字セット作成がんばります……


250 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 00:09:14 ]
>>249
オマエが勘違いしているだけ。
バカってそんなもん。



251 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 00:11:47 ]
>>250の意味がよく分からないんだけど、EUC_JP_Solarisでbェファイルに出力できましたよ、って意味?


252 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 00:15:27 ]
最初のbェでないって悩みがバカなのか、
正攻法はなしという判断がバカなのか。

どっちだろね?

253 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 00:16:23 ]
0x8FA2F1 に変換できて喜んでる人なんでしょう

254 名前:デフォルトの名無しさん [2009/01/31(土) 00:28:13 ]
public List method(){
  try {
    return new ArrayList();
  } catch (Exception e) {
//ここで非チェック例外を投げないと
//このメゾットは型list を返す必要があるというエラーになる
  }
}
なぜコレクションを返すときに非チェック例外を投げないとエラーになるのでしょうか

255 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 00:30:57 ]
>>254
public List method(){
  try {
    return new ArrayList();
  } catch (Exception e) {
  }
return null; //←これはないの?
}


256 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 00:36:34 ]
>>254
エラーというのは、コンパイル・エラーのことですか。

例外が発生した場合の流れに、メソッドを抜ける方法が書かれていないから。
非チェック例外は、メソッドを抜ける方法の一つ。

257 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 01:41:54 ]
メゾット言う奴はたいてい釣り

258 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 02:56:42 ]
0xADE2をファイルから入力
EUC_JP_Solaris: (0x2116)
EUC_JP_LINUX: ?(0xFFFD)
EUC_JP: ?(0xFFFD)

''をファイルに出力
EUC_JP_Solaris: 0x8FA2F1
EUC_JP_LINUX: 0x3F
EUC_JP: 0x8FA2F1

0x8FA2F1をファイルから入力
EUC_JP_Solaris: (0x2116)
EUC_JP_LINUX: ?(0xFFFD)
EUC_JP: (0x2116)

うちの環境だとこうなったけど、どこら辺が悪いの?

259 名前:デフォルトの名無しさん [2009/01/31(土) 07:12:11 ]
ここのやつって結構間違い教えるよな

260 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 10:43:43 ]
>>258
''をファイルに出力
EUC_JP_Solaris: 0x8FA2F1
EUC_JP_LINUX: 0x3F
EUC_JP: 0x8FA2F1
↑これをEUCを扱えるエディタで開いてみて。 3バイトの方になると多分化けるから。




261 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 11:21:56 ]
>>260
たとえばFireFoxなら?

262 名前:デフォルトの名無しさん [2009/01/31(土) 12:45:43 ]
>>256
ご説明ありがとうございました

263 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 13:11:25 ]
>>260
EUC_JP_MSだと0xADE2だが、EUC_JP_Solarisだと0x8FA2F1で正解ってことか?

だとすると、winのエディタはEUC_JP_MSで動いてるからEUC_JP_Solarisのb表示できないのは正常ってことになる。
確認するならEUC_JP_Solarisをまともに扱えるエディタでないとあかんと。

264 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 13:20:25 ]
0x8FA2F1ってJIS X 0212のbゥよ。
EUC_JP_SolarisはJIS X 0212も含んでるから、つまり正解。

>>259
バカは何人集まってもバカって事だな。

265 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 14:11:42 ]
>>263
8FA2F1 読む場合は補助漢字さえサポートしてれば読める。

EUC_JP_MS は出力時は ADE2 だが、
ちゃんと実装してあれば読み込み時は ADE2 8FA2F1 8FF4AC 全部読めるはず。
Windows API の MultiByteToWideChar WideChatToMultiByte とかに
引数 CodePage として 51932 を渡した場合は補助漢字サポートしないから ADE2 しか読み書きできない。
自前でやらずに Windows API に丸投げしてると 8FA2F1 は読めない、って事になる。

266 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 17:18:56 ]
結局、変換したデータを持っていく先がどう扱っているか分からなければ、なあ。

267 名前:デフォルトの名無しさん [2009/01/31(土) 17:30:27 ]
JavaでWebサービスというのがやってみたいので、初心者でも分かる本を教えてください><;

JavaEE5っていう分厚い本は難しそうです><;

268 名前:デフォルトの名無しさん [2009/01/31(土) 18:02:02 ]
>>267
Java のWebサービスは難しいかもな。

269 名前:267 mailto:sage [2009/01/31(土) 19:49:07 ]
教えてくださってありがとうございます><;

お礼に↓これを教えてあげます><;私も昨年夏買いましたが、重宝しました><;
www.rakuten.co.jp/fujix/514143/443175/717147/

270 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 20:48:06 ]
パッケージにjava.*とjavax.*があるけれど、違いは何



271 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 20:51:44 ]
文字列の変換はpure javaで自前で書くのが一番安心。
Java MEの話だが実機で扱える文字コードがばらばらなのでShift-JISとUTF-8とUTF-16の相互変換を自前で書いたよ。

272 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 22:22:48 ]
まったくの初心者なんだけど、
未経験者として就職するにはどのくらい覚えたらいいか目安的なのない?
今、入門書で抽象クラスやらインターフェースやら覚えたんだけど・・・

273 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 01:32:08 ]
他システムがソラリスなんだろ。
で、あっちはあっちでソラリスしか使ってないんだから他で使うのは諦めろよって仕様なんだろ。

黙ってソラリス使っとけ。理由は他システムとの連携のためだ。


javaって実行環境依存な所があるから、システム連携で嵌まりたく無ければ統一しとけ。

274 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 01:40:16 ]
>>"'#

275 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 01:42:31 ]
>>273
EUC_JP_Solarisはソラリス限定の文字コードじゃない。
あとEUC_JP_Solarisが問題というよりはbェEUCで出力できないのを問題にしてる。


276 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 01:44:50 ]
>>267
Webサービス使うだけならeclipseでウィザード起動一発だったような。RADだったかもしれんけど。

277 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 01:52:34 ]
その環境に対応したクラスを作れば万事解決

278 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 03:02:58 ]
"東京都 渋谷区 渋谷 1-1-1 キャベツ太郎 03-0000-1111"

みたいな文字列を

"東京都 渋谷区 渋谷 1-1-1"
"キャベツ太郎"
"03-0000-1111"

のように分割したいのですが
"東京都 渋谷区 渋谷 1-1-1" の所にスペースが使われてるのでスペースを区切り文字として扱うことが出来ません

なんかいい方法ないでしょうか


279 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 03:16:20 ]
>>278
なんか規則性がないと無理だな。
電話番号と氏名は間に空白が絶対に入らないというルールがあるなら、
後ろから空白区切りで電話番号と氏名を切り出して、その前方は全部住所とかそんな感じだ。

280 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 03:58:31 ]
>>278
氏名と電話番号にスペースが入らないと断言できるなら後ろから取り出すとか。
>>279も言ってるように、なんらかの規則性がないと>>278はただの文字列だし無理。



281 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 04:22:56 ]
>>278
何かしらデータを区切ってくれたり(規則性を持たせたり)しないと無理

282 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 06:33:46 ]
無理っぽいね。
"東京都 渋谷区 渋谷 1-1-1 キャベツ 太郎 03-0000-1111" とか
"東京都 渋谷区 渋谷 1-1-1 ハイツ渋谷 101 キャベツ太郎 03-0000-1111" とか
"東京都 渋谷区 渋谷 1-1-1 ハイツ 渋谷 101 キャベツ 太郎 03-0000-1111" とか
"東京都 渋谷区 渋谷 1-1-1 トマト 様方 キャベツ 太郎 03-0000-1111" とか
いくらでも考えられるし。

283 名前:Javaで [2009/02/01(日) 10:24:10 ]
現在日本では1万円、5千円、2千円、1千円、500円、100円、50円、10円、5円、1円がある。
金額をあたえると最小の紙幣数、硬貨数で支払うための金種別の枚数・個数を求めるメソッドを作成

37521
1万が3
5000が1
2000が1
500が1
10が2
1が1

ってどうやってつくるんでしょうか?
教えて頂けるとうれしいです。

284 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 11:15:15 ]
宿題スレ池

285 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 12:39:52 ]
>>275
もう1つの問題はEUC_JP_Solarisで出力されるbニ、
EUC_JP_MSで出力されるbフコードが違い、
winのエディタで見えなくて、あれあれ?となっている事。

件のシステムがEUC_JP_Solarisといいつつ、
EUC_JP_MSのbカゃないと受け付けないなんてギャグもありえるのが怖いね。

286 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 13:40:20 ]
>>283
割り算も出来ねーのかよw

287 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 13:54:37 ]
>>285
EUC_JP_Solarisじゃないと駄目とは言ってなくね?
ウィンドウズで文字コードEUCのbェ表示できるコードで出力したいって話でしょ?

288 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 14:01:03 ]
>>287
最初の質問者はEUCは理解していない様子だ。

289 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 14:04:26 ]
>>287
暗黙裡の要求は、秀丸やサクラエディタと同じように変換したいと言うことだったらしい。
持って言った先のシステムについて調べたがらなかったのも、そんなものは無かったからなのかも。

290 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 14:12:35 ]
>>289
だね。

表面上の目的は「EUC_JP_Solarisでb出力できない」
確認方法は「秀丸でb表示できない」だったか

しかし、秀丸でb表示できてもそれはEUC_JP_Solarisのbナはない、
むしろ、秀丸らで表示できないのが正しい姿。

本当にEUC_JP_Solarisのbナ出力できればいいのか、
秀丸で表示できるbナいいのかは、彼でなければわからない。



291 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 14:38:05 ]
まだやってくれてたんか。 

>>290
特殊記号がうにからEUC_JPへの変換で化ける(サクラなどで確認)

EUC_JP_Solarisでやってみたら概ね変換できたけどbヘ駄目だね(サクラなどで確認)

さぁどうしようか ←いまここ

別にEUC_JP_Solarisでないといけないわけではないです。
意図的には
>秀丸で表示できるbナいい
どちらかというとこっちが正しい。
ただこう言うとShift-JISでいいじゃんとかいいだす人がまた出るでしょ……あくまでEUC_JPファミリー、とでも言えばいいのかな。

やりたいことは、「水色の部分も含めこの表の通りに出力したい」と思ってください。 始めからこの表見つけて張ればここの人たちも混乱しなかったよな……
charset.7jp.net/euc.html

今までのレスから理想はEUC_JP_MSを指定する、なんだろうけどJAVAのライブラリにないよね……


292 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 14:40:06 ]
>>291
表示するのは表示するソフト次第だって、理解できないのか?

293 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 14:42:01 ]
>>291
EUC_JP_Solarisで変換したbセって、秀丸では表示できないけど、FireFoxでは表示されるよね?

294 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 14:42:41 ]
>>291
>始めからこの表見つけて張ればここの人たちも混乱しなかったよな……
混乱してるのはオマエで、未だに

295 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 14:45:53 ]
>>291
おぃぃぃw

>>224見るとEUC_JP_Solarisじゃないとあかんようにしか見えんぞ。
ならEUC_JPで出力してみるかEUC_JP_MSでやってみたらいいんじゃね?

296 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 14:47:47 ]
>>292-293
ソフト次第って片付けられるならそれで片付けてるよ。

charset.7jp.net/euc.html
↑基準はこれでお願いします。

EUC_JP_Solarisだと概ねこの表に沿ったエンコードになるけど、bヘこの表から外れた文字コードになりますよね?


297 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 14:47:48 ]
その表ださずに

>ここに居る人のレベルでは対処不可ですか? とちょっと煽ってみる。

なんてあおってたのか?
マジで首吊って死んどけやwww

298 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 14:48:05 ]
>>291
その表のとおりだと拡張漢字ないから EUC_JP_MS じゃなくて通称 cp51932 の方だね。
EUC_JP っつったら普通は SS3 の第三第四水準までサポートするし。

299 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 14:54:00 ]
>>297
224以降でEUC_JP_Solaris以外の話を俺はしてるし、エディタで表示できるかどうかを問題にしてることも話してるから
このスレの聡明な方々なら理解してもらえてると思ってたし、実際一部の人は理解してくれてたようですが。

始めからこの表見つけて張っておけばここまで混乱しなかったと反省はしている。

300 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 14:58:39 ]
>>299
エディタで表示できないのはエディタ表示できないだけで、EUCとしては正しくでてる。
エディタで見れないとは言ってても、エディタで見れないのはダメとは名言してないしね。



301 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 15:04:37 ]
>>299
ところでさ、エディタで確認したってのは聞いたけど、
>>231 で言うところの他システムで EUC_JP_Soralis の (0x8FA2F1)
扱えないか確認したの?

302 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 15:10:12 ]
>>296
オマエが何をみているか知らないが、例えばWindows上でも、Apple Safariなら13区が表示されないのは分かってるよな?

303 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 15:11:01 ]
>>300
「〜」が問題になったと言えば経験者は分かるよ……
俺の質問が分かりづらかった旨を指摘する不毛なレスをいつまでも続けても
誰にも有益ではないと思うのですがその辺りはそろそろ空気読んでいただけませんか?

>>301
あっちから返ってきたものがこっちでファイルに出力できないのが最大の問題なので、
それは(今は)あまり重要ではないです。

こちらの都合で申し訳ないですが、あくまで「うにのb>>296表(cp51932?)でファイルに出力したい」を解決したいと考えてはいただけませんか?


304 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 15:13:16 ]
>>303
経験者だけどわかんなかった(テヘっ
空気はお前が読めよ

305 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 15:14:26 ]
不毛な質問の仕方しといてそれはないわ〜

306 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 15:15:59 ]
>>303
質問が分かりづらいとかじゃなくて、オマエは今でも勘違いしたまま迷走しているだけだよ。
オマエがしたいのは「EUCに変換する」じゃなくて、「秀丸みたいに変換する」だよ。

307 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 15:17:38 ]
>>306
しかも、本当に変換したデータを持っていく先があるとすれば、
本当の要件は「秀丸みたいに変換する」ではない可能性が大きい。

308 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 15:18:13 ]
>>302
だから具体的なエディタ名だしてるだろう?相当偏った環境でもない限りあなたのところでも再現すると思いますよ?
文字コードも>>296表ならcp51932という文字コードという情報もでてるしね。

それでいて>>302に俺がレスしてもレスしなくても俺の周りからの心象が下がる絶妙な文章。

あなたからは質問者を困らせようとしてるとしか思えない雰囲気がでてるよ。

309 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 15:20:33 ]
バイナリで扱った方が楽な気がしてきたw

文字列として扱うから「秀丸なEUC→うにに→秀丸じゃないEUC」に変身しちゃうんだしね。
javaの中で文字列じゃないと不都合な場面がいっぱいありそうだから無理だろうなぁ。

310 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 15:22:32 ]
>>308
もう他人の指摘はやめといた方がいいよ。

周りがどんなに熱くなっても、それに付き合ったらだめ。
それこそあなたが空気読めてないし、質問者が煽ったら空気読む以前の問題。



311 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 15:22:44 ]
>>308
オマエが「この表のように」って言っていても、
その表にbェ表示されてると思っているのは、お前のブラウザの都合だって言ってんだよ。

312 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 15:26:10 ]
ここに居る人のレベルでは対処不可ですか(笑)

313 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 15:26:15 ]
>>303
WAVE DASH問題とは別だよ。
あれはユニコードの方に複数のコードポイントあるだけだから、
例えば読み込み時に Shift_JIS 使っておいて出力時に Windows-31J 使うと化けるけど
要はシステム内で解決できる可能性の高い話なわけ。

の方は EUC の方に複数のコードポイントがあるんで
出力先が期待してるコードポイントが何かとか
読み込み元が吐き出すコードポイントが何かとか
要は相手のシステムの情報がないとどうしようもない。

314 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 15:26:42 ]
>>309
バイナリで扱えば確かに化けることはないんでしょうけど、
文字列操作を全て自前で作成するのと、変換表を一から作るのとどっちが楽か、ってところですね……


315 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 15:29:19 ]
変換表なんてどーせ他所からパクってくるだけだろ

316 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 15:31:29 ]
>>308
> 文字コードも>>296表ならcp51932という文字コードという情報もでてるしね。
                ~~~~~~~~~~~~~~~~~~~~~~~~

317 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 15:55:34 ]
>>310
ごめんなさい、気をつけます。

>>313
ちゃんと分かってる方がいると安心します。
NECとIBMの二つでしたよね? 13区の方を想定してお願いできますか?

とりあえず今は他システムは(下記で無視できるなら)無視してください。

String str = ""; //←これをEUC_JP(>>296)の13区のbフあるコードに(実行環境はウィンドウズで)ファイルに出力する

条件としてこれではいけませんか?


318 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 15:58:49 ]
>>315
どこかでフリーのライブラリになってたりしませんか?
それで済むならそれが一番なのですが。

内容的に需要0ってことはないと思うのですが。

319 名前:デフォルトの名無しさん [2009/02/01(日) 16:02:06 ]
ほんとMSのシフトJISには参ったよな。なんでMSはころころと仕様変更するかなぁ・・・

320 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 16:02:26 ]
ここに居る人のレベルでは対処不可ですか(笑)



321 名前:デフォルトの名無しさん [2009/02/01(日) 16:18:21 ]
public class sample
{
public static void main(String[] args)
{
int i [] ={6,5,4,3,2};
System.out.println("最大値" + int max []);
}
static sample()
{
int max = array [0];
for (int i = 0; i < array.length; i++)
{
Math.max( i, array []);
return valmax;
}
}
}
初心者の質問で申し訳ないのですが
最大値を求めるプログラムなのですが研修の時このような形で解いたと
思うんですがどうもうまくいかなくて、足りない部分や間違ってる部分があったら教えていただきたいです


322 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 16:21:10 ]
>>321
研修やり直してきた方がいいレベルのソース?に見えるが……
ほんとにこれJAVA?


323 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 16:23:44 ]
>>321
研修でこんなことしてるとか。。。
メソッドとか理解してねーだろ
つかつっこみどころ多すぎてもう・・・

324 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 16:27:10 ]
charsets.jarのソースコード眺めてたが、他にやりたい事があるせいで頭に入らん。

CharToByteEUC_JP_Solarisを改造してCharToByteEUC_JP_HOGEとでもすればなんとかならんかね?

325 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 16:28:10 ]
>>321
public class sample{
public static void main(String[] args){
int i [] ={6,5,4,3,2};
System.out.println("最大値" + sample(i));
}
static int sample(int[] array){
int max = array [0];
for (int i = 1; i < array.length; i++){
max = Math.max( max, array [i]);
}
return max;
}
}

こんな感じに習ったんじゃないか?

326 名前:デフォルトの名無しさん [2009/02/01(日) 17:04:36 ]
>>322,323,325
すいません、ご指摘ありがとうございます、まだ研修は始まったばかりで今後も続くので
また1から参考書読み直してきます

327 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 17:06:42 ]
>>324
何にしてもエンコーディング指定で解決、とはいかなそうってことですよねorz

>>ALL
自前でやるしかないってわかっただけでも収穫です。 ありがとうございました。
あと質問が非常に分かりづらくて申し訳ありませんでした。


328 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 17:12:18 ]
>>327
sunが秀丸っぽいEUC_JP_MS作ってくれりゃありがたいんだが、
sunにとっちゃ知ったことか!だろうしなぁw

329 名前:デフォルトの名無しさん [2009/02/01(日) 17:30:29 ]
>>326
勉強するかどうかよりも、そこがブラック会社かどうか疑った方がいいよ。

330 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 17:44:04 ]
もうコード変換対応するの面倒だから、対応システムと同じソラリスで動かすってことでいいじゃん。
窓で動作させてる時点で負けってことで。

漏れだったらそんな面倒な事に成りそうな仕事受けないからどーでもいいよ。



331 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 18:41:23 ]
>>330
質問スレとしては最低の答えだと思うが同意w

332 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 19:16:29 ]
FilterOutputStreamとかで0x8FA2F1のバイト列を0xADE2にして出力するとかは?w

333 名前:デフォルトの名無しさん [2009/02/01(日) 20:25:16 ]
>>330
おまえみたいな無能じゃ何やっても無理だろうけどなw

334 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 20:53:19 ]
javaの質問じゃないかもしれないけど。

jarファイルダブルクリックでアプリケーションを起動させてるんだけど、
VMのオプション"-Xmx512m"の記述をマニフェストファイルに入れるにはどうすればいいんだろう?

マニフェストファイル xxxx xxx でいろいろぐぐってるんだけど、見つからないんです。

335 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 23:21:20 ]
>>334
見当たらない
Java低速GUI Swing 5
pc11.2ch.net/test/read.cgi/tech/1161139809/635

>635 名前:デフォルトの名無しさん[sage] 投稿日:2007/07/05(木) 15:07:49
>オプションといってもVMのオプションね。
>システムプロパティを指定する-Dや、
>VMの種類を選択する-clientや-serverとか、
>メモリ割当プールの最大最小サイズを指定する-Xmxや-Xmsなど。
>今のところ、実行可能Jarをダブルクリックでは、
>これを個別指定することはできない。
>
>まあただ、-clientや-serverはCPUやアーキテクチャによって
>自動選択されるし(おおよそではあるけど)
>-Xmxと-Xmsも、Java6からは規定値が64MB/2MBではなくなり、
>物理メモリに応じた値に変わるようになった。
>ttp://java.sun.com/javase/ja/6/docs/ja/technotes/guides/vm/gc-ergonomics.html
>
>-Dやその他のVMオプションは無理としても、
>実行可能Jarの手軽さを全否定するほど、使えないってことは無いと思う。



336 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 23:38:19 ]
>>335
わざわざありがとうございます。

あきらめて、「javaw.exe -jar hoge.jar -Xmx512m」ってショートカットに書くことにします。

337 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 23:50:23 ]
>>336
javaw.exe -jar hoge.jar -Xmx512m
をプロセス起動して落ちるだけのクラスを書いてマニフェストの実行クラスに指定すればよい

338 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 23:54:18 ]
>>337
おもしろっw

339 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 00:00:27 ]
>>337
ゴメン間違えたw

javaw.exe -Xmx512m mainclass
をプロセス起動して落ちるだけのクラスを書いてマニフェストの実行クラスに指定すればよい

340 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 00:31:55 ]
環境依存の動作を、アプリ側でなんとかするなんて無理なんだよ。
サンがそういう実装してるから無理じゃね。
個人的にはsjis自体抹殺したいけどな。
日本語単一なら7ビットのJISでいいじゃん。メールにもそのまま使えて無変換で問題が無い。
いちいち変換するから文字化けする。



341 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 00:39:45 ]
知らないならレスしないでください。ウザいだけです。

342 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 00:42:19 ]
>>341
Win32API質問スレへの誤爆ですか?
ウザイだけなので輸入してこないでください。

343 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 09:25:15 ]
>>327
windows-31jでバイト列にして、それをバイト列でEUCに変換すればいい
じゃん。10〜20行ぐらいで書けるよ。



344 名前:デフォルトの名無しさん [2009/02/02(月) 09:32:25 ]
おはようございます。

Jpegの画像を読込んで定義してあるカラーに一番近いカラーを判別したいのですが何か
良い方法は無いでしょうか。

画像を読込んでピクセル毎の情報は取得できています。
で、そのRGB情報を使用して判別したいと思っています。

定義カラー(例)

・黒
・赤
・茶
・緑
・白

黒っぽい→黒
茶色っぽい→茶色


345 名前:デフォルトの名無しさん [2009/02/02(月) 10:28:52 ]
javaに関係あるんですか?

346 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 11:05:39 ]
javaとは直接関係ないね。。

RGB情報取得できません。ってんならjavaの領分だがw

347 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 11:24:53 ]
ジェネリックなクラスの配列を作ろうと思うんですが、ある本(Javaによる
アルゴリズムとデータ構造)のサイトにある解答には、

public class Gqueue<E> {
private E[] que;
que = (E [])new Object[max]
……
}
と書いてありましたが、これってどういう解釈をすればいいんでしょうか。
キャスト?の意味が良くわからないんですが。。。

348 名前:344 mailto:sage [2009/02/02(月) 11:44:59 ]
確かに直接Javaとは関係なかったですねすいません。
何か使えるクラスがあったらと思いました。
ColorModelとか組み合わせて試してはいるもののいい案が浮かびませんでした。
jimiとかも含めてもうちょっと見てみます


349 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 16:24:11 ]
>>347
試してみれば分かるけど、

 que = new E[max]

とは出来ないんだな。あとは以下参照。
www.ibm.com/developerworks/jp/java/library/j-jtp01255/

350 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 17:22:14 ]
>>349
そんな感じでやったらエラーが出て、答えを見てもよくわからないという状態でした。
ご指摘のページの半分も理解できませんが、勉強してみます。ありがとうございます。



351 名前:デフォルトの名無しさん [2009/02/02(月) 18:23:24 ]
ナローバンドな俺にとって100MBなEclipseは無理
だから仕方なくNetBeans使ってんだけど、
Eclipseの方が高機能・・・だよね。。

352 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 18:24:12 ]
あ、sageてなかった・・・

353 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 18:33:33 ]
>>351
寝る前にDLはじめとけよ

354 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 18:34:01 ]
>>344
肌色を検出するような課題があるから、そういうのの応用で出来るんじゃないか?

355 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 19:16:31 ]
質問です。
「台形の面積を求めるクラスを定義し、
これらのインスタンス変数を初期化し、
図形の面積を計算するコンストラクタを用意し、
台形の面積を表示しなさい」
という課題が出ました。
授業を聞いてましたが全然分かりません。
どなたか教えてください。

356 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 19:25:27 ]
>>355
★★ Java の宿題ここで答えます Part 67 ★★
pc11.2ch.net/test/read.cgi/tech/1232627790/

しかしひでえ課題だなw

357 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 19:41:06 ]
なんという潔さw

惚れてしまうではないかw

358 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 19:54:11 ]
>>356
失礼しました
どういう意味で「ひどい」なんですか?

359 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 19:57:08 ]
ここで質問すべきか微妙ですが質問させてください
今度部署にJava初心者の方が3名来られました
Javaを教えよとの命令が飛んできたのですが、何を教えればいいかわかりません
とりあえず、人数分独習Javaでも買おうかと思いましたが、予算凍結により新たな備品購入を禁じられてしまいました
そこで、Webページと自作の課題を駆使して目的を達成したいのですが、参考になるページや問題などありましたら教えていただければ幸いです
ちなみに3名ともプログラム経験は5年以上でC言語とC++をやってたそうです
私の部署ではJava6を使うことになっているので、Java5.0で入ってきたジェネリクスが必須となっております
よろしくお願いいたします

以上


360 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 20:03:25 ]
>>359
本ぐらい、当人たちに買わせれば良いだろ、ボケ



361 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 20:05:27 ]
改行コードについての質問です。
以下のようなプログラムを書きました。

StringBuffer buf = new StringBuffer();
List lines = org.apache.commons.io.FileUtils.readLines(new File(filename), "SJIS");
Iterator i = lines.iterator();
while(i.hasNext()){
String line = (String)i.next();
/* 〜lineを加工する処理〜 */
buf.append(line + "\r\n");
}
org.apache.commons.io.FileUtils.writeStringToFile(new File(newFilename), buf.toString(), "SJIS");

Windows上でコンパイルしWindows上で実行すると、
SJIS(CRLF)のファイルを読み込みSJIS(CRLF)のファイルを出力します。
Windows上でコンパイルしたものをSolaris上で実行すると、
SJIS(CRLF)のファイルを読み込みSJIS(CRCRLF)のファイルを出力します。
"\r\n"を"\n"にすると、Windows上ではSJIS(LF)のファイルを出力しました。

"\n"だとSolaris上ではSJIS(CRLF)のファイルを出力するのでしょうか(Solaris環境がないので試すことができません)
また、どのように対処することが一番自然なのでしょうか

362 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 20:07:00 ]
>>359
なんか作らせて、ソースレビューしてやればいいじゃん

会社のPCがインターネットに繋がってグーグル使い放題なのが前提だけど

363 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 20:12:03 ]
>>361
SolarisっていうかUNIX上はLFが改行コードだから、CRは普通の文字として扱われているんでしょ。
オマエが食わせてるファイル(filename)の中身がCRLFで改行しているから、
一行の内容として
hogehoge+CR+改行(LF)
と解釈して、lineの中身はhogehoge+CR
更にオマエのコードでCRLFを追加したら、
hogehoge+CR+CRLF

364 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 21:42:09 ]
>>359
>予算凍結により新たな備品購入を禁じられてしまいました

人件費はタダだと思ってるんだろうな

365 名前:361 mailto:sage [2009/02/02(月) 21:45:34 ]
>>363
ありがとうございます。
Linux上で上記ソースをコンパイル&実行したところ、
SJIS(CRLF)になりました。
Linuxも改行コードはLFだと思うのですが(文字コードはEUCです)、モノによって動作が異なるということでしょうか?
(Windowsでコンパイルしたらまた違う結果?)

そもそもWORAを実現するためにはどのようなソースを書けばよいのでしょうか?

366 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 21:51:27 ]
>>365
読み込ませるファイルはどうやったの?
SJIS(CRCRLF)なった場合のファイルをそのサーバ上で、バイナリでみて、
Linux上のファイルも同様にバイナリで開いてみて、
改行コードがどうなってるか確認しろ。

367 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 21:51:40 ]
C#ってゲーム作ってユーザーにそのファイルを配布したら
かんたんにソースコードを見られてしまうけど、
javaの場合はどうなの?
専用のツールとか使うとすぐにコードを
見られてしまうの?

368 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 21:53:07 ]
簡単に見られるっす

369 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 21:58:25 ]
>>368
まじで?
防ぐ方法とかってないの?

370 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 22:00:59 ]
難読化って手段があるらしいがやったことないからわかんね。



371 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 22:08:00 ]
たいていの場合ソースを見られることを防ぐメリットはない

372 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 22:09:20 ]
専用のツールも何もJDK付属のjavapで十分見えるじゃん

373 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 22:09:25 ]
それでエクリプスとかは最初からオープンソースなわけだな。
隠してもすぐに見られてしまうから。

374 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 22:23:05 ]
eclipseがオープンソースな理由はそうではないと思うぞw
あれはプラットフォーム依存部分も結構あるから
そういったソースを隠せばカジュアルハックは結構阻止できるだろ

375 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 22:25:06 ]
>>373
隠しても見られてしまうからってあえて公開する必要もないだろw

376 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 22:26:45 ]
eclpseがossなのはIBMが金儲けするためじゃないっけ?

377 名前:361 mailto:sage [2009/02/02(月) 22:44:59 ]
>>366
>読み込ませるファイルはどうやったの?
WindowsからFTPとSambaで持ってきました。
(もちろんFTPはBinaryで)

>改行コードがどうなってるか確認しろ。
上記、バイナリで0x0d, 0x0aを確認した結果です。


378 名前:361 mailto:sage [2009/02/02(月) 22:50:54 ]
Javaのversionのせいでしょうか?
WindowsとSolarisはSunの1.4.2だったと思います。
Linuxに入っているJavaは下記です。

java version "1.7.0"
IcedTea Runtime Environment (build 1.7.0-b21)
IcedTea Server VM (build 1.7.0-b21, mixed mode)


379 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 22:50:58 ]
>>365
改行コードを自分で¥nとか足さないで、↓を使うといいかもしれない。

BufferedWriter#newLine()

380 名前:361 mailto:sage [2009/02/02(月) 23:15:55 ]
>>379
ありがとうございます。
newLine()は「OSに適した改行コードを出力する」とありますが、
今回の場合にはSolaris上で(どのOS上でも)CRLFを出力したいのです。

あと、LinuxにSunの1.6.0_11を入れて実行してみましたが、
>>361のソースでCRLFとなりました・・・




381 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 01:21:21 ]
>>357
willcomのx4で某ギガパッチ落とした俺を見習え!

382 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 01:21:55 ]
>>351

383 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 02:13:21 ]
ネットビーンズはjavascriptのサポートもいけてるらしいぞ
あと標準でswingのポトペタ開発ができるとも聞く

384 名前:Joseph O’Neil mailto:sage [2009/02/03(火) 02:28:56 ]
Hey ! I am Joseph O'Neil. Japanese excelent programmer, Did you read my book?
The book name is [Teach yourself Java].

That one is my most like book I ever write.So you don't read this book, I recommend you reading this book.

Good night.

385 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 04:00:57 ]
>>384
>>359


386 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 17:25:08 ]
Javaからシェルを起動するには
Runtime r=Runtime.getRuntime().exec("シェル名")
でいいようですが、
オプション(-fとか-tとか)を与えて起動するにはどのようにすればよいのでしょうか?
また、このシェルのパス(c:/shell/shell.shとか/usr/local/shell/shell.shとか)を指定したい場合どうすればよいのでしょうか?

387 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 17:38:37 ]
execの中で指定する

388 名前:386 mailto:sage [2009/02/03(火) 18:09:09 ]
>>387
ググったら
www.stackasterisk.jp/tech/javaClassref/java_ref_01_04.jsp
www.smg.co.jp/JavaTroubleshooting/trouble011Phenomenon.html
といったページがでてきましたが、
String[] str=("bin/sh","-exec -f hoge -t hage","c:/shell/shell.sh")
Runtime r=Runtime.getRuntime().exec(str)
といった感じでよろしいでしょうか?

また、今回実行するのはbash(一行目に#!/bin/bashとあった)のようなのですが、
その場合/bin/shが/bin/bashになるのでしょうか?
正直な話、bashって何? 他いろいろ種類あるし何が違うの? 状態なので的外れなこと言ってたらすみません

389 名前:デフォルトの名無しさん [2009/02/03(火) 19:01:53 ]
↑すれ違い

390 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 19:02:29 ]
>また、今回実行するのはbash(一行目に#!/bin/bashとあった)のようなのですが、
>その場合/bin/shが/bin/bashになるのでしょうか?

そら使うシェルが違うんだし/bin/bashになる
でもWindowsでsh/bashスクリプト使用できるの??そこが疑問。

>正直な話、bashって何? 他いろいろ種類あるし何が違うの?

bashはshの拡張シェルでLinuxの標準シェル
shはボーンシェルと言われるもの、汎用的なスクリプトはこいつで書く
csh/tcshはC系シェルでこいつではスクリプトは書かない、理由は「csh-whynot」でググれ




391 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 19:12:17 ]
>c:/shell/shell.sh

書き方がWindowsっぽいけどシェル動かすって。。。
激しくスレ違いだな

392 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 20:58:13 ]
ある本にSystem.out.print()メソッドを使うと、System.out.flash()をしないと表示されない、と
書いてあったのですが、

System.out.print("テスト");

とだけ書いても普通に表示されました。どういうことなんでしょう?

393 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 21:02:05 ]
>>392
??
どの本?
出力ならSystem.out.print()メソッドだけど?

394 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 21:08:17 ]
>>392
「flushしないと表示されない」でなくて
「flushしない場合は必ずしも表示されるとは限らない」の間違いじゃね?

System#out 見ても必ず自動的にフラッシュされる、とは書いてないし。

395 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 21:48:30 ]
ttp://code.google.com/p/cmecab-java/wiki/HowToInstall
このページを参考にjavaでmecabを使用しようとしているのですがエラーが出てしまい動きません
ライブラリパス等も一応確認したと思うのですが、初心者なもので
javaのライブラリパスやMeCabのライブラリがどこを挿しているのか等は今ひとつ理解できていないかもしれません

エラー内容は
Exception in thread "main" java.lang.NoclassDefFoundError: net/moraleboost/mecab/Tagger
となっています。



396 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 21:50:52 ]
flashだし違う言語なんじゃない?

397 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 22:08:30 ]
>>393
ちょっと古いんだけど、「Javaで学ぶアルゴリズムとデータ構造」という本。
JavaのVersionが古いときの話とかでしょうか。Eclipse3.4でやってますが。

>>396
失礼氏やした

398 名前:デフォルトの名無しさん [2009/02/03(火) 22:15:15 ]
>>392
細かいけど、一応あってる

399 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 22:33:44 ]
質問です。
JFrameで作ったフレーム(親フレーム)から新たにJFrameで作ったフレーム
(子フレーム)を呼び出しました。
その子フレームに「×」ではなくJButtonでフレームを終了させるボタンを
作りたいんですが、どうしたらいいでしょうか?
試しにアクションリスナにSystem.exit(0);を入れてみたら親フレームごと
消えてしまいました・・・。
JFrameのsetVisible(false);を入れて試してみましたが、非表示になってくれませんでした。


400 名前:388 mailto:sage [2009/02/03(火) 23:23:27 ]
>>390
疑問に答えていただきありがとうございました
なお、実機環境はLinuxなので問題ないはずです
>>391さんにも勘違いさせてしまったようなので次に質問があるときは
もう少しわかりやすく書くことを心がけたいと思います



401 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 00:05:40 ]
ボタンを押すとボタン付きのフレームを生成するような機能を
classを分けて実装したいのですが上手く行きません
調べてもさっぱりなのですがどのようにすれば上手く行くのでしょうか

402 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 00:15:26 ]
オブザーバーパターンとか?

403 名前:デフォルトの名無しさん [2009/02/04(水) 00:53:33 ]
非常に初歩的な質問なのが聞いてください。
eclipseをインストールして、日本語化パックをいれても
うまく日本語表示になりません。中国語になります。

またall in one eclipseをインストールして、表示を日本語に設定しても
(インストール時に表示されるダイアログにより)日本語になりません。
eclipse起動時に中国語になります。
これはどういったことが考えられるんでしょうか?

404 名前:デフォルトの名無しさん [2009/02/04(水) 01:08:02 ]
非常に初歩的な質問なのですが聞いてください。
Iteratorインターフェースでコレクションクラスの要素をすべて削除するメソッドを作ったんですが
Iterator it = XXX.iterator();
while(it.hasNext()==true){
it.next();
it.remove();
}

これだとすべての要素が削除されるのか
hasNextでtrueだった要素の次から削除されるのかどっちでしょうか?


405 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 01:14:00 ]
>>404
すべて

それより==trueは、馬鹿に見えるからやめたほうがいい。

406 名前:デフォルトの名無しさん [2009/02/04(水) 01:18:54 ]
>>405
なんですべてなの?
なんで馬鹿なの?

407 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 01:22:44 ]
next は次の要素を返すので

Iterator it = XXX.Iteragor();
while (it.hasNext()) {
 Iterator next = it.next();
 it.remove();
 it = next;
}

になるんでない?

408 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 01:26:47 ]
>>403
日本語化パックが正しいかどうかだ

409 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 01:26:54 ]
ていうかイテレータでぶん回してる最中のremoveって正常動作保証されてるんだっけ?

410 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 01:26:57 ]
>>406
> なんで馬鹿なの?
オマエだって、
while((it.hasNext()==true)==true){
って書いてあったら頭おかしいって思うだろ?



411 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 01:28:17 ]
>>407
next()はイテレータを進めてその要素のObjectを返す。


412 名前:デフォルトの名無しさん [2009/02/04(水) 01:28:36 ]
>>410
そこはいいよ
ところでなんですべてなの?

413 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 01:29:05 ]
>>409
されてる。保証できない場合は例外を投げることになってるよ。

414 名前:デフォルトの名無しさん [2009/02/04(水) 01:29:30 ]
>>411
わかった乙
トン

415 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 01:30:06 ]
>>399
子フレームって別ウィンドウじゃないん?

親フレームにaddで足してるなら、親フレームからremove(comp)で消せないかね?

compは子フレームね

416 名前:デフォルトの名無しさん [2009/02/04(水) 01:32:16 ]
おい。でぶさみを名古屋でも開催しろ。馬鹿。

417 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 01:33:37 ]
>>412
hasNext()がfalseなら、もう次は無いってことだろ。

418 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 01:39:59 ]
XYZ・・・もうあとがない

419 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 01:43:03 ]
>>411
なるほど。
で、最初の next の呼び出しで得られる要素は
最初の要素になるのかな?

420 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 01:47:09 ]
そそ、C++のSTLとは反対だ



421 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 02:08:58 ]
>>399
なんでソースを隠したがるのか分からないが、
つたない言葉で説明されてもなんだか分からないよ。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8812.zip

422 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 02:54:45 ]
オブジェクト指向というものを講義で習いました。
その中で「再利用性」というものが挙げられていましたが、
オブジェクト指向言語であるJavaでは、
実際どういったクラスオブジェクト(言葉が正しくないかもしれません)が、
どのようにして再利用されているのでしょうか?

再利用できそうなクラスが、一般的に公開され、
利用されたりもするのでしょうか?

それとも、再利用とは言っても、
閉じた組織の中で、似た機能を持たせるときに再利用するだけなのでしょうか?

かなりわかりにくい質問ですが、回答よろしくお願いします。



423 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 03:03:01 ]
>>422
ライブラリとか、フレームワークと呼ばれるものは大体そう。
再利用はオブジェクト指向に限ったことではないが、
きちんと分けて、きれいに並べてあれば、再利用はしやすい。
オブジェクト指向の仕組みは、そういうことを助けてくれる。

424 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 03:10:34 ]
>>422
あなたが使ってるJavaの標準ライブラリが、再利用できるプログラムの代表例
もっと言うと、大抵のプログラムに必要な普遍的な部品を、オブジェクト指向的な発想のもとに集めた物になる
まあ世界中で使われてるだろうね

再利用というのはオブジェクト指向に限った発想ではないけど
特にオブジェクト指向だと、プログラム中から再利用できる部分を切り出しやすい(こともある)、
という程度の意味

425 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 03:50:32 ]
設計が糞だと、再利用するより、自分でヲレクラス書いたほうが速かったりするけどね。
車輪の再発明状態で敗北感味わうけどしょうがない。

426 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 04:16:01 ]
エロゲエンジンなんて再開発だらけだぜ

427 名前:デフォルトの名無しさん [2009/02/04(水) 04:36:51 ]
再利用性とかなんの言語でもありそうだけど

428 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 04:57:20 ]
>>425
自分クラスを作成し使用していたら、言語のバージョンアップとともに悲鳴を上げるんですね、わかります。

429 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 05:29:57 ]
>>428
経験あるけど、修正が大変だよねぇ

430 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 06:10:13 ]
自分クラスを作成し他人にうっかり使用を許したら、その後メンテや
機能拡張で長い間その世話をさせられた。



431 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 11:47:14 ]
>>422
すでにレスが入っているが、
もしその再利用性の説明の重点がクラスの継承に関する物であるならば要注意

現在のオブジェクト指向においては、継承による再利用というのはあまり一般的でない
というか再利用のための安易な継承はトラブルを招きやすいのでむしろ避けた方がいい

で、それ以外の観点の再利用性というのは、とくにオブジェクト指向に限った話ではないので
再利用性というのはあまり意識しなくても良いと思う
まあ、テストに出たら書かざるを得ないがw

432 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 16:46:10 ]
バラバラに作って貼り合わせる の繰り返し

433 名前:デフォルトの名無しさん [2009/02/04(水) 20:28:01 ]
public class sample300
{
public static void main(String[] args)
{
int i [] ={6,5,4,3,2};
System.out.println("最大値" + sample300(i));
System.out.println("最小値" + sample300(i));
System.out.println("平均値" + sample300(i));
}
static int sample300(int[] array)
{
int max = array [0];
int min = array [0];
int sum = array [0];
for (int i = 1; i < array.length; i++)
{
max = Math.max( max, array [i]);
min = Math.min( min, array [i]);
sum = sum/(array [i]);
}
return max;
return min;
return sum
}
}
最大値、最小値、平均値を出すプログラムをなんですがSystem,out.printlnのところが違うのはわかるのですが
間違っているところがありましたら教えていただきたいです。初歩的な質問ですいません


434 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 20:30:27 ]
>>433
違うのがわかってるならそこ直してから貼り付けろよ

435 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 20:51:51 ]

System.out.println("最大値" + sample300(i));
System.out.println("最小値" + sample300(i));
System.out.println("平均値" + sample300(i));
のsample300(i)は何をどうやって最大値と最小値と平均値を見分けて適切に出力してくれてるんだろうね?
ってあたりから疑問に思ってもらいたいね。 せめてさ。

独自仕様のJavaというならもう知らん。


436 名前:433 [2009/02/04(水) 20:55:36 ]
>>434
すいません、そのまま貼ってしまいました。
すでにいろいろ試してはみたのですが・・

437 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 20:55:53 ]
C# とかなら yield 使えばその書き方でも最大値・最小値・平均値出力できるけどな。
まあスレ違いだし当該言語でもそんな書き方はしないが。

438 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:07:12 ]
>>433
とりあえず横着しないで、sample300メソッドをmax300・min300・avg300の
三つのメソッドに分けるところからやってみれば?

メソッドは基本的に基本型の値orオブジェクトを1個しか返せない。
無理に最大値・最小値・平均値の三つの値を同時に返そうとして
いるからはまるわけで。

439 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:23:59 ]
ファイルの書き込みに関して質問があります.
巨大なのデータ(2ギガ以下)をファイルに出力するプログラムを作ってます.
一度に全ての作業を行うにはかなりの時間がかかるので,一旦作業を中断して再起動後に書き込みを再開できる機能を追加しようと思ってます.
その際に,ファイルの末端に今回はどこまで作業を行ったのかを書き込み,
次回,作業を再開する場合には末端の情報を読み込んで前回の作業を再開させようと考えてます.
なお末端の作業の情報は32バイトの固定長です.

そこで質問がありますが,現在BufferedOutputStreamでファイルの書き出しを行っています.
BufferedOutputStreamの書き込みのポインタを,ファイルの末尾から32バイト戻って追加書き込みする必要がありますが
BufferedOutputStreamのポインタ指定はどうやってやるのでしょうか?

440 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:39:14 ]
> ファイルの末尾から32バイト戻って追加書き込みする必要がありますが
これファイルの末尾32バイトが消えちゃうけどかまわないんか?

> BufferedOutputStreamのポインタ指定はどうやってやるのでしょうか?
BufferedOutputStreamじゃ無理。
RandomAccessFile みたいに書き込み位置操作できるクラス使え。



441 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:47:49 ]
>>439
protectedメソッドのbufとcount操作すれば運がよければ32バイト巻き戻せるかもしれないけど
必ず32バイト巻き戻せるとは限らない。

確実にやりたいなら>>440が言うようにRandomAccessFile使うほうが無難。

442 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:48:29 ]
×protectedメソッド
○protectedメンバ

443 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:25:05 ]
>440
>441
RandomAccessFileは調べてみたらストリームじゃないのでバッファリングされないようで,
一文字ずつ処理されるようなんですけどそれでギガ単位のファイルを扱うにはちょっと難があります.
何か良い方法はないでしょうか?
>441さんの方法はちょっと怖いので最後の手段にしたいです.

444 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:35:11 ]
>>443
件の32バイトは別ファイルに保存でどうだ

445 名前:439 mailto:sage [2009/02/05(木) 00:59:11 ]
>444
32バイトだけRandomAccessFileで上書きしてそこから先はBufferedOutputStreamで追記することにします.
たしかファイルへの追記はStream関連のクラスで昔やった記憶があるので
多分うまくいくでしょう.

どうもありがとうございました.

446 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 01:06:52 ]
>>443
RandomAccessFileのバイト配列の読み書きじゃダメなのか?

447 名前:デフォルトの名無しさん [2009/02/05(木) 01:38:49 ]
java.io.BufferedReaderって何?

448 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 01:40:16 ]
>>444
自分もこれを強くリコメンド。
たかだか32バイトのために巨大ファイルの取り回しを無駄に
複雑にする事もないかなと。

449 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 02:13:58 ]
質問です。
フレームにパネルを貼り付ける際に、どのフレームに貼り付けるか
という指定はできないのでしょうか?
ボタンの押したときにアクションリスナーの中で2つ目のフレームを作るようなプログラムを作ったのですが、
元々あったフレーム内のパネルが、ボタンを押して作った2つ目のフレームに残ってしまいます

450 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 02:38:54 ]
>ボタンを押して作った2つ目のフレームに残ってしまいます
これはコードの書き方が悪い気がする。
コンポーネントを張り付けてないフレームを表示したら(setVisible(ture))中身が何もないフレームが出てきたはずだが。



451 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 03:18:22 ]
>>450
ありがとうございました、解決しました。
一つ目のフレームはJFrameをextendしたクラス名を使って

クラス名 frame = new クラス名();
として呼び出していましたが、コンストラクタでパネルを配置していたので、
二つ目のフレームも同様に生成した所、そのコンストラクタがまた呼び出されていたのかもしれません

JFrame frame =new JFrame();
で新しいフレームを試した所、中身のないフレームが表示できました。

452 名前:デフォルトの名無しさん [2009/02/05(木) 06:31:22 ]
>>435、437、438
ご指摘ありがとうございます、また試してきます。

453 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 12:00:09 ]
ちょっと質問

public <T> boolean isHoge(T t)
と定義したメソッド内でTのClassを調べたいんだが、どうしたらいいんだろう?
T instanceof Hoge
とかできたらいいのに・・・

454 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 12:33:08 ]
>>453
t.getClass()

455 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 15:40:50 ]
>>453
コードで直接指定されたTの型を知るのは原理的に不可能

456 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 15:44:55 ]
ジェネリクス使うのに T の型情報が必要な理由がわからん

457 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 15:47:04 ]
できたらできたで結構使い道はあるんだよなこれが

458 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 16:09:21 ]
jdk1.3の環境でJakartaのpoi3.0を利用してExcelファイルの操作をしています。

対象ファイルがユーザによって開かれている場合は、その旨のメッセージを出力して終了したいのですが、
対象ファイルがネットワーク上の共有フォルダにあると、ユーザが開いていてもお構いなしにファイルに書き込みをしてしまいます。

ユーザがファイルを開いているかどうかのチェックはできないでしょうか?

459 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 16:14:58 ]
>>457
そんなことはまったくない。Genericsについて勉強した方がいいな。

460 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 16:26:06 ]
リフレクションが絡んでくるとTからClass<T>が取れれば便利
Class<T>なんかいちいち引数に渡さないといけない時点で明らかに無理がある



461 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 16:41:51 ]
Class<String> c = String.class;

これじゃだめなん?

462 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 16:50:18 ]
>>453
PropertyDescriptor pd = new PropertyDescriptor("hoge", o.getClass());
Method rm = pd.getReadMethod();
Type[] tlist = rm.getGenericParameterTypes();

Typeとやらを取ってこれるようだが

463 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 16:52:39 ]
isHogeが呼び出された時に,実際にTに指定された型は何なのか動的に知りたいんだろ
断言する。絶対無理。

464 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 16:53:49 ]
PropertyDescriptor pd = new PropertyDescriptor("hoge", o.getClass());
Method rm = pd.getReadMethod();
Type[] tlist = rm.getGenericParameterTypes();
Type t = tlist[0];
if (t.getClass() instanceof fuga) {
}

これで一応望みどおりの処理だろうか?
動かしてないから動くかどうかわからん

465 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 17:20:22 ]
>>463
それ考えたことあるんだけど実際使う場面はなかった。例えばどういうときだと知りたいの?

466 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 17:34:08 ]
>>464
プロパティのパターンに則ってないから、
new PropertyDescriptor がアクセサメソッド見つけられんと思う。

あと、reflection使っても同じだけど、
<T> isHoge(T t) みたいな場合は
T が具体的に何の型かでなくて
T という総称型を使ってるよって情報が得られるだけのような。

467 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 17:46:23 ]
import java.lang.reflect.Method;
import java.lang.reflect.Type;
public class GeneSample {
public static void main(String[] args) {
GeneSample g = new GeneSample();
System.out.println(g.isMage(g));
System.out.println(g.isMage(new GeneSample2()));
}
public <T> boolean isMage(GeneSample t) {
try {
Method rm = this.getClass().getMethod("isMage", t.getClass());
Type[] tlist = rm.getGenericParameterTypes();
Type type = tlist[0];
System.out.println("Type = " + type);
System.out.println("type.getClass() = " + type.getClass());
System.out.println("t.getClass() = " + t.getClass());
if (type.equals(t.getClass())) {
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
}
class GeneSample2 extends GeneSample {

}


468 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 17:48:17 ]
>>467の実行結果

Type = class GeneSample
type.getClass() = class java.lang.Class
t.getClass() = class GeneSample
true
java.lang.NoSuchMethodException: GeneSample.isMage(GeneSample2)
at java.lang.Class.getMethod(Class.java:1605)
at GeneSample.isMage(GeneSample.java:14)
at GeneSample.main(GeneSample.java:8)
false


作ってみたけど、サブクラスをパラメーターに渡すともう自分のメソッドとれないね。

あと<T>ってなに?意味わかんない

469 名前:デフォルトの名無しさん [2009/02/05(木) 18:28:41 ]
class GeneSample を知りたいんじゃなくて<T>の型の正体を実行時に動的に知りたいんじゃないの?

470 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 19:10:43 ]
import java.io.*;
と書くのと

import java.io.BufferedReader;
import java.io.File;
    ・
    ・

では、どっちが速くなるの
もしかして、コンパイルするスピード以外は変化がないのかい?



471 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 19:17:41 ]
>もしかして、コンパイルするスピード以外は変化がないのかい?

yes

つか、できたclassファイルを見てみればすぐに分かる事

472 名前:デフォルトの名無しさん [2009/02/05(木) 19:23:54 ]
何Hogeって

473 名前:デフォルトの名無しさん [2009/02/05(木) 19:29:05 ]
お前らって結構マニアックな標準クラスを知ってるけど
そういうのいちいち調べてるの?それとも頭の中に入ってるの?

474 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 19:45:56 ]
一度使えば覚えてるもんだろ。
それにそんなに特別なクラスがこのスレで出てきたことあったっけ?

475 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 19:46:42 ]
>>469
それが>>467で作ってみたけど無理だったって事じゃね?

メソッド検索時にパラメーターの型を渡さないといけない。
Class#getMethodsで一覧は取れるけど、同じ名前のメソッドはいくつでも作れるし。

this.getClassみたいにthis.getMethodができたらいいのにね

476 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 19:56:53 ]
>>471
thx

477 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 20:06:18 ]
>>475
たしかに <T> boolean isHoge(T t) の T が何かを調べるのは凄く面倒だけど、
>>467 の場合はリフレクションの使い方の部分で間違ってて
宣言してない isMage(GeneSample2) を検索して失敗してるわけで、
>>467 だけから >>453 が面倒だ、とは言えない罠

478 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 20:14:00 ]
そもそも存在しない情報をどうやって取ってくるんだ

479 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 20:17:26 ]
classファイルに存在しないってだけでソースみりゃわかるでしょ

480 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 20:17:40 ]
>>477
>たしかに <T> boolean isHoge(T t) の T が何かを調べるのは凄く面倒だけど、

>>467 だけから >>453 が面倒だ、とは言えない罠


壮絶に矛盾してないか?

自分のメソッド名も指定しないとメソッドとってこれないし。
自分のメソッドをthis.getClassみたいに取得する方法がないと無理だべ



481 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 20:18:42 ]
どこが矛盾なのかわからん。

482 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 20:20:36 ]
む、たしかに矛盾してないな

1行目は面倒だと宣言
4行目の面倒だと言えないで矛盾してると思った俺の頭の中がもうだめだ

483 名前:デフォルトの名無しさん [2009/02/05(木) 20:24:05 ]
初心者です。宜しくお願いします
今迄使っていたチャットが表示できなくなったのでjavaを再インストールしました。
ところが、そのチャットのページを開くと
「java アプレットキャッシュをアップグレードしています。
 格納されている java アプレットが java SE 6 用に更新されるまでお待ちください。」
という表示が出て、DL進行度のバーみたいなのが途中まで伸びたかと思うとすぐ表示が消えてしまいます
ページを更新するたびにこの表示が出て、なおかつチャットも表示できません。
こういった場合の解決法を教えてください

484 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 20:49:01 ]
ゲッターとセッターの質問なのですが

class GetterAndSetter
{
private Map mapA = HashMap();

public map getMapA()
{
return mapA;
}
public void setMapA( map mapA )
{
this.mapA = mapA;
}
}
を作ったとして
classAで
GetterAndSetter oj1 = new GetterAndSetter();
クラスAでmapBを作って以下のようにセッターでセットしたものを
oj1.setMapA(mapB);

別のclassBからゲッターを使ってclassAでセットしたmapBを取得して使いたいんですが
どのように記述すれば良いのでしょうか?
ご指導のほど宜しくお願い致します

485 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 20:55:53 ]
>>484
oj1 を classB のインスタンスに渡す。

486 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 21:18:59 ]
>>485
早速の回答ありがとうございます
質問の仕方が下手くそでしたすみません。
クラスBで下記のように書いた場合
GetterAndSetter object = new GetterAndSetter();
Map mapC = object.getMapA();

oj1の渡し方の記述がわかりません

宜しくお願い致します

487 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 21:29:29 ]
>>486
複数のインスタンスで共通の値を使いたいなら static でクラスに紐付けする。
一つのクラスに対して一つのインスタンスに限定したいなら、「シングルトン (Singleton)」で。

488 名前:デフォルトの名無しさん [2009/02/05(木) 21:44:07 ]
何をやりたいかちゃんと書いたらどうだ?
意味が分からないんだがメソッド名が欲しいから<T>を知りたいのか?

489 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 21:45:32 ]
>>486
class B {
private GetterAndSetter obj;
public void setGetterAndSetter(GetterAndSetter obj) {
this.obj = obj;
}
public void doSomething() {
Map map = obj.getMapA();
// Your code here...
}
}

490 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 21:55:06 ]
>>487,489
シングルトンに挑戦してみたいと思います
ご回答ありがとうございました!




491 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 21:57:19 ]
>>488
>TのClassを調べたい
が目的なんだろ

492 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 21:58:47 ]
シングルトン≒グローバル変数
いまは意味解らなくていいからシングルトン使うときには常にこれを念頭に置いておくんだぞ

493 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 22:08:14 ]
javaだと単にstatic fainal classにしてコンストラクタをprivateにして(中略)してゲッター持たせるだけじゃないか?

494 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 22:09:19 ]
>>492だけみたら蹴り飛ばしたくなるレスだ

495 名前:デフォルトの名無しさん [2009/02/05(木) 22:47:30 ]
どうせオッサンの寝言だろw

496 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 22:52:03 ]
>>491
なんに使うのか、皆目わからん

497 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 23:02:55 ]
つ 手段が目的

498 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 23:07:29 ]
>>492を無理やり意訳すると
javaにはグローバル変数がない→static classで代用、あとは普通にシングルトン実装。
つまり>>493になる。だがまて、>>493から>>492へは不可逆だぞ。

499 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 23:39:01 ]
>>467
こうとか?
import java.lang.reflect.Method;
import java.lang.reflect.Type;
public class GeneSample {
public static void main(String[] args) {
GeneSample g = new GeneSample();
System.out.println(g.isMage(g));
System.out.println("---");
System.out.println(g.isMage(new GeneSample2()));
}
public <T> boolean isMage(GeneSample t) {//この<T>は、どこにも使われていない?
try {
System.out.println(t.getClass());
Method rm = t.getClass().getMethod("isMage", this.getClass());
Type[] tlist = rm.getGenericParameterTypes();
Type type = tlist[0];
System.out.println("Type = " + type);
System.out.println("type.getClass() = " + type.getClass());
System.out.println("t.getClass() = " + t.getClass());
if (type.equals(t.getClass())) {
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
}
class GeneSample2 extends GeneSample{
}

500 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 23:40:14 ]
>>467
あるいはこうとか?
import java.lang.reflect.Method;
import java.lang.reflect.Type;
public class GeneSample {
public static void main(String[] args) {
GeneSample g = new GeneSample();
System.out.println(g.isMage(g));
System.out.println("---");
System.out.println(g.isMage(new GeneSample2()));
}
public <T extends GeneSample> boolean isMage(T t) {//この<T>は、どこにも使われていない?
try {
System.out.println(t.getClass());
Method rm = t.getClass().getMethod("isMage", this.getClass());
Type[] tlist = rm.getGenericParameterTypes();
Type type = tlist[0];
System.out.println("Type = " + type);
System.out.println("type.getClass() = " + type.getClass());
System.out.println("t.getClass() = " + t.getClass());
if (type.equals(t.getClass())) {
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
}
class GeneSample2 extends GeneSample{
}



501 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 00:03:59 ]
>>499>>500
やっぱ意味ないよなぁ

ただメソッドの一覧を出したいだけなら>>475でいいし
自分のメソッド情報となると無理やりな実装しかないし

こうやってコネコネ遊んでる分には楽しいけど

502 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 00:08:46 ]
オナニーは気持ちいいけど鳩時計しか産み出さないしな

503 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 00:09:09 ]
>>496
class HogeComparatorA implements Comparator<MyClassA>{
public int compare(MyClassA o1, MyClassA o2){return o1.tehe(o2);};
}
class HogeComparatorB implements Comparator<MyClassB>{
public int compare(MyClassB o1, MyClassB o2){return o1.hehe(o2);};
}

って書く代わりに

class HogeComparatorT<T> implements Comparator<T>{
public int compare(T o1, T o2){
String method="";
if(o1.getClass().equals("MyClassA")){method="tehe";}
if(o1.getClass().equals("MyClassB")){method="hehe";}
try{
return (Integer)(o1.getClass().getMethod(method,o2.getClass()).invoke(o1,o2));
} catch (Exception e) {e.printStackTrace();return 0;}
};
}

って書いて、

Arrays.sort(a, new HogeComparatorT<MyClassA>());
Arrays.sort(b, new HogeComparatorT<MyClassB>());

って呼び出したいのかな?

504 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 00:12:17 ]
ちょっと今環境無くて試せないんだけど、Javaって今は日本語で変数定義できちゃったりするんだっけ? 具体的には

String ほげ = "ほげ";

みたいなことできたっけ?

505 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 00:13:34 ]
>>504
出来る。

506 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 00:15:37 ]
>>499
まだやってたのか。何時間かかってんだ

507 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 00:22:50 ]
>>504
Java言語仕様の字句構造の識別子の項を参照

508 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 00:27:28 ]
変数名とかメソッド名に困ったときは、とりあえず日本語やらカタカナで振っといて、後で直す

509 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 00:40:09 ]
>>506
>>454>>456でFAだったのに、
>>457あたりが混ぜっ返したからいけないんだろ?

>>499>>500は、
>>477の言う「リフレクションの使い方の部分で間違ってて」の確認かな。

510 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 00:41:29 ]
>>509
ああ、オレは>>467でも>>477でもないよ




511 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 02:10:51 ]
今のgenericsの仕様ではあんまり意味無いかもしれないけど
ランタイムサポートされてればgenericsでできることの幅も広がって
Tの型を動的に取得したりするようなことはかなり重要になるよ
C#とか使ってみたらわかるけどさ

512 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 02:16:57 ]
Tの型を気にしないといけないってのは、そもそも設計が上手くないのでは

Tの型が取れると便利な例って、例えばどんなの?

513 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 02:20:27 ]
>>511
ねーよ
型とか言うな。

514 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 02:23:25 ]
自分のメソッドのTの型を取るのか?

自分のメソッドに限定しないなら、Class#getMethodsで全部とってくれば、
好きなだけTの型を調べられる。

今のジェネリクスだと、自分のメソッドに限定した時点で、
自分のメソッド名をリテラルで持ってないと使えないし。

C#にはthis.getMethodに相当する物があるんだろうか

515 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 02:44:47 ]
C#ならType type = typeof(T);で終わりだからな
たとえばTの配列作るのはjavaではClass<T>受けないとできないでしょ

516 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 02:59:41 ]
>>515
こゆこと?

import java.lang.reflect.Array;

public class GeneSample {
public static void main(String[] args) {
GeneSample g = new GeneSample();
System.out.println(g.isMage(g).getClass());
System.out.println("---");
System.out.println(g.isMage(new GeneSample2()).getClass());
System.out.println("---");
System.out.println(g.isMage("").getClass());
}

public <T> T[] isMage(T t) {// この<T>は、どこにも使われていない?
return (T[]) Array.newInstance(t.getClass(), 100);
}
}
class GeneSample2 extends GeneSample {
}

■実行結果

class [LGeneSample;
---
class [LGeneSample2;
---
class [Ljava.lang.String;

517 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 03:09:50 ]
>>516
だからそれを余計な引数なしでT.getClass()と書けたら便利だという話だろ

518 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 03:12:31 ]
それに>>516だとTの配列が返される保証はないよね
tにTの派生クラスのインスタンスが渡されるかもしれない

519 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 03:16:03 ]
>>517
余計な引数って↓のt.getClass()のこと?

return (T[]) Array.newInstance(t.getClass(), 100);


T.getClass()は無理だが、自分で↑のメソッド作ったなら引数の型は分かる気が


>>518
Tの配列で返してほしいなら、ジェネリクスの出番も必要なくね?

520 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 03:37:12 ]
<T extend Hoge>のときHogeのサブクラスにキャストしたインスタンス返すメソッドを書きたいときはあるな。



521 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 04:07:39 ]
すいません質問よろしいでしょうか?

javaアプレットでオセロプログラムを作ったのですが、リプレイ機能を追加したく
駒の配置を随時外部データに保存するのは可能でしょうか?
ローカルに保存するのは禁止されているらしいので、サーバーなどに保存など
できるのでしょうか?

522 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 07:28:18 ]
>>519
List<T> の toArray()、toArray(T[]) の二つの比較で T[] が余計な引数に該当するんでは?
T[] がない方は Object[] しか貰えないし。

523 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 07:29:04 ]
>>521
できるできないで言えばできる

524 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 07:33:29 ]
>>509
>>499-500って new GeneSample2().isMage(new GeneSample()) すると例外くらうんだけど、
これで確認になってんのか?

525 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 07:38:34 ]
無いものねだりは他のところでやって頂戴。
っていうか巣に帰れ。

メソッドのデフォルト引数を指定するだけで別のメソッド宣言をする必要があったり
クラスメソッドとインスタンスメソッドで同じシグネチャの宣言が出来なかったり

仕 様 で す か ら

526 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 07:42:29 ]
誤爆?

527 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 09:03:19 ]
なんだまだやってんのか。
アノテーションを勉強してるならそれを駆使すれば出来ないこともないが・・・

528 名前:デフォルトの名無しさん [2009/02/06(金) 18:00:36 ]
初心中の初心の間違いなのでしょうが
//MyJava

class MyJava{
public satic void main(String args[]) {
System.out.println("My Java Program");
}
}

これの間違いを教えてくださいorz
警告見てもちんぷんかんですorz

529 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 18:01:29 ]
sage忘れ・・・吊ってくる。

530 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 18:04:14 ]
他にもあるかもしれんが、とりあえず
> public satic void main(String args[]) {
×satic
○static



531 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 18:05:07 ]
>>528
なんて警告?(エラーじゃなくて?)でてるの?

532 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 18:07:14 ]
>>530
即レス感謝です。
記述ミスとか最低レベルな自分。やはり吊ってきます

533 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 18:20:42 ]
どうでもいい指摘

String args[]

String[] args

534 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 18:25:54 ]
そこはどちらでもいいじゃない?
推奨はあったっけ。

535 名前:デフォルトの名無しさん [2009/02/06(金) 21:38:32 ]
試しに電卓を作ってみたいんだけど
どうすればいい?
できれば参考サイトとかよろ

536 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 21:50:23 ]
>>535
casio.jp/

537 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 22:01:03 ]
普通の電卓でいいなら、
ボタンとエディットボックスさえ扱えれば
普通に作れると思われ。
JavaのGUIを扱ってる基本サイトなら
どこでも大抵扱ってると思われ。

538 名前:デフォルトの名無しさん [2009/02/06(金) 22:43:04 ]
>>536
>>537
サンクス
ボタンとエディットボックスだな!!
ググってみます

539 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 22:45:23 ]
電卓だけど、思ってるよりもかなり難しいよ。だから慎重にやったほうがいいよ。

540 名前:デフォルトの名無しさん [2009/02/06(金) 22:52:52 ]
>>539
マジっすか・・・・
電卓くらいならと思ったんだが
甘いようだなw



541 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 22:53:12 ]
完璧に機能を再現しようと思えばまあそうだろうけど、
2回押しとか%とか捨てて単純に計算するだけなら大丈夫じゃね?

542 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 22:58:41 ]
本物の電卓って、表示内容はキーインしたのと同じ効果あるよね。
3、×、=、で9になったり。

543 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 22:58:53 ]
最初は思いつくまま気の向くままやってみりゃよかろう

544 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 23:41:36 ]
1, 2, ., 3, 4 って押して 12.34 が変数に入ればあとは簡単かな?

545 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 23:57:37 ]
最初は整数だけでいいんじゃね?

546 名前:デフォルトの名無しさん [2009/02/07(土) 00:37:11 ]
どっちにしてもJAVAはあまり関係ないしC言語でやったほうがいい感じがする

547 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 00:39:00 ]
GUI が楽に作れるのが Java のいいところじゃん

548 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 00:42:12 ]
swingスレ行きか

549 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 00:50:58 ]
ちょっとお知恵を借りたいです。

eclipseから実行するときに「-Xmx512m」オプションつけて実行してたアプリを、
jarファイルにして、以下のコマンドで動かした。

javaw.exe -jar hoge.jar -Xmx512m

アウトオブメモリーが発生して動かない。

eclipseの「-Xmx512m」をはずしてみたら、jarファイルを実行したのと同じタイミングで落ちる。
PC再起動してみたけど状況変わらず。

アプリのverupしたのが原因かと、古いバージョンのアプリをjarで動かしたけど落ちる。

windowsの設定がどこかまずいのか、jreになにか異変がおきたのか。
何か予想とかヒントとかあったら教えてください。

550 名前:549 mailto:sage [2009/02/07(土) 00:53:23 ]
追記

二日前はちゃんと動いてたんです。
※eclipseからもjarファイルからも

今日はeclipseからは動くけど、jarファイルからは動かないんです。
開発中はeclipseから動かしてるんで、作業はできるんですが、
このままではeclipseなしで動かなくて切ないです。



551 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 00:53:55 ]
>>549
順番じゃね?
javaw.exe -Xmx512m -jar hoge.jar


552 名前:549 mailto:sage [2009/02/07(土) 00:56:02 ]
>>551
動きました!

心の底から感謝です!

553 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 01:04:20 ]
>>552
どうせ聞いてばっかりの教えて君だろ。たまには答えてスレに貢献しろ

554 名前:549 mailto:sage [2009/02/07(土) 01:13:20 ]
>>553
答えてますよよよ。
答えるときは、敬語なしです。

555 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 01:18:37 ]
>>540
頑張れ。

通常の四則演算の電卓で難しいのは入力系の扱いね。
小数点の入力制御と、
(3÷3、×3を1にするような)桁落ちに対する精度の保障が難しいのよ。

特に精度保障に関しては、ロジック部(電卓内部の計算機の部分)と
UI部(テンキーと液晶)を分離して設計しないと綺麗にいかない。


初心者の場合、整数演算(四則演算+剰余算)の電卓を作ると楽だよ。
(前述の2項目がいらなくなるから)


その場合でも、表示部、入力部、計算ロジック部を分離して
クラス設計すると勉強になるよ。

いきなり作り出すのではなく、
ラフイメージ&我流でもいいから、
Jude竹とか使ってクラス図とか書いてから作り始めると、色々と見えてくると思う。

556 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 02:05:00 ]
>>549
336からずっと間違ってたんだな
339をみて直したかと思ってたのに

557 名前:デフォルトの名無しさん [2009/02/07(土) 08:47:47 ]
>>555
ありがとうございます
頑張ってみます

558 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 08:55:51 ]
ジェネリック(´・ω・`)

559 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 09:57:49 ]
>>558
病院で勇気を出して伝えて来い

560 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 15:33:49 ]
電卓か逆ポーランド記法でも実装するか?



561 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 15:39:40 ]
逆ポーランド記法計算電卓は実装楽でいいよな。
慣れないと使い辛いが。

562 名前:デフォルトの名無しさん [2009/02/07(土) 16:04:03 ]
どなたか…

今自分も電卓作ってる初心者です。

ループ内のreadLineを使って数値・文字列の判断と出力
までは行けたのですが、次の数値の判断で苦戦してます。
例えば、a*b=c
このbのコマンドライン引数として受け取りたいのに、どうしてもaの場所に
入ってしまいます。

何かいい方法はありませんか?

563 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 16:07:41 ]
Stackに値を積んでいくのがセオリー

564 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 19:31:04 ]
>>562
一文字ずつ調べなさい。 初心者が楽しても得るものは少ないぞ?

565 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 20:03:03 ]
たとえばオープンソースプロジェクトであるSwingXのJXTreeTableだけが使いたいとします。
このとき、jarからJXTreeTableを使用するのに必要なクラスファイル以外を削除してトリムしてくれるようなツールはないでしょうか?

566 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 20:21:11 ]
>>565
あるよ

567 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 20:29:55 ]
javaのprivate修飾子の仕様が納得できない。
どうして他のオブジェクトが参照出来ちゃうの?javaなりの都合があるんですか?
自インスタンスに制限する修飾子って無いんですか?

568 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 20:33:42 ]
そのネタ秋田

569 名前:>>565 mailto:sage [2009/02/07(土) 20:44:44 ]
>>566
聞き方が悪かったですね。
そのツール名を教えてください。

570 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 20:58:56 ]
>>567
それないとequals() 時に他インスタンスのprivateなフィールドに触れなくなる。
他の言語もprivateは自インスタンスだけに制限されないものが多い。



571 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:15:32 ]
>>567
よく聞かれるんだけど、それがあるとどういうときに役に立つの?

572 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:16:58 ]
スレッド管理とか

573 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:17:44 ]
そういやC++のスレでも似たような話をみたな
pc11.2ch.net/test/read.cgi/tech/1230341243/568

574 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:28:13 ]
まぁこれから生まれる言語はこんな馬鹿な設計はしなくなるだろうね

575 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:30:45 ]
>>574
その手の捨て台詞は負け犬の遠吠えっぽく見えるから止めたほうが

576 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:34:32 ]
rubyの仕様はどうなんだろう

577 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:36:57 ]
rubyは当然privateアクセスは自インスタンスのみ
javaとjava周辺のカオスなFWに嫌になった人間がrubyやrailsに触れると感動すると言いますね。

578 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:37:31 ]
rubyはサブクラスから呼び出せて、別インスタンス不可
javaはサブクラスは不可で別インスタンスは可っぽ

579 名前:デフォルトの名無しさん [2009/02/07(土) 21:38:28 ]
>>572
一応Javaではそれがなくてもスレッド管理は面倒もなく普通にやってるけど。
出来ないのはおまえが無能なだけだろうけど。
他にないの?

580 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:38:36 ]
スレッド管理でも何でも、現在のprivateの使用で困る事って
何だろう・・・具体例に興味があります。



581 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:38:42 ]
今更仕様は変えられないし、仕方ないやね

582 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:42:48 ]
Java7っていつだっけ?
Java5辺りで既に苦し紛れだったけど
もう馬鹿っぽくて笑えてくるんだけど

583 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:44:16 ]
>>580
一人でコーディングしてる分には全部publicでもいいんだよ……

複数人でコードいじる時にprivateとかが生きてくるはずなんだが、他インスタンスからアクセスされたら意図しない動作をする可能性がある。

584 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:46:09 ]
それは関係無いような

585 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:48:49 ]
またruby信者か

586 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:50:47 ]
rubyスレも災難だな。こんな奴相手にしなきゃいかんのか

587 名前:!572 mailto:sage [2009/02/07(土) 21:51:01 ]
>>579
wikipediaのjavaの項目によると
>2008年12月現在、ジェームズ・ゴスリンは、「私の勝手な憶測だが」という注意書き付きで、2010年6月以降のリリースを予測している

588 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:53:19 ]
>>583
そりゃRubyみたいに同一インスタンスでも動的にメソッドつけたり外したり書き換えたりし放題ならそうかもしれんが、
基本的に静的なJavaで他インスタンスからアクセスされて意図しない動作するってのは

589 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:56:46 ]
>>588
ブラックボックス化したつもりの場所で漏れてるわけだから意図しない動作はありえる。
スレッド関係ない。

590 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 21:59:00 ]
>ブラックボックス化したつもり
になってるのは、仕様を理解してない奴が悪いだけなんでは?



591 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:02:37 ]
意図しない動作がありえないものってあんのかね?
それしか使わなければバグのないプログラム作れそうだけど。

592 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:08:35 ]
実装に触られたくなければprivate云々以前にまずインターフェイスを
規定するのでは。具象クラスの型を持った変数引数は使わないよね。

privateでもパッケージプライベートでも実装への意図せぬアクセスは
実際起こりがちで、それを避けるなら作法としてはこれが一般的だと
個人的には思うのだけど。

593 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:08:38 ]
>>590-591
だから複数人の開発だと全員が意図通りに使ってくれるか分からないからprivateなのにアクセスされると困るねって話。

594 名前:デフォルトの名無しさん [2009/02/07(土) 22:18:32 ]
>>592
そうは言うけど、あなたはjavaにおいてprivateフィールドとインターフェイスを区別してますか?

595 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:27:59 ]
もうさ、同一クラスどころか自分自身からもアクセス不能な超privateも
作っちゃえばいいんじゃね?

596 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:29:36 ]
仕様とか気にしないでノリで作ってるから、動けばそれでヨシ状態だな

597 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:36:14 ]
静的言語が限界なんだよもう
インタフェースなんてそもそも強い型付けを持つ言語仕様の欠陥を補うだけのもんだし
rubyじゃ勿論インタフェースなんて要らないしクラス設計で苦労することも無い
クラス設計者が色々と苦労してる時点でjava自体の仕様に問題がある

598 名前:>>565 mailto:sage [2009/02/07(土) 22:38:57 ]
どなたかお願いします。

599 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:40:00 ]
>>593
他クラスから「使う」分には人数もprivateも関係ないじゃん。
複数人で一つのクラスを開発しているという話であれば起こりうる話ではあるけど
世間的にはそれは普通「話し合いが足りない」というと思う。

600 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:43:01 ]
>>594
心配するな。してないのはお前だけだ。



601 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:52:32 ]
>>561
関係ないけど (a b +)では違和感感じるけど
日本語にして(a b 足す)だと全く違和感無い。不思議!

602 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:52:35 ]
>>599
ヒント:開発メンバーが保守をするとは限らない。

603 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 22:54:37 ]
a と b を足したものに c を掛ける
a b + c *

なるほど。目から鱗だわ。

604 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:00:25 ]
>>600
本当に区別できるのか?結構難しいぞ。
それなら俺もその区別とやらを聞きたいものだな。

605 名前:デフォルトの名無しさん [2009/02/07(土) 23:03:48 ]
>>603
自演乙

606 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:04:38 ]
Cのような位置を占めることも無理だし
いずれは消え去る言語

607 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:05:59 ]
>>602
要するにprivateの扱いが原因というより意思疎通に失敗してるだけでは?

608 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:10:42 ]
>>607
それを防ぐためのprivateなんだが。 全然通じてないね。

609 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:10:42 ]
>>604
というかどう区別がつきにくいのか教えて欲しい。

610 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:13:05 ]
>>605
認定失敗って恥ずかしいよね



611 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:13:09 ]
>>608
privateの扱い変えれば意思疎通の失敗が完全に防げるんならともかく、
privateの扱い程度で意思疎通で失敗するなら他の件でも意思疎通に失敗してると思うぞ。

612 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:24:59 ]
>>593
そのレベルだとメソッド内の変数があっちとこっちで使い方違うとかいっぱい出てきそうだが。

613 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:32:06 ]
eclipseでjavadoc生成しようとしたら、
「Servlet何とか〜 シンボルが見つかりません」というエラーが大量に出て失敗しました。
javaEEのクラスパスがおかしいのかと思うのですが、解決方法がわかりません。
情報が少なくて申し訳ないのですが、わかる方いましたら教えて下さい。

614 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:35:35 ]
何とか〜
で分かるわけ無いじゃん

615 名前:デフォルトの名無しさん mailto:sage [2009/02/07(土) 23:37:09 ]
ちなみにeclipseのバージョンは3.3、
javadocを生成するクラスではサーブレットを多用しています。

616 名前:613 mailto:sage [2009/02/07(土) 23:43:20 ]
>>614
すみません、今確認できる環境がないので正確に書けないのです。
確かHttpServletやHttpServletRequestなどの一般的なクラスだったと思います。

617 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 00:19:23 ]
ケチな人がいっぱい集まるスレで殺伐としてますね。

618 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 00:22:05 ]
>>617
そうですね

619 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 08:48:20 ]
final public class A { }
って
public class A { }
と何がどう違ってくるか教えてください。

620 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 10:00:53 ]
final付けると継承できなくなる
継承できないことがわかってれば最適化しやすいからちょっとだけ速くなるかもしれない



621 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 10:11:08 ]
www.ibm.com/developerworks/jp/java/library/j-jtp1029/

622 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 10:34:26 ]
>>620
>>621
ありがとうございます!

623 名前:デフォルトの名無しさん [2009/02/08(日) 19:11:51 ]
教えてください。

ホームページによくある
同時に○人見ています。

みたいなJavaってありますか?
CGIがダメな環境なもので、紹介してください。

624 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 19:34:35 ]
CGIがだめでサーブレットがOK? 変わってるなぁ javascriptじゃなくて?

625 名前:デフォルトの名無しさん [2009/02/08(日) 19:44:23 ]
>>624
ごめんなさい。
おっしゃるとおりで、 javascriptです。

申し訳ないです。
よろしくお願いします。

626 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 19:47:55 ]
>>625
スレタイを読んだら寝ろ

627 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 20:04:01 ]
何人見てるかをクライアント側で管理するってどう考えても無理だよね

628 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 20:17:14 ]
>>627
サーバ側で数えていないとなあ


629 名前:デフォルトの名無しさん [2009/02/08(日) 20:19:40 ]
>>626
おやすみなさい。

630 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 23:47:36 ]
サーバーサイド javascriptのこともたまに出良いので思い出してあげてください。 by netscape Inc,.



631 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 00:00:14 ]
>>630
聞いたこともない。

632 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 00:47:15 ]
まあ専用のアプリケーション鯖が必要だからな。

633 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 00:57:29 ]
JRubyみたいに、Servletコンテナ上で実行する
サーバサイドJavaScript処理系もあるよ。

634 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 01:08:10 ]
質問です。
javaで形態素解析ライブラリを利用しようと思うのですが、
chasenやMeCab、Senとかなり種類がありますよね。
javaで扱いやすい物、動作の早い物というのはどれになるでしょうか?

635 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 01:45:41 ]
そんな専門分野のことは自分で調べろ。
調べる過程でそういうコミュニティーのフォーラムで聞けばヨロシ。

636 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 05:05:57 ]
今までの形態素解析関係の質問だとライブラリが決まったら
次はインストールしても使えない、動かない系が来る

637 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 10:05:31 ]
>>634
そういうのって、結局ソース全部読むハメになるような気がするんだけど、
Java の奴だと読まなくても大丈夫なのかな?

638 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 10:31:56 ]
ソース読む必要とかねーよwww

639 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 12:33:55 ]
むしろ、ソース読んじゃうってどんだけ天才かと

俺がソース読むのは、ドキュメント通りに実装しても動かない時に、
中を除いて引っかかる場所を探すためだな。

640 名前:デフォルトの名無しさん [2009/02/09(月) 15:01:49 ]
Compositeクラスってなんですか?教えてください



641 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 16:26:01 ]
つ javadoc

642 名前:デフォルトの名無しさん [2009/02/09(月) 17:52:53 ]
HashMapとHashtableって一緒ですか?

643 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 18:00:10 ]
共有フォルダでファイルが別ユーザに開かれているか確認する手段はありませんか?

644 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 18:09:26 ]
>>642
スレッドセーフかどうかという点で違う。
あとレガシーじゃないコレクションフレームワークの方は非同期な分パフォーマンスが改善されてる。

645 名前:デフォルトの名無しさん [2009/02/09(月) 18:25:55 ]
例外処理ってなんの為に行うの?
どっちにしろエラーですって表示されて動かないんなら意味ないじゃん

646 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 18:29:08 ]
趣味で作るアプリならそれでいいが、
お仕事になると、エラーログ出したり、いろいろしなきゃいけないんよ。

647 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 18:39:17 ]
すいませんねぇ無職で

648 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 18:39:30 ]
Cでもやってろw

649 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 18:45:09 ]
趣味アプリならIDEがエラーはくたびにthrowsをガンガン追加してけばいいべ

たまに、エラーが出たら別の処理を試すとかやる必要があると、
まともに書いてやらんといかんけど。

650 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 22:09:28 ]
JavaFXについて調べているのですが、
いくつかのページで実行にはFXライブラリが必要と書かれているのですが、
サンプルページのWebStartは、jre1.6の環境でも普通に起動します。
jre1.6には既にFXlibが含まれているのでしょうか?



651 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 22:12:34 ]
そういえばjavafxのスレないね。まだ早いのかな。

652 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 22:12:48 ]
java 6 SE update 10から標準装備

653 名前:650 mailto:sage [2009/02/09(月) 22:21:20 ]
>>652 ありがと、すっきりしました

654 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 00:01:01 ]
白文字で枠が黒で影付きの文字ってどうやって作りますか?

655 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 00:09:01 ]
1.影
2.黒文字
3.白文字

これじゃだめなの?

656 名前:650 mailto:sage [2009/02/10(火) 00:45:12 ]
ねぇねぇ、eclipseのjavaFxプラグインって自前クラスをインポートしても赤出るのって仕様?
コンパイルは通ってるんだけど.... (´・ω・` )

657 名前:デフォルトの名無しさん [2009/02/10(火) 01:17:06 ]
>>651
そろそろ立てませんかJFxスレ

658 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 01:30:49 ]
>>655
ぜんぜんうまくいかない

659 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 01:46:03 ]
TextAttributeで太字にするって無理なのかな?(´・ω・′)

660 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 01:47:54 ]
>>658
やりかたが悪いだけ。
太さ、サイズ、傾き、透過やらやってやったらそれなりのものはできる。



661 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 01:50:35 ]
>>660
とりあえず黒の上に白文字で表示してみたんだけど
幅を一緒にすると高さは変化できるけどどっちの文字も横の長さが一緒になっちゃう
もうわからないお・・・(´;ω;、)

662 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 03:04:04 ]
甘えるな

663 名前:デフォルトの名無しさん [2009/02/10(火) 13:20:39 ]
strutsの logic:equalタグについての質問です。
valueを複数指定して、そのどちらかが当てはまればlogic:equal内の処理が走るようにしたいのですが
可能でしょうか?

664 名前:663 mailto:sage [2009/02/10(火) 13:37:25 ]
自己解決しました。
logic:equal の中に複数valueを定義するだけでいけました。

665 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 14:39:44 ]
>>661
簡単にやるなら

1. 影を(x+n,y-n)の位置に描画
2. 外枠をx+1,x-1,y+1,y-1方向にそれぞれ描画。
3. (x, y)の位置に中の文字を描画。

精密にやるならJava2Dでフォントのアウトラインをshapeとして描画するところからやる。

666 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 16:03:34 ]
>>665
外枠を±1にするとかなりずれが目立つお
横0.3、縦0.4くらいでやってるけどそれでも文字によってはズレが目立つ・・・
とりあえずあと2時間くらいがんばってみるお・・

667 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 21:29:22 ]
ソースと実行結果のSS貼れ


668 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 22:36:24 ]
java SE 6 の新機能のスクリプト言語なんですが
try {
・・・
} catch (NullPointerException e) { e.printStackTrace(); }
で行番号が出る方法はありますか?


669 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 22:54:57 ]
行番号を持ってないと。

670 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 22:54:57 ]
>>668
ガッ!



671 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 22:55:43 ]
>>670
略された時だけだ、このうつけめ。

672 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 22:56:28 ]
スクリプト言語なのに行番号無しって?
BASIC 以下のクソ言語?

673 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 23:18:54 ]
馬鹿だろお前。インタラクティブ実行されたら行情報持たない場合があるだろ

674 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 23:20:06 ]
スクリプト言語がインタープリタであるとは限らない。
なのだけど、javaと一緒で -g オプションつけたら出るんじゃないの?

675 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 23:21:04 ]
>java SE 6 の新機能のスクリプト言語
確認、javaFXのことだよね?

676 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 23:34:30 ]
なんかスクリプト言語実行できるとか6の新機能じゃなかったか

677 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 23:37:21 ]
RhinoとかのScriptEngineManagerのことか

678 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 00:25:47 ]
公式のRhinoとJDK6に入ってるRhinoは互換性ないからなぁ

679 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 01:58:35 ]
ねぇなんで1個しかextendsできないの?
2個したいんだけど

680 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 02:00:51 ]
どうして1人としか結婚できないの?
日本だから



681 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 02:04:38 ]
ほんとゴミ言語だな

682 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 02:24:15 ]
>>681
なに言ってんだよ!ゴミはお前のことだろw

683 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 02:31:54 ]
>>679
& でつなげればできるお!!!
(Generics の型指定の場合)

684 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 09:24:07 ]
なにそれ

685 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 11:54:53 ]
swingでメニューバーから終了って項目をクリックすると、
windowsを終了させる機能を追加するにはどうすればいいの?

ひとまず、implements ActionListenerしてみたが、よくわからん

686 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 11:56:47 ]
ウィンドウズを終了させちゃうの?

687 名前:685 mailto:sage [2009/02/11(水) 12:04:49 ]
すいません、ウインドウ(JFrame)でした

688 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 12:06:54 ]
ウィンドウを閉じるだけ?
アプリケーションは終了せずに?

689 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 12:40:07 ]
こんなんでclose呼べばいけそうな気がする

public void close() {
if (getWindowListeners() != null && getWindowListeners().length != 0) {
for (WindowListener l: getWindowListeners()) {
l.windowClosing(new WindowEvent(this, WindowEvent.WINDOW_CLOSING));
}
}
dispose();
}

690 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 12:41:48 ]
面倒臭いからexitでいいよ



691 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 12:46:42 ]
>>688
そうですね、アプリケーションの終了です
言葉が足りませんでした
>>689
参考にします
>>690
その発想は無かった

とにかく、ヒントをもらったので調べてみます
thx


692 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 13:25:20 ]
>>689
チェック全部いらね

693 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 14:52:26 ]
JTextareaの内容を全て消すようなメソッドは無いですかね?
調べたのですが見つからず、結局文字数を読み込んでreplaceRangeで置き換えるという方法で代用したのですが
どのような時でも、汎用的に動作するのかというのが不安なので

694 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 15:29:16 ]
JTextArea.setText("");
でいいのでは……

695 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 15:46:29 ]
文字列じゃなくてnullでいいよ

696 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 15:48:29 ]
java.sun.com/javase/ja/6/docs/ja/api/javax/swing/text/JTextComponent.html#setText(java.lang.String)

697 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 21:57:26 ]
デフォルトではString obj;としたときは、nullが入っているのに
String obj;
if(obj == null){
   System.out.println("objはnullです");
}
とすると、シンタックスエラーになるのは何故ですか?

698 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 22:01:19 ]
>>697
デフォルト値で初期化される事が保証されてるのはクラス変数とインスタンス変数。
局所変数はデフォルト値で初期化されないから使用する前に明示的に初期化しておかないとコンパイルエラーになる。

699 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 22:17:27 ]
Woopie Video DeskTopとゆうソフトを使っています。
その中でyoutube検索をしていたら、javaScriptが無効になっているようなので有効にして下さいとゆう表示がでます
しかしインターネットオプションを見てみると有効になっているのです
ちなみにただインターネットでyoutubeを検索してみると正常に検索等が出来るのです。
ただ左下に黄色の三角の中に!マークがでて、ページでエラーが発生しましたと出ます
この間まではWoopie Video DeskTopも普通に使えていました。
youtubeもjavaがどうとかゆう表示はでませんでした。
全くの初心者で訳が分かりません・・・
プラウザがどうとかありますが、プラウザもなんのことやらって感じです・・・。
誰か助けてくださいお願いします・・・。

700 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 22:24:03 ]
なんでこういうのってム板に迷い込んでくるんだ?



701 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 22:26:35 ]
よくわからないからとりあえず java で検索
→ このスレがひっかかる
→ とりあえず質問する
じゃね?

702 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 22:35:46 ]
java 質問で検索したら一応1ページ目にでてくるな。ぐぐるさん。

ちなみにWoopie Video DeskTop javaScriptで検索したら一件目に答えっぽいのがでてきたから
今回のはただの釣りだな。

703 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 22:42:18 ]
適切に検索できない奴だから迷い込んできたかもしれないじゃないか

704 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 22:53:10 ]
知ってるなら教えてあげろよ
ほんと意地悪なやつらだな

705 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 22:54:50 ]
>>704
>>702は無視ですか、そうですか。

706 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:10:50 ]
釣られるなよ

707 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:20:24 ]
>>705
いや質問したのは俺じゃないけど
お前らは何かと意地悪する癖があるから、そういうの
よくねーと思うし

708 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:26:41 ]
>>707
知ってたら教えて下さい。
今の総理大臣って誰ですか?


↑このスレでこういう質問されたらどう思う? >>699は全く同じことやってるわけだが。
分かるか? こういうのは知ってるかどうかが問題じゃないんだ。

何の為にスレが細分化されているか考えてからそういうレスなさい。


709 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:28:35 ]
>>707
検索キーワード教えてるんだから十分じゃん

710 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:29:32 ]
>>708
でも委員長もそういうのよくねーって言ってるよ?



711 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:33:18 ]
>>710
何委員長かによる。
学級委員長と図書委員長には逆らえない。


ところでJavaでexe形式のファイルってどうやって作るの? eclipseとか確かexeだったよね。


712 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:33:31 ]
>>707
「お前ら」って、意思統一された固定メンバーの集団だとでも?

713 名前:デフォルトの名無しさん [2009/02/11(水) 23:37:06 ]
質問させてください。

int num = 5; みたいな変数の扱い方の様に、条件式を格納できる変数など
ありますでしょうか?下記みいな使い方ができるものがあれば良いのですが。

xxx zyoukensiki_A = (100 <= num) || ( num <= 200)

ご教授宜しくお願いします。

714 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:38:23 ]
>>713
とりあえずその間違った日本語の使い方正してからこい

715 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:39:27 ]
>>713
メソッドでいいやん。

static boolean zyoukensiki_A ( int num){return (100 <= num) || ( num <= 200);}


716 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:39:41 ]
JITっつーの使うといいらしい、ただし値段がすごい

java exeでググったらexewrapってのが1番にきた
これは無料で使えそうだ

>>707
検索キーワードでも十分だろ?
しかし、その検索キーワードは違う気がする。
そこら中のHPに埋め込まれてる「javascriptを使用しています、全ての機能を有効にするには〜」って言葉が引っかかってるw

youtube板とかソフト板のそれっぽいスレで質問した方が早いだろうな

【DL】Woopie Video DeskTop2【ニコニコ、Youtube】
ttp://pc11.2ch.net/test/read.cgi/software/1222354743/

ここにちょうど同じ質問がでてる、こっちで回答待ちするのがいいと思われる。

717 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:40:16 ]
だせぇメソッド名だな

718 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:42:46 ]
ならばこうだ

static boolean 条件式A ( int num){return (100 <= num) || ( num <= 200);}

719 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:43:30 ]
>>709
サーチエンジンが使えない人かもしれないだろ
今もまだお前らからの答えを待ってるかもしれないし
なんでそういう考えができないのかなぁ

720 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:43:52 ]
元の変数名がアレだからな



721 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:46:19 ]
>>719
サーチエンジン使えなくてどうしてここにくるんだよw

それにサーチエンジン使えないとしても、そうレスすりゃいいだけだ。

722 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:46:34 ]
>>718
そこまでやるとダサカッコイイな。

>>719
はいはい、そうだね。 けど>>708を108回音読してね。


723 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:48:25 ]
俺はあんまり簡単な質問だと「xx」でぐぐれで済ませるな。

ぐぐって分からなければ、また質問してくるだろう。

724 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:52:22 ]
>>711
gcjで出来るらしい
使ったことないから詳しくは分からん

725 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:54:05 ]
>>712
個別の11人かw

726 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 00:17:55 ]
J2SE sdk ダウンロードしようとしたんだけど、sunのサイトでサービス終了
になっててダウンロードできません
もうダウンロードできないんでしょうか?



727 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 00:43:43 ]
ほんとだ!こりゃ大変だぁ!
java.sun.com/j2se/1.4.2/ja/download.html

728 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 00:45:05 ]
              \   ∩─ー、
                \/ ● 、_ `ヽ
                / \( ●  ● |つ
                |   X_入__ノ   ミ 俺は釣られないクマ ・・・
                 、 (_/   ノ
                 \___ノ゙
                 / 丶' ⌒ヽ:::
                / ヽ    / /:::
               / /へ ヘ/ /:::
               / \ ヾミ  /|:::
              (__/| \___ノ/:::

729 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 01:36:33 ]
\   ∩─ー、
  \/ ● 、_ `ヽ
  / \( ●  ● |つ
  |   X_入__ノ   ミ クマーーー
   、 (_/   ノ
   \___ノ゙
                  / 丶' ⌒ヽ:::
                 / ヽ    / /:::
                / /へ ヘ/ /:::
                / \ ヾミ  /|:::
               (__/| \___ノ/:::

730 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 06:08:00 ]
検索エンジンを閲覧禁止にしてるアレな職場でもあるのかねえwww
ぐぐるはたまに調子悪くなるので、あんまり依存しすぎると危険だ。いきなり終了した時の事も考えて使うべき。

使う分には、1.4で十分な事も多い。



731 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 21:03:39 ]
とっくにEOLじゃなかったけ?セキュリティフィックスすらないだろ

732 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 22:35:15 ]
すでに何行か書き込まれているテキストファイルに、1行だけ追加したのですが
↓のようにすると上書きされてしまいます
どなたか、知識をお貸しください

BufferedWriter bw = new BufferedWriter(new FileWriter(new File(fileName)));
bw.write(text);


733 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 22:49:07 ]
重大なセキュリティフィックスはやるよ。知らなかったの?w

734 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 22:52:36 ]
>>732
FileWriterのAPIドキュメントのコンストラクタのところを穴があくほど見れ。

735 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 22:55:41 ]
>>734
わかりました
ありがとうございます

736 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 00:27:12 ]
Cobertura使ってる人いる?
cobertura.sourceforge.net/

テストコードの網羅性なんかが視認できてすごく便利なんだけど、

>if ( param > 0 ) {
> flag = !flag;
>}

なんていう、否定代入?の式なんかが
未テストって判断されちまうくさい。。。


737 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 03:43:44 ]
「Javaの鉄則」を読んでると
javaの仮想マシンの最適はかなりアホみたいに書いてたました.
例えば
private void a() {
int d = 0;
b(d);
}
private void b(int d) {
// 空
}
の場合,メソッドbは無意味にもかかわらず実行時に削らず,空のメソッドを呼び出すみたいなことかいてるんだけど.

ほかには
class A {
private var1;
public A() {
// コンストラクタ
var1 = 0;
}
の場合var1はフィールドで0で初期化されコンストラクタでもう一度0に初期化されるから
二回初期かさえれるのでコンストラクタ内のvar1 = 0は削除すべし見たいに書いてる.

でこの本が書かれたのは2000年になってるんだけどいまだにアホなままなんでしょうか?
アホのままだとするとsunは何らかの意図があって直す気が無いんでしょうか?
あと「Javaの鉄則」の最適化の話って今のコンパイラにも適応すべき鉄則なんでしょうか?

738 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 04:44:42 ]
なんで自分でテストコードを書いて確認しないの?

739 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 09:36:31 ]
javapとかでバイトコードを読めば分かると思うが、javac自体は一切の最適化をやらない
どこまで最適化を行うかはJVMの実装任せ

740 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 10:20:25 ]
ここを100回嫁
ja.wikipedia.org/wiki/%E3%82%B8%E3%83%A3%E3%82%B9%E3%83%88%E3%82%A4%E3%83%B3%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB%E6%96%B9%E5%BC%8F



741 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 12:34:56 ]
>>739
よめよ

742 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 14:56:19 ]
>javac自体は一切の最適化をやらない
多重ループ展開しまくってるんだが?

743 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 15:16:52 ]
1 + 2 + a は 3 + a に最適化する。
1 + a + 2 は最適化してくれない。

744 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 16:26:56 ]
いいリファレンスブックってないかね?

745 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 18:26:55 ]
javadoc最強

746 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 18:42:39 ]
日本語のjavadocを信じてはならぬ!

747 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 18:46:12 ]
本がいいんだけど

748 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 19:05:14 ]
javadocを印刷

749 名前:デフォルトの名無しさん [2009/02/13(金) 21:36:46 ]
>>737
その本、どこのアホが書いたの?

750 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 00:02:01 ]
文字列連結とか例外処理も。



751 名前:デフォルトの名無しさん [2009/02/14(土) 06:35:06 ]
javaでwebshopのソフトを作りたいのですが
XREA&CORESERVERでの共有SSLサーバー対応できるのでしょうか?
それとクレジットカード決算についてなのですが
暗号化(?)みたいにしないとデフォじゃまずいですよね?
そこら辺の事を書いてあるサイト教えて頂けませんでしょうか?

よろしくお願いします。

752 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 06:55:58 ]
web板行った方がよくね

753 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 07:25:34 ]
>>752
ありがとうです。web板行きます。

754 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 12:05:22 ]
素朴な疑問なんだがJDK6u10以降のアプレットのドラッグアウトってどうやるんだ?
javaコンソールから次世代java-pluginを使うようにしてIEにjava-pluginを有効にしてもドラッグアウトできないんだが。

755 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 13:07:30 ]
<param name="draggable" value="true"> してないとか?

756 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 14:31:47 ]
これ、実際使いどころあるのかねぇ

757 名前:デフォルトの名無しさん [2009/02/14(土) 15:07:24 ]
>>756
ブラウザが、うざくて閉じたいときにどうか?

758 名前:赤西仁 [2009/02/14(土) 16:33:30 ]
2年間悩んでます。お力をお貸しください。

PSのアークザラッドUというタイトルのゲームの、ゲーム画像(歩行画像など)を抽出したいのですが、
かれこれ1年ほど経ちますが、なかなかうまくいきません。
*もちろん抽出した画像は個人範囲内で利用するつもりです。

◆試してダメだったこと

 ネット上からダウンロードできる、ありとあらゆる抽出系ツールを試した。
 (ちなみに他のゲームはほとんど抽出可能)

◆教わったこと

 ・アークザラッドUは独自の画像形式を使っているから抽出できない。
 ・PS上で表示されてるということは絶対に摘出はできるはず。
 ・ttp://www.gradius2.com/index.php?UID=1174775153

◆抽出は不可能ではないということを知ったとき

 2ちゃんねるで質問したところ、
 ある方が実際にキャラクターの歩行画像を抽出して
 私が立てたスレにアップしてくださいました。

スクリーンショットじゃダメなんです。どうか皆さん、お力をお貸しください。お礼は絶対にします。

759 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 16:36:02 ]
ボキュは馬鹿なコピペ君です、まで読んだ。

760 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 16:44:23 ]
>>754
>>755 のとおりHTMLタグを書いて、
Alt を押しながらアプレットをドラッグする。
HTMLタグを書く必要があるので、
既存のアプレットを何でもドラッグできるわけではない。




761 名前:デフォルトの名無しさん [2009/02/14(土) 20:20:45 ]
>>758
マルチは低学歴w

762 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 00:15:18 ]
すいませんが質問させてください。

文字列を入力して「Blowfish」で暗号化。
暗号化した文字列を一度ファイルに出力。
そして、出力したファイルの文字列を読み込んで復号するというプログラムを作っているのですが、
読み込みの時点でjavax.crypto.BadPaddingExceptionというエラーが出てしまいます。
おそらくブロックサイズが合っていないか何かのエラーだと思うのですが、
解決方法がわかりませんでした。

申し訳ありませんが、よろしくお願いします。

763 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 01:35:00 ]
>>762
何が聞きたいのかすら分からない。
例外の意味を知りたいならググればいいし、
書いたプログラムが間違っているかどうかなら、間違っているんだろう。

それ以上の何が言えると思っているんだ?

764 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 01:43:05 ]
あなたには聞いてません

765 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 01:44:05 ]
では、誰に聞いたのかはっきり示して下さい

766 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 01:47:15 ]
>>762
その場合、解決方法は机の脇のテディベアに聞くといいよ

767 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 01:47:31 ]
おぃぃぃぃぃ

誰に聞いたんだよ!

768 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 02:08:58 ]
すいません、私が誰に聞いたのかまったくわかりません。
私は誰に質問したのでしょうか?初心者ですがよろしくお願いします。

769 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 11:27:42 ]
>>762
一般論だけど、
Blowfishはブロック暗号なので、ある特定サイズ(×n)のデータしか暗号
化&複合できず、足りない部分にパディングを入れる必要がある。そのへ
んで何かミスをするとBadPaddingExceptionが起きる。


770 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 12:27:55 ]
>>763
知ったかぶりさん、恥かいちゃったねw



771 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 12:41:24 ]
>>770


772 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 12:46:26 ]
>>770
読んでも意味が分からないなら、無理してレスするなよ

773 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 14:12:50 ]
>>763
知らないならでしゃばらないでください。

774 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 14:29:39 ]
よほど悔しかったんだろうな

775 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 15:14:45 ]
>>763 は何がしたいの?
ふつ、匿名掲示板で質問するのは、「知ってる人がいたら教えてください」ってことだろ?
なんで、何が聞きたいのかすら分からないヤツがわざわざ出てくるの?
あまいに聞いたんじゃ無いぞ〜〜www。脳みそカラッポだな。
それとも夜中の1時に寝ぼけて、ここを自分のブログと勘違いしたのか?
アフォすぎる。知らないなら出てくるなよ。

776 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 15:15:49 ]
>>763は恥さらし。以後、このスレ立ち入り禁止。追放しました。

777 名前:デフォルトの名無しさん [2009/02/16(月) 15:48:07 ]
>>775-776
まぁ落ち着けや。

778 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 17:05:03 ]
>>775
>>769が中身無いって分かってんだよね?

779 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 17:10:18 ]
>>763から>>779まで全員アホって事でいいじゃん

780 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 17:12:59 ]
ついでに俺も



781 名前:762 mailto:sage [2009/02/16(月) 17:23:16 ]
>>763
>>769
ありがとうございます。
パディングなどについて重点的に調べていきたいと思います。

782 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 20:38:48 ]
ばかばっか

783 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 20:46:11 ]
バカは>>763ただひとり

784 名前:がちゃがちゃ [2009/02/16(月) 20:56:24 ]
HashMap<Integer, List<String>> strMap = new HashMap<Integer, List<String>>();

このような HashMap を作ることは可能でしょうか?
だれか優しい人おおしえください。

785 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 21:02:34 ]
コンパイルしてみりゃいいじゃない

786 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 21:20:59 ]
知らないならレスしないでください

787 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 21:35:11 ]
知っているから答えるけど、コンパイルしてみりゃいいんじゃね?

788 名前:がちゃがちゃ [2009/02/16(月) 21:48:58 ]
コンパイルは通りました。 -> javaプログラムとしてもちゃんとできていました。

しかし、JSP/Servretにて、
「org.apache.jasper.JasperException: An exception occurred processing JSP page」
というエラーがでる。

789 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 22:06:02 ]
WebSphereでやったら動いたよ

790 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 22:09:40 ]
>>788
じゃぁ最初っからそう書けよ。
なんで情報を小出しにする?まだ他に何か隠してることがあるんじゃないのか?



791 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 22:18:03 ]
名前、年齢、勤務先/学校名とかだな

792 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 22:36:08 ]
>>784
可能です。

でいいだろ。ごちゃごちゃ言わずに答えれば良いんだよ。

793 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 22:39:59 ]
今更答えてもな

794 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 22:58:59 ]
>>792
もう遅いよ

795 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 23:45:27 ]
>>792
お前が来るのが遅いのが悪いんだ

俺は俺の好きにする

796 名前:デフォルトの名無しさん [2009/02/17(火) 00:09:29 ]
mainメソッド内において、
メニューを選択させてそれに対応する処理を行いたい時に、
switch (menu) {
case 0: method0(); break;
case 1: method1(); break;
みたいにスイッチ文を使うとしますよね?
その際、一つ一つの処理が長いから再利用性はないけど、
それぞれのメソッドに独立させたいとする。
そういう時って、同じクラスのprivate staticメソッドで実現させるんですか?
オブジェクト指向って関数がクラスと関係してるから、
何か不自然に感じてしまうんですけれど・・・。
Cのような手続き言語でそのようなことをしても
全く違和感はないのですが・・・。

797 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 00:11:16 ]
そういうときのデザインパターンがあった気がするけどそこらへん詳しい人頼む。

798 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 00:43:44 ]
移譲使うかな
menu0.addAction(new Action0());
menu1.addAction(new Action1());

getSelectedMenu().doAction();
みたいに書ける

799 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 01:09:34 ]
>>797
知らないならレスしなくていいです。

800 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 01:09:47 ]
全体をMVCに分けた上でCの実装にStrategyパターンを使う。



801 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 01:18:12 ]
Command(Action)パターンだろ

802 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 01:28:40 ]
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /

803 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 02:13:05 ]
釣られないならレスしなくていいです。

804 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 02:15:41 ]
>>802
Strategyパターンはアルゴリズムを選択的に実行するためのもので
Commandパターンは手続きとデータをカプセル化するためのものだぞ?
>>798はCmanndパターンだぞ。

805 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 02:22:33 ]
いやべつに>>800>>798を指していないし。

806 名前:デフォルトの名無しさん [2009/02/17(火) 03:06:59 ]
JAVAの勉強を始めたいんですが、初心者にお勧めの参考書ってありますか?

807 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 04:45:41 ]
>>806
ttp://java.sun.com/developer/onlineTraining/
オンライン文書だけどここらへんのチュートリアルとか

808 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 10:59:11 ]
ant使ってzipファイル触ってるんだけど、
書庫内書庫ってtmpディレクトリ作って解凍してやるしかないよね?

809 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 20:51:21 ]
知らないならきくなよ

810 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 20:54:15 ]
ごめんなさい(ノД`)



811 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 21:03:48 ]
すみません。dojaスレで聞いてビット積について調べてこいと言われて調べたのですが、
本当に基本的なことなんですが、
以下のような式があります。
B_ = (B_ & 0xFE) & 0xFF;

これは結果的にこの式と同じではないでしょうか?
B_ = (B_ & 0xFE) ;
もっというと
B_&=0xFEとはなりませんでしょうか?


812 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 21:28:17 ]
ggrks
調べて来いって言われたんだろ

813 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 21:31:57 ]
>>811
B_の型って何だ?dojaでは何かの型なのか?

814 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 21:31:58 ]
>>812
知らないならレスしないでください

815 名前:デフォルトの名無しさん [2009/02/17(火) 21:45:41 ]
あの・・・気軽に質問しないでくれませんか?

816 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 21:56:32 ]
>>811
実際に動かしてから聞いてください。

817 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 22:15:11 ]
>>813
int です。
どう計算しても値が違うものにならないような気がして…

818 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 22:21:53 ]
ttp://www.hellohiro.com/set.htm
のコンパイルを使用としたら、無検査どうこうと怒られたんで下記のようにしてみたんだけど問題無いでしょうか?


import java.util.*;

public class HelloWorldSet {
public static void main(String[] args) {
try {
// LinkedHashSet
Set<Integer> linkedHashSet = new LinkedHashSet<Integer>();
addData(linkedHashSet);
System.out.println("LinkedHashSet : " + linkedHashSet);
} catch (Exception e) {
e.printStackTrace();
}
}

static void addData(Set<Integer> set) {
for (int i = 10;i >= 1;i--) {
set.add(new Integer(i));
}
}
}

819 名前:818 mailto:sage [2009/02/17(火) 22:23:15 ]
>>818
いまいち総称型の位置が正しいか不安で・・

特に
static void addData(Set<Integer> set) {
あたりの使い方が気になっています。

他の解決方法もあればお願いします。

820 名前:813 mailto:sage [2009/02/17(火) 22:49:32 ]
>>811
B_がintなら同じじゃねーのかな…。
ていうかよく考えたらB_がbyteだったらエラー出まくりだよな…。

iモードなんたらってスレみたら、
たしかに69の奴が「ぜんぜん違う」と断定してるな。
ほんとに違うのか???
Java上級者の方、意見求む。



821 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 22:56:43 ]
>>820
intとbyteのビット数はどうなん?

byteは最大値FF
intは最大値FFFFFFFF

>ていうかよく考えたらB_がbyteだったらエラー出まくりだよな…。

byteとintをビット演算してエラーでるっけ?

822 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 22:59:10 ]
式展開してみて、これを同じと見るかどうかじゃないですか。
その人が何を言ってるのか意味不明ですが、ていうか同じですけどw

(B_ & 0xFE) & 0xFF
B_& 0xFF & 0xFE & 0xFF


823 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:14:55 ]
public class BitTest {
public static void main(String[] args) {
long i = 0;

for (i = Byte.MIN_VALUE; i <= Byte.MAX_VALUE ; i ++) {
bittest((byte)i);
}

for (i = Integer.MIN_VALUE; i <= Integer.MAX_VALUE ; i ++) {
bittest((int)i);
}
}
public static void bittest(byte B_) {
byte c1 = (byte)((B_ & 0xFE) & 0xFF);
byte c2 = (byte)((B_ & 0xFE));

if (c1 != c2) {
System.out.println("error byte " + B_);
throw new RuntimeException();
}
}
public static void bittest(int B_) {
int c1 = (B_ & 0xFE) & 0xFF;
int c2 = (B_ & 0xFE);

if (c1 != c2) {
System.out.println("error int " + B_);
throw new RuntimeException();
}
}
}

824 名前:823 mailto:sage [2009/02/17(火) 23:16:23 ]
2つのビット演算の結果が違ったら例外投げて終了するコードを書いてみた

動かしてみれば一発じゃんって事で動かしたが、エラーでないまま最後まで通ったよ

825 名前:823 mailto:sage [2009/02/17(火) 23:17:35 ]
dojaが何か分かってないんで、見当違いのことしてたらごめんだぜ

826 名前:813 mailto:sage [2009/02/17(火) 23:49:34 ]
>>821
スマソ、適切にキャストしたらエラー出んかった…
エラーが出たのはキャストしてなかったからだった…
B_がbyteの場合は、

B_=(byte)((B_&0xFE)&0xFF);
B_=(byte)(B_&0xFE);

ダッタ。で、&0xFEの時点ですでに8〜31までの上位ビットは切り捨てられているわけだから、
&0xFEの後に&0xFFしても意味ないはず…。
ていうか>>823スゲェな…。

すべてはiモード携帯電話用〜スレの69の発言がおかしいんじゃねーかw
69め…ブツブツ。

827 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:56:40 ]
0xFFってint型に突っ込むと
-1として解釈されるパターンと255として解釈されるパターンがあるから……

ってどっちでもビット演算的には同じか。

828 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 00:29:13 ]
ところで、>>823の何がすごいのか書き残してから巣に帰ってくれないか?

829 名前:823 mailto:sage [2009/02/18(水) 00:42:53 ]
お世辞だよね

830 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 00:46:06 ]
どなたか>>818の答えをお願いします・・・



831 名前:811 mailto:sage [2009/02/18(水) 00:46:41 ]
おお皆様ありがとうございます。
やっぱり結果的には一緒っぽいですよね…


832 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 01:55:17 ]
>>830
キャスト

833 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 09:21:18 ]
サーブレットでログ出力関数を作ろうと思うのですが
同期させるには以下のコードでよいですか?

public class Util {

 private static Object lock = new Object();

 public static void outputLog(String msg) {

  synchronized (lock) {
   System.out.println(msg);
  }

 }
}


834 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 09:48:02 ]
printlnを一切ほかのところに書かずに全部それで統一できるならね

835 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 09:51:57 ]
>>834
なるほど!

836 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 12:21:08 ]
>>833
自分で作らないで java.util.logging を使ってあげてください。


837 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 13:13:28 ]
自分の銀行口座に振り込まれたログをJAVAを用いて管理したいのですがそのようなAPIを公開している銀行又はライブラリはありますか?
分かる方がいらっしゃったら返答お願いします

838 名前:デフォルトの名無しさん [2009/02/18(水) 13:22:01 ]
透明なJFrame,もしくはJWindowを作成したいと思っています。
java6から利用可能と聞きました。
JAVA FXは利用しないやり方を知りたいです。
よろしくお願いします。

839 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 13:36:00 ]
>>837
危険だから公開はしないと思うぞ。
でもMicrosoftMoneyに取り込める所はあるから、
同じプロトコルを使えば可能なのかも。

840 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 13:41:51 ]
>>838
update10以降とかじゃなかったっけ?
AWTUtilties#setWindowOpacity(Window,float)とかだったと思う。



841 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 13:55:09 ]
>>832
総称型を使ってるからキャストはいらないんじゃね?
>>818のソースで動いてるし、問題あるか知りたいんだろ。

842 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 14:09:43 ]
>>841
大丈夫っぽいね

無検査〜はジェネリック使わないとバシバシ警告だしてきてウザイやね

843 名前:830 mailto:sage [2009/02/18(水) 15:29:47 ]
>>832
馬鹿は回答しないでください><

844 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 16:00:25 ]
プログラミング自体はじめたばかりの初心者です

      BBSをListで作る練習をしていて、例題に

      public Writing[] list() throws BbsException{
              ~~~~~~~~~~~~~~~
      }

      という記述があったのですが、波線のところはどういうことをしているのでしょうか?
      Writingクラスは別にあります。


845 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 16:05:44 ]
何かしてるわけじゃないです
戻り値はWriting[]型で引数なしのlistという名前のメソッドを定義しますよと伝えてるだけです

846 名前:884 mailto:sage [2009/02/18(水) 16:27:00 ]
なるほど

ありがとうございました。

847 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 17:13:37 ]
java教科書くらい読めよ

848 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 21:55:11 ]
浮動小数点演算について質問です。
例えば単純な引き算で、1.0 - 0.8 = 0.19999・・ となってしまいますが
これを解決するのに BigDecimalを使うというのをネットで見つけました。
でも単純な引き算を行うのにも以下のようにどのような演算をしてるのがわかり難くなってしまいました。
new BigDecimal(String.valueOf(1.0)).subtract(・・・)

浮動小数点演算で丸めがおこらないようにするには
このようなわかり難いコーディングがデフォなのでしょうか?
何か良い方法がありましたら教えてくださいm(_ _)m

849 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:15:32 ]
>>848
多数派:誤差があっても気にしない。
神経質な業界:言語自体、十進演算をする実装のものを選ぶ。
科学技術:誤差込みで計算した上で、きちんと誤差管理する。
ってところかなあ。

850 名前:デフォルトの名無しさん [2009/02/18(水) 23:18:13 ]
>>843
質問しといておまえは何様のつもりだ?



851 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:40:25 ]
>>848
あくまでJavaだけしか使えないなら
https://eval.dev.java.net/
みたいに計算式をパースしてやる手法ぐらいしか知らん。

852 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:45:46 ]
つかったことないけど
new BigDecimal("1.0").subtract(・・・)
てすればいいんじゃないのかな?

853 名前:デフォルトの名無しさん [2009/02/18(水) 23:46:19 ]
普通はDecimalFormatかFormatterを使う。

854 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:53:54 ]
>>848
必要な桁で丸めるとか、
あらかじめゲタを履かせる(10倍して演算後、10で割る)とか。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<227KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef