【初心者】Java質問・相談スレッド111【大歓迎】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2008/01/13(日) 00:25:22JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc10.2ch.net/hp/
過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
前スレッド
【初心者】Java質問・相談スレッド110【大歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1197710566/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝のう存じます。
次スレは>>980あたりで。
0002デフォルトの名無しさん
2008/01/13(日) 00:34:430003デフォルトの名無しさん
2008/01/13(日) 00:35:32/●ヽ/
(∧_∧) / ̄ ̄ ̄ ̄ ̄
( ´∀`)< しねよおめーら
( ) \_____
| | |
(__)_)
0004デフォルトの名無しさん
2008/01/13(日) 00:46:562つめの質問について。
(5)です。
http://www.javainthebox.net/laboratory/J2SE1.5/LangSpec/Varargs/Varargs.html
とか、"Java 可変長引数"あたりのキーワードで調べれば?
1つめの質問について。
ちゃんと調べてないけど、コンパイル段階で
> それ1つだけ
になってるんじゃ?つまり検索は発生しない。
0005987,993
2008/01/13(日) 01:12:58>(5)です。
>http://www.javainthebox.net/laboratory/J2SE1.5/LangSpec/Varargs/Varargs.html
>とか、"Java 可変長引数"あたりのキーワードで調べれば?
>
>1つめの質問について。
>ちゃんと調べてないけど、コンパイル段階で
> それ1つだけ
>になってるんじゃ?つまり検索は発生しない。
「それぞれ1つだけ書いたら」というのは、その時は
method("str2");で、(1)(3)(4)のどれもが呼ばれますよね、
シグナチャとしてはマッチしてますよね、
ということの単なる確認(思考実験)です。
実際には(1)(3)(4)をオーバーロードメソッドとして書いて、
(1) public void method(String... s) {}
(3) public void method(String s) {}
(4) public void method(String s,int... i) {}
それからmethod("str2");します。
その時(1)が呼ばれるらしい事は分かっているのですが、
じゃ、(1)を削ったら(3)(4)どっち?と。
で、そもそもどういう検索順なの?と。
という事なんです(^^;
--
リンクは、見てみました(どうもありがとうございます)が、
第一引数から可変長をアーリーアクセス扱いの時期の
記事のようで・・・
可変長引数のあるオーバーロードメソッドの検索順の定義
までは追求なさってないようでした。
0006987,993
2008/01/13(日) 01:18:51というのもわかってません(^^;
0007デフォルトの名無しさん
2008/01/13(日) 03:14:35文字列から数字だけを取り出そうとすると
at java.long.Integer(Integer.java …) ってエラーがでます。
ボタンが押されたらサイトにアクセスしてhttpの文字列から数字だけを取り出すプログラムです
0008デフォルトの名無しさん
2008/01/13(日) 03:20:220009デフォルトの名無しさん
2008/01/13(日) 04:09:48いつになったらsunは符号なし整数を使えるようにしてくれますか?
バイナリデータ扱うとすごく大変です。
0010デフォルトの名無しさん
2008/01/13(日) 04:10:14http://www-06.ibm.com/jp/software/websphere/developer/j2se/guide/pdf/j2se5.pdf
の39ページ。
大本に当たりたいのなら
http://jcp.org/en/jsr/detail?id=201
> その時(1)が呼ばれるらしい
いや(3)。>>4の説明を読んで何故(1)だと思うの?
0011デフォルトの名無しさん
2008/01/13(日) 07:22:24NodeList の長さが変ったりするバカ仕様は何なの?
0012デフォルトの名無しさん
2008/01/13(日) 07:38:071999 年頃だったかな。IBM の何とかという日本人 (後に AlphaWorks に逝った) が Java の
お勉強に作った xml4j と言う XML パーサがデファクトスタンダードとして世に広まってしまって、
その頃からそういう動きだったよ。その後 Apache に引き継がれ Xerces と名を変え、今の
JDK の標準 XML 実装として使われている。だから XML 関連 API の C 臭さ、使いにくさ、
挙動の不自然さ全てこの日本人のせい。
0013デフォルト
2008/01/13(日) 09:35:550014デフォルトの名無しさん
2008/01/13(日) 09:47:44仕事してません><
0015デフォルトの名無しさん
2008/01/13(日) 11:11:520016デフォルトの名無しさん
2008/01/13(日) 12:12:14情報工学の本見れば必ず書いてある。
0017デフォルトの名無しさん
2008/01/13(日) 13:42:150018デフォルトの名無しさん
2008/01/13(日) 13:50:23(例: 0x80 → 0xFFFFFF80)。そのままビット論理和やビット論理積取ると想定外の結果に
なるから、byte → int 格上げ時には必ず 0xFF でマスクしてやる必要がある。
だがこれを忘れてもコンパイルは通るし、負にならない限りは正しく動いてしまうからちょっと厄介。
0019デフォルトの名無しさん
2008/01/13(日) 13:55:280020デフォルトの名無しさん
2008/01/13(日) 13:59:140021デフォルトの名無しさん
2008/01/13(日) 14:07:02普通はbyteのままでやるもんじゃないのか?
0022987,993
2008/01/13(日) 14:10:39ありがとうございます!
確かに・きっちり一致・autoboxing・可変長引数の順に拡張して
探していくとありますね。langspec-3.0.pdfの本ネタの方にも
phase1,2,3で上記検索をしていくことが
15.12.2 Compile-Time Step 2: Determine Method Signatureに
書いてありました。助かりました!
0023987,993
2008/01/13(日) 14:12:00QUESTION: 118
class Alpha {
public void foo(String... args)
{System.out.print("Alpha:foo ");}
public void bar(String a)
{System.out.print("Alpha:bar ");}
}
class Beta extends Alpha {
public void foo(String a)
{System.out.print("Beta:foo ");}
public void bar(String a)
{System.out.print("Beta:bar ");}
public static void main(String[] argv) {
Alpha a = new Beta();
Beta b = (Beta)a;
a.foo("test");b.foo("test");
a.bar("test");b.bar("test");
}
}
answer:
Alpha.foo Beta.foo Beta.bar Beta.bar
とあったからです。
Alphaのfooはstaticじゃないです。煙が出るほどみましたから(笑)。
0024987,993
2008/01/13(日) 14:13:16今回みたいにここの個所しか定義の記述がある分けないというところまで
たどり着けないでいました。
ありがとうございます。
これは、一般化すると仕様の読みが足りないだけなので、
wikiはいいですよね。actualtests警告という事はあるかもですが。
ほんとうにありがとうございます。
0025デフォルトの名無しさん
2008/01/13(日) 14:17:40byte 対 byte のビット論理演算は int。まぁ大抵はシフト演算 + ビット論理演算で併せて使うから、
想定外のところのビットが立ってるとおかしな結果になる。
一般的なのだと 4 バイト整数のバイトオーダー変換とか、8 ビットバイトバイナリを 6 ビットずつ
整数化するような処理考えてみ。
0026987,993
2008/01/13(日) 14:18:450027デフォルトの名無しさん
2008/01/13(日) 16:49:09バイナリ演算のつもりでやってても、式中で暗黙に int へ変換されてたりしてハマる事は結構多い。
バイナリをいじるコードを書くときは、しつこく ( b & 0xff ) と書いておいた方が無難。
というか、普通にこれはJavaの言語仕様が腐ってると思うんだけど、こういう仕様である必然性って何かあるのかね。
0028デフォルトの名無しさん
2008/01/13(日) 16:52:33余計にモヤっとすることの方が多いかも知れんが。
0029デフォルトの名無しさん
2008/01/13(日) 19:05:300030デフォルトの名無しさん
2008/01/13(日) 19:10:000031デフォルトの名無しさん
2008/01/13(日) 19:41:461. 文末にセミコロンが入っているかチェック。
2. str に正しい値が入っているかをチェック。
3. a を正しく使用しているかチェック。
つーか valueOf(String).intValue() とかやるくらいなら parseInt() 使え。
0032デフォルトの名無しさん
2008/01/13(日) 19:50:00それって、Cでバッドノウハウが使えちゃうことを説明しているだけで、
Javaで警告すら出ない理由にはなってないような・・・。
0033デフォルトの名無しさん
2008/01/13(日) 20:18:29何に対してどういう警告を出せと言ってるの?
0034デフォルトの名無しさん
2008/01/13(日) 20:24:520035デフォルトの名無しさん
2008/01/13(日) 21:10:21クラスやら継承やらが、複雑で…というか
スパゲッティプログラムになりやすい?じゃヴぁって
なんか、.がつくたびに、クラス見て戻って先に進めない。疲れる
0036デフォルトの名無しさん
2008/01/13(日) 21:34:030037デフォルトの名無しさん
2008/01/13(日) 21:45:32一般的にはJavaのほうがスパゲッティになりにくい。
>>35が書きづらく思ってるのは単に慣れてないだけ。
下の方は、EclipseなりNetBeansなりでコードアシスト使えばいい。
あと、文面からしてクラスや継承を使いすぎてる感じがする。
必要のないところにまでそういう機能を使う必要はない。
Cからの人なら、最初はC的に書いて、徐々にOOPに置き換えていけば一番楽だと思う。
0038デフォルトの名無しさん
2008/01/13(日) 21:48:03new File(".").getAbsoluteFile();
で取得出来ると思っていたのですが
cd /hoge
/usr/java/jrexxx/bin/java -jar /usr/local/XXX.jar
で取得出来たのはカレントディレクトリの/hogeでした・・・。
0039デフォルトの名無しさん
2008/01/13(日) 22:09:340040デフォルトの名無しさん
2008/01/13(日) 22:16:27ありがとうございます
System.getProperty("java.class.path")から無理やり取るか思案中です。
それとも.shとか.batとか用意してjarと同階層から起動すれば良いのか・・・鬱だ。
0041デフォルトの名無しさん
2008/01/13(日) 22:18:28現在googleカレンダーのjava用apiを勉強しているのですが、ライブラリのimport
ができなくて困ってます。
コンパイルの際、必要なjarファイル(gdata-client-1.0.jarとgdata-calendar-1.0.jar)
はちゃんと指定してるつもりですがimportしたパッケージが存在しませんというエラー
が出てコンパイルが出来ません。
(コンパイルのコマンド)
javac -classpath /home/〜/gdata-client-1.0.jar:/home/〜/gdata-calendar-1.0.jar GCAccessor.java
(エラーメッセージ例)
パッケージcom.google.gdata.dataは存在しません
・・・
開発環境はOSはVineLinux4.1、jdkは1.6.0_03です。
ちなみに同じコードをwindowsでやった場合はコンパイル・実行できましたが
linuxではコンパイルすらできません・・・。
ネットでいろいろ調べたのですが、原因が分かりませんでした・・・。
ここなら詳しい方がいそうなので、どなたか原因の分かる方教えていただけないでしょうか?
0042デフォルトの名無しさん
2008/01/13(日) 22:21:26ありがとー
今、入門書系を片手に、チマチマサンプル弄くってる。
どうも、Cで慣れすぎてて。
privateやらそこらは理解できたけど、継承やらのところでウワー、うぜーとおもて
0043デフォルトの名無しさん
2008/01/14(月) 01:05:22System.out.println(MyClass.class.getResource(MyClass.class.getName().replace('.', '/')));
0044ぽっぽ
2008/01/14(月) 01:25:11BufferedReader rd = new BufferedReader(new InputStreamReader(System.in,1)); //第二引数のバッファサイズを1で指定
String str = rd.readLine();
System.out.println(str); //strの内容を表示
↑の文で入力した内容を表示させたとします。
で、一行目でバッファのサイズを1で指定してるので、
1文字しか読込めないプログラムになったと思うのですが、
最後のprintで確認すると入力した分がそのまま表示されます。
バッファサイズが1なので abcdefg と入力すると
a だけが表示されると思ったのですが、何か理解が間違ってますか?
0045デフォルトの名無しさん
2008/01/14(月) 01:28:52バッファサイズを何だと思ってるの?
0046デフォルトの名無しさん
2008/01/14(月) 01:39:35バッファサイズというのは一度に読み込める量を決めるもので、それを超えて読み込めない
という制限をつけるものではない。
100 バイトのデータ読むのに 5 バイトのバッファを用意すれば 20 回も I/O が発生して
効率が悪いが、100 バイトのバッファなら 1 回で読み込める。逆に 1000 バイトのバッファは
使わないメモリ 900 バイト分の無駄。
0047デフォルトの名無しさん
2008/01/14(月) 01:43:31str を洗濯機、入力した文字列を風呂の残り湯、
バッファサイズをバケツの容量と考える。
洗濯に必要な水が30リットルだったとする。
これに対してバケツの容量は5リットルだとしよう。
さて、君はあきら君にバケツを使って
洗濯機に風呂の残り湯を汲み移すように言いつけた。
バケツで5リットルしか汲めないので、
あきら君は洗濯機には5リットルを移して作業を完了した。
あきら君の仕事に満足できないと思えるなら
1文字だけ読み込むという動作が正しくないと理解できるはず。
0048デフォルトの名無しさん
2008/01/14(月) 01:47:170049デフォルトの名無しさん
2008/01/14(月) 01:49:02それを言うなら、
仕事はあきら君ではなくポンプに行わせるべきだ
じゃね?
0050ぽっぽ
2008/01/14(月) 01:50:35strに格納できる文字数の上限かと誤解してました。
先輩方ありがとうございます。
0051デフォルトの名無しさん
2008/01/14(月) 01:53:33質問者の期待する結果から違ってるんだからそんな例は意味がない。
0052デフォルトの名無しさん
2008/01/14(月) 02:41:07ソースを使え、ルーク。
0053デフォルトの名無しさん
2008/01/14(月) 07:47:24NodeListってDOMの?
それならDOMのNodeListはライブオブジェクトだから。
変更はすぐさま反映される。そういう仕様。
0054デフォルトの名無しさん
2008/01/14(月) 08:10:45XPath で取得した NodeList では反映さないので、仕様として甘いといわざるをえんがな。
0055デフォルトの名無しさん
2008/01/14(月) 08:25:510056デフォルトの名無しさん
2008/01/14(月) 08:52:56現実的なわけないんだから、NodeList を live とした時点で仕様が破綻してるのも分からんのか。
0057デフォルトの名無しさん
2008/01/14(月) 08:55:100058デフォルトの名無しさん
2008/01/14(月) 08:59:130059デフォルトの名無しさん
2008/01/14(月) 09:03:520060デフォルトの名無しさん
2008/01/14(月) 09:04:010061デフォルトの名無しさん
2008/01/14(月) 09:19:120062デフォルトの名無しさん
2008/01/14(月) 09:23:09仕様の問題か実装の問題かで何でいきなり W3C までエスカレーションすんだよw アホ?
0063デフォルトの名無しさん
2008/01/14(月) 09:33:14「俺たちは崇高な活動家。ありがたい API 作ってやったから勝手に
実装して使っとけ。実装側から提案なんてありえないw」 臭がとても強いところ。
0064デフォルトの名無しさん
2008/01/14(月) 09:46:46キャリア官僚が省庁や特殊法人渡ってるのとよく似てる。
0065デフォルトの名無しさん
2008/01/14(月) 11:02:17メソッドだか関数だかに変数を引数として渡した時、
呼び出し先でその引数に変更を加えることで、元の変数も同様に変化させるには
どうすれば出来たんでしたっけ。戻り値を使ったわけではなかったと思います。
0066デフォルトの名無しさん
2008/01/14(月) 11:11:09可変オブジェクトを、複製せず、そのままメソッドに渡せば良い。
0067デフォルトの名無しさん
2008/01/14(月) 11:18:070068デフォルトの名無しさん
2008/01/14(月) 12:51:57それってもしかして、CやC++のポインタに相当する?
0069デフォルトの名無しさん
2008/01/14(月) 12:53:49どうすればいいでしょう?
0070デフォルトの名無しさん
2008/01/14(月) 13:11:47JTableModel#isCellEditable
0071デフォルトの名無しさん
2008/01/14(月) 13:35:54ありがとうございます。
一般的に参照渡しって言われるようなものですね。
0072デフォルトの名無しさん
2008/01/14(月) 13:41:24早速のレスありがとうございます。
JTableModel#isCellEditable
とは、TableModeインターフェイスのisCellEditableを使えということでしょうか?
isCellEditableメソッドを調べますと
rowIndex、columnIndex に位置するセルが編集可能な場合に true を返します。
と出てきました。
import java.awt.*;
import javax.swing.*;
class JTableTest extends JFrame {
JTableTest() {
getContentPane().setLayout(new FlowLayout());
JTable tb = new JTable(3, 3);
tb.setValueAt("あああ", 0, 0);
tb.setValueAt("いいい", 1, 1);
tb.setValueAt("ううう", 2, 2);
JScrollPane sp = new JScrollPane(tb);
sp.setPreferredSize(new Dimension(230, 80));
getContentPane().add(sp);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("JTableTest");
setSize(250, 120);
setVisible(true);
}
public static void main(String[] args) {
new JTableTest();
}
}
とした場合 A列を、選択編集クリックすべて不可にしたいのですが、どうすればいいでしょうか?
0073てきとう
2008/01/14(月) 13:44:09public boolean isCellEditable(int r, int c){
return (r != 0);
}
};
0074デフォルトの名無しさん
2008/01/14(月) 13:59:30JTable tb = new JTable(3, 3);
を
JTable tb = new JTable(3, 3){
public boolean isCellEditable(1,1){
return (1 != 0);
}
};
と変えてみましたがコンパイルエラーになってしまいました。
以下エラーメッセージ
JTableTest.java:9: 型の開始が不正です。
public boolean isCellEditable(1,1){
^
JTableTest.java:11: <identifier> がありません。
}
^
エラー 2 個
しつこくて申し訳ありませんが、よろしくお願いします。
0075てきとう
2008/01/14(月) 14:03:59JTable tb = new JTable(new DefaultTableModel(3, 3){
boolean isCellEditable(int row, int column){
return (column != 0);
}
});
0076デフォルトの名無しさん
2008/01/14(月) 14:05:16(思わずカエレ!!と言ってしまいそうになる)
それは無名クラスの定義文です。
内部クラス > 無名クラス(途中)
ttp://www.javaroad.jp/java_class15.htm
>>75
有るにはありますが、挙動に注意です。
0078デフォルトの名無しさん
2008/01/14(月) 18:26:56GUIを作りながら勉強できるサイトとかありますか?
0079デフォルトの名無しさん
2008/01/14(月) 18:39:59http://java.sun.com/docs/books/tutorial/uiswing/index.html
日本語版ってあるんだっけ…?
0080デフォルトの名無しさん
2008/01/14(月) 18:44:24ほんとの初心者向けのが助かります
0081デフォルトの名無しさん
2008/01/14(月) 19:15:310082デフォルトの名無しさん
2008/01/14(月) 19:24:31宣伝乙。どこにGUIの話が載ってるの?
http://book.mycom.co.jp/MYCOM/html/book/978-4-8399-2681-6/index/978-4-8399-2681-6.html
0083デフォルトの名無しさん
2008/01/14(月) 19:52:560084デフォルトの名無しさん
2008/01/14(月) 19:58:440085デフォルトの名無しさん
2008/01/14(月) 20:24:46コマンドプロンプトでjava -version 入れたら
Error: could not open `C:\Program Files\Java\j2re1.4.2_16\lib\i386\jvm.cfg'
こんなエラーが表示されます。
J2SDKを1.4.2.16→1.4.2.10と変えたらこんな事に・・・
どうすればよいのやら・・・
0086デフォルトの名無しさん
2008/01/14(月) 20:39:04たぶん環境変数の問題だと思うけど、
取り敢えずコントロールパネルの中の"Java"を起動してみて
期待する設定になってるか見てみたら?
0087デフォルトの名無しさん
2008/01/14(月) 20:44:530088デフォルトの名無しさん
2008/01/14(月) 20:45:350089デフォルトの名無しさん
2008/01/14(月) 20:57:15コントロールパネルにJava Plug-in があって
それ起動しようとしたらエラー・・・
>>88
バージョンダウンです
0090sage
2008/01/14(月) 21:11:26the time zone update file
がダウンロードできない(T_T)
Welcome xxx | Logout
[continue]
先に進まない
0091デフォルトの名無しさん
2008/01/14(月) 21:14:05たぶん、ごみが残るからごみは手動で消す。
0092デフォルトの名無しさん
2008/01/14(月) 21:14:390093デフォルトの名無しさん
2008/01/14(月) 21:57:1785です。解決しました。
1_4_2_10や1_4_2_16はうまくいかなかったです。
なぜうまくいかないのか今はわかりません。今後調べてみます。
ひとまずアンインストールを行った後、1.5.0_14をインストールし、
ユーザ環境変数のみ
PATH
C:\Program Files\Java\jdk1.5.0_14\bin
に設定して、
javac
java -version
の確認がとれました。
ありがとうございました。
0094デフォルトの名無しさん
2008/01/14(月) 22:04:270095デフォルトの名無しさん
2008/01/15(火) 04:51:510096デフォルトの名無しさん
2008/01/15(火) 04:56:49・Stringには色はありません。
・標準入出力には色を付けられません。
・Graphics.setColorを使えばいいと思うよ。
・何十回も質問を読み直してから来ればいいと思うよ。
0097デフォルトの名無しさん
2008/01/15(火) 05:06:320098デフォルトの名無しさん
2008/01/15(火) 06:24:40勘で。
http://pc11.2ch.net/test/read.cgi/tech/1196543694/354
0099デフォルトの名無しさん
2008/01/15(火) 07:22:050100デフォルトの名無しさん
2008/01/15(火) 07:24:220101デフォルトの名無しさん
2008/01/15(火) 07:28:530102デフォルトの名無しさん
2008/01/15(火) 07:59:240103デフォルトの名無しさん
2008/01/15(火) 09:50:350104デフォルトの名無しさん
2008/01/15(火) 10:25:540105デフォルトの名無しさん
2008/01/15(火) 10:35:26ここのシューティングのJAVA版が動かないんですが。どうしたら動きますか?
0106デフォルトの名無しさん
2008/01/15(火) 12:13:480107デフォルトの名無しさん
2008/01/15(火) 12:53:22クイックスタートに載ってる
File parserLibraryFile = new File("./native/bin/MozillaParser" + EnviromentController.getSharedLibraryExtension());
String parseLibrary = parserLibraryFile.getAbsolutePath();
MozillaParser.init(parseLibrary, "C:\\dapper\\mozilla\\dist\\bin");
Document domDocument = MozillaParser.getInstance().parse("<html>Hello world!</html>");
MozillaParser.getInstance().stopRunning();
がうまく動きません
Pathなどは通してありMozillaParserそのものは呼び出せますが
メソッドが呼び出せません
ひょっとして仕様変ってますか
0108デフォルトの名無しさん
2008/01/15(火) 12:56:550109デフォルトの名無しさん
2008/01/15(火) 13:21:59標準 GUI コンポーネント作れよというチラ裏。
0110デフォルトの名無しさん
2008/01/15(火) 13:37:250111デフォルトの名無しさん
2008/01/15(火) 13:48:40NodeListの動作はW3C DOMが決めているものだから、xml4j云々は関係な
いでしょ。W3C DOMの仕様だって、IEとMozillaのJavaScript DOMの挙動
を明確化するところから始まったものだし。
0112デフォルトの名無しさん
2008/01/15(火) 15:17:41エクリプスで普通に実行できるプロジェクトが、DOSからjreで起動しようとするとシンボルが見つかりませんエラーを頻発するのは何が原因と考えられますか?
ちなみにjavacをやっても、同じ数だけ、クラスが見つからないよエラーが出ます。
0113デフォルトの名無しさん
2008/01/15(火) 15:20:110114デフォルトの名無しさん
2008/01/15(火) 16:05:05サンプルみながら弄くってるのですが
ボタン押したら終了するようなのって
このソースのどこら辺をどう変えたらいいですか
0115デフォルトの名無しさん
2008/01/15(火) 16:10:00jframe.setDefaultCloseOperation(jframe.DO_NOTHING_ON_CLOSE);
JavaDoc、JFrameのsetDefaultCloseOperationの項目を嫁
0116デフォルトの名無しさん
2008/01/15(火) 16:10:54終了ボタンなら終了動作をすれ
0117デフォルトの名無しさん
2008/01/15(火) 16:17:12すんません、どうやって判定するんですか
0118デフォルトの名無しさん
2008/01/15(火) 16:17:370119デフォルトの名無しさん
2008/01/15(火) 16:49:14Main.java A.java B.java のようにクラスごとにファイルを分割しているもの
見るのですが、どのように分割したファイルを関連付けすればいいのでしょうか
例えばMenuItem等の基本的機能を実装したMain.javaに、
JTreeを実装したA.java、TextAreaを実装したB.javaを追加するような形です
0120デフォルトの名無しさん
2008/01/15(火) 16:52:030121デフォルトの名無しさん
2008/01/15(火) 16:57:19・MainでMainメソッド等を作った
・A,BでMainメソッド込みで必要な機能をそれぞれ作った
↑
これをMainに関連付けるにはどうしたらいいのでしょうか
0122デフォルトの名無しさん
2008/01/15(火) 17:00:460123デフォルトの名無しさん
2008/01/15(火) 17:01:32intの配列を、リストに変換するライブラリはないでしょうか?
commons にありそうな気がするのですが。
Arrays.asList() を使ったのですが、
intの配列だと、配列全体を一要素とするリストができてしまいます。
java.util.Arrays.asList(new int[]{1,2,3})
=> (java.util.Arrays$ArrayList<E>) [[I@18f6235]
Integerの配列なら、そのままリストに変換されるのですが。
java.util.Arrays.asList(new Integer[]{1,2,3})
=> (java.util.Arrays$ArrayList<E>) [1, 2, 3]
0124デフォルトの名無しさん
2008/01/15(火) 17:04:210125デフォルトの名無しさん
2008/01/15(火) 17:11:56一発変換じゃないけど、commons lang の
Integer[] org.apache.commons.lang.ArrayUtils#toObject(int[])
とかで、いったんInteger[]に変換してからArrays#asList()で変換するとか。
0126デフォルトの名無しさん
2008/01/15(火) 17:14:33「関連付ける」っていう表現がJava歴12年の私によくわからない。
何を心配しているのだ?
0127デフォルトの名無しさん
2008/01/15(火) 17:15:42for(int i: array){
list.add(i);
}
なぜこの程度のコードのために非標準ライブラリを使おうとするんだ?
0128123
2008/01/15(火) 17:27:31おお、これでOKです!ありがとうございます。
http://commons.apache.org/lang/api/org/apache/commons/lang/ArrayUtils.html#toObject(int[])
>>127
まあループをなるべく書かないのがポリシーなのだと思ってください。
LISPで再帰せずにmapを使うようなものです。
commons-langは、まずどんなプロジェクトでも使わないことはないし。
0129123
2008/01/15(火) 17:39:13リストに変換したかったのです。配列#.toString()と違い、List#toString()は
各要素を出力してくれますので。
ロギングのためにわざわざループを書いたり、その後使うあてのない諸々の変
数を宣言したりするのは煩雑ですが、これなら一行ですみます。
log.debug("x = " + Arrays.asList(ArrayUtils.toObject(xarray)));
0130デフォルトの名無しさん
2008/01/15(火) 17:41:350131デフォルトの名無しさん
2008/01/15(火) 17:51:26そーゆー用途なら java.util.Arrays#toString(int[]) でも良いのでは?
もっとも、1.5以上じゃないと使えないけど。
0132デフォルトの名無しさん
2008/01/15(火) 18:05:40static final
static
の使い分けがわかりません。
final float TEST = 1.0f;
static final float TEST = 1.0f;
static TEST = 1.0f;
どういう状況・どういう時に使い分けるのですか?
0133デフォルトの名無しさん
2008/01/15(火) 18:13:45メンバ変数の話だとすると、
final
変更できないメンバに付ける。コンストラクタで初期化することはで
きるので、あるインスタンス内でのみ有効な実行時定数として使う
static final
そのクラスの全インスタンスに共通の定数として使う
static
そのクラスの全インスタンスに共通の変数として使う
0134デフォルトの名無しさん
2008/01/15(火) 18:17:52ありがとうございます。
static final は Cでいうと #define みたいなものと捕らえて大丈夫ということでしょうか?
0135デフォルトの名無しさん
2008/01/15(火) 18:23:12そんな感じですね。
例を思いついたので書いてみる
class 人間 {
static final int 足の数 = 2; // 足の数は全人類共通
static int 人口;
final String 名前; // 名前は一度決めれば変わらない
人間(String n) {
名前 = n;
}
void 出生() {
人口++;
}
void 死去() {
人口--;
}
}
0136デフォルトの名無しさん
2008/01/15(火) 18:24:23って昔言われたな
0137デフォルトの名無しさん
2008/01/15(火) 18:26:21わかりやすい例で納得できました
ありがとうございます
0138123
2008/01/15(火) 18:36:34> そーゆー用途なら java.util.Arrays#toString(int[]) でも良いのでは?
> もっとも、1.5以上じゃないと使えないけど。
おおお!全然知りませんでした!ありがとうございます。
早速これに乗り換えます。
0139デフォルトの名無しさん
2008/01/15(火) 18:41:14カタワは人間でないt(ry
0140デフォルトの名無しさん
2008/01/15(火) 19:23:05カタワは基本構造から差し引かれているわけだから2本って定義は間違ってないよ。
0141デフォルトの名無しさん
2008/01/15(火) 19:48:07このメソッドはSelector#selectの待ち合わせを解除するものですが、
動かしてみたところ、
Selector#selectで待ち合わせていないときに(複数回)Selector#wakeup
を呼び出すと呼ばれた回数だけ次のSelector#selectで待ち合わせをしなくなるように見えますが
そういうものですかね?
0142デフォルトの名無しさん
2008/01/15(火) 20:05:46>List#toString()は
>各要素を出力してくれますので。
そうとは限らない。おまいは何か勘違いしている。
Listの実装に何を使うかによって違う。
0143デフォルトの名無しさん
2008/01/15(火) 21:16:48class Super {}
class Sub extends Super {}
public class Main {
static void test1() {
List<? extends Super>s = new ArrayList<Sub>();
s.add(new Super()); //あ
s.add(new Sub()); //い
}
static void test2() {
List<? super Sub>s = new ArrayList<Super>();
s.add(new Super()); //う
s.add(new Sub()); //え
}
public static void main(String args[]) {
test1();
test2();
}
}
上記コードの あ・い・う・え すべて「シンボルを見つけられません。」というエラーになるんですが
本には あ・い はエラー、う・え はOKって書いてあるんです。
これて、本が間違ってるんでしょうか?それとも何かコンパイラーの設定とかあるんでしょうか?
本はソフトバンククリエイティブの 「 Java2 Exam 310-055 」で、336ページです。
ここだけがどうしても理解できないので、スッキリしたいです。
0144デフォルトの名無しさん
2008/01/15(火) 21:32:510145デフォルトの名無しさん
2008/01/15(火) 22:30:40http://java.sun.com/javase/ja/6/docs/ja/api/java/nio/channels/Selector.html#wakeup()
>ある選択操作から次の選択操作までの間にこのメソッドを 2 回以上呼び出しても、
>1 回だけ呼び出したときと同じ結果になります。
ってあるから、もしそうだとしたらバグかな?
どうでもいいとは思うが
0146デフォルトの名無しさん
2008/01/15(火) 22:34:42eclipseなどだと、ソーエディタの変数名にマウスカーソルを合わせたりすると「型名 変数名 -クラス.メソッド」
という感じで表示されますよね?
この文字列ってどうにかして取得できませんか?イメージとしては
元のJavaのソースコードを食わせて、すべての変数に対して「型名 変数名 -クラス.メソッド」
が取得できればいいです。
eclipseはJavaで書かれていると聞いたので、こういったことを処理するクラスがあるのでしょうか?
0147デフォルトの名無しさん
2008/01/15(火) 22:39:24リフレクションAPIを使うといいよ
0148デフォルトの名無しさん
2008/01/15(火) 22:40:23Eclipseのプラグインを作ってEclipse(というかJDT)の機能を使うって手もあるけど・・・
そのJavaのソースコードを普通にコンパイルして、実行時にリフレクションで取得する方が簡単と思う
たとえばAっていう名前のクラスなら A.class.getDeclaredMethods() とか
0149デフォルトの名無しさん
2008/01/15(火) 22:41:14できねーよ。自分でパーサー組んでコンテキスト分析すれ。
0150デフォルトの名無しさん
2008/01/15(火) 22:42:28早速のご回答ありがとうございます
大変恐縮なのですが、そのAPIはどのパッケージにあるか教えていただけますか?
0151デフォルトの名無しさん
2008/01/15(火) 22:44:430152デフォルトの名無しさん
2008/01/15(火) 22:53:16それなら、classファイルのデバッグ情報を読む・・・ちょっと手間だな
0153デフォルトの名無しさん
2008/01/15(火) 23:35:59ダブルクリック。
0154デフォルトの名無しさん
2008/01/16(水) 00:01:28本の通りで、コンパイルエラーになるなら本が間違ってる。
もしくは、本の説明が足りない。もしくは、本にとってあなたは想定外の人物。
私の環境だと「え」以外はエラー。
0155デフォルトの名無しさん
2008/01/16(水) 01:03:42Javaの理論と実践: Generics、了解!
(初級:ただし、JDK 5.0でのgenericの基本に慣れている必要がある)
ttp://www.ibm.com/developerworks/jp/java/library/j-jtp01255/
0156デフォルトの名無しさん
2008/01/16(水) 13:20:37Main.java
……
static int hogehoge = 1;
static A a = new A();
static B b = new B();
……
a.starting();
A.java
class A {
public void starting() {
int i = Main.hogehoge;
Main.b.ending(i);
……
}
}
試せ。適当に書いてみてエラーが出なければ多分正しい
0157デフォルトの名無しさん
2008/01/16(水) 15:01:17動画の描画のような、毎秒数十回呼び出されるループ内で、ArrayListをIteratorで回してます。その一方で、別スレッドからこのArrayListに追加するためのメソッドがあります。
(例)--------------
ArrayList<Hoge>() hoge = new ArrayList<Hoge>();
loop(){ // 毎秒数十回呼び出すループ
Iterator<Hoge> it = process.iterator();
while(it.hasNext()){
Hoge h = it.next();
if(!h.loop()){ // Hoge内のループがfalseを返したら削除
it.remove();
}
}
}
public void addHoge(Hoge h){
hoge.add(h)
}
------------------
こういう場合にIteratorループでConcurrentModificationExceptionが起こらないようにするには、どうすれば良いのでしょうか?
synchronized修飾子で囲ってみたり、Collections.synchronizedList使ってみたりと色々試したのですが、どうしてもConcurrentModificationExceptionが起こってしまいます。
大人しくVector + Enumerationを使ったり、for(int i = 0; i < hoge.size(); i++) で回せば解決するのですが、Iteratorでの解決策が無いはずは無いと思うのです・・・。
0158デフォルトの名無しさん
2008/01/16(水) 15:15:37addの中をsynchronized(hoge)で
くくる?
http://www.nextindex.net/java/thread/syncblock.html
0159デフォルトの名無しさん
2008/01/16(水) 15:17:190160デフォルトの名無しさん
2008/01/16(水) 16:34:58今は会社員ですが、辞める予定ですので、早く覚えたいのです。
0161157
2008/01/16(水) 16:47:54そしてすいません、4行目の
Iterator<Hoge> it = process.iterator(); は、
↓
Iterator<Hoge> it = hoge.iterator();
の間違いでした。
>> 158さん
ありがとうございます。
どちらのメソッドもsynchronizedブロックで括るということですね。
むむむ、しかし試してみたところ、やはりadd後に即、loop内でConcurrentModificationExceptionが起こってしまいました。
ArrayListをiteratorで回してる最中は、追加・削除等の処理は一切行っちゃダメってことなんですかね。何か凄く不便に感じます。
多分、僕が無知なだけなんだろうとは思いますが・・・。
>>159さん
やや!並行処理用のコレクションがあったとは知りませんでした。
パフォーマンスも満足行くものみたいですね。
ありがとうございます、活用してみます。
やはり、並行処理するならば、ArrayListにこだわるのは良くないということなんでしょうかね。
MapにはConcurrentHashMapがあるようですね。以下のサイトを参考にしました。
ttp://www.itarchitect.jp/technology_and_programming/-/24161.html
返答ありがとうございます。
0162デフォルトの名無しさん
2008/01/16(水) 16:51:04API を読みましょう。ってことなのでしょうか
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Collections.html
0163デフォルトの名無しさん
2008/01/16(水) 16:57:34List list = new ArrayList() {
@Override
public Iterator iterator() {
ArrayList list = new ArrayList(this);
return list.iterator();
}
}
0164デフォルトの名無しさん
2008/01/16(水) 20:20:230165デフォルトの名無しさん
2008/01/16(水) 23:17:07it.remove();
0166デフォルトの名無しさん
2008/01/17(木) 09:41:33色々種類がありすぎてどれから始めるのが良いのか分かりません。
おすすめとかありますか?
ちなみに、僕のスペックです。
・経験言語
Perl(4年)/PHP(3年)
Ruby(半年)/C(半年)
JavaScript(1年)
0167デフォルトの名無しさん
2008/01/17(木) 09:54:15開発環境なら Java SE 6.0 + Eclipse 3 使っとけ。
GUI なら Swing (Java SE 標準) 使っとけ。
Web 系なら Tomcat 使っとけ。
データベースなら PostgreSQL 使っとけ。
i-Appli, ゲームは知らん。
0168デフォルトの名無しさん
2008/01/17(木) 10:40:08得意分野から入るってならばSeasar2あたりでJ2EEをやる
Ruby(Rails)やったことあるならば大雑把には感覚つかめる筈
まったく知らない分野に手を伸ばしたいならばSocket通信とSwingあたりがいいかと思われ。
簡単なチャットプログラムあたりを作成するのがちょうどいい
0169デフォルトの名無しさん
2008/01/17(木) 14:43:05含まれていないようなのですが、これらは、他のライブラリに入っているのでしょうか?
それとも、JDBC 4.0仕様から削除されたのでしょうか?
0170デフォルトの名無しさん
2008/01/17(木) 15:27:49その後は知らん。
0171デフォルトの名無しさん
2008/01/17(木) 15:30:36MySQL勧めとけ
http://internet.watch.impress.co.jp/cda/news/2008/01/17/18139.html
0172デフォルトの名無しさん
2008/01/17(木) 15:37:090173デフォルトの名無しさん
2008/01/17(木) 16:45:23以下のようなみたいなコードがあったとき、
FileInputStream fis = new FileInputStream("hoge.txt");
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
今まで以下のように書いていました。
br.close();
isr.close();
fis.close();
ところでピアソンの「プログラミング言語Java 第4版」p.450(20.4 InputStreamReader と OutputStreamReader という節)
をみると、以下の記述があります。
>どちらの場合も、変換ストリームをクローズすると、関連付けされているバイトストリームもクローズされます。
>標準ストリームを変換するような場合には、クローズされるのは常に好ましくはないかもしれません。
>したがって、変換ストリームをいつクローズするかは慎重に検討してください。
これをよむと、以下のように isr.close() するだけで fis も close() されるという理解でよいですか?
br.close();
isr.close();
以下のように br.close() だけだと、isr と fis は close() されないですよね。
br.close();
0174デフォルトの名無しさん
2008/01/17(木) 16:48:590175デフォルトの名無しさん
2008/01/17(木) 17:00:26br.close()だけでぜんぶクローズされるはず。
手元にソースがなくて確認はしてないけど、ストリームにかぶせるタイ
プのストリームはぜんぶclose()で中のストリームのclose()を呼んでい
たと思う。
0176デフォルトの名無しさん
2008/01/17(木) 17:08:09その文章書く時間あるならば、先にJavaDoc嫁
void close() throws IOException
このストリームを閉じ、関連付けられているすべてのシステムリソースを解放します。ストリームがすでに閉じている場合、このメソッドを呼び出しても何も行われません。
0177173
2008/01/17(木) 17:15:07どうもありがとうございます。BufferedReader のソースを見たところ、
close() の内部で、BufferedReader のコンストラクタで受け取った Reader の close() を呼んでいました。
今後プログラムを書くときは、br.close(); だけを書くようにしよう。
>>176
すみません、聞く前に javadoc 読むようにします。
ちなみに PrintWriter#close() は、Javadoc では「関連づけられているすべてのリソースを開放する」とは
書かれていませんでしたが、ソースを見ると、やはりコンストラクタで受け取った Writer をclose() していました。
0178デフォルトの名無しさん
2008/01/17(木) 17:41:491.6 のドキュメントだと、PrintWriter#close() には
「関連するすべてのシステムリソースを解放します」って書いてあるけど。
「ストリームを閉じます」だけで終わってるのは 1.4以前かな。
0179173
2008/01/17(木) 17:47:19手元にある DL 済みの javadoc は 1.5 です。(はじめのカキコ時に java のバージョンを書いておくべきでした)
「ストリームを閉じます」だけで終わっています。
やはり DL ずみの1.6 では、>>178 さんのようになっていますね。
0180デフォルトの名無しさん
2008/01/17(木) 19:31:49/*環境*/
OS:Windows xp Professional SP2
開発アプリケーション:Eclipse Version 3.3(Tomcatの起動はxampp内のTomcatを利用)
サーブレットコンテナ:Apache Tomcat 6.0(XAMPPのTomcatプラグインより利用)
Eclipseから出たメッセージ
「インポートされた javax.servlet は見つかりません。」
//Servlet.java
import java.io.*;
import javax.servlet.*; //”javax.servlet”の所で赤の波線が出る
import javax.servlet.http.*; //”javax.servlet”の所で赤の波線が出る
public class Servlet extends HttpServlet {
public void doGet (HttpServletRepuest req,HttpServletPesponse res)throws ServletException, IOException {
}
}
多分、servlet.jarか、servlet-api.jarが必要になるのだと思いますが。
これを、どのようにすれば、正常に動作させる事が出来るのか解らないです。
どうぞよろしくお願いします。
0181デフォルトの名無しさん
2008/01/17(木) 19:44:240182デフォルトの名無しさん
2008/01/17(木) 19:54:560183デフォルトの名無しさん
2008/01/17(木) 20:08:060184デフォルトの名無しさん
2008/01/17(木) 20:26:40消えないようにする方法は無いでしょうか。
POIでVBAを書き込む方法ってありますか??
0185デフォルトの名無しさん
2008/01/17(木) 20:36:22におちしたいんですが、良い方法ありますか?
0186デフォルトの名無しさん
2008/01/17(木) 20:47:060187デフォルトの名無しさん
2008/01/17(木) 22:49:01ちなみにNetBeansだとロギングAPIでコード補完されます。
0188デフォルトの名無しさん
2008/01/17(木) 23:08:31Throwableクラスに、文字列を取得するのにぴったりのメソッドがあるだろ?
0189デフォルトの名無しさん
2008/01/17(木) 23:10:360190デフォルトの名無しさん
2008/01/17(木) 23:26:540191デフォルトの名無しさん
2008/01/17(木) 23:55:22インターフェイスって、implementしたクラスで実装するんじゃないのですか?
0192デフォルトの名無しさん
2008/01/17(木) 23:58:04色々な本なんかを見てると実装している部分が見当たらないんです。
俺の認識が間違ってるだけですか?
0193デフォルトの名無しさん
2008/01/17(木) 23:58:160194デフォルトの名無しさん
2008/01/18(金) 12:11:19似通っているクラスであれ、継承せずに新しいクラスを作り、
新しいメソッドを作ればいいとか思っちゃうのですが。
効率性の問題ですか?
0195デフォルトの名無しさん
2008/01/18(金) 12:17:43君みたいな開発者のおかげで、僕の仕事があります。ありがとう。
0196デフォルトの名無しさん
2008/01/18(金) 12:18:05ヒント:ポリモーフィズム
0197デフォルトの名無しさん
2008/01/18(金) 12:19:55新しいクラスも既存のクラスも同じインタフェイスで扱いたいから
0198191
2008/01/18(金) 12:32:05例えばinit()なんですけど、
実行される内容は自分で書きますが、
「最初に実行される」という決まりはどこに定義されていて、
自分の作ったクラスにどのように継承?されているのでしょうか?
0199デフォルトの名無しさん
2008/01/18(金) 13:35:03ただの慣習
されども慣習を守らないとみんなが迷惑する
0200デフォルトの名無しさん
2008/01/18(金) 14:01:12おい!
>>198
最初にinit()を実行するという決まりは、Servlet Specificationで規定されている。
だから、Servlet仕様にきちんと準拠して実装されたServletコンテナなら
Filterとして作成され、web.xmlにFilterとして登録されたクラスの
init()メソッドを呼び出すように実装されている。
0201デフォルトの名無しさん
2008/01/18(金) 14:10:15Luceneというオープンソースの検索エンジンを使ってみたのですが、思ったよ
りパフォーマンスが出なかったので、プロファイラ hprof で分析してみました。
http://itpro.nikkeibp.co.jp/article/COLUMN/20061102/252525/
結果
CPU SAMPLES BEGIN (total = 50358) Thu Jan 17 17:43:10 2008
rank self accum count trace method
1 33.34% 33.34% 16787 300001 java.lang.Thread.run
2 33.33% 66.67% 16786 300005 java.lang.ref.Reference.getPending
3 17.58% 84.25% 8853 300364 java.io.RandomAccessFile.readBytes
4 11.94% 96.19% 6013 300777 java.io.RandomAccessFile.readBytes
5 0.33% 96.52% 167 300473 jrockit.net.SocketNativeIO.readBytesPinned
6 0.29% 96.81% 146 300537 java.lang.String.<init>
7 0.19% 97.00% 96 300536 org.apache.lucene.store.BufferedIndexInput.readByte
8 0.15% 97.15% 77 300587 org.apache.lucene.store.IndexInput.readString
9 0.14% 97.29% 69 300561 org.apache.lucene.store.IndexInput.readString
10 0.12% 97.41% 58 300578 org.apache.lucene.store.IndexInput.readString
...(略)...
てっきり java.io.RandomAccessFile.readBytes がCUP時間のほとんどを占める
かと思ったら、それは30%に満たず、java.lang.Thread.run と
java.lang.ref.Reference.getPending が全体の2/3を占めていました。
これは一体、何を意味するのでしょう?パフォーマンス改善には何をしたらい
いと思われますか?
0202デフォルトの名無しさん
2008/01/18(金) 14:11:14サーブレットコンテナを作る側と、サーブレットを作る側で
「お互いこういう決まりで作りましょうね」という規格(Servlet API)
の上で決まっているだけで、
唯一固有の実装により定義されるわけではない。
例えばTomcatなら、そのコードの中で、
Filterクラスをインスタンス化して、最初にinit()を実行し、
該当リクエストがある度にdoFilter()を実行する、
というように実装されている。
Tomcatのソース読めば見つかるはず。
これはあくまでTomcatの実装であって、
他のサーブレットコンテナ(ResinやJetty、商用ならWebSphereやWebLogicなど)なら
また別の書き方で、フィルタの扱い方が実装されているけど、
やはりServlet APIの規則に従って実装されている。
それをはずすとServlet API準拠って名乗れないからね。
繰り返すけど、この辺は、APIの仕様に定義されている。
これは文書読まないとわからない。
どのAPI使うにしろ、そういった約束事の塊に出くわすので、
慣れろと言うしかない。
0203デフォルトの名無しさん
2008/01/18(金) 15:19:230204デフォルトの名無しさん
2008/01/18(金) 16:08:31やさしいシリーズじゃなけりゃなんでもいい。
0205デフォルトの名無しさん
2008/01/18(金) 16:10:380206デフォルトの名無しさん
2008/01/18(金) 16:13:14もうすぐ新版もでるしね
はじめて工作員活動しちゃった
0207デフォルトの名無しさん
2008/01/18(金) 17:13:59考えているのですが、うまく表示されません。
1.最初は画像を背景にしたJLabelをJPanelに貼り付けて、
さらにその上に貼り付けていこうと考えていたのですが、
うまく作成することができませんでした。
(上に貼り付けたコンポーネントが正しく表示されない)
2.そこで、JPanelのpaintComponet部分でdrawImage
してみましたが、画像は描写されませんでした。
1の場合LayoutはSpringLayoutやNullで行へば回避できるのか?
そもそも2で行おうとしていることは可能なのか?
また、このような場合に行う良くある方法についてのアドバイスをお願いします。
0208デフォルトの名無しさん
2008/01/18(金) 17:43:12VectorやHashtebleなどでコンパイルすると、
注:Hashtable_sample.java の操作は、未チェックまたは安全ではありません。
注:詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください。
とでるんですが、どうすれば解決できますか?
0209デフォルトの名無しさん
2008/01/18(金) 17:48:450210デフォルトの名無しさん
2008/01/18(金) 17:49:300211デフォルトの名無しさん
2008/01/18(金) 17:49:56自己レス
2のほうでImageIcon経由Imageを作成したらうまく動きました。
もしかしたら、ロードが終わってない状態で
画像を表示しようとしていたのかもしれません。
0212デフォルトの名無しさん
2008/01/18(金) 17:55:011の方法でもちゃんと動いたぞ
import略
public class Test {public static void main(String[] args) {SwingUtilities.invokeLater(new Runnable() {public void run() {
JLabel label = new JLabel(new ImageIcon(getClass().getResource("image.png")));
label.setLayout(new FlowLayout());
label.add(new JButton("button"));
JPanel panel = new JPanel(new BorderLayout());
panel.add(label);
JFrame frame = new JFrame();
frame.add(panel);
frame.pack();
frame.setVisible(true);
}});}}
0213デフォルトの名無しさん
2008/01/18(金) 17:55:36コマンドプロンプトのことです
0214デフォルトの名無しさん
2008/01/18(金) 18:01:38もしかしてWindowsのことですか!
0215デフォルトの名無しさん
2008/01/18(金) 18:03:220216デフォルトの名無しさん
2008/01/18(金) 18:10:07Generics でぐぐるといいかもしんない
0217デフォルトの名無しさん
2008/01/18(金) 18:16:53ありがとうございます。
さっそくJwindowに変えてやっていみたのですが、動きますね。
ラベルでなくパネルのほうにコンポーネントを貼り付けようとしたせいで
背景の画像が表示されなくなっていたのかもしれません。
0218デフォルトの名無しさん
2008/01/18(金) 18:17:23javadocの開発ツールjavacの部分嫁
0219デフォルトの名無しさん
2008/01/18(金) 18:55:48javac -Xlint:unchecked Hashtable_sample.java
0220デフォルトの名無しさん
2008/01/18(金) 19:52:24<T> T getT(){
return //T型のオブジェクト生成
}
ってやりたいんだけど、どうすんの?つうかコンストラクタは引数無しじゃなきゃダメ?
0221デフォルトの名無しさん
2008/01/18(金) 20:27:090222デフォルトの名無しさん
2008/01/18(金) 20:30:37return clazz.newInstance();
}
とやるしかない
もしくはクラス名を渡すなど。
0223デフォルトの名無しさん
2008/01/18(金) 20:38:03まぁ、妥協できないとこじゃないんで別の実装考えますね。
0224デフォルトの名無しさん
2008/01/18(金) 20:53:210225デフォルトの名無しさん
2008/01/18(金) 21:02:46自分も同じようなこと考えたんだけど、コンパイルされた後には型情報ってなくなるんだよね。
あくまでコンパイル時にキャストがうまくいくってだけで、そこまで。
ただ、使い方を制限するなど、使い道は多いぜ。
<T extends HogeHoge> T getT(Class<T> clazz){
return clazz.newInstance();
}
0226デフォルトの名無しさん
2008/01/18(金) 21:03:11どうすればいいですか
0227デフォルトの名無しさん
2008/01/18(金) 21:23:150228デフォルトの名無しさん
2008/01/18(金) 21:39:000229デフォルトの名無しさん
2008/01/18(金) 21:51:140230デフォルトの名無しさん
2008/01/18(金) 22:14:29つ >>155 おすすめ
0231デフォルトの名無しさん
2008/01/19(土) 01:20:57確かにTが実行時にコンスタントプール内のクラスを指し示してる保証もできないですしね。
バイトコード弄くりじゃ結局ジェネリックス使わないし・・・結局
<T> T createT(T t){
//tが不正でないか調べる
return t;//正しいtを返す
}
って感じにしました。まぁ、超個人的なことなんで何したいのか分からないと思いますが・・・
ありがとうございました。
0232デフォルトの名無しさん
2008/01/19(土) 13:15:500233デフォルトの名無しさん
2008/01/20(日) 22:14:35ImageIcon icon = new ImageIcon(img);
jlabel.setIcon(icon);
jPanel.add(jlabel);
jlayeredPane.add(jPanel, 2);
おおざっぱですがというような方法で層状にして画像を表示しているのですが、上の6ピクセル行くらいが空白になってしまい表示できません。これを解決する方法ってありますか?
iconを使うと無理?
0234デフォルトの名無しさん
2008/01/20(日) 22:51:55JLabelの機能を使わないならば、画像表示用のコンポーネントをJComponentを継承して作るほうが楽かも
0235デフォルトの名無しさん
2008/01/20(日) 22:54:53そっちでやってみます。
ありがとうございます。できるかな。。
0236デフォルトの名無しさん
2008/01/21(月) 01:18:13http://mori.eco.to/
0238デフォルトの名無しさん
2008/01/21(月) 11:45:41setBorder(null)してみた?
0239デフォルトの名無しさん
2008/01/21(月) 12:25:380240デフォルトの名無しさん
2008/01/21(月) 15:07:500241デフォルトの名無しさん
2008/01/21(月) 15:10:190242デフォルトの名無しさん
2008/01/21(月) 15:30:11無制限強度の管轄ポリシーファイルを%JAVA_HOME%\jre\lib\securityに置いて鍵長制限解除をしようとおもったのですが・・・、
CPadからGUIを起動して暗号・複合を行うと442bitsの鍵を扱えるのですが、
それらをまとめたjarをクリックして起動したGUIではどうしても暗号・複合ができませんorz
#無制限強度の管轄ポリシーファイルの必要ない64bitsの鍵はできます。
例外処理の内容は制限を超えた長さの鍵を使った時にでるものが投げられるので、
jarで起動するとどうも無制限強度の管轄ポリシーファイルを見てない感じなのですが・・・。
教えてくださいせんせー。
0243デフォルトの名無しさん
2008/01/21(月) 16:49:40エスパーしてみると、jarをダブルクリックした時に使われるJREと、開発環境で使われるJREが異なるのが理由かと思われ
0244デフォルトの名無しさん
2008/01/21(月) 17:38:560245デフォルトの名無しさん
2008/01/21(月) 17:40:120246デフォルトの名無しさん
2008/01/21(月) 18:15:50まさにその通りでしたorz
開発環境ではjdk下のjreを参照してるのですね。勉強になりましたorz
てんてーありがとうー
//チラ裏
jdk
%JAVA_HOME%jdkx.x.x\jre\lib\security\US_export_policy.jarとlocal_policy.jar
jre(jrex.x.xは最新のjreフォルダ)
?\jrex.x.x\jre\lib\security\US_export_policy.jarとlocal_policy.jar
0247デフォルトの名無しさん
2008/01/21(月) 18:48:30それともバイトコード分析して?
0248デフォルトの名無しさん
2008/01/21(月) 20:05:210249デフォルトの名無しさん
2008/01/21(月) 20:30:390250デフォルトの名無しさん
2008/01/21(月) 22:20:59現在JAVAでRS232Cを使って通信を行なう事を行なっております。
まず現在行なっている仕様は
OS :Vine Linux 2.6.16 - 0vl160
J2SE :1.4.2_16
RXTX :2.07 i686 linux
Java Communications API :3.0 Linux
:参考サイト:
JAVA開発メモ - CommunicationsAPI
(http://www.moriwaki.net/wiki/index.php?%5B%5BCommunicationsAPI%5D%5D)
:現状:
JAVAにおいてはコンパイル・実行ともに問題無く使用できますが
RS232Cに関係するプログラムをコンパイルするとエラーが
起こります。
(http://www.ais-com.co.jp/jikken/java232c.html)でお借りしました。
雛形プログラムをコンパイルしたところ。
以下のような場所にシンボルが不明と出ました。
CommPortIdentifier
^
SerialPort.DATAITS_8....
^
実験は大学の実験室にて行なっているので
現在はエラー文をお見せできないので本当に申し上げません。
恐らくですが、rxtxかCommunicationsに問題があると思いますが
現在の所その解決策は見つかっておりません。
どなたか解かる限りでかまいませんので教えてください
よろしくお願いします。
0251デフォルトの名無しさん
2008/01/21(月) 22:31:450252デフォルトの名無しさん
2008/01/21(月) 23:01:17入れろと書いてあるがちゃんと入ってるか? また入れたディレクトリの JDK が
本当に使われてるか? 下のコマンドでも叩いて確認しる
ls `dirname \`which javac\``/../lib/ext/javacomm20-x86.tar
どうしてもダメならクラスパス設定しる
export CLASSPATH=$CLASSPATH:/path/for/javacomm20-x86.tar
↓と、ここで満を持して lib/ext アレルギー患者が一言
0253デフォルトの名無しさん
2008/01/21(月) 23:43:100254>>250
2008/01/21(月) 23:52:19>>252
ご返答ありがとうございます。
classpathですね。明日早速試してみたいと思います。
また>>252さんのJDKが本当に使われているかを
試してみたいと思います。
0255デフォルトの名無しさん
2008/01/21(月) 23:58:31JREのパスを先に持ってくればいいんじゃね?
0256デフォルトの名無しさん
2008/01/22(火) 00:46:070257デフォルトの名無しさん
2008/01/22(火) 00:59:390258デフォルトの名無しさん
2008/01/22(火) 02:07:14という独り言。
0259デフォルトの名無しさん
2008/01/22(火) 02:45:00JFrameを継承したメインクラスにJMenubarをaddしてメニューを作っているのですが
ウィンドウを閉じるとメニューも一緒に消えてしまいます。
最後のウィンドウを閉じてもメニューは残るようにするにはどうすればいいのでしょうか?
0260デフォルトの名無しさん
2008/01/22(火) 02:59:55とエスパー気味に答えてみる。
0261デフォルトの名無しさん
2008/01/22(火) 03:09:15最近この手の質問多すぎね?
0262デフォルトの名無しさん
2008/01/22(火) 03:14:020263デフォルトの名無しさん
2008/01/22(火) 03:17:170264デフォルトの名無しさん
2008/01/22(火) 04:24:20tuka ひょっとしてわざわざ Formatter 作らなきゃダメなのかよ。
0265デフォルトの名無しさん
2008/01/22(火) 10:29:03byte b = 1;
Integer i = new Byte(b) + new Integer(2);
この処理は問題なく実行されますが、処理の内容と順序は
1.Byte型とInteger型の足し算がアンボクシングでbyte型とint型の足し算になる
2.byte型とint型の足し算の結果はint型になる
3.int型がオートボクシングでInteger型となり代入される
これで合ってますか?
3はいいと思いますが、1-2は不安です。
0266デフォルトの名無しさん
2008/01/22(火) 10:36:430267デフォルトの名無しさん
2008/01/22(火) 11:54:45byte 型と int 型の足し算の際に byte 型が int 型に暗黙に型変換される。
0269デフォルトの名無しさん
2008/01/22(火) 15:18:270270デフォルトの名無しさん
2008/01/22(火) 15:44:150271デフォルトの名無しさん
2008/01/22(火) 15:44:170272デフォルトの名無しさん
2008/01/22(火) 15:51:300273269
2008/01/22(火) 16:20:56すみません.もう少し詳しくお願いします.
>>271
はい,べき集合の列挙です.分かり辛くてすみません
>>272
集合の条件はn個の自然数です.
0274デフォルトの名無しさん
2008/01/22(火) 16:37:40具体的にやりたいことをきちんと書く
0275デフォルトの名無しさん
2008/01/22(火) 16:47:030276デフォルトの名無しさん
2008/01/22(火) 16:57:12JIS 8単位符号:JIS X0201を使用して、変換を行いたいですが
実装がわかりません。
例)引数はString 戻り値もString
引数に0が入力された場合、JIS X0201を使用すると30に変換されるのですが
どのように実装を行ったらよろしいでしょうか??
0277269
2008/01/22(火) 16:57:47ありがとうございました.
0278デフォルトの名無しさん
2008/01/22(火) 17:15:12すぐ解決すんなら書くなよw
0279デフォルトの名無しさん
2008/01/22(火) 17:24:04> 例)引数はString 戻り値もString
そのインターフェイスは激しく変だぞ。何から何に変換したいの?
たとえば、Javaの1文字をJIX X 0201のコードにしたいのなら、
☆入力は char、戻り値は byte か int
もし、入力が複数の文字なら、
☆入力は String、戻り値は byte[]
じゃない?
JIS X 0201のコードはStringに成り得ないです。
0280デフォルトの名無しさん
2008/01/22(火) 17:32:06しらなかったです。
戻り値byte[]でも良いです。
結果的にはファイルに書き込めればよいので。
"☆入力は String、戻り値は byte[]
じゃない?"
で実装を教えてください。
0281デフォルトの名無しさん
2008/01/22(火) 17:41:22inputString.getBytes("JIS_X0201");
これだけ。
ファイルに書きたいだけだったら、
OutputStreamWriter writer = new OutputStreamWriter(
new FileOutputStream(fileName), "JIS_X0201");
writer.write(inputString);
という感じにOutputStreamWriterを使ってもいいね。
0282デフォルトの名無しさん
2008/01/22(火) 19:06:11こいつアホ?
0283デフォルトの名無しさん
2008/01/22(火) 19:23:15byte[] temp_hoge = new byte[10];
これらふたつを比較して等しければtemp_Ahogeを返すようにしたいのですがどうすればいいのでしょうか?
if(ここに等しい条件を入れる){
return temp_Ahoge;
}
だと思うのですがアドバイスをお願いします。
0284デフォルトの名無しさん
2008/01/22(火) 19:24:29試してみましたが、
ファイルに何も書き出されませんでしたが、どうしてでしょうか??
実装は
String fileName = "C:\\tmp2\\sample.txt";
String inputString = "0";
OutputStreamWriter writer;
try {
writer = new OutputStreamWriter(new FileOutputStream(fileName),
"JIS_X0201");
writer.write(inputString);
System.out.println(inputString);
です。
0285デフォルトの名無しさん
2008/01/22(火) 19:34:43JavaのStringで保持してるbyteの文字セットはUnicode。
他の文字セットで保持する場合は、変換してbyte配列まま。
>>283
static boolean java.util.Arrays.equals(byte[], byte[])
但し、引数がnull同士の場合もtrueを返す。
0286デフォルトの名無しさん
2008/01/22(火) 19:45:19レスありがとうございます。
早速使用させていただきます。
0287デフォルトの名無しさん
2008/01/22(火) 19:51:28さいごにwriter.close()してる?
0289デフォルトの名無しさん
2008/01/22(火) 21:48:10このとき
A.javaからあるものをB.java
に渡したあとB.javaで処理をしてA.javaに返すプログラムを構築したいのですが
どのようなコードを書けばいいですか?
0290デフォルトの名無しさん
2008/01/22(火) 21:51:40JavaプログラムでCygwinに対して「javap -c 任意の.class」を行い、その結果を取り込みたいのですがどう行えばいいでしょうか。
ProcessBuilderを使えばいいようなのですが、そこから先が分かりません。
申し訳ありませんがよろしくお願いします。
0291デフォルトの名無しさん
2008/01/22(火) 21:52:11プロセス間通信みたいな事したいのならTCP/IPなり叩いてシリアライズされたオブジェクト渡すとか。
クラス間で単に見えれば良いだけならアクセス修飾子つけるとか
0292デフォルトの名無しさん
2008/01/22(火) 21:54:50ProcessBuilder から Process → InputStream の順に取得すればそこから javap コマンドの出力内容が取れる。
0293デフォルトの名無しさん
2008/01/22(火) 21:57:300294デフォルトの名無しさん
2008/01/22(火) 21:59:480295デフォルトの名無しさん
2008/01/22(火) 22:01:33ファイルを処理するプログラムが希望なのか?
落ち着いて、用語を正しく使って質問しよう
0297デフォルトの名無しさん
2008/01/22(火) 22:05:02public class A{
public static void main(String[] args){
B b = new B();
Object nanika = /* 何か */;
Object kekka = b.shori(nanika)
}
}
public class B{
public Object shori(Object nanika){
/* 処理 */
return kekka;
}
}
0298デフォルトの名無しさん
2008/01/22(火) 22:05:49やりたいことは、.classファイルの情報をjavap -cコマンドで取得し、それらの情報を
プログラムで使用したいのです。
本当に初歩的ですいません。。。
0299デフォルトの名無しさん
2008/01/22(火) 22:19:00>>295を >>290に対する返答と勘違いしました、申し訳ありません。
試しに書いたプログラムです。
ProcessBuilder pb = new ProcessBuilder("C://cygwin/Cygwin.bat","ls");
try {
Process p = pb.start();
InputStream stdIn = p.getInputStream();
InputStream errIn = p.getErrorStream();
int c;
while ((c = stdIn.read()) != -1) {
System.out.print((char)c);
}
stdIn.close();
while ((c = errIn.read()) != -1) {
System.out.print((char)c);
}
errIn.close();
int ret = p.waitFor();
System.out.println("process exited with value : " + ret);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
出力は一切ありませんでした。
0300デフォルトの名無しさん
2008/01/22(火) 22:24:05new ProcessBuilder("bash", "--login", "-c", "\"ls -laF\"")
0301デフォルトの名無しさん
2008/01/22(火) 22:42:03あいまいすぎてすみません。
A( ttp://www.uploda.org/uporg1213982.zip.html )
というファイルがあってAのなかには
public static void main(String[] args) {
HelloWorldJNI hello = new HelloWorldJNI();
byte[] card_idm = new byte[16];
String temp;
String sid = "0404040404040404";
というコードがあるのですが、0404〜という特定のものではなく
Bが受け取る値をそのままAの上の部分に返したいんです。
0302デフォルトの名無しさん
2008/01/22(火) 22:42:27回答ありがとうございます。
早速試したのですがエラーが、
java.io.IOException: CreateProcess: bash --login -c "ls -laF" error=2
試しに"bash"のみでやったところ同じエラーが返ってきました。
java.io.IOException: CreateProcess: bash error=2
パスか何かの影響なのでしょうか。。
また、Cygwinを無視して "cmd","cd ../"とやったところ
Microsoft Windows XP [Version x.x.xxxx]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\workspace\test>
という結果になり、cd ../については反映されていないようなのですが。。
0303デフォルトの名無しさん
2008/01/22(火) 22:43:47という結果になり、cd ../については反映されていないようなのですが。。
0304デフォルトの名無しさん
2008/01/22(火) 22:45:50あるクラス(hoge)の作成には成功するのですが、そのクラスをJSPファイルから参照しようとすると
「NoClassDefFoundError: foo/bar」という例外が投げられてしまいます。
見つからないクラス(bar)というのはEclipseの機能である「ユーザー・ライブラリーの追加」で追加したJARファイルの中のクラスです。
・JSPファイルからこのクラスファイルを呼ばないようにする
・JSPやtocatなどを使用せず、かわりにmainメソッドを持つクラスを新たに作成し同様の処理を行う
などとすると、上記例外は生じません。
「ユーザー・ライブラリーの追加」によって追加されたクラスを含むクラスをJSPファイルで利用することはできないのでしょうか?
少々ややこしいですが、よろしくお願いします。
0305デフォルトの名無しさん
2008/01/22(火) 22:52:27フルパスで書け。"C:\\cygwin\\bin\\bash.exe"
0306デフォルトの名無しさん
2008/01/22(火) 23:02:48解決いたしました、本当にありがとうございます。
0307デフォルトの名無しさん
2008/01/22(火) 23:06:23ユーザライブラリで追加した JAR ファイルを WEB-INF/lib の下に置け。
0308デフォルトの名無しさん
2008/01/22(火) 23:13:42設計の問題なんだけどjavaの仕様自体は理解してるの?
してないならお勉強。
0309デフォルトの名無しさん
2008/01/22(火) 23:28:41レスありがとうございます。
卒業研究でJavaを使っているのですが全然わからなくて・・・。
0310デフォルトの名無しさん
2008/01/22(火) 23:29:39public void setSID()なメソッドをAに定義するというのは
A.javaのプログラム中に
public void setSID(){
というのを作って中で呼び出せばいいのでしょうか?
0311デフォルトの名無しさん
2008/01/22(火) 23:34:400312デフォルトの名無しさん
2008/01/22(火) 23:51:35朝まで一夜漬けだ
浅煎り珈琲 - Java アプリケーション入門
ttp://www.nextindex.net/java/
0313デフォルトの名無しさん
2008/01/23(水) 00:26:07またそれかよ
宣伝乙
0314login:Penguin
2008/01/23(水) 00:46:36String inputString = "0";
OutputStreamWriter writer;
try {
writer = new OutputStreamWriter(new FileOutputStream(fileName),
"JIS_X0201");
writer.write(inputString);
と実装してみましたが、ファイルにはinputStringの値"0"が書き出された
だけでした。
やりたいこととしては、"0"を入力したときにJIS_X0201の値の"30"を
出力したいのですが、どうすればよろしいでしょうか??
0315デフォルトの名無しさん
2008/01/23(水) 00:54:27もしかして, '3' と '0' という文字を書き出したいの?
0316login:Penguin
2008/01/23(水) 01:04:10自分の認識が間違っているかもしれませんので、"3","0"と分割して
書き出すやりかたがあれば教えてください。
0317デフォルトの名無しさん
2008/01/23(水) 01:23:58ある文字をJIS X 0201にエンコードしたときのバイト列を16進数の文字
列にしたい、ということなのね。
であれば、OutputStreamWriterは忘れて、
inputString.getBytes("JIS_X0201") で得たバイト列を1バイトずつ
String.format("%02x", ... で加工していくので良さそう。
0318login:Penguin
2008/01/23(水) 01:31:48ご理解ありがとうございます。
実際の実装方法を聞いてもよいですか??
ファイルに書き込む処理まで行いたいです。
0319デフォルトの名無しさん
2008/01/23(水) 01:37:470320デフォルトの名無しさん
2008/01/23(水) 01:40:15317でここまで具体的にヒントが書いてあるんだから、あとは自分で書き
なさいな。
0321login:Penguin
2008/01/23(水) 01:42:42やってみるです。
0322デフォルトの名無しさん
2008/01/23(水) 04:12:01これって用意されてないんでしょうか?
ググって見つかって喜んだらRubyでした orz
0323デフォルトの名無しさん
2008/01/23(水) 08:05:160324デフォルトの名無しさん
2008/01/23(水) 08:18:10やはりそうですか。ありがとうございました。
0326デフォルトの名無しさん
2008/01/23(水) 11:22:00System.out.printf("税金: $%.2f x 5.0% = $%.2f. \n", calcp, calctax);
で 5.0% と % を表示したいのですが、どうすればよろしいでしょうか?
よろしくお願いします。
0327デフォルトの名無しさん
2008/01/23(水) 11:24:38%%
0328デフォルトの名無しさん
2008/01/23(水) 11:30:06ありがとうございます!
やっとできた・・・(´∀`)
0329デフォルトの名無しさん
2008/01/23(水) 13:32:38再びセーブしようとすると、こんなエラーが発生します
Exception in thread "AWT-EventQueue-0" java.lang.InternalError: Unable to bind [ファイル名] to parent
at sun.awt.shell.Win32ShellFolder2$4.call(Unknown Source)
at sun.awt.shell.Win32ShellFolder2$4.call(Unknown Source)
at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Unknown Source)
at sun.awt.shell.Win32ShellFolder2.getIShellFolder(Unknown Source)
at sun.awt.shell.Win32ShellFolder2$18.call(Unknown Source)
at sun.awt.shell.Win32ShellFolder2$18.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
対処方法は無いでしょうか
0330デフォルトの名無しさん
2008/01/23(水) 18:38:57受け取ったデータをサーブレット内でDBの中にあるデータと照合し、
照合結果を出すということをしたいのですが、
サーブレット内の処理がうまくいきません。
ソースは
public class Servlet extends HttpServlet{
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException{
req.setCharacterEncoding("Shift_JIS");
res.setContentType("text/html;carset = Shift_JIS");
//パラメータを取得
String id = req.getParameter("id");
String pas = req.getParameter("pas");
String result = "";
try{
// ドライバクラスをロード
Class.forName("org.gjt.mm.mysql.Driver");
// DBへ接続
String url = "jdbc:mysql:///testdb?user=root&password=admin&useUnicode=true&characterEncoding=sjis";
Connection con = DriverManager.getConnection(url);
// プレペアードステートメントオブジェクトを生成
PreparedStatement stmt = con.prepareStatement("SELECT * FROM Login WHERE ID = ? AND PASS = ? ");
0331330
2008/01/23(水) 18:40:21//IN パラメータ値を設定する
stmt.setString(1,id);
stmt.setString(2,pas);
// クエリーを実行して結果セットを取得
ResultSet rs = stmt.executeQuery();
//指定した条件と一致しているかどうか。
if(rs.next() == true){
result = "ログインに成功しました。";
}else{
result = "ログインに失敗しました。";
}
0332330
2008/01/23(水) 18:40:52// データベースから切断
stmt.close();
con.close();
}catch(Exception e){
e.printStackTrace();
}
//セッションスコープで値を渡す
HttpSession session = req.getSession();
session.setAttribute("result", result);
RequestDispatcher rd = req.getRequestDispatcher("./loginResult.jsp");
rd.forward(req, res);
}
}
です。
コンパイルはできるのですが、処理を行っているときにtry{}の中を通らないみたいです。
resultの値をJSPで表示させたときnullと出てしまいます。
どのような処理をしたらresultに値を渡せるのかが分かりません。
よろしければ、ご教授お願いします。
0333デフォルトの名無しさん
2008/01/23(水) 19:46:18HTMLの方のソースは?
そもそもdoPostにたどり着いてんの?
System.outなりデバッカなりで処理をおった?
0334RoundTrip
2008/01/23(水) 20:49:01同じinterfaceを持つクラスのインスタンスが、配列になっています。
これらのインスタンスにおいて、変数やインスタンスを共有したい場合
どのような方法があるでしょうか。
よろしくお願いします。
0335デフォルトの名無しさん
2008/01/23(水) 20:58:30クラス変数
0336デフォルトの名無しさん
2008/01/23(水) 20:59:13そこに問い合わせたら?
0337デフォルトの名無しさん
2008/01/23(水) 21:42:31無事RS232Cのプログラムを作る事ができましたが
エラーが起こって困っています。
どうか、知恵を貸してください。
:作りたいもの:
Rs232Cを用いたシリアル通信を行なうプログラム
:参考サイト:
http://www.ais-com.co.jp/jikken/java232c.html
http://www.02.246.ne.jp/~torutk/javahow2/javaxcomm.html
0338デフォルトの名無しさん
2008/01/23(水) 21:43:13//rs232c.java
import java.io.*;
import java.util.*;
import java.text.*;
import javax.comm.*;
import gnu.io.UnsupportedCommOperationException;
import gnu.io.CommPortIdentifier;
import gnu.io.SerialPort;
class rs232c1{
public static void main(String args[]){
byte rs232c[];
rs232c = new byte[10];
try{
CommPortIdentifier ports = CommPortIdentifier.getPortIdentifier( "COM1" );
SerialPort port = ( SerialPort )ports.open( "RS232C", 1000 );
port.setSerialPortParams( 9600,SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE );
port.setFlowControlMode( SerialPort.FLOWCONTROL_NONE );
InputStream in232c = port.getInputStream();
//読み込み
in232c.read(rs232c);
System.out.println("read="+rs232c);
in232c.close();
port.close();
}
catch( Exception e ) {
System.out.println( "Error:" + e.getMessage() );
}
}
}
0339デフォルトの名無しさん
2008/01/23(水) 21:47:43{\rtf1\ansi\ansicpg932\deff0\deflang1033\deflangfe1041{\fonttbl{\f0\froman\fprq1\fcharset128 \'82\'6c\'82\'72 \'82\'6f\'83\'53\'83\'56\'83\'62\'83\'4e;}}
{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\lang1041\f0\fs20 #\par
# An unexpected error has been detected by HotSpot Virtual Machine:\par
#\par
# SIGSEGV (0xb) at pc=0xb7f6bedf, pid=2701, tid=16384\par
#\par
# Java VM: Java HotSpot(TM) Client VM (1.4.2_16-b05 mixed mode)\par
# Problematic frame:\par
# C [ld-linux.so.2+0x8edf]\par
::: 中略 :::
PATH=/usr/java/j2sdk1.4.2_16/bin:/usr/java/j2sdk1.4.2_16/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/mysql/bin:/usr/local/jdk1.2.2/bin:/usr/local/mysql/bin:/usr/local/jdk1.2.2/bin\par
USERNAME=root\par
LD_LIBRARY_PATH=/usr/java/j2sdk1.4.2_16/jre/lib/i386/client:/usr/java/j2sdk1.4.2_16/jre/lib/i386:/usr/java/j2sdk1.4.2_16/jre/../lib/i386\par
SHELL=/bin/bash\par
--------------- S Y S T E M ---------------\par
\par
OS:Linux\par
rlimit: STACK 8192k, CORE 0k, NPROC 4031, NOFILE 1024, AS infinity\par
load average:-0.01 0.00 -0.01\par
\par
CPU:total 1 family 15, cmov, cx8, fxsr, mmx, sse, sse2\par
0341デフォルトの名無しさん
2008/01/23(水) 21:58:340342デフォルトの名無しさん
2008/01/23(水) 22:06:26別に分割はしてないんじゃね?
0343デフォルトの名無しさん
2008/01/23(水) 22:15:080344デフォルトの名無しさん
2008/01/23(水) 22:41:12データをアップしました。
(http://age3.tubo.80.kg/age02/view/7287.zip)
0345RoundTrip
2008/01/24(木) 00:40:07クラス変数って、どのクラスのでしょうか。
良ければご指導お願いします。
>>336
配列を所有している側のインスタンスに問い合わせる方法って
どんなものがありますか?
被せたinterfaceの関係で、あんまり引数使いたくないのです。
やっぱり、引数で渡すしか無いでしょうか…。
0346デフォルトの名無しさん
2008/01/24(木) 11:13:10次の選択肢より正しい記述をすべて選びなさい。
1:java.io.FileReaderはテキストファイルから文字を行単位で読み込むクラスである。
2:new File("bbs.txt")と記述すると、新しいファイルが作成される。
3:ファイルの操作を行う前には、Fileクラスのopenメソッドを必ず使用する。
4:BufferedReaderクラスのreadLineメソッドは、ファイルの終端までを読み込む。
5:FileクラスのisFileメソッドの戻り値がfalseだった場合は、そのファイルが無いか、またはその名がディレクトリである事を示している。
0347デフォルトの名無しさん
2008/01/24(木) 11:16:48javadocみれば一発!正解が全部書いてあるよ!
はい、次の人どうぞ
0348デフォルトの名無しさん
2008/01/24(木) 11:18:28全部間違い。
0350デフォルトの名無しさん
2008/01/24(木) 11:31:23確かにファイルでもディレクトリでもない場合がありうるみたいだね。
しかし、ファイルでもディレクトリでもないものってなんだろう?
0351デフォルトの名無しさん
2008/01/24(木) 11:39:27調べてみたら、java6からfalse返すように変ったみたい。
0352デフォルトの名無しさん
2008/01/24(木) 11:42:40NamedPipe とか デバイスファイル とか。
Javaが動作するプラットフォームはWindowsだけじゃないし。
0353デフォルトの名無しさん
2008/01/24(木) 11:47:37次のメソッドの動作が変更されました。
* CON、NUL、AUX、LPT などの予約されたデバイス名には必ず false を返すように、
File.isFile() Windows 実装が変更されました。以前の戻り値は true で、それが
Unix で使用するデバイスの動作と整合していないことから、対象ユーザーはこれを
バグとみなしていました。
http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/io/enhancements.html#6
0354デフォルトの名無しさん
2008/01/24(木) 11:58:36シンボリックリンク (リンク先がないのとシンボリックリンク自体が存在しないのとは違う)
デバイスファイル (扱いはファイルシステムに依存)
だいたいファイルとかディレクトリとか、問題が階層型ファイルシステムに限定だし。
AS/400 なんかメモリと二次記憶の区別がなくてファイルっつーか全部テーブルだし。
0355デフォルトの名無しさん
2008/01/24(木) 14:02:38参考文献を頼りにプログラムを試作しているのですが
ttp://www11.axfc.net/uploader/20/so/He_66742.zip.html PASS:java
回転する球体をストップさせた時、2つの球体が初期位置に戻らないようにして停止させた位置で
止まるようにするにはどうしたらいいのでしょうか
0356デフォルトの名無しさん
2008/01/24(木) 14:03:25MouseListenerインターフェイスを実装しようとしたんですが、
Test は abstract でなく、java.awt.event.MouseListener 内の abstract メソッド mouseReleased(java.awt.event.MouseEvent) をオーバーライドしません。
という風にコンパイルエラーが出て、困ってます。
全てのメソッドを実装しているはずなのですが…何故なんでしょうか?
import java.awt.event.MouseListener;
public class Test implements MouseListener {
public static void main (String args[]) {
}
public void mouseReleased(MouseEvent e) {}
public void mouseClicked(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
}
0357デフォルトの名無しさん
2008/01/24(木) 14:26:21スペルミスの可能性70%
0358デフォルトの名無しさん
2008/01/24(木) 14:45:20その可能性考えて何度もAPIとにらめっこしたんだけど、
どこにも誤字は見当たらないんですよね…
KeyとMouseMotionもエラーになるが、その他のリスナーはちゃんと実装できるから余計わからない。
0359デフォルトの名無しさん
2008/01/24(木) 14:47:09MouseEvent が import されていない。
0360デフォルトの名無しさん
2008/01/24(木) 14:56:12ごめん、他のリスナーで試そうとして今気づいた。orz
でも、import java.awt.event.*;にしても相変らずコンパイルエラー起こすようです。
スレ無駄に消費して申し訳ない。
0361デフォルトの名無しさん
2008/01/24(木) 15:12:23直した新しいソースと新しいエラーメッセージを
0362デフォルトの名無しさん
2008/01/24(木) 15:21:47import java.awt.event.*;
public class Test implements MouseListener {
public static void main (String args[]) {
}
public void mouseReleased(MouseEvent e) {}
public void mouseClicked(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
}
エラーメッセージ:
Test.java:3: Test は abstract でなく、java.awt.event.MouseListener 内の abstract メソッド mouseReleased(java.awt.event.MouseEvent) をオーバーライドしません。
直す前とエラー内容は変わってないみたいです。
0363デフォルトの名無しさん
2008/01/24(木) 15:26:56なんで MouseListenerをインポートしてないのに
implements MouseListenerでエラーが出てないんだ?
0364デフォルトの名無しさん
2008/01/24(木) 15:28:21import java.awt.event.*;
0365デフォルトの名無しさん
2008/01/24(木) 15:31:40手元でやってもエラーでないけど。
0366デフォルトの名無しさん
2008/01/24(木) 15:35:46んー。Testと同じ階層に同名のMouseEventやらが存在する、とか…
0367デフォルトの名無しさん
2008/01/24(木) 15:46:50Testを別の場所に移動したら動きました!
最初に実験した奴の名前がMouseEventだったのが原因だったみたいです。
盲点でした。本当にありがとうございます!
0368デフォルトの名無しさん
2008/01/24(木) 15:54:55import java.awt.event.MouseEvent;
同一クラス内に同名のクラスが混ざったときも似たような方法で回避可能。
java.util と java.sql の Date は良く有る話。
ttp://www.atmarkit.co.jp/fjava/javatips/170java055.html
0369デフォルトの名無しさん
2008/01/24(木) 17:22:22at ipmsg.HelloWorldJNI.btoS(HelloWorldJNI.java:35)
at ipmsg.IDManager.getPID(IDManager.java:71)
at MainWindow.makeSortKey(MainWindow.java:270)
at MainWindow$RefreshList.run(MainWindow.java:304)
このエラーの意味がわからなくて困っています。
もしよろしければ教えていただけないでしょうか。
0370デフォルトの名無しさん
2008/01/24(木) 17:28:550371デフォルトの名無しさん
2008/01/24(木) 17:53:08意味:バーカ、添字が8になってんぞ(藁
0372デフォルトの名無しさん
2008/01/24(木) 19:27:31Eclipse上では動くのですが、jarファイル化してjarファイルから実行しようとするとソフト自体は動くのですが、
データベースに接続できません。
どうしたらよいのでしょうか?
0373デフォルトの名無しさん
2008/01/24(木) 19:42:040374デフォルトの名無しさん
2008/01/24(木) 19:51:27エスパーします。
mysqlのjdbcドライバがjarを実行するときのパスに入っていません。
-cp オプションで指定しましょう。
0375デフォルトの名無しさん
2008/01/24(木) 19:54:41今からやってみます。
0376デフォルトの名無しさん
2008/01/24(木) 22:19:08無事解決しました。
ありがとうございました。
0377デフォルトの名無しさん
2008/01/25(金) 09:49:45<property> って一度設定したら再設定できないんだけど <antcall> にパラメータのような
可変値を渡したい場合ってどうするの?
0378デフォルトの名無しさん
2008/01/25(金) 10:53:37param
ttp://www.jajakarta.org/ant/ant-1.6.1/docs/ja/manual/CoreTasks/antcall.html
0379デフォルトの名無しさん
2008/01/25(金) 12:39:01そのタブのウィンドウサイズを変更したいのですが、どのようにすればできるのでしょうか?
0380デフォルトの名無しさん
2008/01/25(金) 14:07:160381デフォルトの名無しさん
2008/01/25(金) 15:34:42ちょっと調べてみますね。
ありがとうございました。
0382デフォルトの名無しさん
2008/01/25(金) 16:29:04docs/ja/api/index.html
java.util.Scannerを見るとテキストスキャナということが分かるのですが
例えばファイルの中に特定の文字列を見つけ出すメソッドはあるのかな?
と思ったときどのように探していいのか分からないでいます
探し方をお教えていただけないでしょうか
0383デフォルトの名無しさん
2008/01/25(金) 16:30:460384デフォルトの名無しさん
2008/01/25(金) 16:46:010385デフォルトの名無しさん
2008/01/25(金) 16:51:32基本は「ググれ」だけど、javadocから探せないこともない。
パッケージの一覧を見ると、ある程度は絞れるよ。
例えば、ファイル入出力ならjava.ioパッケージ。
文字列の検索なら、文字列のクラスjava.lang.String自身を調べるか、
またはjava.util.regexパッケージ。
両方見ると、「ファイルの中に特定の文字列を見つけ出す」処理をいっぺんに行う
メソッドが見つからないことが分かるので、
ファイルを読みとるクラスと文字列を検索するクラスを
組み合わせて自分で実装する必要があると理解できる。
とまあ、こんな感じで。
0387デフォルトの名無しさん
2008/01/25(金) 18:15:58さすがにそれは無理がある。現実的じゃ無い。
書いてあることを探し出すのは容易だが
書いてないことを探し出すのは相当根性がいるぞ。
ググったほうが早いと思うな。
0388デフォルトの名無しさん
2008/01/25(金) 18:27:15目的から引くためのリファレンスではない。API リファレンスなんてのは所詮
部品の説明であって、やりたいことを実現するためにどの部品をどう組み
合わせれば良いかの説明は薄いと言わざるを得ない。
0389デフォルトの名無しさん
2008/01/25(金) 18:36:56の場合はストリームから文字列取り出せば良いだけだからjavadoc読んでたら分かると思うんだが。
ググってもjavadoc読んでもそれそのものは無いしさ。
APIリファレンス読んでみるしかないんじゃないか?
0390デフォルトの名無しさん
2008/01/25(金) 18:43:550391デフォルトの名無しさん
2008/01/25(金) 21:11:410392デフォルトの名無しさん
2008/01/25(金) 21:16:550393デフォルトの名無しさん
2008/01/25(金) 21:18:540394デフォルトの名無しさん
2008/01/25(金) 21:52:500395デフォルトの名無しさん
2008/01/25(金) 21:58:46java歴1年になるけど今日偶々javadoc見てたらみっけたw
くは〜 節穴俺orz
0396デフォルトの名無しさん
2008/01/25(金) 22:05:320397デフォルトの名無しさん
2008/01/26(土) 02:21:41正六面体の座標値はどういう風に求めれば良いのでしょうか?
0398デフォルトの名無しさん
2008/01/26(土) 02:28:240399デフォルトの名無しさん
2008/01/26(土) 08:38:010400デフォルトの名無しさん
2008/01/26(土) 08:39:210401デフォルトの名無しさん
2008/01/26(土) 08:48:17正八面体と正六面体は双対の関係にありますので、
正八面体が書ければ正六面体も書けると思います。
0402デフォルトの名無しさん
2008/01/26(土) 09:30:30すまん、ぜんぜん気づかなかった
0403デフォルトの名無しさん
2008/01/26(土) 11:31:49ましっろな空白のホームページになってしまって見ることが出来ません。
ワードで開くとちゃんと表示されます。
環境はwindows vista です。
本当に困っています。
よろしくお願いいたします。
0404デフォルトの名無しさん
2008/01/26(土) 11:35:240405デフォルトの名無しさん
2008/01/26(土) 11:41:330406デフォルトの名無しさん
2008/01/26(土) 12:03:22親切にしていただいたおかげで背が3cmも伸びました!
本当にオススメです。
0407デフォルトの名無しさん
2008/01/26(土) 12:28:370408デフォルトの名無しさん
2008/01/26(土) 12:37:52WindowsUpdateする
0409デフォルトの名無しさん
2008/01/26(土) 17:21:39もうちょっとグーグル先生に相談してきます
0410デフォルトの名無しさん
2008/01/26(土) 18:02:14以下のプログラムより高速にソースコードを取得できる方法があったら教えてください
よろしくお願いします
HttpURLConnection huc = (HttpURLConnection)new URL("http://www.google.com/").openConnection();
InputStream is = huc.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String s;
while((s = br.readLine()) != null){
source += s;
}
0411デフォルトの名無しさん
2008/01/26(土) 18:52:480412デフォルトの名無しさん
2008/01/26(土) 18:56:25表示されるんですか?
0413デフォルトの名無しさん
2008/01/26(土) 18:57:440414デフォルトの名無しさん
2008/01/26(土) 19:20:10それでしたら、僕はパスが通っていません。
XPでPathを更新したら、XPの再起動が必要なんでしょうか?
0415デフォルトの名無しさん
2008/01/26(土) 19:35:250416デフォルトの名無しさん
2008/01/26(土) 19:53:23書籍Java Puzzlerにそんなクイズがあった気がするぞ
0417デフォルトの名無しさん
2008/01/26(土) 20:31:03そのとおりでした。ありがとうございました。
0418デフォルトの名無しさん
2008/01/26(土) 21:46:09その拡張子がjavaであるのはなぜですか?
0419デフォルトの名無しさん
2008/01/26(土) 21:52:01getInputStream だと確定してるなら、何も言うことは無い。
・Stringの接合はメモリと時間が余分にかかる。Stringは可変バッファではない。
・データ取得を高速にするだけならStreamのまま。Readerにしない。
>>418
別にそんな決まりはない。
ttp://java.sun.com/j2se/1.3/ja/docs/ja/tooldocs/solaris/appletviewer.html
0420デフォルトの名無しさん
2008/01/26(土) 22:17:07【JMF】Java Media APIs【JOGL】
ttp://pc11.2ch.net/test/read.cgi/tech/1201346803/l50
に誘導してください。
・Java Media Framework (JMF)
・Java Sound API
・Java 3D
・Java Binding for OpenGL(JOGL)
・Java Advanced Imaging(JAI)
・Java Image I/O
・Java 2D
・Java Speech API
・Java Telephony API(JTAPI)
0421デフォルトの名無しさん
2008/01/26(土) 22:21:580422デフォルトの名無しさん
2008/01/26(土) 22:37:390423デフォルトの名無しさん
2008/01/26(土) 22:50:47と書こうとしたがすでにry
0424デフォルトの名無しさん
2008/01/27(日) 00:50:407-zipでファイルを圧縮、展開すると下記のようなメッセージが表示されます。
7-Zip 4.57 Copyright (c) 1999-2007 Igor Pavlov 2007-12-06
Scanning
Updating archive test.zip
Compressing fveupdate.exe
Compressing HelpPane.exe
Compressing hh.exe
Compressing iis7.log
Compressing MEMORY.DMP 4%
このCompressing <ファイル名>ってのがゾロゾロ表示されて進捗を示すのですが
一番下ってか最新の行にだけ進捗のパーセンテージが表示されるんです。
これをパクりたいのですが、どうすれば良いのか分かりません
System.outを調べたのですが、一度表示した行を修正するなんて方法は書いてないですし
javaで同じ事をするにはどうすれば良いでしょうか。
0425デフォルトの名無しさん
2008/01/27(日) 01:06:430426デフォルトの名無しさん
2008/01/27(日) 01:11:340427デフォルトの名無しさん
2008/01/27(日) 01:16:260428デフォルトの名無しさん
2008/01/27(日) 01:35:34ANSI.SYSだっけ、組み込んだらできないかな?
やってもないけど、昔コマンドラインでエスケープシーケンス動かそうと思ったら
そういう解決方法があったとおもうなぁ。
0429デフォルトの名無しさん
2008/01/27(日) 01:53:300430デフォルトの名無しさん
2008/01/27(日) 04:00:20それMS-DOSの方じゃなかったかな。
0431デフォルトの名無しさん
2008/01/27(日) 06:34:400432デフォルトの名無しさん
2008/01/27(日) 09:26:23Comparatorでどう実装するでしょうか?
0433デフォルトの名無しさん
2008/01/27(日) 10:47:080434デフォルトの名無しさん
2008/01/27(日) 10:59:460435デフォルトの名無しさん
2008/01/27(日) 11:00:47Stringは java.lang.Comparable を実装してるから Collections.sort(List) が使える。
また、TreeSet 等の実装でもそのまま使うことが出来る。
但し、StringではUnicodeで比較するので、他の文字セットの並び順にする場合は、
そのバイト配列を取得し、比較すること。
Stringを保持するRow を並び替えるときは、ComparatorでString.compareTo等を流用。
0436デフォルトの名無しさん
2008/01/27(日) 11:05:14そもそも order by してないとかだと、DBの比較アルゴリズムを調べてそれと同等なComparatorを自力で実装するしかない。
0437デフォルトの名無しさん
2008/01/27(日) 16:11:28内容は変数を外部からいじられたくないときにprivateをつけると書いているのですが概要がよくわからないでいます
例えば car.javaに
class Car {
private int weight;
}
// コンストラクタ//
Car(int weight) {
this.weight = weight;
}
void setWeight(int weight)
this.weight = weight;
}
setcar.javaに
Car vitz = new Car(100);
vitz.setWeight(200);
外部ファイルからのvitz.setWeightを実行しているのに値が変更できてしまう理由が分からないでいます
vitz.setWeight();はvitz内のメソッドとなっているので内部になっているのでしょうか?
0438デフォルトの名無しさん
2008/01/27(日) 16:15:38setWeight() で間接的に変更するのは問題ない。メソッドにしておくことで後で内部構造や
動作に変更があっても Car クラス内で対処できる (ことが多い) から。
public void setWeight(int weight){
this.weight = weight;
recalculateWeightBarance();
}
0439デフォルトの名無しさん
2008/01/27(日) 16:18:15recalculateWeightBalance();
// 最適なウェイトバランスを再計算
private void recalculateWeightBalance(){
// ...
}
0440デフォルトの名無しさん
2008/01/27(日) 16:32:32それはクラスを作る人間の自由。
0441デフォルトの名無しさん
2008/01/27(日) 17:49:39j2sdk1_4_2_16でプログラムを動作させるにはどうすれば良いですか?
0442デフォルトの名無しさん
2008/01/27(日) 17:51:560443デフォルトの名無しさん
2008/01/27(日) 18:09:250444デフォルトの名無しさん
2008/01/27(日) 18:13:25ゆとり:2ちゃんにエラーがいっぱい出たとカキコします
0445デフォルトの名無しさん
2008/01/27(日) 18:22:170446デフォルトの名無しさん
2008/01/27(日) 19:21:430447デフォルトの名無しさん
2008/01/27(日) 19:32:27開発環境さえキチンと整っていれば結構良い言語なのに
いままで何回もJAVA案件の仕事したことあるけど、たいていどこのチームもデバッグはSystem.outPrintで変数の中身みてたりする。
時代を逆行してどうすんだと毎回思う。
ぶっちゃけ.netの方が楽だわ。
0448デフォルトの名無しさん
2008/01/27(日) 19:33:30あ,この場合「棒」を弄っても「おいなりさん」を弄っても1としてカウントしてね^^
0449448
2008/01/27(日) 19:33:580450デフォルトの名無しさん
2008/01/27(日) 19:42:460451デフォルトの名無しさん
2008/01/27(日) 19:48:02junit使わないの?
0452デフォルトの名無しさん
2008/01/27(日) 19:54:11使わないよ
0453デフォルトの名無しさん
2008/01/27(日) 20:01:37時代に逆行しているように思えることが多いな
なんか、かれらは自動化とか全く考慮してくれないし
0454デフォルトの名無しさん
2008/01/27(日) 20:12:26ExpressEditionばっかり使ってるからそんなこと言うんだよ
Team Systemを使いなさい
Javaはオープンだけど、その分、いろんなものが出てきて分かりづらくなる
.NETならMSのやり方に従うだけでいい
基本的なものは全部スイートに用意されている
逆に言えばMSのやり方に拘束される
まぁどっちがいいかは対象とするシステムと要員で決まってくるから、個人がどうこういってもね
0455デフォルトの名無しさん
2008/01/27(日) 20:25:42ありがとうございます
外部内部で考えるのではなく
直接的か間接的かで考えると分かりました
0456デフォルトの名無しさん
2008/01/27(日) 20:25:46教えてくれ
0457デフォルトの名無しさん
2008/01/27(日) 20:58:060458デフォルトの名無しさん
2008/01/27(日) 21:14:400459デフォルトの名無しさん
2008/01/27(日) 21:20:220460デフォルトの名無しさん
2008/01/27(日) 21:34:11なら検討したいけど、そうじゃないだろ?
結局MSオンリーじゃまともなIDEじゃないんだよ。
そこらへん含めて考えたら、Javaも.NETも大して変わらん。
>456が言うように、Reporting Serviceとかノンコーディングを謳ってるものは
確かにテストの自動化のやりようがないけどな。
0461デフォルトの名無しさん
2008/01/27(日) 21:45:22ここで意見が出るか出ないかで判断するより、製品を調査したほうが確実
0462デフォルトの名無しさん
2008/01/27(日) 21:47:53ReSharperとかの代わりになるようなものじゃないだろ。
ReSharperはテストだけじゃないし。
そういうのもひっくるめて考えると、
Team Systemだけあっても実際の開発には使えない、って話。
0463デフォルトの名無しさん
2008/01/27(日) 21:56:42ReSharperが何者かしらないけど
0464デフォルトの名無しさん
2008/01/27(日) 22:08:05ttp://blog.inomata.lolipop.jp/?eid=622557
とりあえず、Day 1とDay 5あたりが導入のきっかけになった。
0465デフォルトの名無しさん
2008/01/27(日) 22:08:520466デフォルトの名無しさん
2008/01/28(月) 02:30:30JRE1.6ってJISX213:2004に対応している?ような事があったと思うんですが
WindowsJavaアプリ環境で環境依存文字をUnicodeで取得して
それをgetBytes()でSJIS?MS932?どちらかはわかりませんが
環境によって自動取得するときちんと文字が取れずに「?」という風になってしまいます。
JISX213の規格内にSJIS2004ってのもあるんですが、JRE1.6では、こちらには対応していないのでしょうか?
0467デフォルトの名無しさん
2008/01/28(月) 02:31:570468デフォルトの名無しさん
2008/01/28(月) 02:50:31まずは冷静になってもう一度説明してごらん
0469デフォルトの名無しさん
2008/01/28(月) 03:19:290470デフォルトの名無しさん
2008/01/28(月) 03:19:55疑問自体は非常に興味深いのだが、内容を理解できないところが残念です。
とりあえず、疑問その1に参考資料を用意。
ttp://java.sun.com/javase/ja/6/docs/ja/index.html
機能リファレンスガイド > 基本ライブラリ > その他のパッケージ > 国際化 より。
サポートされているエンコーディング
ttp://java.sun.com/javase/ja/6/docs/ja/technotes/guides/intl/encoding.doc.html
0471デフォルトの名無しさん
2008/01/28(月) 04:36:09HPのプルダウンが変更されたらJAVASCRIPTを動かしたいのですが、可能でしょうか?
0472デフォルトの名無しさん
2008/01/28(月) 04:41:10<option value="1">1回</option>
<option value="2">2回</option>
<option value="3">3回</option>
</select>
0473471
2008/01/28(月) 04:46:08即レスありがとうございます、本当に助かりました!
お手数をおかけして済みませんでした
1回、2回、3回は笑ってしまった…w
スレ汚し、失礼しました
0474デフォルトの名無しさん
2008/01/28(月) 08:00:450475デフォルトの名無しさん
2008/01/28(月) 08:53:210476デフォルトの名無しさん
2008/01/28(月) 12:20:43たぶんこれのことか?自分で数えてくれ
http://java.sun.com/javase/ja/6/docs/ja/api/allclasses-frame.html
0477デフォルトの名無しさん
2008/01/28(月) 12:51:29ユーザーの入力する数値を年月日で区切って取得したいのですが、どのようにすればよろしいでしょうか?
宜しくお願いします。
public static int readBirdate(Scanner kb)
{
System.out.print("誕生日を入力してください(年 月 日: ");
int ubir = kb.nextInt();
return ubir;
}
0478デフォルトの名無しさん
2008/01/28(月) 12:53:40Date date = df.parse(ubir);
0479デフォルトの名無しさん
2008/01/28(月) 13:07:08ありがとう、ございます!
0480477
2008/01/28(月) 13:32:15実は宿題でして、ユーザーに今日の日付と誕生日を入力してもらって、年齢を割り出すというプログラムです。
>>477の式で、
今年: 2008(←入力)
誕生年: 1980(←入力)
(計算)
年齢: 28
といった感じで年だけの計算はできるのですが
今日(mmddyyyy): 1 28 2008
誕生日(mmddyyyy): 2 17 1980
といった一度に年月日全ての値を得るやりかたが、どうしても分かりません。
すみません、ご教授お願い致します。
0481デフォルトの名無しさん
2008/01/28(月) 13:38:12指示された入力形式は mmddyyyy、入力例が 1 28 2008、
一貫してないのでなんとも。全角半角もごっちゃだし。
スペース区切りならば mmddyyyy は [m]m [d]d yyyy とかすべきじゃね?
もしスペース区切りでないのなら、入力例は 01282008 みたいに
最初は0つけないとダメだし、スペースが間に入っちゃメでしょ。
0482477
2008/01/28(月) 13:54:09すみません。スペース区切りです。
//出力例
今日の日付を入力してください(mm dd yyyy): 1 28 2008 (←入力)
あなたの誕生日を入力してください(mm dd yyyy): 2 17 1980 (←入力)
貴方の年齢は 28才です。
//
支持されている出力例はこんな感じです。
0483デフォルトの名無しさん
2008/01/28(月) 14:09:500484デフォルトの名無しさん
2008/01/28(月) 14:11:200485デフォルトの名無しさん
2008/01/28(月) 14:12:550486477
2008/01/28(月) 14:13:150487デフォルトの名無しさん
2008/01/28(月) 14:32:24文字列の取得自体はできるみたいなので、続きだけやるとこんな感じか?
//文字列をCalendarに変換
String now, birth; //"1 28 2008" と "2 17 1980" を入力させる。
DateFormat df = new SimpleDateFormat("M d yyyy");
Calendar today = Calendar.getInstance(); today.setTime(df.parse(now));
Calendar birthday = Calendar.getInstance(); birthday.setTime(df.parse(birth));
//Calendarから年齢計算
int age = today.get(Calendar.YEAR) - birthday.get(Calendar.YEAR);
birthday.set(Calendar.YEAR, today.get(Calendar.YEAR));
if (today.before(birthday)) age--;
0489デフォルトの名無しさん
2008/01/28(月) 16:13:22とりあえずHTMLならJTextPane.setContentType()で表示できるようになるのですが、JSPのスクリプトレットは対応しておらず見る事が出来ません。
何か方法があったら教えてください。
よろしくお願いします。
0490デフォルトの名無しさん
2008/01/28(月) 16:19:090491デフォルトの名無しさん
2008/01/28(月) 16:44:36それをクライアントで処理したいってこと?
自分で実装するのは大変そうだから、なんか適当なwebサーバ内蔵してループバックでhttpするのが楽かも
0492デフォルトの名無しさん
2008/01/28(月) 17:06:53Tomcat でもビルトインしないとできねぇから、JSP の代わりに
動的な XML + XSL で HTML 作って JTextPane にでも食わせろ。
0493デフォルトの名無しさん
2008/01/29(火) 00:49:44{
T data = A.suru(s);
}
ということをやりたいのですが、エラーが出て実行できません
こういうことは出来ないのでしょうか?
0494デフォルトの名無しさん
2008/01/29(火) 00:50:500495デフォルトの名無しさん
2008/01/29(火) 00:52:36出来ませんか…
ありがとうございました
0496デフォルトの名無しさん
2008/01/29(火) 01:10:43public static T <T> a(String s) {
return A.suru(s);
}
ならまだ意味が解るが・・・
0497デフォルトの名無しさん
2008/01/29(火) 02:04:02昨日ファンクタというものを知りまして…
それをやってみたかったのです
0498デフォルトの名無しさん
2008/01/29(火) 02:13:32ちなみに次のバージョンからクロージャーが入る。
0500デフォルトの名無しさん
2008/01/29(火) 09:47:26日本語のダウンロードできるドキュメントを教えてください
0501デフォルトの名無しさん
2008/01/29(火) 10:47:500502デフォルトの名無しさん
2008/01/29(火) 11:04:04SingleThreadなExecutorServiceって存在しますか?
0503デフォルトの名無しさん
2008/01/29(火) 11:47:20Executors#newSingleThreadScheduledExecutor
0504デフォルトの名無しさん
2008/01/29(火) 12:56:54JTreeで異なるノードを選択した時に、JTextAreaの内容を切り替える
プログラムを作ろうとしているのですが、上手くいきません。
JTextAreaやJFrameを設定しているクラスと、JTreeを設定しているクラスを
別々に分けているせいか、mouseListenerが上手く動かなかったり、
変数のやり取りが上手くいかなかったりしています。
どういった手順で切り替えるよう組めばいいでしょうか。
0505デフォルトの名無しさん
2008/01/29(火) 13:03:25後日そのページがごわごわになってて萎えんfg9あぷ9j;:
0506デフォルトの名無しさん
2008/01/29(火) 13:17:28サーブレットから使っても大丈夫でしょうか?
スレッドセーフというかなんというか、同時に複数動いても
大丈夫なものでしょうか?
0507デフォルトの名無しさん
2008/01/29(火) 13:26:26それだとscheduleWithFixedDelayとかで、決まったTaskしか定期実行しかできませんが、
まとめてexecuteしたTaskを必ず一定間隔を空けて実行するような奴とかないでしょうか。
とりあえず自分で実装してしまったのですが、既存実装があったら悲しいなぁと思いまして。
0508デフォルトの名無しさん
2008/01/29(火) 13:55:49まず問題点を分けてみないと。
>mouseListenerが巧く動かない
実装が悪いんだろう。
classを分けてるってソース(なんとか.java)を分けてるって意味だよね?
>変数のやりとりが巧くいかない
>クラスを別々に分けているせいか
ひとつのソースで動くプログラムならソースを分けても動く道理。
classから違うソースのclassの呼び出し方が判らないとか変数が読めないとかなのか。
単純化したひとつのソースで試してみる。
0509デフォルトの名無しさん
2008/01/29(火) 14:24:09「演算子+は引数の型double,Graphicsで未定義です。」
というエラーがでます。これを解決するにはどうすればよいでしょうか?
0510デフォルトの名無しさん
2008/01/29(火) 14:30:54↑コンパイルエラーでした。シンボルを解釈処理できません。
何をimportしたらよいですか?
http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/util/Date.html
を見てimport java.util.Date.*;を書きましたがだめでした。
どうやって必要なimportを調べたらよいのですか?
0511デフォルトの名無しさん
2008/01/29(火) 14:32:56double a = ???;
Graphics b = ???;
a + b;
こんなことは出来ないってことを言ってるんだよ。
とりあえず、プログラム見直せ。
>510
import java.util.Date;
でOK
0513デフォルトの名無しさん
2008/01/29(火) 14:47:09コンパイルしたいです。
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.Locale;
public class a {
public static void main (String args[]) {
Date d = calendar.getTime();
SimpleDateFormat f = new SimpleDateFormat("EEE", Locale.JAPANESE);
String s = f.format(d);
System.out.println(s);
}
}
0514デフォルトの名無しさん
2008/01/29(火) 14:53:52calendarってのが定義されてないからコンパイル出来ない。
0515デフォルトの名無しさん
2008/01/29(火) 16:47:28「CSV 正規表現」で検索したらPerlのサイトが出てきて自分なりに作ってみたんですけど疑問がいくつかあるので質問させてください。
==========================================
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class CsvSplit {
private static final String CSV_SPLIT_REGEX = "(\"(?:[^\"]|\"\")*\"|[^,]*)";
private Pattern _pattern;
/**
* 実行用のメイン
*/
public static void main(String[] args) {
CsvSplit aaa = new CsvSplit();
ArrayList csvArray = aaa.readCsvFile("C:\\zzzzzzzzzz.csv", "JISAutoDetect");
Iterator ite = csvArray.iterator();
while(ite.hasNext()) {
String[] csvData = (String[])ite.next();
for (int i = 0; i < csvData.length; i++) {
System.out.println("-------------");
System.out.println(csvData[i]);
System.out.println("-------------");
}
}
}
0516デフォルトの名無しさん
2008/01/29(火) 16:49:47* コンストラクタ
*/
public CsvSplit() {
this._pattern = Pattern.compile(CSV_SPLIT_REGEX);
}
private ArrayList readCsvFile(String fileName, String charsetName) {
try {
// ファイルの取得
BufferedReader br = new BufferedReader(
new InputStreamReader(
new FileInputStream(fileName), charsetName));
ArrayList csvArray = new ArrayList();
String columnValue = "";
try {
// ファイルから1行ずつ読み込む
while (br.ready()) {
String lineData = br.readLine();
// ダブルコーテーション以外の文字をすべて削除しダブルコーテーションの数を数える。
// ダブルコーテーションの数が奇数の場合は次の行も読み、再び奇数になるまで読み込む
if (lineData.replaceAll("[^\"]", "").length() % 2 == 0 && columnValue.equals("") ||
lineData.replaceAll("[^\"]", "").length() % 2 == 1 && !columnValue.equals("")) {
columnValue += lineData;
String[] splitData = splitCsvData(columnValue);
columnValue = "";
csvArray.add(splitData);
0517デフォルトの名無しさん
2008/01/29(火) 16:51:05columnValue += lineData + "\r\n";
}
}
return csvArray;
} finally {
br.close();
}
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
/**
* CSVデータの1行を分割して配列にして返却する。
* 改行が含まれるデータの場合は必ず奇数となるので、奇数である限り取得処理を繰り返す。
* ただし、CSVデータは以下の条件で保存されている場合に限る。
* 1.基本的にコンマで区切った部分がスペースを含めて値である。
* 2.値にコンマ、ダブルクウォート、改行が含まれる場合は、値全体をダブルクウォートで囲む
* (コンマやダブルクウォートがない場合に値全体がダブルクウォートで囲まれていても問題ない)
* 3.値に含まれるダブルクウォートは "" となる。
* @param csvLine
* @return
*/
private String[] splitCsvData(String csvLine) {
ArrayList csvDataArray = new ArrayList(30);
Matcher matcher = this._pattern.matcher(csvLine);
boolean isDataSkip = false;
String columnValue = "";
0518デフォルトの名無しさん
2008/01/29(火) 16:51:110519デフォルトの名無しさん
2008/01/29(火) 16:51:37while(matcher.find()) {
// なぜか値が取得できた場合の次の値が空文字として取得できるのでスキップする
if( isDataSkip ) {
isDataSkip = false;
continue;
}
String result = matcher.group();
// 値が取得できたかどうか
if( !result.equals("") ) {
isDataSkip = true;
}
// データの前後がダブルクウォートで囲まれている場合は省く
if(result.startsWith("\"") && result.endsWith("\"") ) {
result = result.substring(1, result.length() - 1);
// データにダブルクウォートがあれば1つに置換する
result = result.replaceAll("\"\"", "\"");
}
// セット
csvDataArray.add(result);
}
String[] splitData = new String[csvDataArray.size()];
csvDataArray.toArray(splitData);
return splitData;
}
}
==========================================
0520デフォルトの名無しさん
2008/01/29(火) 17:01:23長くてすいません。。。
質問なんですけど、
1.readLineで1行ずつ取得していると改行データを含む行が分割されてしまうので本当はCRLFが
正しいデータかわからずreadLine以外に効率よく確実に読み取る方法ってありますでしょうか?
2.perlのサイトだと正規表現でダブルコーテーションの数を直接数えてるんですけどjavaの正規表現だと
どうやるのでしょうか?
3.正規表現で値を取得した場合次の値が空文字として取得できてしまうのですが
正規表現がいまいちよくわからず・・・。パターンの悪いところや正しいパターンを教えていただけないでしょうか。
4.@ITでC#で「^(?:(?<1>"[^"]*"),?|(?<1>[^,]+),?|,)*」というの見つけたのですが動かず。。。C#とjavaってそこまで違うのですか?
長文駄文ですいません。お手数おかけしますが宜しくお願い致します。
0521デフォルトの名無しさん
2008/01/29(火) 17:10:20ところでThe Java Virtual Machine Specificationの和訳って本しかないかな?
本買おうか悩んでるんだけど。
0522デフォルトの名無しさん
2008/01/29(火) 17:15:290523デフォルトの名無しさん
2008/01/29(火) 17:34:01これをコピペしてコンパイルして自分で色々実験してみるがよろし。
あと、JavaのとPerlの正規表現はほぼ別物と考えた方がいい。
public class RegExp {
public static void main(String args[]){
String patStr = null;
String text = null;
if(args.length <= 0) {
try {
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
System.out.print("Pattern: ");
patStr = br.readLine();
System.out.print("Text : ");
text = br.readLine();
} catch(IOException e) {
e.printStackTrace();
}
} else {
patStr = args[0];
text = args[1];
}
Pattern pattern = Pattern.compile( patStr );
Matcher matcher = pattern.matcher( text );
if(matcher.matches()==true)
System.out.println("match");
else
System.out.println("not match");
}
}
0524デフォルトの名無しさん
2008/01/29(火) 18:51:24一致するものをひとつずつ探して、それらを結合する、といった方法しか思いつかないのですが、もっとスマートな方法があったら教えてください。
0525デフォルトの名無しさん
2008/01/29(火) 18:58:20広告クリックしてもらえなかったのか。よしよし。
0526デフォルトの名無しさん
2008/01/29(火) 19:17:49それぐらいならスマートな方じゃないかなと。(というかスマートって何さ
貴方の理想が魔法のステッキなら話は別ですが…
便利な魔法のステッキも最終的にはどこかで地道な作業をやってるわけで。
0527デフォルトの名無しさん
2008/01/29(火) 20:00:31Lispから入った捻くれなので、リストは一括操作でないとどうにも落ち着かないのです。
0528デフォルトの名無しさん
2008/01/29(火) 21:22:21今年に入って一番説得力のある発言を見た
0529デフォルトの名無しさん
2008/01/29(火) 21:28:150530デフォルトの名無しさん
2008/01/29(火) 21:39:490531515
2008/01/29(火) 22:35:42CSVTokenizerだと正規表現を使っておらず参考になりませんでした。
ほかにもそういったもので参考になるものがあれば教えていただけないでしょうか。
>>523
だいたい同じようなものを作ってようやく形になったのが上記のソースです。。。orz
0532デフォルトの名無しさん
2008/01/29(火) 22:43:18まとめてexecuteするときに間にsleepタスクを挟めばいいんじゃない
0533デフォルトの名無しさん
2008/01/29(火) 23:49:04まさにこういった機能をもったAPIがあったら教えてください。
結構探し回ったんですけど見つかりませんでした。
0534デフォルトの名無しさん
2008/01/29(火) 23:53:35つ Integer.parseInt(String, int)
ttp://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/lang/Integer.html
0535デフォルトの名無しさん
2008/01/29(火) 23:55:52java実行時に-XX:+PrintGCDetailsオプションを指定してgcのログを出しています。
そのログに記録される結果のヒープサイズと
psコマンド(ps alxなど)の結果(RSS)が一致しないんですが、
プロセスサイズ=ヒープサイズ+JVM自身が利用するメモリサイズ
ってことであってますか?
0537533
2008/01/30(水) 00:04:070538デフォルトの名無しさん
2008/01/30(水) 00:04:41あらかじめずばり抽出できる構造で文章を保持しておけばスマートじゃね?
0539デフォルトの名無しさん
2008/01/30(水) 00:10:28なんでそこまで正規表現を使いたがるのかな?
正規表現って便利だけど実行速度はすごく遅いよ。
0540デフォルトの名無しさん
2008/01/30(水) 00:16:53和訳は本しかない
VMの対応バージョンは1.3か1.4あたりだったかな
5.0でバイトコードのフォーマットが変わったから、買おうか悩む
0541デフォルトの名無しさん
2008/01/30(水) 00:33:300542デフォルトの名無しさん
2008/01/30(水) 00:35:36文字列というのは日本語です。
0543デフォルトの名無しさん
2008/01/30(水) 00:39:59〜してもらう方法と、〜をランダムに組み合わせるってできますかね?
・・・日本語がおかしいから伝わりにくいんだろうね。
0544デフォルトの名無しさん
2008/01/30(水) 00:40:320545デフォルトの名無しさん
2008/01/30(水) 00:40:35○伝わらないと思うのですが
0546デフォルトの名無しさん
2008/01/30(水) 00:42:38出力:入力をランダムに並べ替えたもの
もしくは
入力:いくつかの文字列
出力:入力のいくつかをランダムに並べ替えたもの
他にもいろいろ考えられるけど?
0547デフォルトの名無しさん
2008/01/30(水) 00:44:48出力:入力の部分文字列をいくつか作り、それを並び替える
とかか。
0548デフォルトの名無しさん
2008/01/30(水) 00:53:58なんだかできないきがするんですががが
0550デフォルトの名無しさん
2008/01/30(水) 00:58:19とか言うのは野暮なのかねやっぱり。
0551デフォルトの名無しさん
2008/01/30(水) 01:13:340552デフォルトの名無しさん
2008/01/30(水) 01:24:19SE 7でもバイトコードのフォーマット変わるんだよね。
本の内容がどんどん古くなるから買おうか悩むんだよ。
0553デフォルトの名無しさん
2008/01/30(水) 02:49:09すみません、アプリケーションスコープの使い方で迷ってます。
具体的に書くと、
ショップサイトにて商品ジャンルごとにアクセス数の集積を取りたい
と考えたのですが、データベースへのアクセス頻度を減らすためにも、
商品ジャンルのデータベースをそのままアプリケーションスコープに
入れてしまおうかと思っています。ただその場合には10000個数近くの
インスタンスを入れることになってしまうのですが、初心者なために
これが大丈夫なことなのかよくわかりません。
オブジェクトにはintとStringとが半々ずつ、合わせて10個のメンバ
変数があり、Stringには全部でだいたい64文字程度入ります。中身だけ
で計算するとサイズは160kbyte程度かと思うのですが、この程度ならば
全然気にしなくても大丈夫な感じでしょうか? その何万倍いっとけ、
とかそういったレベルならいいのですが、よくわからなくて……。
指針となるドキュメントを見つけられなかったのでこちらで質問させて
もらいましたが、皆さん、アプリケーションスコープに入れるデータ
サイズはどれくらいまでにしてますか?
サーバーのスペック如何なところではあると思うのですが、アドバイス
あればどうぞお願い致します。
0554デフォルトの名無しさん
2008/01/30(水) 03:00:24メモリ上にキャッシュすればどれくらいの改善が見込めるという見積もりができている
上で言ってるのか?
普通に考えればその程度のアクセスがネックになるようなら他の処理もウンコチンチンで
マシン選定間違えてるだろ。商品ジャンルにメンテ入っても反映されないし、整合性が
保障できないなら下手に SQL で結合もできやしない。
0555デフォルトの名無しさん
2008/01/30(水) 03:14:09ありがとうございました。
0556デフォルトの名無しさん
2008/01/30(水) 06:20:12Handler クラス作らなきゃいかんのか? 何で出力先の指定が「クラス名」に
紐づいてるんだ? インスタンスだろjk
0557デフォルトの名無しさん
2008/01/30(水) 09:00:310558デフォルトの名無しさん
2008/01/30(水) 12:20:13>プロセスサイズ=ヒープサイズ+JVM自身が利用するメモリサイズ
>ってことであってますか?
ヒープもJVMが利用するメモリなわけだが・・・
ヒープは、Javaから見えるメモリ空間だけど
JVMは、実行用のスタックメモリを持っていてこれは
ヒープメモリに入ってこない。(ヒープじゃないし)
あと、Hotspot用とかあるし。
ヒープサイズを越えてどれくらいメモリを使うかは決まっていない。
(スタックとかはある程度判るが・・・)
0559デフォルトの名無しさん
2008/01/30(水) 12:58:030560デフォルトの名無しさん
2008/01/30(水) 13:37:52ふつーにできるよ?
System.out.println("aaa\tbbb\tccc".replaceAll("\t", "[TAB]"));
結果: aaa[TAB]bbb[TAB]ccc
0561デフォルトの名無しさん
2008/01/30(水) 13:41:04分からないので、ひとつえsp
replace を始め、String系の変換で良くある間違い。(てか、今やって見て久々に…
Stringは不変オブジェクトです…
要は、インスタンスメソッドで値が変わってるかのように見えても、
単に新たなStringを生成して返してるだけ、という…
0562デフォルトの名無しさん
2008/01/30(水) 14:03:26# "handlers" specifies a comma separated list of log Handler
# classes. These handlers will be installed during VM startup.
Log4j のおっさんがアジ文章で 「JSR47の設定ファイルはハンドラクラスに
1 インスタンスしか指定できねーじゃんよ ファイル分けらんねーよ!!」 と
ブチ切れてるのも見つけた。
http://www.ingrid.org/jajakarta/log4j/jakarta-log4j-1.1.3/docs-ja/critique.html
実際 JSR47 の仕様書読んでもクラス名だったアルヨ。Formatter にしても Log4j に
慣れてると 「この程度のもん用意しとけYO!」 と言いたくなるなぁ。
0563559
2008/01/30(水) 14:10:08正 s = s.replaceAll("\t", "");
誤 s.replaceAll("\t", "");
ありがとうございました。
0564デフォルトの名無しさん
2008/01/30(水) 14:32:00ここのクイズと同じところで引っかかってるね。
http://blogs.sun.com/javaev/date/20080120
0565デフォルトの名無しさん
2008/01/30(水) 18:49:40java.awt.ImageクラスはSerializableインターフェースを実装していないため、swingのImageIconでラップして直列化しているのですが、なぜImageIconが画像を正しく直列化出来るのかが理解出来ません。
ソースをざっと見たのですが、画像を保持しているフィールドには、transient修飾子がついている上、他の部分でも特にこれという箇所は見つけられませんでした。
ImageIconがどのように画像を直列化しているのか、解説かヒントをいただけるとありがたいのです。
よろしくお願いします。
0566デフォルトの名無しさん
2008/01/30(水) 19:26:14private void writeObject(ObjectOutputStream) メソッドがあるだろう
そのメソッドがあると、直列化するときに呼ばれる
0567デフォルトの名無しさん
2008/01/30(水) 20:44:36beanshell classpathを持っている方、アップしていただけませんか。
www.beanshell.org/
0568デフォルトの名無しさん
2008/01/30(水) 21:13:31何日たってもまったく検索にヒットせんのう。
0569デフォルトの名無しさん
2008/01/30(水) 22:02:53俺のときは投稿直後(数分後とか)に自動確認メールが来たけど。
BugDatabaseに登録されたら、その時にもメールが来るはず。
登録されない時は自動確認メールの後、音沙汰がなくなったような。
0570デフォルトの名無しさん
2008/01/30(水) 22:27:25そーなのか、じゃどっかでロストしたな。
センキューベイベー
0571デフォルトの名無しさん
2008/01/30(水) 23:52:280572デフォルトの名無しさん
2008/01/31(木) 02:26:07プロセスサイズ=ヒープサイズ+スタック+Hotspotってことすね。
thx
ってか今、遊びで作ってるプログラムなんだけど、
プロセスサイズが右肩上がりで肥えていく・・・
ヒープは正常(増減を繰り返す)っぽく見えるのよね・
もうよく分からん。javaは難しいな・・・
0573デフォルトの名無しさん
2008/01/31(木) 02:36:01return this;
↓
return "hoge" + this;
に変更したいんだけど、これって可能?
Javassistとかバイトコードいじる以外で。
0574デフォルトの名無しさん
2008/01/31(木) 02:43:48私は出来る方法を知らない。
が、何に使うのか。そこには興味がある。
0575デフォルトの名無しさん
2008/01/31(木) 07:46:160576デフォルトの名無しさん
2008/01/31(木) 07:59:22AOP…
私の知ってるAOPはバイトコードをいじるのですが、何か別の方法があるのでしょうか
0577デフォルトの名無しさん
2008/01/31(木) 09:36:44TBNって個人のニュースサイトなんですが、
ttp://tbn2.blog50.fc2.com/
タブブラウザのJavaScript実行を切ってても
ページが表示されると勝手に実行に切り替わってしまいます。
というかoffにすることが出来ません。
これってどいゆう仕掛けなんでしょう?
0578デフォルトの名無しさん
2008/01/31(木) 09:40:440579デフォルトの名無しさん
2008/01/31(木) 09:55:17スマソ
どこの板に質問していいか分かんなかったんでココに書き込ませてもらった。
どーしてそうなっちゃうのが知りたいんだが、分かりますか?
0580デフォルトの名無しさん
2008/01/31(木) 09:58:060581デフォルトの名無しさん
2008/01/31(木) 10:11:16晒しとくわ。
String word //解析したい文字列
for(int i=0; i<word.length(); i++){
if(word.startsWith("NGワード",i){
//処理したいロジック
}
else{
}
}
//else ifでNGワード追加していけばいくらでも設定できる
こんなんどうでしょ?
もしかしたら文字列の長さ1からカウントするかもしれないけど例外は出ないし
NGワードが最後にあるってことは少ないと思うのでモウマンタイで。
0582デフォルトの名無しさん
2008/01/31(木) 10:13:270583デフォルトの名無しさん
2008/01/31(木) 10:17:310584581
2008/01/31(木) 10:19:07for(i=1; i<=word.length(); i++){
}
に修正
0585デフォルトの名無しさん
2008/01/31(木) 11:08:51この時点ですごく残念な感じが漂っているような気が。
0586デフォルトの名無しさん
2008/01/31(木) 11:37:53ヘボすぎてため息出ちゃうね。
0587デフォルトの名無しさん
2008/01/31(木) 11:42:10大問題w
0588森園くるみ
2008/01/31(木) 11:55:10★実装方法についてご教授いただきたくぞんじます。
内容:s2Maiでhtml形式のメールを送信したい
(Content-Typeにtext/htmlを設定したい)
0589581
2008/01/31(木) 12:01:05ロジックを思いついた勢いでへボソース晒してスマソ
0590デフォルトの名無しさん
2008/01/31(木) 13:19:39Seasarのスレに行った方が早いんじゃない。
あと、本物か知らないけど名前は書かないほうがいいよ。
0591デフォルトの名無しさん
2008/01/31(木) 13:31:140にするまで一時ファイルを作るようなアプリって
作成可能ですか?
文字をレコードストアに保存するまでは分かったんですが、
でかい容量のファイルの作り方が見つからないので。
初心者なので、参考になりそうなサイトがあったら教えてください
0592デフォルトの名無しさん
2008/01/31(木) 13:32:520593デフォルトの名無しさん
2008/01/31(木) 14:43:06内部クラス経由の暗黙漏洩、thisキーワードでの明示的漏洩を問わず。
class Foo {
Bar bar;
public Foo() {
bar = new Bar(this);
}
}
みたいな時、new Bar(this)はthis参照を保存するだけで、それを使うことは無い、とわかってれば
安全なんでしょうが、Barのコンストラクタの実装が変わるとFooも危険になる。
Fooの安全性が、Barの実装に依存することになるのが、なんとなく気持ち悪いけど、割り切ればいいものなのかもしれない。
ってのがモヤモヤするところです。
潔癖にするなら、
class Foo {
Bar bar null;
public Foo() {
}
public void initialize() }
bar = new Bar(this);
}
}
みたいな2段階初期化なんでしょうけど。
Swingのソースとか見ると、this漏洩しまくりなんですけどね。
0594591
2008/01/31(木) 14:56:18簡単に言うと、データフォルダの容量を0byteに出来るようなアプリを作りたいんです。
ただ探してもなかなか見つからないので、
似たようなアプリ、または参考になりそうなサイトがあったら
教えて頂きたいのです
0595デフォルトの名無しさん
2008/01/31(木) 15:00:44これって既存のclassファイルをJasminのコードに逆汗(?)してくれたりする?
いかんせん情報が少ないような
0596デフォルトの名無しさん
2008/01/31(木) 15:17:12何心配してるかさっぱり分かんねーんですけど、相手への依存性高めたくないなら
(相手が信頼置けないなら) アクセス修飾子きちんと付けたりインターフェース化したり
さらにアダプタや Wrapper で包んで渡せば良いじゃん。
0597デフォルトの名無しさん
2008/01/31(木) 15:22:59this漏洩が問題になるのは、主にマルチスレッド下だと思う
swingはEDTにバインドされているので、まあ、いいか、みたいな感じなのかも?
0598デフォルトの名無しさん
2008/01/31(木) 15:34:22付けるほどでもない単なる非同期設計ミスじゃん。漏洩の使い方間違ってる。
0599581
2008/01/31(木) 15:51:10嘘ブッコいてサーセン
0600デフォルトの名無しさん
2008/01/31(木) 17:06:55というか、未だに、>>581 のループの意味が分からない・・・・・
何かの謎かけか・・・・
何がしたいか全く不明だ・・・・・
0601デフォルトの名無しさん
2008/01/31(木) 17:09:590602デフォルトの名無しさん
2008/01/31(木) 17:40:24まぁ、アルゴリズムを考えるのは悪くないが…
この程度なら、String.indexOf(String) 使おう
1.5 からは、String.contains(CharSequence) もあるし、
状況に応じて使い分ければなんとかなるもの。
もちろんソースでそのアルゴリズムを確認するのも勉強になることでしょう。
0603デフォルトの名無しさん
2008/01/31(木) 17:49:01なんかのウィルス作成以外の用途があるとは思えないんだが。
そうでないとしても、何したいのか知らないが、そんな力技で
しか実現できない時点で何か間違ってる気がする。
0604591
2008/01/31(木) 17:54:510605デフォルトの名無しさん
2008/01/31(木) 17:58:570606デフォルトの名無しさん
2008/01/31(木) 17:59:200607デフォルトの名無しさん
2008/01/31(木) 18:01:360608デフォルトの名無しさん
2008/01/31(木) 18:04:470609デフォルトの名無しさん
2008/01/31(木) 18:10:310610デフォルトの名無しさん
2008/01/31(木) 18:10:49本が悪いんだろうな本が悪いんだきっと
0611581
2008/01/31(木) 18:25:320612591
2008/01/31(木) 18:42:45まぁここの方でも分からないようなので諦めます。失礼しました
0613デフォルトの名無しさん
2008/01/31(木) 18:46:18ある図形を平行移動させて(四角形を描く感じで)最終的に元の位置に戻すにはどうすればいいですか?
毎回ランダムな場所を通したいんです。
switch文とRandomクラスでできそうですが、美しくない…
図形の座標計算は別クラスです。
説明下手ですみません。よろしくおねがいします
0614デフォルトの名無しさん
2008/01/31(木) 18:47:58いまさらだけど誘導
…てかテンプレに何もないのがアレなのか
CLDC+MIDP+携帯電話用Javaスレッド part 7
ttp://pc11.2ch.net/test/read.cgi/tech/1180010672/
0615デフォルトの名無しさん
2008/01/31(木) 18:52:120616581
2008/01/31(木) 18:53:49俺のレス読んで;;;;
0617デフォルトの名無しさん
2008/01/31(木) 19:02:02親子関係にあるAとBのクラスを作っています。
Aにはhoge()というメソッドがあります。
Bには複数のメソッドがあります。
Bのメソッドが呼び出される時、
必ず最初にAのhoge()を呼び出してから各処理をさせたいのですが
メソッドそれぞれでhoge()を呼ぶように記述する以外の方法で
hoge()を呼び出すことはできますか?
0618デフォルトの名無しさん
2008/01/31(木) 19:16:092. ファクトリを作成しダイナミックプロキシをかました B1 インターフェースで返す。
3. ダイナミックプロキシのハンドラで B2 の任意のメソッドを呼ぶ前に必ず hoge() を呼び出す。
0619デフォルトの名無しさん
2008/01/31(木) 19:16:530620デフォルトの名無しさん
2008/01/31(木) 19:19:420621とりあえず探してみた
2008/01/31(木) 19:20:19■ AWT と Swing は --
Java標準低速GUI 6 AWT/Swing
ttp://pc11.2ch.net/test/read.cgi/tech/1190807478/l50
■ SWT は --
Java 高速GUI SWT 3
ttp://pc11.2ch.net/test/read.cgi/tech/1164877399/l50
■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part16
ttp://pc11.2ch.net/test/read.cgi/tech/1198816379/l50
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 7
ttp://pc11.2ch.net/test/read.cgi/tech/1180010672/l50
■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 64 ★★
ttp://pc11.2ch.net/test/read.cgi/tech/1196543694/l50
0622デフォルトの名無しさん
2008/01/31(木) 19:26:05http://life9.2ch.net/mental/
0623デフォルトの名無しさん
2008/01/31(木) 19:32:08レスありがとうございます。
教えていただいた用語を基に調べて行くことにします。
ありがとうございました!
0624デフォルトの名無しさん
2008/01/31(木) 19:56:290625デフォルトの名無しさん
2008/01/31(木) 20:16:310626デフォルトの名無しさん
2008/01/31(木) 22:17:59マルチスレッドじゃなくても、コンストラクタ内でthisが漏れると、
コンストラクタが完了する前に、private finalなのに初期化前のフィールド値を
参照することになったり、
それを継承すると、super()の中から自分のメソッドを呼ばれて、
そのクラスのコードを1行も実行する前にフィールド参照が起こったりと、
しっちゃかめっちゃかになると思うんですが。
0627デフォルトの名無しさん
2008/01/31(木) 22:30:04this とか関係ねーし。
0628デフォルトの名無しさん
2008/01/31(木) 22:53:2312 : goto 42
:
42 : iadd
みたいなジャンプ後にいきなりスタックのオペランド使うようなコードが
入ってるともしかしてローダに怒られるようになってんの?なんかベリファイエラーでて
"Unable to pop operand off an empty stack"
とかって言われんだけど・・・
0629デフォルトの名無しさん
2008/01/31(木) 23:02:19取り出すオペランドが無いじゃん
0630デフォルトの名無しさん
2008/02/01(金) 00:35:38VMがロードする時点で(実行しなくても)エラー吐いちゃうからさ・・・インタプリタ作ってんだけど
0631デフォルトの名無しさん
2008/02/01(金) 00:36:45javaにしては意味が分かりやすいエラーメッセージだな。
0632デフォルトの名無しさん
2008/02/01(金) 01:07:480633デフォルトの名無しさん
2008/02/01(金) 01:15:230634デフォルトの名無しさん
2008/02/01(金) 10:49:51そのスパゲッティ化を起こさないための設計指針の一つがコンストラクタでthisを
外部に晒さない、なんだが理解できんのか。javaプログラマの質が知れるな。
糞コードが量産されるわけだ。
0635デフォルトの名無しさん
2008/02/01(金) 10:51:56For example, it checks that every instruction has a valid operation code;
が今の状況に当てはまってる・・・?
0636デフォルトの名無しさん
2008/02/01(金) 10:53:110637デフォルトの名無しさん
2008/02/01(金) 11:15:070638デフォルトの名無しさん
2008/02/01(金) 11:17:42そこはInstruction Setにのってないopcode使うなって話だと思うから、
スタックが空ってのとは違うと思うぞ。
0639デフォルトの名無しさん
2008/02/01(金) 11:25:53JMXで取れない?
0640デフォルトの名無しさん
2008/02/01(金) 11:30:59スタック云々だと、データフローアナライザ絡みじゃね?
4.9.2 The Bytecode Verifierの
Next, a data-flow analyzer is initialized. 〜 4.9.2の終わりまで全部。
0641デフォルトの名無しさん
2008/02/01(金) 11:47:08勉強になりますた。バイバイ
0642デフォルトの名無しさん
2008/02/01(金) 13:26:57エラーなどのイベントで全く最初からやり直す方法はありませんか?
0643デフォルトの名無しさん
2008/02/01(金) 13:38:09アプレット相手だと、未だにJDK1.1互換で考えなきゃいかんのか?
だとすると、Thread.UncaughtExceptionHandler とか使えないし、
EDT相手だとuncahughtExceptionをオーバーライドしたThreadGroup使って、
ってわけにもいかんだろうし。
0644デフォルトの名無しさん
2008/02/01(金) 13:58:28すみまません。書き方が悪かったですね。
具体的にはアプレットのウインドウのリサイズを感知したときに再読込から始めたいのです。
アプレットのウインドウサイズは変わらない前提で作ってあったので、
外部から動的に変更されてそのまま実行するとエラーになるのです。
もちろん全てのスレッドを止めてメモリも解放して、最初からやり直すように書けばいいだけなのですが
もっと簡単に再開できる方法が有ればと…(昔のBASICのRUNみたいに(^^;)
0645デフォルトの名無しさん
2008/02/01(金) 14:27:09現実行環境の破棄->再読み込み->再実行 とかを
一発でできる便利メソッドがあるか、って話?
ないはず。
0646デフォルトの名無しさん
2008/02/01(金) 14:56:35ありがとうございました。
手抜きは諦めます。
0647デフォルトの名無しさん
2008/02/01(金) 15:08:13ありがとうございます。-Dcom.sun.management.jmxremote 設定 + jconsole で
取得できる情報でまさに構わないのですが、起動引数が自由に弄らせて貰えない
状態でして…再起動は許されるかもしれません。
あるいは、上記のようなシステムプロパティを設定しなくてもできるもの
なのでしょうか?
0648デフォルトの名無しさん
2008/02/01(金) 15:27:180649デフォルトの名無しさん
2008/02/01(金) 15:42:48this に関係なくそんなレース問題みたいなのは発生しうる、と言ってるのが
理解できんのかこのバカ。ゆとり読解力だと社会生活も支障あるだろ、マジ同情。
0650デフォルトの名無しさん
2008/02/01(金) 15:48:02LiveConnect で JavaScript 呼び出してページリロードでもさせれば?
0651デフォルトの名無しさん
2008/02/01(金) 16:07:05ページリロードくらいjavascriptの範囲で出来ると思うが。
0652デフォルトの名無しさん
2008/02/01(金) 16:13:190653デフォルトの名無しさん
2008/02/01(金) 16:14:050654デフォルトの名無しさん
2008/02/01(金) 16:21:40AppletContext#showDoculent(URL, String) で、
ターゲットに "_self" 使えば再読み込みできんじゃね?
0655デフォルトの名無しさん
2008/02/01(金) 16:25:060656デフォルトの名無しさん
2008/02/01(金) 18:17:510657デフォルトの名無しさん
2008/02/01(金) 18:48:06Sun の Java Plug-in ドキュメントでも使い分けてないし、ベースが Netscape の
LiveConnectにあわせたインターフェースなんだから LiveConnect で良いじゃん。
0658デフォルトの名無しさん
2008/02/01(金) 18:55:51コンポーネント配置するんじゃなくて自分で描画する奴。
0659デフォルトの名無しさん
2008/02/01(金) 19:28:02paintじゃなくてpaintComponentをオーバーライドすること
0660デフォルトの名無しさん
2008/02/01(金) 19:39:07一人でそう思っとけばいいだろ、いちいち騒ぐことでもない
0661デフォルトの名無しさん
2008/02/01(金) 19:40:090662デフォルトの名無しさん
2008/02/01(金) 19:54:28this が漏洩されると保証されなくなるって聞いたけど、
コンストラクタがオーバライド可能なメソッドを呼び出すことについては、どう扱われているん?
おしえてエロイ人
0663デフォルトの名無しさん
2008/02/01(金) 20:01:060664デフォルトの名無しさん
2008/02/02(土) 02:12:51EJBの勉強で別サーバで動くEJBを動かしたいんですが、JNDIの設定
がわからなくてエラーがでます。
0665デフォルトの名無しさん
2008/02/02(土) 02:47:54もうちょっとエラーの内容を細かく書いてみるべし。
0666デフォルトの名無しさん
2008/02/02(土) 04:10:020667デフォルトの名無しさん
2008/02/02(土) 04:24:20こんなん? まぁキーワードから先は自分で調べれ
http://lab.moyo.biz/references/java/version.xsp
http://lab.moyo.biz/references/java/history.xsp
0668デフォルトの名無しさん
2008/02/02(土) 11:21:11あれで押しても動画の視聴が遮られないで反映するのって何で実装してるのですか?
0669デフォルトの名無しさん
2008/02/02(土) 11:23:590670デフォルトの名無しさん
2008/02/02(土) 12:16:170671デフォルトの名無しさん
2008/02/02(土) 13:52:45iアプリでTextBoxに入力する時には一度決定キーで文字入力状態にしますが、
KeyPressedでキーの数字を順次読み込ませてTextBoxに入力させたいのですが、
方法がいまいち分かりません。
public void KeyPressed(int key) {
text.setText(text.getText() + (key));
}
で良いのでしょうか?ご教示願います。
0672デフォルトの名無しさん
2008/02/02(土) 14:28:490673デフォルトの名無しさん
2008/02/02(土) 14:40:39int key が数字ボタンに表示されてる数字(1とか2とか)ならそれで大丈夫。
iアプリのAPIについては良くわからないので別の問題なら私は無理。
というか、〇〇で大丈夫ですか? と聞くぐらいなら、試せばいいじゃないか、と。
「△△になるはずだったんだけど、□□と表示されてしまう」というなら、
解決法なり誘導なり、色々手伝えることがあるとは思うのだが…
0674671
2008/02/02(土) 16:16:25質問の仕方が悪く、大変申し訳ありませんでした。
上記のソースを使って編集不可に設定したTextBoxに
入力できるようにしているつもりなのですが、
TextBoxには数字が入力されません。
どうすればよいのでしょうか。
0675デフォルトの名無しさん
2008/02/02(土) 16:34:08どこかのスレで話し合われていたら、誘導お願いします。
なんか、過去ログにはあったんですが、
現行スレなさそうで・・・。
0676デフォルトの名無しさん
2008/02/02(土) 16:50:47ダブルクリッカブルでいいのかそれともネイティブな実行可能ファイルを吐きたいのかによる。
ダブルクリッカブルでいいならjar生成するときにマニフェストでMain-Class指定。
ネイティブならjava, exeなどで検索。
0677デフォルトの名無しさん
2008/02/02(土) 17:22:24最近のJavaの近況ってどうよ?
SpringとかAjax周りとかO/Rマッピングとか、StrutsとかRoRのJava版とか
昔聞いた記憶があるんだが
そのほか新しいトピックがあるとしたら今は何よ?
0678デフォルトの名無しさん
2008/02/02(土) 17:29:280679デフォルトの名無しさん
2008/02/02(土) 17:31:280680デフォルトの名無しさん
2008/02/02(土) 19:28:36classファイルが1つしか出てこないのだが(5つのファイルで構成されている)
これは何故なのだろうか・・・。ちなみにコンパイルは通った。
packageの名前が違うというジョークは無い。
ちなみに参考書についていたパッケージのプログラム(4つのファイルで構成)
は普通に通って4つ分のclassファイルが出来たのだが。
0681デフォルトの名無しさん
2008/02/02(土) 19:41:53javac だと、コンパイルしたクラスが直接使用してない
無関係なクラスは自動的にはコンパイルされないけど、
そーゆー話じゃなくて?
0682デフォルトの名無しさん
2008/02/02(土) 19:59:55あ、もしかしたらそれかもしれない。回答thx。
0683デフォルトの名無しさん
2008/02/02(土) 21:08:36追加のアルゴリズムをモジュールのように取り込んで別々の計算をさせるようにするには全体をどんな構造にすれば
いいのか
何かコツみたいなものあります?
0684デフォルトの名無しさん
2008/02/02(土) 21:12:270685デフォルトの名無しさん
2008/02/02(土) 23:41:23年はおろか、日すら1から始まるのに、月だけ0-11にしたのかわかりません。
一通り調べたのですが、なかなか出てこなかったので、知っている方いらっしゃれば教えてください。
0686デフォルトの名無しさん
2008/02/02(土) 23:48:12月は数字じゃなくて、名前がついてるからじゃね?
曜日も0からだし。
0687685
2008/02/02(土) 23:49:24スレ汚し失礼しました。
# 以下チラ裏
# 後続のために念のため見つけたURL書いときます
# JavaFAQ: Date / Calendar
# ttp://javafaq.jp/S100.html
0688デフォルトの名無しさん
2008/02/02(土) 23:50:29すいません、回答ありがとうございます。
その通りでした。
0689デフォルトの名無しさん
2008/02/03(日) 01:40:07それはウィキッド
0690デフォルトの名無しさん
2008/02/03(日) 04:20:110691デフォルトの名無しさん
2008/02/03(日) 16:03:37EJBを使用する際に、
ObjHome objHome =
(ObjHome)context.lookup("java:comp/env/ejb/test.ObjHome");
でhomeを取得してくるのですが、
これってリモートでEJBをCALLするときにEJBが存在するサーバIPや
ポートの指定などしていないのですが、何故callできるんでしょうか。
0692デフォルトの名無しさん
2008/02/03(日) 16:30:23・InitialContext.lookup()の引数に環境情報を渡す
・jndi.propertiesにホスト情報を記述する
・APサーバのJNDIサービスにエイリアスを設定する
上記のどれか。
何もなければ同一ホストから検索される。
0693デフォルトの名無しさん
2008/02/03(日) 17:26:01Object obj = new Object() { ... }
こういう文法が理解できません。
中括弧の中では、何をしているのでしょうか。
コンストラクタを定義するのと同時に、
インスタンスを作成している感じでしょうか?
メソッドに与えられるのは引数だけだと思っていたので、
それ以外の何かを同時にしているというのがよくわかりません。
この書き方の概念を教えてください。
出来れば言語仕様上で、こういう記法がどこに書いてあるかの
ポインタも合わせて教えていただけると嬉しいです。
(さらに言えば、日本語で)
こういう書き方をなんと呼ぶのかも知らないので、検索もできず……。
この書き方は、例えば ThreadLocal クラスの
API の 1.4 以降で、使い方の説明に出てきます。
http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/lang/ThreadLocal.html
0694デフォルトの名無しさん
2008/02/03(日) 17:28:20匿名クラスでググれ
0696デフォルトの名無しさん
2008/02/03(日) 18:34:30ありがとうございます。
ダブルクリックで起動できればいいかなと思っていますので、
ちょっと試してみます。
.batファイルを作ったり、
ショートカットで作ったりしていましたが、
それって、環境変わったらだめくさいきがしまして・・・。
0697868
2008/02/03(日) 19:50:23回答ありがとうございます。
ProjectはBuild automatically clean にチェックが入っています。
しかし新しく作成したディレクトリがTomcatで表示されません。
webapp直下にjsp-xxxというフォルダを作ったのですが。
0698868
2008/02/03(日) 20:00:040699697
2008/02/03(日) 20:16:20質問先でスレ違いといわれてしまいました。
0700デフォルトの名無しさん
2008/02/03(日) 20:32:450702697
2008/02/03(日) 21:38:080703デフォルトの名無しさん
2008/02/03(日) 21:56:300704デフォルトの名無しさん
2008/02/03(日) 22:25:39あとは何を書いたらいいのかわかりません。
何を書いたらよろしいでしょうか?
0705デフォルトの名無しさん
2008/02/03(日) 23:52:19タイムアウトを設定して回避したいのですが、
タイムアウト付のwaitFor代替の方法ってあるのでしょうか?
いちいちTimer設定して破棄するしかないのだろうか・・・
0706デフォルトの名無しさん
2008/02/04(月) 00:22:23Java FAQも古いな。
Java5以降になってから解決した問題が未だに載っている。
Java5以降の開発では有用性が弱冠下がっている。
Java6以降の対応版Java FAQを作るべき時期に来ているのだろうか?
それとも、すでにそれに相当するサイトによって置き換えられてしまったか?
0707デフォルトの名無しさん
2008/02/04(月) 00:22:26Thread t = new Thread(){
public void run(){ try{ proc.waitFor(); } catch(InterruptedException ex){/* */}}
};
t.start();
t.join(5 * 1000);
if(t.isAlive()){ proc.destroy();}
0708デフォルトの名無しさん
2008/02/04(月) 00:24:31http://www.shiki.gr.jp/applause/wicked/
こいつよ
>>678はWicket
劇団四季でやってるのはWicked
スペルが一つ違い。
これは面白いミュージカルなんだろーか
>>678のおかげで見たくなってきた
0709デフォルトの名無しさん
2008/02/04(月) 00:27:08誤爆してるっていうから、レス番が>>898と未来へ飛んでるわけな?
今のところ、>>898のレスが無いから、
元の質問も今の君の質問からも、君が何をしたいのか
わからないんだ。情報を出してもらわないことには、質問には
答えられない。エスパーする以外では
0710デフォルトの名無しさん
2008/02/04(月) 00:29:17ありがとうございます。
結局waitForのタイムアウト指定版っていうのはないみたいですね…
0711デフォルトの名無しさん
2008/02/04(月) 00:36:30こういうまとめ系って Wiki とかじゃないと管理人がヘタったら終わりなんだよね。
他人が勝手にコピペして引き継ぐわけに行かないし。Wiki 立てるのって簡単なのかな?
サーバリソース余ってるからやっても良いんだけど。
0712デフォルトの名無しさん
2008/02/04(月) 00:52:55>>709
アドバイスありがとうございます。そのとおりですね。
apache-tomcatとEclipseを使っています。
EclipseにSeaser2プラグインを入れました。
Churaプロジェクトを新規作成、
デフォルトのindex.jspがtomcatで表示されることを確認(localhost)
で、webapp直下にディレクトリを作成してファイルを置きました。
でコンテクスト定義の更新をかけたのですが、
作成したディレクトリが見えません。
ProjectはBuild automatically clean にチェックが入っています。
おそらくweb.xmlを直さないといけないのでしょうが
どこを直したらいいか見当がつきません。
ネットも探してみましたが分かりませんでした。
よろしくお願いいたします。
0713デフォルトの名無しさん
2008/02/04(月) 00:57:200714デフォルトの名無しさん
2008/02/04(月) 01:03:090715デフォルトの名無しさん
2008/02/04(月) 01:20:40回答ありがとうございます。
Eclipseの中でディレクトリを作っています。
0716デフォルトの名無しさん
2008/02/04(月) 03:36:48リファレンスの本ってあったほうがいいでしょうか?
ワザあり!逆引き速引きリファレンスJavaってのがいいって聞いたのですが
どうなんでしょうか?
0717デフォルトの名無しさん
2008/02/04(月) 10:11:330718デフォルトの名無しさん
2008/02/04(月) 14:30:47Wikihouseに立てるのは簡単だよ。
これ使う手もあり
http://ja.wikibooks.org/wiki/
0719デフォルトの名無しさん
2008/02/04(月) 17:32:20まず本屋でパラパラその本を捲ってみろ。
0720デフォルトの名無しさん
2008/02/04(月) 19:44:11見た事無いなあ
0721デフォルトの名無しさん
2008/02/04(月) 19:50:11サンクスです。
リモート呼び出しでも何の設定もしていなければ同一サーバ上のEJBを探しにいく
ということですね。
同一サーバ上で動かしていますが、
Context initial = new InitialContext();
Object objref = initial.lookup("NewSessionRemote");
で、lookupのところで
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
が出ます。何か設定しろということらしいのですが・・・
0722デフォルトの名無しさん
2008/02/04(月) 21:05:25サンプルプログラムを探していて、このようなサイトにたどり着きました。
http://www.catch.jp/program/java/
ページ上部の「021: 10個の点が3-Dで移動する」のソースコードをコンパイルすると
classファイルが3つ出現しました。
使い方がわからなかったので、検索してみると「jar」コマンドで複数のclassファイルを結合できると知り、
試してみたのですがなかなかうまくいかないので、皆様のお力をお借りしたいです。
jarファイル作成についてはこのサイトを参考にさせていただきました。
http://www.tohoho-web.com/java/other.htm
このような場合にブラウザでアプレットとして動かすにはどうすればよいのでしょうか。
よろしくお願い致します。
0723デフォルトの名無しさん
2008/02/04(月) 21:05:25for(int i=0;i<numChips;i++){
mapChipImages[i]=createImage(chipSize,chipSize);
int x=i%numChipsInRow;
int y=i/numChipsInRow;
Graphics g=mapChipImages[i].getGraphics();
g.drawImage(mapChipImage,0,0,chipSize,chipSize,x*chipSize,y*chipSize,x*chipSize+chipSize,y*chipSize+chipSize,null);
}
numChips=64,chipSize=32,numChipsInRow=8です。
と、このようなものがあるのですがこちらの5行目(Graphics g=...)にて
Exception in thread "main" java.lang.NullPointerException
というエラーが発生してしまい困っております。
ttp://javagame.main.jp/index.php?FrontPage#rd9af24b
こちらのマップエディタの描画処理をrepaint();ではなく基礎-アクティブレンダリングで紹介されているものに
置き換えようとしたのですが上手く行かず困っています。
よろしくお願いします。
0724デフォルトの名無しさん
2008/02/04(月) 21:18:510725デフォルトの名無しさん
2008/02/04(月) 21:25:43ごめんなさい。しっかりと書くべきでした。
ttp://javagame.main.jp/index.php?FrontPage#rd9af24b
で紹介されているマリオ風アクションゲームにてマップエディタを使い記録したものを
読み込ませるために使いたいのです。なので本来はマップエディタのマップを読み込み
描画するというところだけを抜き出せばよいハズなのですがどうも上手く動かなかったので
質問した次第です。ご迷惑をお掛け申し訳ありません。
0726デフォルトの名無しさん
2008/02/04(月) 21:27:21javaはパッシブレンダリングだからアクティブレンダリングするときは自分でバッファ管理しないとNPE出るけどそれじゃない?
ttp://homepage1.nifty.com/algafield/JavaGUIFaq19j.html#three4
0727デフォルトの名無しさん
2008/02/04(月) 21:30:29表示させるだけならアクティブレンダリングの意味ない
0728デフォルトの名無しさん
2008/02/04(月) 21:43:42まだ、私は日が浅いため理解するのに時間はかかりそうですが
頑張って理解してみようと思います。
>>727
そうなのですか。しかし、そうだとしても一枚のグラフィックを複数に分けて
使用するというのは今後も使いそうなのでできれば習得しておきたいと考えたのです。
実際、使う画像を一枚一枚分けて保存していては管理も大変だと思ったので。
0729デフォルトの名無しさん
2008/02/05(火) 00:31:24これまでずっとCだったので、JAVAはよく分かりません。
http://www.asahi-net.or.jp/~ns9k-mr/csproject/jdbc_source/mvc.html
の
}finally{
try{
if(rs != null) rs.close();
の部分です。
rsにnullを代入している記述は見つかりませんでした。
JAVAでは一般的に、*.close()すると、*はnullになるように
クラスが設計されているのでしょうか?
0730デフォルトの名無しさん
2008/02/05(火) 00:43:22> JAVAでは一般的に、*.close()すると、*はnullになるように
ならないよ。
0731デフォルトの名無しさん
2008/02/05(火) 00:47:27* がnullになる、という状態が上手く理解できていないので、Javaの方だけ説明します。
closeの内部で何をしているかについては実装しだいですが、
API の説明を見る限りでは、「JDBCリソース」を直ちに解放するようです。
try文の外、宣言部分で null 代入してます。
nullチェックをしているのは、値が入る前に例外が発生した時を想定しています。
ヒープからの解放は、GCにお任せなので、制御できません。
0732デフォルトの名無しさん
2008/02/05(火) 01:13:45それならfinallyで
if(rs != null) rs.close();
こんなことが書いてあるということは、処理がうまくいった場合は
rs.close();が実行されて、その後にtryを抜けるところで
finallyによってもう一度rs.close();が実行されようとする悪いソースなのでしょうか?
0733デフォルトの名無しさん
2008/02/05(火) 01:26:31ただそのサイトのソースの書き方
}finally{
try{
if(rs != null) rs.close();
if(stmt != null) stmt.close();
if(con != null) con.close();
}catch(SQLException se){
se.printStackTrace();
}
}
とか文字列連結で SQL パラメータ追加したりとかウンコすぎ。
0734デフォルトの名無しさん
2008/02/05(火) 01:29:19>}finally{
>try{
>if(rs != null) rs.close();
>if(stmt != null) stmt.close();
>if(con != null) con.close();
>}catch(SQLException se){
>se.printStackTrace();
>}
>}
なにがいけないの?
一個目で例外が出ると全部コケる所?
0735デフォルトの名無しさん
2008/02/05(火) 02:04:48Cでよくあるclose()のように、そのclose()も2回呼んでもエラーにならないと
想像してはいましたが、Cやってる人なら普通はclose()したらその直後にNULL入れるから
そういうソース見るとウンコかと。
でもJAVA知らないのでclose()の内部でnullする処理があるのか気になりました。
0736デフォルトの名無しさん
2008/02/05(火) 02:15:09そんなことしたことない。
0737デフォルトの名無しさん
2008/02/05(火) 02:22:06bは引数が1つあって、引数に与えられた文字の手前に"f"を挿入した文字を返します。
結果は"fh"となることを期待しました。
期待通りになるように修正していただけませんか?
public class a {
public static void main (String args[]) {
String g = b("h");
System.out.println("Hello World!!");
}
}
public class b {
b(String c){
d(c);
}
private String d(String c) {
String e = new String("f" + c);
return e;
}
}
0738デフォルトの名無しさん
2008/02/05(火) 02:25:07それぞれの変数に値入れる前に例外発生してfinallyブロックに行く可能性があるからそういうコードになる。
0739デフォルトの名無しさん
2008/02/05(火) 02:25:30但し、最終的な解放は GC 任せですので、あしからず。
Javaの場合は、裏でOSネイティブなリソースを使ってる場合があって、
明示的に解放してあげないと、何時までも占有する可能性がある。
特に、close はそういうことに関係してるかと。
0740デフォルトの名無しさん
2008/02/05(火) 02:27:28まずコンパイル通せよ。
まぁそのままだと実行しても"Hello World!"としか表示されないだろうが。
0741デフォルトの名無しさん
2008/02/05(火) 02:30:15フィールドや、外部に晒した変数なら、nullを入れるのもいいかもしれない。
0742デフォルトの名無しさん
2008/02/05(火) 02:32:36その通り。トランザクションの不整合などで rs.close() が例外になるとステートメントや
コネクションがクローズされない。
>>735
大きな try-finally 節の中で何度もオープン/クローズを繰り返すような時はクローズ後に
null を代入して、finally 節の close() は例外発生時の大域的な保障と位置づけることも
あるが、そのソースのように最後に 1 度だけやれば良いようなときは最後の finally に
任せてわざわざ try 節内ではクローズしない。一回目の close() で失敗したときの予備
としてもう一度試行する意図かもしれないが、DB の問題はもう一度やってうまく行くという
ものでもないし。つーかそのページの趣旨は JDBC コーディングどうあるべきかじゃない
んだからそんなお作法的なところは適当に読め。
0743デフォルトの名無しさん
2008/02/05(火) 02:36:15それはエラーが発生した場合ですよね。
正常な場合にclose()を2回実行しようとするのはウンコだと思います。
>>739
JAVAは解放をGCがやってくれるらしいですが、Cと違って
やってくれるのはnewに対する解放のみなんでしょうか?
0744デフォルトの名無しさん
2008/02/05(火) 02:39:57スタックには参照しか置けねーよ アホ
0745デフォルトの名無しさん
2008/02/05(火) 02:42:28コンパイルしましたがまだ分かりません。
↓a.java
public class a {
public static void main (String args[]) {
String g = new String("");
// g = b("h"); コメントアウトしたらコンパイルできました。
System.out.println(g);
}
}
↓b.java
public class b {
b(String c){
d(c);
}
private String d(String c) {
String e = new String("f" + c);
return e;
}
}
0746デフォルトの名無しさん
2008/02/05(火) 02:43:430747デフォルトの名無しさん
2008/02/05(火) 02:45:030748デフォルトの名無しさん
2008/02/05(火) 02:45:47文章が簡素で短い。頭に思い浮かべている内容に自信がないみたいだね。
とりあえず744はアホのままでいいから744がスタックについて理解を
深めるのを阻止するためにスタックの話題はスルー。
0749デフォルトの名無しさん
2008/02/05(火) 02:50:58ハァ?
ヒント: C はクラスのインスタンスをスタックに置ける
0750デフォルトの名無しさん
2008/02/05(火) 02:59:14java からJNIなどを使ってネイティブなコードから確保したメモリはGCの対象にはならない。
ネイティブじゃなくても、オブジェクト作成時にJavaやアプリケーションサーバなどで内部的に管理されるようなリソースもGCの対象にならない
(トランザクションとか。アプリ側から参照を外してもJavaVMやAPServerが参照を持っちゃってるからGCの対象にならない)。
こういうのは明示的にcloseを実行することによって管理側から参照が外されてようやくGCの対象になる。
それ以外はアプリ側から参照を無くすだけでGCの対象になる。
0751デフォルトの名無しさん
2008/02/05(火) 03:07:05(しなくて良いという意味ではなくて)。
0752デフォルトの名無しさん
2008/02/05(火) 03:16:11public class a {
public static void main (String args[]) {
if(true){//できる。
b b_ = new b("h");
String g = b_.d("h");
}else{//本当はこっっちでやりたい。
String g = new b("h");
}
System.out.println(g);
}
}
↓b.java
public class b {
b(String c){
d(c);
}
public String d(String c) {
String e = new String("f" + c);
return e;
}
}
0753デフォルトの名無しさん
2008/02/05(火) 03:19:34public static void main(String[] args){
System.out.println(b.d("h");
}
}
public class b{
public static String d(String c){
return "f" + c;
}
}
0754デフォルトの名無しさん
2008/02/05(火) 03:26:40> //本当はこっっちでやりたい。
> String g = new b("h");
これはbをどう変更してもできない。仕様的に。
0755デフォルトの名無しさん
2008/02/05(火) 03:27:55String型を返すコンストラクタはString以外には存在しない。
文字列の結合が目的ではないと思うが、
あまりにも簡単なことをこなす為に、拘る内容があまりにも初歩的。
・クラスの継承、型と代入について
・コンストラクタの仕組み、メソッドとの違いについて
0756デフォルトの名無しさん
2008/02/05(火) 03:32:32コンストラクタは自分のクラス型しか返せないということですね。
>>753
できました。ありがとうございます。メソッドをstaticにしないとうまくいきませんね。
public String d(String c){
static String s = new String("f" + c);
return s;
}
これだとコンパイルエラーでした。
0757デフォルトの名無しさん
2008/02/05(火) 03:43:05newオペレータが指定されたクラスのインスタンスを構築してその参照を返す
その構築の際にコンストラクタが使用される
0758デフォルトの名無しさん
2008/02/05(火) 03:54:53Javaではnewは演算子扱いではなくてクラスインスタンス生成式や配列生成式を示すだけのキーワード扱いじゃなかったかな。
0759デフォルトの名無しさん
2008/02/05(火) 04:01:42JLS見てみる。
0760デフォルトの名無しさん
2008/02/05(火) 04:53:50前者と後者の振る舞いは等しいものでしょうか?
String s = "1";
String s = new String("1");
0761デフォルトの名無しさん
2008/02/05(火) 04:55:060762デフォルトの名無しさん
2008/02/05(火) 05:12:42http://www.nextindex.net/java/class/String.html
0763デフォルトの名無しさん
2008/02/05(火) 05:26:33ありがとうございます。
普通は
String s = new String("1");
s = "6";
だと思いますが、
String s = new String("1");
s = new String("6");
こうしてもよいのでしょうか?
0764デフォルトの名無しさん
2008/02/05(火) 05:28:52jarファイルをダブルクリックするとラプラスが起動して解凍してしまいます
拡張子を何に関連づけすれば解決するでしょうか
0765デフォルトの名無しさん
2008/02/05(火) 05:53:290766デフォルトの名無しさん
2008/02/05(火) 08:12:020767デフォルトの名無しさん
2008/02/05(火) 12:04:47Stringは不変オブジェクトだから、無駄なインスタンスができるだけ。
"...." だけでよい。
0768デフォルトの名無しさん
2008/02/05(火) 12:08:00FastDateFormat(format() のみ) がありますが、
parse() に関しては jakarta の DateUtils.parseDate() を
使用すればスレッドセーフになるんでしょうか?
0769デフォルトの名無しさん
2008/02/05(火) 12:39:480770デフォルトの名無しさん
2008/02/05(火) 12:43:51メソッド内でSimpleDateFormatのインスタンスを生成してparseすれば済む話だろ
0771デフォルトの名無しさん
2008/02/05(火) 12:54:08それは設計の問題で StringBuffer の問題ではないと思う。
一応、StringBuffer は同期化されてるので、「壊れる」ことはない。
意図しない結果をもたらす事はあるとしても。
0772デフォルトの名無しさん
2008/02/05(火) 12:58:37SimpleDateFormatって複数インスタンス作っても
内部で同一オブジェクトを使いまわすのでスレッドセーフじゃないって話だったような。
0773デフォルトの名無しさん
2008/02/05(火) 12:59:090774デフォルトの名無しさん
2008/02/05(火) 13:02:10http://www.geocities.co.jp/Playtown/1245/java/unsafe_simple_date_format.html
この辺みてるんですけど、それで解決する問題なのかどうかが
イマイチよくわからないんですよ、、、
0775デフォルトの名無しさん
2008/02/05(火) 13:07:49Servletで使いまくってるけどやばい?
0776デフォルトの名無しさん
2008/02/05(火) 13:31:40参照を他のスレッドに晒さなければ大丈夫。
staticで持ってたりしたら危ない。
0777デフォルトの名無しさん
2008/02/05(火) 13:40:50つまり、
>> 774 にある
>SunのBug Paradeを、"+SimpleDateFormat +thread"で検索してもらうと
>すぐわかるように、SimpleDateFormatクラスは、
>複数のインスタンスで同じオブジェクトを共有して持っており、
>スレッドセーフではありません。
という記述が間違いなんでしょうか?
複数インスタンスと言ってる時点で static では無いと思うんですが。
0778デフォルトの名無しさん
2008/02/05(火) 13:45:10それくらいわかれカス
0779775
2008/02/05(火) 13:52:22どうしよう
0780775
2008/02/05(火) 13:55:30SimpleDateFormat
を作ってくれませんか?
0781デフォルトの名無しさん
2008/02/05(火) 13:57:010782デフォルトの名無しさん
2008/02/05(火) 13:59:43// SimpleDateFormatを使うコード
}
こうすれば中でstaticなデータ持ってようと、
同時に読み書きされることはない・・・はず。
マルチスレッドよぅわからん。
0783775
2008/02/05(火) 14:09:24FastDateFormat hms = FastDateFormat.getInstance("HH:mm:ss");
FastDateFormat ymd = FastDateFormat.getInstance("yyyy/MM/dd");
hms.format(....
ymd.format(....
こういうコードだとどっちみちダメなのでしょうか
0784デフォルトの名無しさん
2008/02/05(火) 14:14:160785デフォルトの名無しさん
2008/02/05(火) 14:16:05マルチスレッドで使わなきゃ良いだけじゃん。
0786775
2008/02/05(火) 14:16:35くれるのでしょうか?
0787デフォルトの名無しさん
2008/02/05(火) 14:18:03ttp://www.amazon.co.jp/dp/4797337206
0788デフォルトの名無しさん
2008/02/05(火) 14:21:42ローカル変数かどうかは問題じゃない。
インスタンスへのアクセスが閉じているかどうかだ。
>>783
おまえはスレッドセーフの意味が分かってなさそうだから。
まずはシングルスレッドで頑張れ。
0789デフォルトの名無しさん
2008/02/05(火) 14:23:38内部で static なオブジェクト使ってることとは関係ない。複数インスタンスで共有してるのは
ロケールごとの静的なリソースだ。だから >>777 で引用部分の表現は明らかにおかしい。
0790デフォルトの名無しさん
2008/02/05(火) 14:25:11ローカル変数ってのは表現間違えたがマルチスレッドで意味ぐらい汲めよ。
0791775
2008/02/05(火) 14:26:55都度newしているなら問題ないってことですね?
0792デフォルトの名無しさん
2008/02/05(火) 14:29:51そのローカル変数が他スレッドに漏れてなければ、ね
0794デフォルトの名無しさん
2008/02/05(火) 14:32:53そういうこと。スレッドごとに別インスタンスで使っていれば問題ない。
でなければ JSTL の日付フォーマットも使えない。
「処理中で不整合」 の内部状態を持つのは DocumentBuilder、Transformer、XPath、Matcher なんかも同じ。
0795デフォルトの名無しさん
2008/02/05(火) 14:44:42そこで ThreadLocal の出番だな
0796デフォルトの名無しさん
2008/02/05(火) 14:57:04数字を入力してください: 120←入力
と入力された数字を "1" "2" "0" と分けて取り出す方法を教えてください。
宜しくお願いしますm(_ _)m
0797デフォルトの名無しさん
2008/02/05(火) 15:05:380798デフォルトの名無しさん
2008/02/05(火) 15:08:17行き詰ってしまってしましました。
メソッド名:getProfile
引数: String name , int age
処理:「○○さんは△歳です」という文字列を返す
戻り値:String
このソースの書き方を教えてください。
よろしくお願い致します。
0799デフォルトの名無しさん
2008/02/05(火) 15:08:550800デフォルトの名無しさん
2008/02/05(火) 15:10:240801デフォルトの名無しさん
2008/02/05(火) 15:10:29ありがとうございますw
もう一つすみません。
入力された数字intで取り出したいのですが、charAtでもintを取り出せるのでしょうか?
0802デフォルトの名無しさん
2008/02/05(火) 15:12:18Characterクラスのjavadocをみるよろし。
0803デフォルトの名無しさん
2008/02/05(火) 15:19:10クラスがないようなのが気になってたんだけど、これって毎度 String.format()
しなきゃいけないのかな?
0804デフォルトの名無しさん
2008/02/05(火) 15:27:31あ、そうか変換すれば良いんですね。
ありがとうございます。
0805デフォルトの名無しさん
2008/02/05(火) 15:27:56ちょっと何言ってるかわからない。
解析済みで再利用可能って・・・戻り値のStringを保持しとけばいいじゃん、
とかそういうことじゃなくて?
0806デフォルトの名無しさん
2008/02/05(火) 15:32:03String.format の内部は、return new Formatter().format(String, Object...).toString()
Formatter 内部でキャッシュできそうな部分もあるが、private クラスの配列になってるし。
まぁ強いてキャッシュにするなら、Formatter のインスタンス辺りかな
0807デフォルトの名無しさん
2008/02/05(火) 15:34:25java.util.regex.Pattern みたいなものを期待してるなら、ないね。
java.util.Formatter は出力先を持ってるだけで、
書式文字列を固定で持ってるわけじゃないし。
0808806
2008/02/05(火) 15:41:29Formatterの生成時には出力先を用意するだけなので、キャッシュの意味なし。
しかも、toString時に出力先をクリアするわけでもないので、再利用自体も不可に近い。
0809デフォルトの名無しさん
2008/02/05(火) 15:51:38Logging API の Formatter とか膨大な呼び出しされそうなところで使われそうなものだから
なんかもったいないなぁと思っただけで。
0810デフォルトの名無しさん
2008/02/05(火) 15:54:55それとも日本語用分かち書きの sen とか言うのが使ってるの?
0811デフォルトの名無しさん
2008/02/05(火) 15:57:19今読んでいる「やさしいJava 第3版」って本の練習問題なのですが
16進数を使って、6、20、13を画面に出力しろという問題があります。
答えを見ると
public static void main (String args[])
{
System.out.println(0x6);
System.out.println(0x14); ←
System.out.println(0xD);
}
と書いてありました。
←をつけた行の、(0x14)を(0xE)として間違ったのですが、
なぜ16進数でA〜Fで表される数の14がEでは
間違い・エラーになってしまうのかわからないです。
試しにFなどを入れて出力などしましたが、Eだけエラーになってしまいます。
わかる方教えてください。。
0812デフォルトの名無しさん
2008/02/05(火) 15:59:35とりあえず、どんなエラーが出るんだ?
0813デフォルトの名無しさん
2008/02/05(火) 16:01:300x14は0xが頭についてるので、10進数じゃなくて16進数として解釈される。
16進数の0x14を10進数になおすと20になる。
10進数の14が必要なら0xを頭につけちゃだめ。
0814デフォルトの名無しさん
2008/02/05(火) 16:05:200x14 を 0xE と間違えた後、14 にして、さらに E としたところでエラーが出たに1票。
0815デフォルトの名無しさん
2008/02/05(火) 16:10:40なるほど、814が正解かもしれない。
なんか16進数自体わかってなさそうだ。
0816811
2008/02/05(火) 16:12:27(0xE)ではじめに書いたら
Exception in thread "main" java lang.NoClassDefFoundError
といった表示が出てしまいました
>>811に書いたようなテキストの答えを見て
0x14にしたらちゃんと表示されます。
まだ頭がごっちゃでわかってません。。すみません。
0817811
2008/02/05(火) 16:14:24ありがとうございますorz
0818デフォルトの名無しさん
2008/02/05(火) 16:18:20エラーを見るに、何か他のクラスを実行しようとしたみたいだけど。
0819デフォルトの名無しさん
2008/02/05(火) 16:26:260820デフォルトの名無しさん
2008/02/05(火) 17:40:130821デフォルトの名無しさん
2008/02/05(火) 19:04:58実践的な本で勉強した方が後々いいと思うんだけど
0822デフォルトの名無しさん
2008/02/05(火) 21:32:02趣味なら
自分だけのメーラー作成を通して学ぶ
EclipseによるJava
とかを打ち込みながら実行してWebで分からない所を調べる
とかだと面白く学べる。
仕事だとフレームワークが絡んでくるから個々のフレームワーク・言語の入門本がいいかと思う。
0823デフォルトの名無しさん
2008/02/05(火) 21:41:03動かないんだけどそれだけじゃ意味ない?
0824デフォルトの名無しさん
2008/02/05(火) 21:58:34超初心者ならわかりずらいかもしれんがまともなこと書いてある。
SJC-Pとかうけるのにもこの本読んどくとかなり試験勉強の助けになる。
0825デフォルトの名無しさん
2008/02/05(火) 22:12:060826デフォルトの名無しさん
2008/02/05(火) 22:30:420827デフォルトの名無しさん
2008/02/05(火) 22:37:110828デフォルトの名無しさん
2008/02/05(火) 22:46:300829デフォルトの名無しさん
2008/02/05(火) 22:48:40何がしたいんだ?
target が 1.6 のクラスファイルは、どう頑張っても1.4のJVMじゃ動かんよ。
0830デフォルトの名無しさん
2008/02/05(火) 23:26:010831デフォルトの名無しさん
2008/02/05(火) 23:28:570832デフォルトの名無しさん
2008/02/05(火) 23:32:12じゃあ無理みたいだorz
無視でよろしこ
0833デフォルトの名無しさん
2008/02/06(水) 01:52:01aの中に*.classがあります。
jarを作りたいです。
>jar cv
エラーでした。
jar.exeの使い方を教えてください。
普通のアーカイバでzip圧縮して拡張子変更したものではだめですか?
0834デフォルトの名無しさん
2008/02/06(水) 02:04:32JDKのドキュメントに「ツールとユーティリティ」の項目があり、
そこにjarのマニュアルもある。
というか、jar cvでヘルプが出て使用例も表示されるだろ?
0835デフォルトの名無しさん
2008/02/06(水) 02:16:08jar でヘルプが出るけどヘルプが糞だ。
例文が2つほど出るけど例文は少なとも30ぐらいは出してくれないと理解不能。
たぶん834もjar使えないんじゃねーの?ヘルプが糞だから。
0836デフォルトの名無しさん
2008/02/06(水) 02:20:50ドキュメントの場所を教えてるんだから分からなければそっちを読め
ってか普通はオプションの意味さえとれれば使用例は要らない
0837デフォルトの名無しさん
2008/02/06(水) 02:38:15無理しないでえらい人の回答を待てよ。
少なくとも漏れよりえらい人以外にはレスしてほしくない。
あえて書くなら漏れも知らないのでえらい人教えてください、だろ。
0838デフォルトの名無しさん
2008/02/06(水) 02:39:060839デフォルトの名無しさん
2008/02/06(水) 02:44:050840デフォルトの名無しさん
2008/02/06(水) 02:54:430841デフォルトの名無しさん
2008/02/06(水) 03:21:130842デフォルトの名無しさん
2008/02/06(水) 08:58:49>かつての電化製品がそうだったように、日本人の作るサービスはデザインやユーザビリティの面で優れていると感じている。
Nationalのオーブンレンジを触ったことがないんだろうか。
最低3つの操作手順を踏まないと、食パン1枚焼けない。余計な機能詰め込みすぎ。
「(多くの)日本人(のみ)にとって使いやすい」だけであり、それを「優れている」とは言わない。
Vista使いにくいだろ? 要は日本の家電メーカーはアレをやってる。
ご当地の人には使いやすいんだろうけどな。
それをJEITAの連中は「日本の消費者は先進的」といまだに勘違いしてる。だから国際競争で負ける。
異なるだけであって感性に「先進」とか「後進」はない。家が小さい日本は「後進的」か? 違うだろ。
日本の家電(PC含む)は既に世界からそっぽを向かれている。
車やカメラは熱いけどな(ただし、カメラも同じようにそっぽを向かれるのは時間の問題)。
日本発のWebアプリが普及しないのは二番煎じばかりだからだろ。
むしろそういうデザインとか下らないところに注力しているから、いつまでたっても独創性が開けない。
ふぅーなんか朝から熱くなっちまったぜ。
0843デフォルトの名無しさん
2008/02/06(水) 09:47:47アメリカはじめ他国の人間にとっての使いやすさが違うだけ。
国内で高い評価を得ても世界ではそれほどでもない。
逆に使いやすさの面で国際競争力を付けようと思ったら
日本ではあまり高く評価されないかもね。
0844デフォルトの名無しさん
2008/02/06(水) 10:18:54でもあれ日本製なのかよくわからん
0845たらちゃん
2008/02/06(水) 12:52:02宜しくお願いします。
0846デフォルトの名無しさん
2008/02/06(水) 12:53:16常駐するタイプありませんかね?
メモリ食うけど何回もコンパイルするなら速いよ!みたいな
0847デフォルトの名無しさん
2008/02/06(水) 12:55:03意味がよくわからんが、代入してどうしたいんだ?
何をしたいのか書くといいかもしんない
>>846
eclipseみたいなIDEは嫌かね?
0848デフォルトの名無しさん
2008/02/06(水) 13:01:59使ってみましたけど、ちょい重かったです。
コンパイルするたびにjavac.exeを読み込むのが
無駄だよなぁって思ってたんですが。
新しいマシン買えよ、ってことなんでしょうけど
キャッシュが沢山載ってるやつ買えばいいのかな。
0849デフォルトの名無しさん
2008/02/06(水) 13:09:34javaでphpのsymfonyに一番近めなフレームワークってどれでしょう?
0850デフォルトの名無しさん
2008/02/06(水) 13:31:460851デフォルトの名無しさん
2008/02/06(水) 19:12:16…javac.exe を読み込むのが遅いならRAMディスクは如何でしょう。
可能性のある要因は幾つも挙げられますが、何れにしろ、
ハードウェアかOSの問題で、Javaだから、という問題では無いように思えます。
0852デフォルトの名無しさん
2008/02/06(水) 19:51:33Eclipseが重いってのは何時の話だ
0853デフォルトの名無しさん
2008/02/06(水) 20:29:370854846
2008/02/06(水) 21:21:44空きメモリを仮想ドライブにするソフトなんかあるのね、今は。
いや、ほんとに
「RAMディスクなんて言葉聞いたの98note以来だぜ、
確かに滅茶っ速だったけどなァァァァ」
とか思いましたけど、皆さんありがとうございました。
0855デフォルトの名無しさん
2008/02/06(水) 23:04:340856デフォルトの名無しさん
2008/02/06(水) 23:24:16どうも環境変数の設定をした時は
そのままで反映されている時とOS再起動しないと反映されない時があるみたいです。
OSの再起動以外に何か関係するものがあるんでしょうか
0857デフォルトの名無しさん
2008/02/06(水) 23:36:18そんな糞本捨ててしまえ。環境変数は基本的に親プロセスから引き継がれるので、環境変数を設定したプロセスから起動すれば即座に反映されるが、読み直しはしないので既に動いている他のプロセスには影響しない。
Windowsの場合なら、
・コマンドプロンプト/バッチファイルで環境変数を設定してそこからプログラムを起動した場合→即時反映
・システムのプロパティから環境変数を設定→設定後に起動したプロセスにのみ変更が反映。例えば設定前から動いているコマンドプロンプトからJavaプログラムを起動しても変更は反映されない。
0858856
2008/02/06(水) 23:50:23なるほど〜すごく分かりやすい説明ありがとうございます!
こういうズバリな説明聞くとwindowsに浸ってないでUNIXの勉強するべきなのかなぁって思いますね…
0859デフォルトの名無しさん
2008/02/07(木) 00:01:42本売る人間から見たらおまいらみたいな目の肥えた奴相手にするより商売になるからな。
0860デフォルトの名無しさん
2008/02/07(木) 00:04:13みたいな記述がそのまま残ってるだけじゃないかと。
0861デフォルトの名無しさん
2008/02/07(木) 00:13:270862デフォルトの名無しさん
2008/02/07(木) 00:17:430863デフォルトの名無しさん
2008/02/07(木) 00:29:25本売る人間から見たらおまいらみたいな目の肥えた奴相手にするより商売になるからな。
0864デフォルトの名無しさん
2008/02/07(木) 00:35:140865デフォルトの名無しさん
2008/02/07(木) 03:41:130866デフォルトの名無しさん
2008/02/07(木) 03:51:41本売る人間から見たらおまいらみたいな目の肥えた奴相手にするより商売になるからな。
0867デフォルトの名無しさん
2008/02/07(木) 03:57:200868デフォルトの名無しさん
2008/02/07(木) 04:01:54本売る人間から見たらおまいらみたいな目の肥えた奴相手にするより商売になるからな。
0869デフォルトの名無しさん
2008/02/07(木) 04:04:430870デフォルトの名無しさん
2008/02/07(木) 08:13:02フローチャートできないということで落ちた
大学の授業では不要といわれていたんだけどなぁ
企業の求む新入社員のスペックはどれほど必要か誰か教えてください
0871デフォルトの名無しさん
2008/02/07(木) 08:27:180872デフォルトの名無しさん
2008/02/07(木) 08:35:150873デフォルトの名無しさん
2008/02/07(木) 08:44:420874デフォルトの名無しさん
2008/02/07(木) 08:54:46870:できません
0875デフォルトの名無しさん
2008/02/07(木) 10:54:45質問なのですが、メソッドというのはわかりました。
例えば一番初めに数値を入力してその数値によって条件が変わる場合どのようにかけばいいのでしょうか?
C言語で言う
int main(){
int i=0; int j=0;
printf("数値を入力してください");
scanf("%d",&i);
if(i==1){
//処理A
}
if(i==2){
printf("数値を入力してください");
scanf("%d",j);
if(j==3){
//処理B
}
if(i==4){
//処理C
}
}
}
という処理をJavaで書く場合どのようにかけばいいのでしょうか?
クラス宣言{
初期値宣言と数値入力処理
if(i==1){
メソッドA{
}
}
といった感じで入力してもOKなのでしょうか?
0876デフォルトの名無しさん
2008/02/07(木) 11:00:11質問なのですが、メソッドというのはわかりました。
質問なのですが、メソッドというのはわかりました。
質問なのですが、メソッドというのはわかりました。
質問なのですが、メソッドというのはわかりました。
・・・質問?
0877デフォルトの名無しさん
2008/02/07(木) 11:01:51C言語でもそれならswitch使うだろ、とかいいたいことはたくさんあるけど、
まずはあれだな、なんか本買ってまじめに勉強しろ。
0878デフォルトの名無しさん
2008/02/07(木) 11:04:090879デフォルトの名無しさん
2008/02/07(木) 11:07:410880デフォルトの名無しさん
2008/02/07(木) 11:07:570881デフォルトの名無しさん
2008/02/07(木) 11:17:210882デフォルトの名無しさん
2008/02/07(木) 11:20:45とはいえ、正直、875 にはどう答えていいものやら。
とりあえず scanf っぽいものを紹介してお茶を濁すとしましょう
ttp://www.javainthebox.net/laboratory/J2SE1.5/MiscAPI/CStyleFormat/scanf.html
0883デフォルトの名無しさん
2008/02/07(木) 11:22:030884デフォルトの名無しさん
2008/02/07(木) 11:33:54import java.util.*;
import java.io.*;
interface Proc { void proc(); }
public class Main {
private static Map<Integer, Proc> lookup = new HashMap<Integer, Proc>() {{
put(1, new Proc() {
public void proc() { System.out.println("処理A"); }
});
put(2, new Proc() {
public void proc() { System.out.println("処理B"); }
});
put(3, new Proc() {
public void proc() { System.out.println("処理C"); }
});
}};
public static void proc(int i) {
if (lookup.containsKey(i))
lookup.get(i).proc();
}
public static void main(String...args) throws IOException {
int input = System.in.read() - '0';
proc(input);
}
}
0885デフォルトの名無しさん
2008/02/07(木) 11:43:58(開発はMac OSX10.3上)
Javaでやってみようかと思っているのですが、どういう環境(開発、
実行、フレームワークやライブラリ)が利用できるのかよくわかっていません。
NetBeansやらEclipseやらPureJavaやらJSFやらSWTやら初心者には
迷路のようです。
そこで、Javaの全体像、あるいは(上記のさまざな側面における)環境
が俯瞰できるような参考書はないでしょうか?
ちなみに、
Javaプログラミングの経験はありませんが、その他の言語( C、Smalltalk,
Objective-C)の経験は多少あります。Windows上でのプログラミングは
まったく経験がありません。実行マシンであるMeはメモリが最低限しか積んで
いないので、あまり大規模場な環境は構築できないはずです。開発は
Mac OSX10.3上となります。
0886デフォルトの名無しさん
2008/02/07(木) 11:50:15・・・やめたほうがいい。
0887デフォルトの名無しさん
2008/02/07(木) 11:56:420888デフォルトの名無しさん
2008/02/07(木) 12:08:130889デフォルトの名無しさん
2008/02/07(木) 12:10:39激しくスレ違いかもしれませんが、質問です。
PCゲームを多重起動しようと試みたのですがダメでした。
大抵のゲームはWindowsのアカウントを2つ作成し、別々のアカウントで起動すれば問題ありません。
現在、Vistaを使っているのでXPではどうなるかはわかりませんが(XPは右クリックから別ユーザーで起動が可能)、
Vistaでその手法をとる場合、runasコマンドを使用することになります。
しかしこのコマンドで別々に起動しても、後から起動したほうが無効になってしまいました。
で、ここからがわけわかめなのですが、同一のデスクトップからの起動はダメでも、
Windowメニュー→ユーザー切り替えをし、別々に起動すればうまくいきました。
この違いはいったいなんなのでしょうか?
0890デフォルトの名無しさん
2008/02/07(木) 12:14:240891デフォルトの名無しさん
2008/02/07(木) 12:15:21そんなのは多重起動防止のロジックによって違うとしか。
あと、Vistaでもrunas使わなくてもShift+右クリックとかででなかったっけ?
0892デフォルトの名無しさん
2008/02/07(木) 12:18:200893デフォルトの名無しさん
2008/02/07(木) 12:19:480894デフォルトの名無しさん
2008/02/07(木) 12:20:21CUIベースで、viやemacsでコードを書いてコマンドラインツールができればいい、
みたいなものでも、Macだと選択外ですか。
GUIは必要ならあとで考えることにして。
>>887-888
事務所のマシンがMeだから仕方ないんですよ。。
GUI開発が無理ならキャラクタベースでもいいですけど。
0895デフォルトの名無しさん
2008/02/07(木) 12:32:38Javaの講習会(NECとかでやっている5万程度のやつ)に参加させてもらえ、もしくは1ヶ月でも経験者を派遣で雇った方がいい
0896デフォルトの名無しさん
2008/02/07(木) 12:33:020897デフォルトの名無しさん
2008/02/07(木) 12:36:22Macは全く問題ないよ。問題はMe
Webアプリにはできないの?
0898デフォルトの名無しさん
2008/02/07(木) 12:49:460899デフォルトの名無しさん
2008/02/07(木) 12:50:14氏ねよゆとり
0900デフォルトの名無しさん
2008/02/07(木) 12:54:07ニートだけどもしよかったら雇ってくれ。
CUIでもGUIでも作れるよ。
0901デフォルトの名無しさん
2008/02/07(木) 13:09:22プログラミングは趣味に近いから、「勉強コスト」は問題にならないんですよ。
それと、>>885で書き忘れってしまったのですが、
Meをターゲットしたプログラミングといっても、プロを雇うような
規模のものではないです。
ある種のDB(実はフラットファイル)から条件を読み取り、
それに応じて数種類の Latexソースを出力、platexを起動して
最終的にはPDFを(Disk上に)出力する、というごく小規模なものです。
それに職場で必須の案件ではまったくなくて、個人的にあったら少しは仕事
ラクになるな、ぐらいのレベルなので、人を雇うとか講習会に参加するとか
(仕事はパソコンとは直接関係ないし)は、選択肢にないです。
>>897
Webアプリですか。。
実はUSBメモリにデータと実行モジュールを入れて、家と職場で環境まるごと
共有できればいいな、と考えていたのですが、Web系の知識皆無なので
どこまでできるのだか見当がつかないです。。。
ただのプログラミング言語であれば初めての言語でもなんとかなると思うので
Javaがいいかな、と思ったわけです。(lispなどは除く)
0902デフォルトの名無しさん
2008/02/07(木) 13:26:36作りたいのですが上手く動きません。ソース晒すので何かアドバイスあったら下さい。
public class StringSeparate {
private String word;
private String[] words;
public StringSeparate() {
word = "ヌル ポインター エクセプション";
}
public int getWordSegment() {
int count = 0;
for(int i=0; i<word.length(); i++) {
if(word.startsWith(" ",i)||word.startsWith(" ",i)) {
count++;
}
}
return count+1;
}
public void Separateword() {
words = new String[getWordSegment()];
int start = 0;
for(int i=0; i<words.length; i++) {
for(int end=0; end<word.length(); end++) {
if(word.startsWith(" ",end)||word.startsWith(" ",end)) {
words[i] = word.substring(start,end);
start = end;
}
}
}
}
}wordsのgetter略
0903デフォルトの名無しさん
2008/02/07(木) 13:30:11private String word;
private String[] words;
public void Separateword() {
words = word.split(" | ");
}
}
0904デフォルトの名無しさん
2008/02/07(木) 13:35:060905デフォルトの名無しさん
2008/02/07(木) 13:36:17>903殿 thx
0906デフォルトの名無しさん
2008/02/07(木) 13:37:41それぐらいならちょっと勉強すれば簡単にいけるだろ
素養はあるみたいだし、とりあえず本屋に行って独習Javaでも買ってきたら?
0907デフォルトの名無しさん
2008/02/07(木) 13:46:02words[i] = ほげほげの部分で i をfor文でまわしてる部分がおかしい。
解決法は 903 で楽々。
0908デフォルトの名無しさん
2008/02/07(木) 14:05:15秀丸マクロで十分じゃん
0909903
2008/02/07(木) 14:22:19自分の力ではできそうもないのでコレで妥協することにします。ありがとうございました。
0910903
2008/02/07(木) 14:31:120911デフォルトの名無しさん
2008/02/07(木) 14:35:04何言ってんだ。つか、902じゃないの?
0912902
2008/02/07(木) 14:47:45ファビョってた。場合分けして解決させたんだけど、全角、半角の区別無いんだっけ?
0913デフォルトの名無しさん
2008/02/07(木) 15:03:070914902
2008/02/07(木) 15:13:20for(int end=0; end<word.length(); end++) {
if(word.startsWith(" ",end)||word.startsWith(" ",end)) {
}
コレを利用すればできる。
0916デフォルトの名無しさん
2008/02/07(木) 15:15:27何が言いたいのか全く分からない。
0917デフォルトの名無しさん
2008/02/07(木) 15:18:520918デフォルトの名無しさん
2008/02/07(木) 15:22:59902の書いたコードもかなり無理やりというかなんというか。
とりあえず、そんなものをクラスにするなよ、ってのと、
クラス名変だぞ、ってことと、メソッド名変だぞ、ってことと、
素直にコピペしろよ、ってことか。
0919902
2008/02/07(木) 15:23:180920デフォルトの名無しさん
2008/02/07(木) 15:24:48いやいや、一番大事なことを忘れてる
「API仕様読め」
0921デフォルトの名無しさん
2008/02/07(木) 15:30:44どなたか教えてくださいませんか?
0922デフォルトの名無しさん
2008/02/07(木) 15:51:210923902
2008/02/07(木) 15:53:38kもしくはkという意味は分かるんだけど、文字列の中にある|が初見で分けわからんです。
APIの説明でも良いので御願いします。
0924デフォルトの名無しさん
2008/02/07(木) 15:57:480925デフォルトの名無しさん
2008/02/07(木) 16:02:44|ってのはJavaでも演算子あるでしょ。アレと同じ。
0926デフォルトの名無しさん
2008/02/07(木) 16:03:03意味、というのは全く何が行われてるか理解できないということか。
以下、私の解釈を垂れ流し。
主クラス名は Main (よって、ファイル名は Main.java)
同じファイルに proc メソッドを持った Interface Proc を定義。
Map<Integer, Proc> lookup で、数字(1-4)と手続きを対応付けし格納。
そのインスタンスは HashMap で生成し、その無名初期化ブロックを用いて、
無名クラスによって生成した Procインスタンスと数字とを対応付けして格納する。
対応付けの数字の部分で、autoboxing を利用。
Main クラスの static proc メソッドは、数字を引数にとる。
その引数が lookup内にある数字なら、対応する Procインスタンスを取り出して、
その procメソッドを実行する。
main メソッド。
System.in.read で入力待ち。戻り値は、最初の1byteの数値。
それから char '0' の数値を引くことで、 char '1'-'4' から 1-4 を取り出す。
// この変換部分は Character.digit(int, 10) でも可かな。
で、その取り出した値で proc を呼び出す。
0927デフォルトの名無しさん
2008/02/07(木) 16:09:41とりあえず、
System.out.println("http://www.google.co.jp/".split(".").length);
の結果を見て驚くといいよ。
0928902
2008/02/07(木) 16:12:260929デフォルトの名無しさん
2008/02/07(木) 16:36:39やっぱり何言っているのか分かりません。
JavaもCも、同じようなものだと思っていたのですが、全然違うようですね。
もっとまじめにJavaってみます。
0930902
2008/02/07(木) 16:46:28http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=32631&forum=12
私と似たような疑問を持つ方が質問していましたがその回答には
>これはString#splitの引数が単なる文字列ではなく
>正規表現であるために起こります。
とありました。ということはString中の"|"の使用は限られるのですか?
ちなみに正規表現という語句自体あまり理解していませんが(これから調べるのでググれw
とか言わないでね)
0931デフォルトの名無しさん
2008/02/07(木) 16:49:06普通に"|"も使えるよ。
正規表現として扱うようなメソッド、
例えばsplitに渡すときに、"|"が使いたければ、
"\\|"とエスケープするか、Pattern.quote("|")とエスケープすればOK
0932デフォルトの名無しさん
2008/02/07(木) 16:51:01これはぐぐれといっているわけでは無いだろ。
0933デフォルトの名無しさん
2008/02/07(木) 16:51:09http://lab.moyo.biz/tools/regexp/index.jsp
0934デフォルトの名無しさん
2008/02/07(木) 16:53:27ゆとりガキの溜まり場だから
0935902
2008/02/07(木) 18:10:47javadoc見るときはこの言葉に注意します。一つ知識が増えました。
アリガトウございます。
0936902
2008/02/07(木) 18:34:170937デフォルトの名無しさん
2008/02/07(木) 21:16:34プログラムから、あるホームページの情報を取得することは可能ですか?
ブラウザからのリクエストなどであればHttpServletRequestオブジェクトにアクセスすればいいのですが、
ただネット上に転がってるサイトに対してはどのようにアクセスすればいいのでしょうか?
0938デフォルトの名無しさん
2008/02/07(木) 21:19:290939デフォルトの名無しさん
2008/02/07(木) 21:35:39即レスありがとうございます!こんなクラスがあったんですね
0940デフォルトの名無しさん
2008/02/07(木) 22:14:390941デフォルトの名無しさん
2008/02/08(金) 00:16:16Serializable化したクラスが保持している文字列が、
元オブジェクトとファイルに保存後読みだしたオブジェクトで異なることがあります。
具体的には、'−'(全角ハイフン、文字コード0xFF0D)の文字が'?'になってしまいます。(例:"GT-R" → "GT?R")
再現性100%です。
なんで?他にもこんな文字あるのですか?
0942デフォルトの名無しさん
2008/02/08(金) 00:27:490943デフォルトの名無しさん
2008/02/08(金) 00:29:29文字列自体は変わってないはず。
エンコーディングの設定(System.getProperty("file.encoding")とか)が変わって、
バイト列に変換する際に '?' に置き換えられたり、
フォントが対応してないとかで表示できなくなってるだけ。
0944デフォルトの名無しさん
2008/02/08(金) 00:30:440945デフォルトの名無しさん
2008/02/08(金) 00:31:18全角ハイフンがMS変換表、
マイナス記号がJIS変換表じゃなかったか?
0946デフォルトの名無しさん
2008/02/08(金) 00:34:200947デフォルトの名無しさん
2008/02/08(金) 00:34:53http://park3.wakwak.com/~ozashin/sw_tips/webapp_tips/sjis_charset.html
でも、全部自分のマシン内での処理なのですが、なんでこんなんがからんでくるのか全然わかりません。
String のコンストラクタにわたす引数の char[] に明示的に 0xFF0D を設定しても再現するので、もうちょっと調べてみます。
アドバイスありがとうございました。
0948デフォルトの名無しさん
2008/02/08(金) 00:42:55元String出力→ファイルに保存→読み出し→読み出し後String出力
以外になにも処理してないのですが、この処理の間のどこかで勝手にエンコーディングをいじられるのですか?
ファイルに保存するときってエンコ-ディングが決まっていて、それがプログラム実行時とは違うのですか?
JAVA内部のことだし、明示的にエンコーディングをいじってもないのでなので、両方Unicodeと思ってました。
0949デフォルトの名無しさん
2008/02/08(金) 00:47:20シリアライズしたバイナリもそのエンコーディングに従ってるんじゃない?
0950941=947=948
2008/02/08(金) 00:53:00シリアライズのときはそのエンコーディング、複号化のときはUnicodeってことでしょうか。
なんか道が見えてきた気がします。
そろそろ寝ないといけないので明日またチャレンジしてみます。どうもでした。
0951デフォルトの名無しさん
2008/02/08(金) 00:56:40シリアライズの時は、普通は似非UTF-8使うはずだが。
まぁ、readObject()やwriteObject()で明示的に
デフォルトエンコーディング使ってるのかも知らんけど。
0952デフォルトの名無しさん
2008/02/08(金) 00:58:46シリアライズしたら外部に出るでしょ。
String型で持たずにbyte配列でやってみたら?
0953デフォルトの名無しさん
2008/02/08(金) 01:00:070954デフォルトの名無しさん
2008/02/08(金) 01:03:55Java内部はUTF-8じゃなくて、UTF-16(charの配列)だって。
0955デフォルトの名無しさん
2008/02/08(金) 01:16:15ああ、素で間違えた。スルーしてくれ
0956デフォルトの名無しさん
2008/02/08(金) 04:56:56String s = null;
if(s.equals(""))System.out.println("a");
if(s.equals(null))System.out.println("b");
0957デフォルトの名無しさん
2008/02/08(金) 05:27:28equals使ったらsがnullのとき実行時にぬるぽになるべ
0958デフォルトの名無しさん
2008/02/08(金) 05:28:222つのパーサプログラムで共通の字句規則を利用したいのですが、
字句規則と構文規則とでファイルを分けたふたつのjjファイルをコンパイルする方法はありますか?
0959デフォルトの名無しさん
2008/02/08(金) 05:33:01String s = null;
if("".equals(s))System.out.println("a");
if(s == null)System.out.println("b");
0960デフォルトの名無しさん
2008/02/08(金) 05:51:29なった。if(s.equals(null))は使えませんね。
>>959
イコールの3連はJAVAには無いんですね。
0961デフォルトの名無しさん
2008/02/08(金) 06:49:30任意のパラメータで Java から call-template するうまい方法ないですかね。結果は
ストリームに流す方法で。
今は include, call-template するだけの DOM を Java 内で動的に作成して Transformer
作成、これにダミーの文書 DOM を渡して結果を得ているのですが、これでは呼び出しの
たびに XSL ファイルの解析処理が必要になってしまいますよね。ファイルが大きく静的な
ため、できれば Templates 作って共有したいところなんですが。
0962デフォルトの名無しさん
2008/02/08(金) 09:57:41付けるのってどうやるんだ? for f in $files; do mv ... みたいなのが書けないようだが。
0963デフォルトの名無しさん
2008/02/08(金) 11:28:070964デフォルトの名無しさん
2008/02/08(金) 11:28:31ttp://ant.apache.org/manual/CoreTasks/move.html
これの「Append ".bak" to the names of all files in a directory.」
ってのが参考になるんじゃね?一番最後の奴。
0965デフォルトの名無しさん
2008/02/08(金) 12:05:23おおっこれで何とかできそうなふいんき。mv と同じかと思って属性だけ見て読み飛ばしておったわ。
0966仕様書無しさん
2008/02/08(金) 13:28:55パブlic class Pab {
public static void masin(String args[]){
String ITO = "意図";
System.out.println("String型の" + ITO + "");
}
}
0967デフォルトの名無しさん
2008/02/08(金) 13:37:270968デフォルトの名無しさん
2008/02/08(金) 15:44:390969デフォルトの名無しさん
2008/02/08(金) 16:55:03最初のうちは使えるものの時間が経つと
chdir to launcher failed というerrorが出て起動出来なくなります。
アンインストールして再びインストールしても再現します。
これは何が原因なんでしょうか?
0970デフォルトの名無しさん
2008/02/08(金) 16:58:44Java+Swingによる2chブラウザ V2C_T9
http://pc11.2ch.net/test/read.cgi/software/1196864491/
0971デフォルトの名無しさん
2008/02/08(金) 16:59:58誘導ありがとうございます
0972デフォルトの名無しさん
2008/02/08(金) 17:37:03public static Boolean chkstruser(String s){
0973デフォルトの名無しさん
2008/02/08(金) 17:39:220974デフォルトの名無しさん
2008/02/08(金) 18:04:15ダウンロードできるオンラインドキュメントみたいなファイルみたいなのありませんか?
0975デフォルトの名無しさん
2008/02/08(金) 18:04:56なんでreturn 0;がコンパイルエラー?
0976デフォルトの名無しさん
2008/02/08(金) 18:06:450977デフォルトの名無しさん
2008/02/08(金) 18:16:10http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html
>>976
http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/Integer.html
0978デフォルトの名無しさん
2008/02/08(金) 18:17:570979デフォルトの名無しさん
2008/02/08(金) 18:21:56977を見たら
java.lang
クラス Integer
って書いてあったから、Integerはクラスなんですね。
0980デフォルトの名無しさん
2008/02/08(金) 18:35:09コンパイラのバージョンは? autoboxing/unboxingが導入されたのは5.0以降なんだが。
0981デフォルトの名無しさん
2008/02/08(金) 18:41:40System.out.println(s.charAt(0).hashCode());
char は間接参照できません。というコンパイルエラーでした。
0982デフォルトの名無しさん
2008/02/08(金) 18:47:100983デフォルトの名無しさん
2008/02/08(金) 18:54:33いいけどnullだとコンパイルエラー
0984デフォルトの名無しさん
2008/02/08(金) 18:55:290985デフォルトの名無しさん
2008/02/08(金) 19:00:020986デフォルトの名無しさん
2008/02/08(金) 19:01:23バージョンはいくつか知らんがString#codePointAt(int)の方がよくないか
0987デフォルトの名無しさん
2008/02/08(金) 19:04:18クラスも型のうちの一つなのだが・・・
0988デフォルトの名無しさん
2008/02/08(金) 19:06:11ASCIIコードなら s.getBytes("ASCII") した方が
0989デフォルトの名無しさん
2008/02/08(金) 19:19:330990デフォルトの名無しさん
2008/02/08(金) 19:47:080991デフォルトの名無しさん
2008/02/08(金) 19:54:43【初心者】Java質問・相談スレッド112【大歓迎】
ttp://pc11.2ch.net/test/read.cgi/tech/1202467704/
0992デフォルトの名無しさん
2008/02/08(金) 20:00:520993デフォルトの名無しさん
2008/02/08(金) 21:27:38サーブレット作って実行したら普通に実行出来てしまうんですが
javaEEが無くてもサーバサイドの開発も出来るんですか?
javaEEの中身って何なんでしょうか
0994デフォルトの名無しさん
2008/02/08(金) 21:30:530995デフォルトの名無しさん
2008/02/08(金) 21:32:32tomcatの中にjavaEEのライブラリが最初から入ってるということですか?
0996デフォルトの名無しさん
2008/02/08(金) 21:32:57パスの通ったフォルダ探してみれば?
0997デフォルトの名無しさん
2008/02/08(金) 21:40:24JavaEEって仕様のことだぞ?
JavaEEってソフトウェアなんて無いんだぞ?
わかってんのか?w
0998デフォルトの名無しさん
2008/02/08(金) 21:40:36車動かしたら普通に運転できてしまうんですが
エンジンがなくてもドライブできるんですか?
エンジンの中身って何なんでしょうか
0999デフォルトの名無しさん
2008/02/08(金) 22:17:0710001000
2008/02/08(金) 22:18:3610011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。