トップページ⇒tech
1001コメント363KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
☆★☆こんなメッセージが出たら >>2 へ☆★☆
『'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッ ファイルとして認識されていません。』
『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』

>>2-3 初心者によくある質問と回答・他のFAQサイトへのリンク
>>4  JDKの配布元とAPIドキュメントへのリンク
>>5-6 過去スレの一覧
>>7-10 関連スレ
>>11 2ちゃんねる外のJavaサイト・無料の開発環境の配布場所
(諸般の事情でずれた場合は >>2-20 )

Google で検索 ⇒ http://www.google.co.jp/
JavaFAQ で探す ⇒ http://www.gimlay.org/~javafaq/javafaq.html
ご要望によりじゃばこサイト ⇒ http://www.javaco.org/
■JavaScriptの質問■はWeb製作板 ⇒ http://pc3.2ch.net/hp/
  または「JavaScript デス」スレへ⇒
http://pc2.2ch.net/test/read.cgi/tech/1052273054/

パソコンの基本操作に関しては、PC初心者板へどうぞ ⇒ http://pc.2ch.net/pcqa/

これからJavaのプログラムを始めたいかたは >>2-4 へ
必要な情報やコンパイラのダウンロード先へのリンクがあります。

基本的に sage 進行でおねがいします。また煽り厨は放置でお願いします。
※初心者なんでよろしくです。
0002デフォルトの名無しさんNGNG
Q. javac コマンドを実行したときに、
『コマンドまたはファイル名が違います』や
『'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。』
と表示されてコンパイルできません。
A. javac.exeへのPATHが通っていません。
http://java.sun.com/j2se/1.4.1/ja/install-windows.html
を良く読んで、javac.exe のあるディレクトリ(例: C:\j2sdk1.4.1_01\bin )のパスを
環境変数PATHに追加してください。 その後、
Windows98/MEの場合はOSを再起動、
Windows2000/XPの場合はコマンドプロンプトを立ち上げなおしてください。
設定したパスが正しければ、javacが使えるようになります。
それでも同じエラーが出る場合は、設定した値が間違っています。
よく見直してください。

Q. javac Hello.java でコンパイルはできるのですが、
java Hello を実行しようとすると
『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』
と表示されて実行できません。
A. カレントディレクトリ(.)がクラスパス(classpath)に含まれていません。
コマンドプロンプトで、
set CLASSPATH=%CLASSPATH%;.
と設定する。最後の「;」と「.」を見落とさないように!
または、
http://www.gimlay.org/~javafaq/S004.html#S004-02
を読んでカレントディレクトリ「.」を環境変数CLASSPATHに追加してください。

クラスパスとはなにか(JavaFAQ 基礎知識)
http://www.gimlay.org/~javafaq/S004.html
0003デフォルトの名無しさんNGNG
Q. Javaのインストール方法、パスや環境変数の設定方法が分かりません。
A: Java(TM) 2 SDK インストールガイド
http://java.sun.com/j2se/1.4.1/ja/install.html
http://java.sun.com/j2se/1.4.1/ja/install-windows.html

Q: クラスの使い方が分かりません。
A: Java 2 プラットフォーム API 仕様
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html

Q: SDKの仕様や、Javaの使い方、コマンドの使い方を教えて下さい。
A: Java(TM) 2 SDK ドキュメント
http://java.sun.com/j2se/1.4/ja/docs/ja/index.html

Q: Javaの言語仕様が知りたいです。
A: Java言語規定
http://www.y-adagio.com/public/standards/tr_javalang/index.htm
http://java.sun.com/docs/books/jls/second_edition/html/j.title.doc.html

Q: 「僕以外の人も、同じ疑問を持ったはず」と思えるような質問があります。
A: Java House ML Topics / Java FAQ / Java Tips
http://java-house.jp/ml/topics/
http://www.gimlay.org/~javafaq/
http://www.javaworld.com/columns/jw-tips-index.shtml

このほかのFAQ(良くある質問とその回答)はこちら↓をご覧ください。
http://www.gimlay.org/~javafaq/javafaq.html
0004デフォルトの名無しさんNGNG
■■■ JavaのコンパイラとAPI リファレンス ■■■
【Sun J2SE SDK 1.3】
http://java.sun.com/j2se/1.3/ja/download.html
http://java.sun.com/j2se/1.3/ja/docs/ja/api/index.html

【Sun J2SE SDK 1.4】
http://java.sun.com/j2se/1.4/ja/download.html
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html

【Sun J2SE SDK 1.4.1】
http://java.sun.com/j2se/1.4.1/ja/download.html
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html

【IBM J2SE SDK 1.1/1.3】 (要ユーザ登録)
http://www-105.ibm.com/developerworks/tools.nsf/dw/java-devkits-byname?OpenDocument&Count=100

0005デフォルトの名無しさんNGNG
JAVA厨房
http://piza.2ch.net/tech/kako/966/966391052.html
Java相談室
1 http://piza.2ch.net/tech/kako/971/971960169.html
2 http://piza.2ch.net/tech/kako/980/980858322.html
3 http://piza2.2ch.net/tech/kako/994/994150280.html
4 http://pc.2ch.net/tech/kako/997/997791189.html
5 http://pc.2ch.net/tech/kako/1003/10035/1003567552.html

ネタ心者歓迎!今更ながらにJavaを学ぼう!
1 http://piza.2ch.net/tech/kako/981/981424252.html
2 http://pc.2ch.net/tech/kako/993/993358225.html

ネタ心者歓迎! 今更ながらにJava相談室
01 http://pc.2ch.net/tech/kako/1003/10035/1003569074.html
02 http://pc.2ch.net/tech/kako/1006/10064/1006408230.html
03 http://pc.2ch.net/tech/kako/1007/10078/1007802486.html
04 http://pc.2ch.net/tech/kako/1010/10105/1010545421.html
05 http://pc.2ch.net/tech/kako/1012/10129/1012968994.html
06 http://pc.2ch.net/tech/kako/1015/10154/1015418174.html
07 http://pc.2ch.net/tech/kako/1018/10186/1018631329.html
08 http://pc.2ch.net/tech/kako/1020/10204/1020453823.html
09 http://pc.2ch.net/tech/kako/1021/10215/1021555964.html
0006デフォルトの名無しさんNGNG
【初心者・ネタ】Java質問・相談スレ【大歓迎】
01 http://pc.2ch.net/tech/kako/1021/10218/1021817147.html
02 http://pc.2ch.net/tech/kako/1023/10233/1023319551.html
03 http://pc.2ch.net/tech/kako/1024/10248/1024885660.html
04 http://pc3.2ch.net/tech/kako/1026/10266/1026601774.html
05 http://pc3.2ch.net/tech/kako/1028/10280/1028096225.html
06 http://pc3.2ch.net/tech/kako/1029/10297/1029774594.html
06+ http://pc3.2ch.net/tech/kako/1031/10313/1031397913.html
07 http://pc3.2ch.net/tech/kako/1032/10329/1032944182.html
08 http://pc3.2ch.net/tech/kako/1032/10329/1032944246.html
09 http://pc3.2ch.net/tech/kako/1034/10343/1034303501.html
10 http://pc3.2ch.net/tech/kako/1035/10355/1035570359.html
11 http://pc3.2ch.net/tech/kako/1036/10361/1036142056.html
12 http://pc3.2ch.net/tech/kako/1037/10374/1037407642.html
13 http://pc3.2ch.net/tech/kako/1038/10387/1038731106.html
14 http://pc3.2ch.net/tech/kako/1040/10401/1040150533.html
16 http://pc3.2ch.net/tech/kako/1042/10424/1042407622.html
16+ http://pc2.2ch.net/tech/kako/1043/10436/1043654161.html
18 http://pc2.2ch.net/tech/kako/1044/10449/1044983072.html
19 http://pc2.2ch.net/tech/kako/1046/10461/1046166884.html
20 http://pc2.2ch.net/tech/kako/1047/10475/1047544179.html
21 http://pc2.2ch.net/tech/kako/1048/10486/1048689029.html
22 http://pc2.2ch.net/test/read.cgi/tech/1049715659/l50
23 http://pc2.2ch.net/test/read.cgi/tech/1051284438/l50
24 http://pc2.2ch.net/test/read.cgi/tech/1052625006/l50
25 http://pc2.2ch.net/test/read.cgi/tech/1054041744/l50
26 http://pc2.2ch.net/test/read.cgi/tech/1055601178/l50
27 http://pc2.2ch.net/test/read.cgi/tech/1057249423/l50
0007デフォルトの名無しさんNGNG
■■■ Java関連スレいろいろ ■■■ 
【IDE 統合開発環境】
【Java/C/他】統合開発環境Eclipse RC6
http://pc2.2ch.net/test/read.cgi/tech/1051840417/
えっ?JBuilder8が発売?
http://pc2.2ch.net/test/read.cgi/tech/1038042372/l50
【Meadow】Java開発環境(・∀・)イイ【JDEE】
http://pc2.2ch.net/test/read.cgi/tech/1017214967/l50
【統合】Java開発環境スレ
http://pc2.2ch.net/test/read.cgi/tech/1038118138/l50
【Java】NetBeans vs Eclipse【IDE】
http://pc2.2ch.net/test/read.cgi/tech/1029407008/l50

【携帯・モバイル】
携帯JAVAのスレッド
http://pc2.2ch.net/test/read.cgi/tech/1011977260/l50
iモード携帯電話用Java(iアプリ) Part 3
http://pc2.2ch.net/test/read.cgi/tech/1040898596/l50
iアプリでゲーム (ゲーム製作技術板)
http://pc2.2ch.net/test/read.cgi/gamedev/1005042631/l50
京セラJAVA搭載PDauPocketCosmo」 (モバイル板)
http://pc3.2ch.net/test/read.cgi/mobile/1021979970/l50
0008デフォルトの名無しさんNGNG
【サーバサイドゃ;ンタープライズ】
EJB(初心メ鰹+})
http://pc2.2ch.net/test/read.cgi/tech/1017240849/l50
= ?Servlet/JSP(EJB萱洫 ソ貰々レ = ?(WebProg泊ァ
http://pc2.2ch.net/test/read.cgi/php/1023501812/l50
《The Jakarta Project》
http://pc2.2ch.net/test/read.cgi/tech/1019996589/l50
TOMCAT
http://pc2.2ch.net/test/read.cgi/tech/998525941/l50
Servlet/JSPv》レームワークり雁"Xレ
http://pc2.2ch.net/test/read.cgi/tech/1001950590/l50
EJBw.Iら!!逐?
http://pc2.2ch.net/test/read.cgi/tech/1036481443/l50
JavaサーブレットQ& LV2
http://pc.2ch.net/tech/kako/1012/10127/1012728608.html
サーバーサイドJAVAり梳 [ゆ雁"Xレ
http://pc.2ch.net/tech/kako/1004/10049/1004972840.html
0009デフォルトの名無しさんNGNG
【サーバサイドやエンタープライズ】
EJB(初心者歓迎)
http://pc2.2ch.net/test/read.cgi/tech/1017240849/l50
■■ Servlet/JSP(EJB含む) 質問スレ ■■ (WebProg板)
http://pc2.2ch.net/test/read.cgi/php/1023501812/l50
《The Jakarta Project》
http://pc2.2ch.net/test/read.cgi/tech/1019996589/l50
TOMCAT
http://pc2.2ch.net/test/read.cgi/tech/998525941/l50
Servlet/JSPのフレームワークを語るスレ
http://pc2.2ch.net/test/read.cgi/tech/1001950590/l50
EJBは終わってる
http://pc2.2ch.net/test/read.cgi/tech/1036481443/l50
JavaサーブレットQ&A LV2
http://pc.2ch.net/tech/kako/1012/10127/1012728608.html
サーバーサイドJAVAをまたーり語るスレ
http://pc.2ch.net/tech/kako/1004/10049/1004972840.html

0010デフォルトの名無しさんNGNG
【その他】
クライアントサイドJavaどうよ?
http://pc3.2ch.net/tech/kako/1002/10021/1002160815.html
クライアントサイドJavaどうよ? part2
http://pc2.2ch.net/tech/kako/1032/10326/1032665721.html
クライアントサイドJavaどうよ? part3
http://pc2.2ch.net/test/read.cgi/tech/1045891783/l50
ム板のみんなでRobocode (・∀・)ヤロ−ウヨ!1台目
http://pc3.2ch.net/tech/kako/1020/10201/1020161792.html
Java 高速GUI SWT
http://pc2.2ch.net/test/read.cgi/tech/1032448424/l50
【徹底討論】Java3Dの可能性について考える
http://pc2.2ch.net/test/read.cgi/tech/1033703640/l50
★お前らJavaはJNIで組もうぜ★
http://pc2.2ch.net/test/read.cgi/tech/1033795664/l50
Javaアプレットのゲームの限界は! (ゲーム製作技術板)
http://pc2.2ch.net/test/read.cgi/gamedev/1005230153/l50
【Java編】 学校の宿題は俺にやらせろ 【Java編】
http://pc2.2ch.net/test/read.cgi/tech/1040552821/l50
祝 JAVA Developer創刊
http://pc2.2ch.net/test/read.cgi/tech/1024967343/l50
0011デフォルトの名無しさんNGNG
■■■ 他板のJavaスレッド ■■■
UNIXでJAVA (Unix板)
http://pc.2ch.net/test/read.cgi/unix/1011292632/l50
LinuxのJAVAチューニングスレ (Linux板)
http://pc.2ch.net/test/read.cgi/linux/1004594459/l50
◆◆◆◆◆◆MacでJava◆◆◆◆◆◆ (新Mac板)
http://pc.2ch.net/test/read.cgi/mac/991194610/l50

■■■ 撲滅させたいかた、死滅を心配してるかた ■■■
CとJavaを比較した場合Cの良いとこと悪いとこ
http://pc.2ch.net/tech/kako/1009/10097/1009707596.html
C#とJava、どっちをおぼえればいいの?
http://pc2.2ch.net/test/read.cgi/tech/1006715468/l50
Java撲滅委員会
http://pc.2ch.net/tech/kako/996/996848309.html
Java撲滅委員会
http://pc3.2ch.net/test/read.cgi/tech/996848309/l50
●●JAVAって死滅しちゃうの????●●
1 http://pc.2ch.net/tech/kako/1005/10051/1005159122.html
2 http://pc.2ch.net/tech/kako/1006/10060/1006053686.html
3 http://pc.2ch.net/tech/kako/1008/10081/1008162230.html
4 http://pc2.2ch.net/tech/kako/1042/10422/1042268758.html
5 http://pc2.2ch.net/tech/kako/1046/10465/1046539052.html
6 http://pc2.2ch.net/test/read.cgi/tech/1047748598/
0012デフォルトの名無しさんNGNG
■■■ 民間サイト ■■■
巨大なJavaリンク集
Java的リンク
http://www.geocities.co.jp/SiliconValley/6064/java_link.html
What's New about Java(Java に関する最新ニュース)
http://www.gimlay.org/~andoh/java/javanew.html

■■■ 無料の統合開発環境 ■■■
【Eclipse R2】
http://www.eclipse.org/downloads/index.php
【Sun ONE Studio 4 (Forte 4)】
http://jp.sun.com/products/software/tools/jde/try/index.html
【NetBeans v3】
http://www.netbeans.jp/dowonload.htm
【JBuilder 7 Personal】
http://www.borland.co.jp/jbuilder/jb7/download/

※2chではないので暴れないように。
0013デフォルトの名無しさんNGNG
いつもおまえらスレ立て人には、感謝してます
乙
0014デフォルトの名無しさんNGNG
と、せっかく>>1がよいスレ立てをしたのに
コイツ↓はお決まりのアノ質問をしやがります
0015デフォルトの名無しさんNGNG
あのう
classファイルをjavaファイルに戻す方法ってあるのですか?
最近javaをやりはじめて気になります。
誰か教えてください
0016デフォルトの名無しさんNGNG
appletで何度やっても
フィールドが見つからないエラーが出ます。
VMのバージョンが1.3で、Color.REDを使ってたのが原因だったのですが、
この部分をredに変え、コンパイルし直してアップロードしても動きません。
しかもコンソールを開くと、まったく同じエラーが出ています。
行番号を変えても、何もない部分にエラーがあるというのです。
どういうことでしょうか?
0017デフォルトの名無しさんNGNG
>>15
すっごく斬新な質問ですね

とくに「あのう・・」で始まるのがグッドですね

次の方どーぞ      ,ィミ,        ,ィミ,               フ
                彡 ミ        彡 ミ,            ヤ |
             ,,彡   ミ、、、、、、、、彡  ミ,     (⌒)    レ  |
            彡;:;:             ミ,    (  ヽ   ヤ
         〜三;:;:::::              彡〜  ノ  ノ   レ
         ~~三:;:;:;:::::  -=・=-   -=・=- 三~~ ヽ (    :     ;;
         ~~彡::;:;:;:;:::..     ___     ,三~~ ( ノ ,,,,,  :      ;;
          ~~彡;:;:;:;:;:;:;:.    |┴┴|    ,ミ~~ ノノ ;'" ,,ノ―、     ,;'
          ~~彡:;:;:;:;:;:;:;:;.  ノ――| ---==ニノ ,;'′ >=ニ(二二二() ̄ ̄ ̄ ̄ ̄ ̄|
     ,...-''''""~~,::;:;::;::;::;::;'            ミ,,  ,;'′  ゝ--〈  |  |   Λ_Λ   . |
____,;";;:;;;;;;;;;;;;;;;;;;;;;:;:;:;:;:;:;:;            i! ミ,,,,;'′   `ー‐'  | □  ( ´∀` )    |
           ::::ミミミ:;:;:;:           ミ::      ,;' ̄ ̄ ̄|  |   いちごココア   |
            :::::ミミミ:;:;:           ミ:::,   ,;::''′        |. \______/
            ::::ミミミ:;:;::       ,;+''"~~゙+、~'''''~          |    └─┘
             ::::ミミミ:;:;:;:     ,+'"     ミ:::::           |   ━┷━━━┳━━━━━
               :::::ミミミ:;:;:;:;:  >':;:       ミ::              |             ┃
             ::::::ミミミ:;:;:;:;:;../;:;:;:       ;:"             |             ┃



0018デフォルトの名無しさんNGNG
>>17
そんなこと言わないで教えてください

いちごミルクの方がよくないですか?
0019デフォルトの名無しさんNGNG
>>16
新しい
0020デフォルトの名無しさんNGNG
>>16
♪見〜つめる、キャッシュアイ!
0021デフォルトの名無しさんNGNG
>>15
ギャグコンパイラのこと言ってるんでしょうか?
はっきり言って完全な状態にはなりませんが
javapというのがあります
0022デフォルトの名無しさんNGNG
>>21
ギャグコンパイラって初耳です。
javapですか?ありがとうございます
0023デフォルトの名無しさんNGNG
インターフェースってゆうのは
スーパーファミコンへファミコン、メガドライブ、PCE、セガマーク3、ネオゲオの
カートリッジを投入可能にするようなアダプタのような存在でしょうか?
0024デフォルトの名無しさんNGNG
>>23
君の言っているのは、ハード的な話だ
どうでもいいが、インターフェースって使えない
必要ないよな
0025デフォルトの名無しさんNGNG
>>22
そりゃ初耳だろうよ
俺も初耳だ
0026デフォルトの名無しさんNGNG
>>15
jad
0027デフォルトの名無しさんNGNG
コレクションが重いだと?
ふざけるなボケがぁ
StringBufferつかってグルグルまわしてる方が
よっぽど効率悪いだろうがボケェ
コレクションが重いなんて
おまえら、偏見ですよ
思い込みですよ
じゃあ、いつコレクション使うんですかボケ
重いからって言ってたんじゃあいつまでたっても
コレクション使えませんよ
「要素数がわからないとき」だぁ?
おいコラ、教科書どおりじゃ
プログラムは作れないんだよ
0028デフォルトの名無しさんNGNG
はい、次の方ー
0029デフォルトの名無しさんNGNG
こんなとこで質問しているやつで、ほんとうにそんな効率を必要としている香具師はいないだろうな。
いったい要素数いくつのでーたを諸利するのかと。
0030デフォルトの名無しさんNGNG
>>29

前スレ
976 名前:デフォルトの名無しさん 投稿日:03/07/17 09:37
豆知識として知っておきたいのですが、
基本型の配列型(int[] aryなど)に対して、
それを適当な文字列として返すメソッド等ありませんでしょうか?
例えば、
int[] ary ={1,3,5,4};
のとき、例えばの話ですが
Array.toString(ary);
とすれば
"[1, 3, 5, 4]"
が返るようなメソッドのことですが。

//配列でのやり方誰かが提示

996 名前:デフォルトの名無しさん 投稿日:03/07/17 12:12
おい、おまえら
こんなやり方があるのだよ
ちゃんと[ ]も表示されるしな
//ソースコード略


997 名前:デフォルトの名無しさん 投稿日:03/07/17 12:27
>>997
List等のコレクションクラスは重いので・・・
0031デフォルトの名無しさんNGNG
JJ
an an
vivi
aljazeera journal
0032デフォルトの名無しさんNGNG
すいませんお助けを...
util.zipを使いテキストが圧縮されてると初めから想定された
ZIPファイルを展開しつつ、新しいテキストファイルを作り
そこに書き出すという以下のような処理をしています。


ZipIntputStream zi = new ZipInputStream(new FileInputStream(InFile));
File OutFile = new File(出力ファイル名);
ZipEntry ze;

int buf_size = 512;
byte[] buf = new byte[buf_size];

ze = zi.getNextEntry(); // 初めのエントリを明示

BufferedInputStream bi = new BufferedInputStream(zi, buf_size);
BufferedOutputStream bo = new BufferedOutputStream(new FileOutputStream(OutFile));

while(bi.available() != 0 && (bi.read(buf,0,buf_size)) != -1)
 bo.write(buf,0,buf_size);

bo.close();
bi.close();
zi.close();


これで圧縮を展開しながらファイルを書き出しているのですが
1000行程度のファイルを実行したところ全く問題がなかったのですが
10000行を越えたファイルを扱った途端、すべてのデータを吐き出し終えた後に
ゴミデータが数行付加されるような現象が起こり、一向に取り除けません。
解決するにはどうしたらよいのでしょうか?
0033デフォルトの名無しさんNGNG
↑
途中にOutFile.createNewFile()が入ります
抜けてました...
0034デフォルトの名無しさんNGNG
また、>>32では入力ストリームがBufferedInputStreamで
一度ラップされバッファされていますが、直接ZipInputStream
から流してもゴミは取れませんでした。

ゴミデータというのは、どうやらテキストの最後の数行のようで
すべてのテキストが吐かれた後に、繰り返して最後の数行が
途中から書き出されている様子でした。
0035デフォルトの名無しさんNGNG
>>32
バッファに完全に読み込んでしまってからファイルに書き出せば?
0036デフォルトの名無しさんNGNG
>>34
おいおい、そこまでわかってるレベルなら
デバッグぐらいしたらどうだ?
意外と、安易なミスかもしんねーぞ
0037デフォルトの名無しさんNGNG
>>32
テキスト出力はPrintWriterクラスを使えば文字化けしません。
0038デフォルトの名無しさんNGNG
同じ癖?に出会ったことある人いないかなぁと思って投げてみました...
すべてバッファリング後に書き出すという処置を試してみます。
どうも見てみたら最後のバッファが2度書き出されてるようでした。
よくわからんち。
とりあえず>>35さんの方法を試してみます、ありがとうございました。

>>37
文字は化けてはいないんです。
現に1000行程度では特に問題が出ませんでしたので。
あと、通常byteで受け取るべきものをPrintWriterに回すにはどうすればよいのでしょうか?
回答に質問すいません...
0039デフォルトの名無しさんNGNG
>>38
おまえさぁ解決する気あるの?
デバックしろよ

あくまで俺の予想bo.close(); ココでも吐いてんじゃないの?

0040デフォルトの名無しさんNGNG
問題です。
513 bytes のデータ扱うときはどうなるのでしょう。
0041デフォルトの名無しさん NGNG
>>32
40 が解答しているが、読み込んだバイト数だけ書き込め。
0042デフォルトの名無しさんNGNG
すいません、できました。

int insize;
while((insize = bi.read(buf,0,buf_size)) != -1)
 bo.write(buf,0,insize);
bo.flush();
bo.close();

根本的に用意された配列の最後の行とは関係ない、
新データで書き換えられなかった領域も吐き出されていたようです。
成功バイト?を受け取ってそれをもって書くべきのようでした...
お騒がせしました。
0043デフォルトの名無しさんNGNG
>>36=>>27 当たってる?
0044デフォルトの名無しさんNGNG
おれは考えた

なぜ>>43は 「36==27」だと分かったのだろうか
いや、わかるはず無い
俺は自分に言い聞かせた
0045デフォルトの名無しさんNGNG
>>43
全然、ドキドキなんかしてないもん
大丈夫だもん
怖くないもん
0046デフォルトの名無しさんNGNG
>>43
よ、よかったら何で分かったのか教えてくれないかなぁ
004743NGNG
>>46
言葉使い。双方とも乱暴な描き方だから。
まだ書き込み数少ないから目立つんだよ。
0048デフォルトの名無しさんNGNG
>>43-47
自作自演イクナイ(・A・)
0049デフォルトの名無しさんNGNG
そうか・・・
おれ、汚いんだな
俺は汚いんだな
っていうかよー
あまりひどい人はダメなんだ
宿題スレでは全てきちんと答えてんだけどな・・・

>>48マジであてられますた
0050デフォルトの名無しさんNGNG
投稿に失敗したようなのでもう一度

JAVAで自分の作業ディレクトリの中身を見る方法はないでしょうか?
作業ディレクトリは見ることができたのですが、中にあるファイル名を
とってくることができません。
Processでlsコマンドをうつと見られると思いますが、重くなるので
できれば、JAVAだけでみたいのですが、よい方法を知っていたら
教えてください
0051名無しさん@XEmacsNGNG
>>50
java.io.File
でできる。
0052デフォルトの名無しさんNGNG
Java3Dに関する質問なんですが

ある物体を、z軸方向からある方向(ベクトル)に向けたいときはどうすればいいんでしょうか?

ベクトルからz軸からの角度を計算して、x軸方向とy軸方向に
2回回転処理を行えばできるのですが、それを一回でやる方法はありませんか?
0053デフォルトの名無しさんNGNG
>>53
z軸ベクトル(0,0,1)をz、方向ベクトルをaとすると。

zとaベクトルとの外積をとって、
原点とその法線ベクトルで面を生成。

また、zとaの内積値より、回転角度αを計算。
んで、その最初に求めた面上でαだけ回転させる。

結局、計算量は変わらない。というかこっちの方が多い(笑)
一回で出来たら俺にも教えてくれw
0054デフォルトの名無しさんNGNG
クォータニオンで検索しよう>>52,53
0055デフォルトの名無しさんNGNG
win2000で動かすことを前提に、
任意の画像ファイルをデスクトップの背景に設定することはできますか?
0056デフォルトの名無しさんNGNG
>>55
すれ違い。
0057デフォルトの名無しさんNGNG
>>55
そりゃできるだろ
0058デフォルトの名無しさんNGNG
>32
おながいだからtry{]catchしてくらさい。finally節でcloseしてくらさい。
005955NGNG
>>56>>57

もうしわけない。javaで作ったプログラムでそういう風な
ことができるかってことだったんです。


0060デフォルトの名無しさんNGNG
>>59

俺はこうしてる。

NativeMethod imp = new NativeMethod("user32.SystemParametersInfoA");
if(imp.isLoaded())
 imp.Call(SPI_SETDESKWALLPAPER, 0, (void *)filename, SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);

NativeMethod クラスは自作してくださいね。
0061デフォルトの名無しさんNGNG
>>58
頼むからfinallyでcloseするのはやめてくれ、無知君w
0062デフォルトの名無しさんNGNG
・・・さて、次ー
006355NGNG
>>60
NativeMethodクラスってどうやって作るのですか?
無知で申し訳ないです。
0064デフォルトの名無しさんNGNG
>>56
興味深い

>>61
どうでもいいけど、finallyにはreturnは書かないでくだちぃ。

try {
return 1;
} catch (Exception e) {
return 2;
} finally {
return 3;
}
0065デフォルトの名無しさんNGNG
>>61
finallyでストリームがぬるじゃないときにclose。
で、61はどうしたいんだ?
0066デフォルトの名無しさんNGNG
× >>56
○ >>54
0067デフォルトの名無しさんNGNG
>>64
結局return 3となる罠
0068デフォルトの名無しさんNGNG
>>65
夜釣りだろ
0069デフォルトの名無しさんNGNG
>>63
DLL側が60行程度、Java側が40行程度
0070デフォルトの名無しさんNGNG
☆貴方を癒す女の子たちのサイトです☆
http://endou.kir.jp/yuminet/link.html
0071_NGNG
http://homepage.mac.com/hiroyuki44/hankaku02.html
0072_NGNG
http://homepage.mac.com/hiroyuki44/
0073_NGNG
http://homepage.mac.com/hiroyuki44/
0074_NGNG
http://homepage.mac.com/hiroyuki44/jaz10.html
0075_NGNG
http://homepage.mac.com/hiroyuki44/
0076_NGNG
http://homepage.mac.com/hiroyuki44/jaz10.html
0077デフォルトの名無しさんNGNG
すみません、どうしても分からないんで質問させてもらいます。
本を買ってjavaをやり始めたんですがいきなり最初からつまづきました。
ワードパッド等でプログラムを書き込んでコンパイルしようとすると、
「HelloWorld.java:1: 'class'または'interface'がありません」から始まって
不正な文字、文字リテラルが閉じられません等エラーが数十個見つかります。
本に書いてあるとおり何度もやってみたんですがやはりできません。

//サンプルプログラム
class HelloWorld {
public static void main( String[] args ) {
System.out.println( “HelloWorld!” );
}
}

よろしくお願いします。
0078デフォルトの名無しさんNGNG
ダブルクォーテーション ( " ) を半角に汁
0079デフォルトの名無しさんNGNG
>>78
返信ありがとうございます。
もちろん「サンプルプログラム」以外半角です。
0080_NGNG
http://homepage.mac.com/hiroyuki44/
0081デフォルトの名無しさんNGNG
本には書いてないんですが半角スペースも
一つとして間違えるとコンパイルできないんですか?
0082デフォルトの名無しさんNGNG
はい
0083デフォルトの名無しさんNGNG
コンパイルできません。
だから間違っても、試して見ようなんていう馬鹿な考えを起こさないでくださいね。
0084デフォルトの名無しさんNGNG
>>77
public class HelloWorld{
じゃないから。
はずしてたらスマソ
0085デフォルトの名無しさんNGNG
ファイル名をHelloWorld.javaにしてないんじゃないの?
0086デフォルトの名無しさんNGNG
エラーの詳細キボンヌ
0087デフォルトの名無しさんNGNG
初心者で無知でスミマセン。
どうしても気になってねむれないので教えてください。

>>61
finally節でcloseするのは何がまずいのでしょうか?
私は、Stream系からSQL系から、総てそうしてしまっています。
粘着な様ですが、本当に分かりません。

宜しくお願いいたします。
0088JGreenerNGNG
LinuxでJava使ってます。
現在実行されているカレントディレクトリを、ルートからのフルパスで取得するにはどうすればいいでしょうか?
よろしくお願いします。

環境:Java2 SDK 1.4.1_02
0089デフォルトの名無しさんNGNG
>>87
finallyとfinalizeとを間違えたんだろw
気にすんな
0090_NGNG
http://homepage.mac.com/hiroyuki44/
0091デフォルトの名無しさん NGNG
>>88

System.getProperty( "user.dir" )
で返ってこなかったけ・・・
0092デフォルトの名無しさんNGNG
>>88
File current = new File(".").getAbsoluteFile().getParentFile();
System.out.println(current.getAbsolutePath());


ダメ?
0093デフォルトの名無しさんNGNG
>>84
再履修の必要あり
>>85
「HelloWorld.java:1」とエラー行に出ている
>>77
それをメモ帳で開いてみ。
0094_NGNG
http://homepage.mac.com/hiroyuki44/
0095_NGNG
http://homepage.mac.com/hiroyuki44/hankaku01.html
009684NGNG
>>93
スマソ(;´Д`)

>>ワードパッド等でプログラムを書き込んで
↑これみてなかった。

それじゃコンパイルできないわなw
0097JGreenerNGNG
>>91,>>92
ありがとう、できました(^^

ついでといってはなんですが、もうひとつ質問させてください。
SAXParserにInputStreamを渡して、タグと属性を切り出したいのですが、
このストリームに時間間隔をおいてデータが流れてくるので、そのたびに処理したいのですが、
どうやら、ストリームが閉じられるまで処理が始まらないようなのです。
これは仕様というか、もうどうしようもないのでしょうか?
またまた、よろしくお願いします。

環境:Java2 SDK 1.4.1_02
0098デフォルトの名無しさん NGNG
>>97

そんなことはないと思ワレ
関連するコードをうpして見たら
0099_NGNG
http://homepage.mac.com/hiroyuki44/
0100_NGNG
http://homepage.mac.com/hiroyuki44/hankaku01.html
0101デフォルトの名無しさんNGNG
多数のスレッドから、同時にアクセスされる可能性があるファイルをロックするにはどうすればいいでしょうか?
最初に思いついたのは、こんなのですが

import java.util.*;
public class ThreadStoper {
 private volatile static Set ref = new HashSet();
 public synchronized void lock(Object key) {
  while(ref.contains(key)) {
   try {
    this.wait();
   } catch(Exception exe) {
    continue;
   }
  }
  ref.add(key);
 }
 public synchronized void ok(Object key) {
  ref.remove(key);
  this.notify();
 }
}

サーブレットに適したものを探しています
どうかおねがいします
0102101NGNG
volatileは意味なかった・・・。
0103101NGNG
あ、あと
public static synchronized void lock
public static synchronized void ok
でした
0104デフォルトの名無しさんNGNG
あと、Stopperな。
0105101NGNG
(TДT)そうだった・・・
0106JGreenerNGNG
>>97
こんなかんじです。

Process proc = Runtime.getRuntime().exec( "hoge" );
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXPArser();
parser.parser( proc.getInputStream(), new MyHandler() );

このhogeコマンドが、数秒〜数分間隔で、

<foo>abc</foo>
1秒何もなし
<bar>abc</bar>

こんな風に表示します。
かならず1行単位になっているとは限らないので、困ってます。
0107_NGNG
http://homepage.mac.com/hiroyuki44/hankaku01.html
0108_NGNG
http://homepage.mac.com/hiroyuki44/
0109デフォルトの名無しさんNGNG
>>101よ、それを実際に運営してみて問題が生じたのなら、ここで質問しなさい。
何をどうしてほしいのか分からんぞ
0110_NGNG
http://homepage.mac.com/hiroyuki44/
0111デフォルトの名無しさんNGNG
>>106
>どうやら、ストリームが閉じられるまで処理が始まらないようなのです。
あたりまえじゃんI/Oやってる間はブロックしちゃうんだ
0112101NGNG
>>109
ありがとうございます
実は方法がオカシイかどうか心配だったんです
最初はコレでやってみることにしました
0113デフォルトの名無しさんNGNG
純粋にjavaのみでウインドウズのプロセスの監視はできますか?

具体的に言うと、どのアプリが実行されているかを取得したいのです。

どなたか教えていただきたい。
0114デフォルトの名無しさんNGNG
>>113
取得したところで、Javaからは触れない。
何がしたいんだ?
ユーティリティーつくりたいなら、Cみたいに軽い言語じゃないと使ってくれないぞ。
目的が違う。

あくまで、実務向け言語だからね。
0115デフォルトの名無しさんNGNG
HttpURLConnectionでファイルをGETしているんですが
User-Agentの設定はどうしたらいいでしょうか?
こんな感じでやってみましたけどだめでした。
HttpURLConnection url;
url.setRequestProperty("User-Agent", "Test)")
0116デフォルトの名無しさんNGNG
Cみたいに軽いというよりJavaのように重い言語じゃといった方がいいと思われ。
さらにJavaはネイティブとのインタフェースが貧弱だからこういう処理には不適格。
0117デフォルトの名無しさんNGNG
>>116
C#だと、構造体<=>structで値受け渡したり可能なのかな?

ま、俺には必要無い機能だ。
がんがって実装してちょ〜だい
0118デフォルトの名無しさんNGNG
応用ソフト(アプリケーション)向きであって基本ソフト(OS)向きじゃない、と。
0119デフォルトの名無しさんNGNG
>>117
> ま、俺には必要無い機能だ。
そう。お前は事務プログラムだけ作っていれば良い。
0120デフォルトの名無しさんNGNG
>>118
どこが一番重いのかな。
多分GCだと思うけど。

Perlで2万個の配列10個くらい作って、そのまま関数抜けると、
そこでFree処理が走るのか、30秒くらい停止する。。。。

こうはなって欲しくないけど、他の部分ではPerl程度のレスポンス
が欲しい。
0121デフォルトの名無しさんNGNG
>>118
お前定義は基本ソフトの範囲がすごく広そうだな。
0122デフォルトの名無しさんNGNG
>>113
どうもありがとうございます。
どんなアプリが実行されているかを見れるだけでもよいのですが
できればいろいろ制御(プロセスを終了したりとか)をかけることができればなぁと
目論んでおりました。

やはり、CやらC++やらで仲立ちしてるくれるような
dllでもつくってそっから値をもらうしかないんですかねぇ・・・。

丁寧な回答ありがとうございました。


0123デフォルトの名無しさんNGNG
JavaがもっさりしているのはヘボGUIライブラリ
0124デフォルトの名無しさんNGNG
>>121

何がしたいんだ?
リソースキットじゃ不満なのか?

2年前に作った、俺のDLL(Windows用)では、
STDCALL,_CDECLの関数は全て呼べるし、
3又は4の引数のAPIコールバックはJavaで定義可能。

俺のDLL(俺)は、NativeMethodクラスの作者。
Webで落とせるようにしていたが、
レスポンスが0だったので公開中止。

ここまでやってから文句言え。
正直WnidowsOSに対するつじつま合わせにしか使った事無いぞ。
0125_NGNG
http://homepage.mac.com/hiroyuki44/
0126デフォルトの名無しさんNGNG
>>124
おちつけよ。ば〜か(藁
0127デフォルトの名無しさんNGNG
> 俺のDLL(俺)は、NativeMethodクラスの作者。

わからないよ(T▽T)
俺が厨房だからか・・・
0128デフォルトの名無しさんNGNG
俺のDLLというのは人の名前なの?(T▽T)
0129デフォルトの名無しさんNGNG
>>126
落ち着いてないのはお前だろ?
ちゃんと読め。

>>127
> 俺が厨房だからか・・・
お前が厨房だからだ。
0130デフォルトの名無しさんNGNG
>>128
言葉たりんかったな?
オマエはノータリンだな?

Javaだけで、DLL呼べるように環境整えても、
その機能は、結局「WindowsOSに対するつじつま合わせ」程度しか使えない。

言語仕様に取り込まれなくても困らない。
Javaに向いているとか、向いていないとかの問題じゃなくて、
不要なんですよ。。。

リソースキットと、TaskManagerがあればそんな機能要らないでしょう?
0131デフォルトの名無しさんNGNG
俺のDLLは...の作者。
0132デフォルトの名無しさんNGNG
今度はリソースキットと、TaskManagerがあれば
そんなAPIは要らないでしょうとか、ブラウザがあれば
ブラウザコントロールなんか要らないでしょとか言いそう。


     お 前 は 馬 鹿 だ !
0133デフォルトの名無しさんNGNG
クソDLLを作っといて反応がないのが
自分のせいだって認めたくないんだな。
よしよし(w
0134デフォルトの名無しさんNGNG


 お 前 は 童 貞 だ !
0135デフォルトの名無しさんNGNG
>>130
こいつは何に対してつっこまれているのか分かっていないんだな(w
0136デフォルトの名無しさんNGNG
>>135

ちゃんと議論できるやつと出来ないやつを振り分けるためにわざと間違えた部分でつられてるのは誰ですか?
0137デフォルトの名無しさんNGNG
オマエラはJavaの崇高さがわかっていない。
技術力も俺に劣っている。
いくらほざいても無駄。
0138デフォルトの名無しさんNGNG
>>137
sageヨーネ

C言語知ってれば誰でも出来る事
ただし不要。
0139デフォルトの名無しさんNGNG
>わざと間違えた
やっぱり間違いがあるんだ。
わざとなんだね。わざと。ぎゃははは。
0140デフォルトの名無しさんNGNG
試しに落としてみたやつもいないんだな・・・
俺が落としてやるからもう一度公開してみな。
0141デフォルトの名無しさんNGNG
>>140
59DLくらいで、掲示板空っぽでした。
恥ずかしいので自分で作ってやってみて下さい。
無駄だって解ります。
0142デフォルトの名無しさんNGNG
> sageヨーネ
もはやというかさっきから意味不明なことばかり(w
0143デフォルトの名無しさんNGNG
もうそろそろ自称DLL作りました野郎は放置した方がいいのではないか?
0144デフォルトの名無しさんNGNG
お前のDLL(お前)
0145質問NGNG
アプリケーションにおいてのメンテナビリティって
どういう意味なんですか?
014677NGNG
ごめんなさい、パソコンを一家で共有しているもんで、
返事をくれたみなさん、遅れて申しわけありません。

>>84
まだpublic classは出てきてないんでそれはないです。

>>85
それはないです。頭が狂いそうなくらい確認作業しましたから・・・

>>86
エラー総数は56個です。
HelloWorld.java:1:'class'または'interface'がありません。
{\rtf1\ansi\ansicpg932\deff0\deflang1033\deftab840{\fonttbl{\f0\froman\fcharset0
Century;}{\f1\froman\fcharset128 \'82\'6c\'82\'72 \'96\'be\'92\'a9;}}
^

HelloWorld.java:1:\92は不正な文字です。
{\rtf1\ansi\ansicpg932\deff0\deflang1033\deftab840{\fonttbl{\f0\froman\fcharset0
Century;}{\f1\froman\fcharset128 \'82\'6c\'82\'72 \'96\'be\'92\'a9;}}
^
HelloWorld.java:9:'class'または'interface'がありません。

^

等です。エラーの番号?は1〜9まで出ています。
よろしくお願いします。



0147デフォルトの名無しさんNGNG
>>146
全角スペース使ってないか?
あとHelloWorldを半角の””で囲ってるか?
0148デフォルトの名無しさんNGNG
>>146
っていうかよく見たらclassにpublicついてないじゃん。
氏ねよマジで。
0149デフォルトの名無しさんNGNG
>>148
ん??
015077NGNG
今書き直しましたけど変わらずです。
半角スペース、ダブルクォテーションも半角です。
さっぱり分かりません。。。
0151デフォルトの名無しさんNGNG
>>150
とりあえず書き直したの
ここにかきこんでみれ
0152151NGNG
>>150
もちろんコピペでね
0153デフォルトの名無しさんNGNG
>>150
だから
ノートパッドでソースを書くなと小一時間(略
メモ帳でそのソース開いてみろと・・・・
0154デフォルトの名無しさんNGNG
>>153
自己レス
ノートパッドじゃねーよ(;´Д`
ワードパッドでソース書くな!
0155デフォルトの名無しさんNGNG
ワードパッド、重要なとこは文字でかくできるし、便利そうだ。
0156_NGNG
http://homepage.mac.com/hiroyuki44/
015777NGNG
>>153
メモ帳でやったらできました!
理由はよく分かりませんがかなり嬉しいです(^○^)
ほんとなんといったらいいか・・・
またjavaの勉強の続きをしたいと思います!
教えてくれた親切なみなさん本当に感謝、感謝です!
ありがとうございました!!
0158デフォルトの名無しさんNGNG
なんで理由がよくわからないんだよwアフォかw
0159デフォルトの名無しさんNGNG
「ああなるほど、だからワードパッドではだめなのですね。」

と理解してもらえる説明希望。(私には書けそうに無い。)
0160デフォルトの名無しさんNGNG
ワードパットではだめです。そういう仕様です。
0161_NGNG
http://homepage.mac.com/hiroyuki44/
0162デフォルトの名無しさんNGNG
ところでワードでコードを書くメリットってなんだ?
うざい機能が多いだけメモ帳よりたちが悪いと思うのですが・・・
何でwordでしてんの?>>77
0163デフォルトの名無しさんNGNG
>>162 そういう略し方よくないかと。つーかマジボケ?
0164デフォルトの名無しさんNGNG
ワードとワードパッドは違うだろ
0165U ◆CZtFsGiu0c NGNG
>>159
ワードパッドはデフォルトではRich Text Formatで保存するから。
ワードパッド使ってもテキストで保存すれば問題なかったのにね。
0166デフォルトの名無しさんNGNG
>>163-164
ははは。そうだったねまじでボケてるわー。
スマンチョ>>77 
んじゃフリーで軽いお勧めのエディタってナイデスか?
そんな俺は相変わらず秀丸かテラパッドなんですけどね。
0167デフォルトの名無しさんNGNG
>>166
Meadow最強。次点xyzzy
0168_NGNG
http://homepage.mac.com/hiroyuki44/
0169デフォルトの名無しさんNGNG
>>167
最強ではあるが軽くはないのが残念だ
0170デフォルトの名無しさんNGNG
じゃあ漏れはK2Editor
0171デフォルトの名無しさんNGNG
>>115
それで行ける筈なんだけど・・・
open()して、setRequestProperty()して、conn()でGETって流れにはなっているよな?

まぁ、どうしてもダメなら
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/net/properties.html
を参考にして、
System.setProperty("http.agent", "test");
とかしてみれ
0172デフォルトの名無しさんNGNG
>>166
軽い訳じゃないがサクラエディタ。
0173_NGNG
http://homepage.mac.com/hiroyuki44/
0174デフォルトの名無しさんNGNG
>>159
>>146

> エラー総数は56個です。
> HelloWorld.java:1:'class'または'interface'がありません。
> {\rtf1\ansi\ansicpg932\deff0\deflang1033\deftab840{\fonttbl{\f0\froman\fcharset0
> Century;}{\f1\froman\fcharset128 \'82\'6c\'82\'72 \'96\'be\'92\'a9;}}
> ^
> HelloWorld.java:1:\92は不正な文字です。
> {\rtf1\ansi\ansicpg932\deff0\deflang1033\deftab840{\fonttbl{\f0\froman\fcharset0
> Century;}{\f1\froman\fcharset128 \'82\'6c\'82\'72 \'96\'be\'92\'a9;}}

このエラーを見たらわかるだろ(;´Д`
ワードパッドだと、文字情報(フォントの種類やら、文字のサイズやら)もバイナリで記述されるから、
ワードパッドで見える文字だけが、実際のデータとして保持してるわけじゃないってこと。
0175デフォルトの名無しさんNGNG
>>174
そんなどうでもいいことに突っ込むより
>>148に突っ込もうよw
0176_NGNG
http://homepage.mac.com/hiroyuki44/
0177デフォルトの名無しさんNGNG
テキストエディタとワープロの区別もつかないヒトがなぜこんな板に出入りしてるんですか?
0178_NGNG
http://homepage.mac.com/hiroyuki44/
0179デフォルトの名無しさん NGNG
>>177
それだけJavaの世界が広がったのです。
ホントか?
018032NGNG
>>58
オリジナルではちゃんとやってますよ
ここでは見づらくするだけなので省きました。
0181デフォルトの名無しさんNGNG
>>175
>>148には突っ込む気にもなれない(;´Д`
つか、ネタだろ?
0182デフォルトの名無しさんNGNG
おい、
絶対この中に>>148が混ざっていることは確かだ
で、俺の予想は>>148がネタと、言っていることがどうも怪しい
おい、
>>181=>>148 だろ?
0183_NGNG
http://homepage.mac.com/hiroyuki44/
0184デフォルトの名無しさんNGNG
昨日OSのプロセスの監視ができないかと質問したものですけど、
監視はけっこうむ理っぽいことは分かったのですが、
立ち上がっているプロセスの一覧の取得も難しいのでしょうか?
もちろん純粋にjavaだけで。
0185デフォルトの名無しさんNGNG
>>184
Runtime.exec("ps -aux");
0186デフォルトの名無しさんNGNG
super() って何やってんの?
0187デフォルトの名無しさんNGNG
>>186
スーパークラスのコンストラクタ。
0188デフォルトの名無しさんNGNG
Socketを使ってStringのデータをやりとりしてるんですが、
IE標準のVMを使うと文字コードがうまく変換されるんですが、
Java Plug-inだと文字エンコードに"SJIS"などと指定すると失敗してしまいます。(IOException)
解決策はありませんか?
0189デフォルトの名無しさんNGNG
>>188
?
0190デフォルトの名無しさんNGNG
>>188
あるに決まってるので、
「無いかも知れない」などと心配なさらずに安心して探して下さい。
0191184NGNG
>>185
それは何かのジョークですか?
0192デフォルトの名無しさんNGNG
>>191
マジレスに見えるんですか?アレが。
0193デフォルトの名無しさんNGNG
>>191
>>185 はできるかぎりの誠意を持って答えていると思うが。
0194デフォルトの名無しさんNGNG
俺のDLL(俺)
0195デフォルトの名無しさんNGNG
Canvasを継承したスクリーンに他のウィンドウなどを重ねるとそのまま写りこんでしまいます。
直し方を教えてください。
0196デフォルトの名無しさんNGNG
>>195
間違っているところを教えて下さい。
0197デフォルトの名無しさんNGNG
>>196
単にpaint処理してないだけのような気がする。
0198デフォルトの名無しさんNGNG
>>197
public void paint(Graphics g){
g.setColor(Color.red);
g.fillRect(0,0,300,300);
}

こんな感じですがうまくいきません。
0199デフォルトの名無しさんNGNG
>>198
canvus?何がしたいのかワカランがゲームならpaint()内で無限ループすろ
0200デフォルトの名無しさんNGNG
>>199
アホか・・・
0201デフォルトの名無しさんNGNG
>>200
何も提示しないお前にアホとか言われΤない
0202デフォルトの名無しさんNGNG
練習用としてgetImage()にローカルの画像をフルパスで指定したいんだけどできません。
これってそもそもできないの?
0203デフォルトの名無しさんNGNG
>>203
Image img=new ImageIcon("fgh.jpg").getImage();
0204デフォルトの名無しさんNGNG
質問者も回答者(?)も、ひところに比べて甚だしく質が低い
0205202NGNG
>>204
質の高い回答してみて
0206セイラNGNG
http://life.fam.cx/a006/
0207デフォルトの名無しさんNGNG
>>205
まず、今どうやってるのか出してもらわんと指摘のしようが無い
0208デフォルトの名無しさんNGNG
>>207
推測を元に回答できない時点でおまえのほうが質が低い
0209デフォルトの名無しさんNGNG
>>208
どこをどう推測しろってんだ、あぁ!?
プラットフォーム依存だろうが
0210デフォルトの名無しさんNGNG
>>199
Canvasなんですが、なぜかpaintメソッドが呼ばれていないようです。
どうすればいいんでしょうか?
0211202NGNG
classファイルと同じディレクトリに画像をおいて
Image img = getImage(getDocumentBase(), "aaa.jpg");

別のディレクトリにある画像を直接指定したいんだ。
0212デフォルトの名無しさんNGNG
>>202や>>198のような低脳質問は無視しろ。
ヘタに手を出すとさらに低脳な>>203みたいのが現れる始末。
0213209NGNG
>>208 >>211
アングリした。負けた。俺が悪かった。
0214デフォルトの名無しさんNGNG
Socketで接続しようとするときに、
TCP/IPの環境変数を作り直すことできますか?
0215202NGNG
俺も悪かった。
0216デフォルトの名無しさんNGNG
Java(TM) 2 SDK, Standard Edition 1.4.1_03を
入れたらJavaの開発環境はできるんですか?
0217デフォルトの名無しさんNGNG
>>216
できるがそれだけだと大抵苦労する。
まずはその苦労を知っておくのも経験のうちだ。がんばれ
0218デフォルトの名無しさんNGNG
>>216 できる
0219デフォルトの名無しさんNGNG
大変苦労するのですか。
まぁ、意味がわかるまでこれでやってみます。
0220デフォルトの名無しさんNGNG
>>216
Eclipseも入れとけ
0221デフォルトの名無しさんNGNG
http://satellite.esenden.com/ranking/ranklink.cgi?id=groovy
0222デフォルトの名無しさんNGNG
>>220
こんなところにわざわざ質問するような奴に言っても無茶
混乱させるか、IDE = コンパイラだと勘違いするバカ量産させるだけ
0223デフォルトの名無しさんNGNG
>>211
オレはjavaアプレットで何も作ったことないんだが
Image img = getImage(getDocumentBase(), "image/aaa.jpg");
みないにできない?無理だったらスマン、そして諦めろ。
0224デフォルトの名無しさんNGNG
>>211
>>223
アプレットでローカルファイル呼ぶなんて中途半端なことやめろ
getDocumentBase() なんかはずして、
getResource() するかフルパス入れろ
0225デフォルトの名無しさんNGNG
>>224
getDocumentBase()はリテラルでフルパス指定するよりはるかに適切。
確かに回答者のレベルが下がったな。
0226デフォルトの名無しさんNGNG
>>225
getDocumentBase() はアプレットでなければ動きませんが?
それに getResource() も挙げてるだろ
0227デフォルトの名無しさんNGNG
回答者の質が下がったかどうかはしらんが
アプレットからローカルファイル呼び出しは
おれもやめたほうがいいと思う
0228デフォルトの名無しさんNGNG
誰か教えてください。
Runtime.exec()でc++のバイナリを呼び出して、
Process.exitValue()で終了コードを受け取っています。
そのとき、なぜか不正な終了コードを受け取ることがたまにあるのです。
10とか11とか。
c++のバイナリは100回くらい連続実行しても全て正常終了(0)します。
javaから呼んだときのみに起こります。
javaのコードですが、
Runtime.exec() -> Process.waitFor() -> Process.exitValue()
という流れです。
どなたか、同じような事象になった方おられませんか?
0229デフォルトの名無しさんNGNG
バイトコード書き換えて、JADをクラッシュさせたいんだが…
gotoぶち込んでコードはガタガタにしてやったが、変数名はばればれ。
0230デフォルトの名無しさんNGNG
GraphicsかImageからピクセルを指定してそのピクセルの色を取得することをJava 1.1相当で実現できませんか?
できたら方法を教えていただきたいです。
0231デフォルトの名無しさんNGNG
アプレットを表示しようとすると、
load class animation not found
と出て表示されません。どうすればよいでしょうか?
前に作ったものや最初から入っているサンプルも同じようになります。
javaアプレットのスクリプトは有効になってます。
0232デフォルトの名無しさんNGNG
>>230
Image クラスそのものからは不可能。それは API を読んでも分かるよな。
getRGB できる Image がある。それを探して、どうすればいいか考えてごらん。
どうしても分からなかったら又おいで。ちゃんと試行錯誤してからね。
0233デフォルトの名無しさんNGNG
>>230
java.awt.image.PixelGrabber使えばint配列にピクセル情報を入れることができる。
Java1.1でできるかどうかはワカランが
0234デフォルトの名無しさんNGNG
219.111.85.231
231.85.111.219.dy.bbexcite.jp


0235デフォルトの名無しさんNGNG
JDKでコンパイルするとき、
DOSのところで何と入力すればいいのでしょうか。
0236デフォルトの名無しさんNGNG
>>235
JDKCompile
0237デフォルトの名無しさんNGNG
>>235
あ、アプリケーションの場合な。

JSP:JSPCompile
Applet:AppletCompileIE
0238デフォルトの名無しさんNGNG
配列を初期化するときは
String[] strs = { "a", "b", "c" };

とかけますが、
Mapを簡単に初期化する方法はありませんか?
0239デフォルトの名無しさんNGNG
>>238
そもそもプリミティブ型ってMapに入れられたっけか?
0240デフォルトの名無しさんNGNG
>>236
そういうバッチファイルを作ればいいのね。
0241デフォルトの名無しさんNGNG
>>238
このインターフェースを使えばいいよ。

public interface EasyInitable
{
public void easyInit();
}
0242デフォルトの名無しさんNGNG
解説書には
cd \ディレクトリ名
javac ファイル名

↑のように書けとあったのですが、うまくいきません
0243238NGNG
レスありがとう。
>>239
失礼。プリミティブ型ではなくてStringを入れるつもりです。

>>241
ちょっとよくわからないのですが、
演算子の多重定義みたいなことをやるということでしょうか?
0244デフォルトの名無しさんNGNG
>>238

map.put(A, B); <= これをクリップボードに入れておいて、
ペーストの連続。

コピペとか、自動的に生成するのがJavaの王道
0245デフォルトの名無しさんNGNG
★私のオ○ン○見て下さい★お母さんには内緒!!
http://yahooo.s2.x-beat.com/linkvp/linkvp.html
0246242NGNG
どうしてもコンパイルできないんです。
javacは操作可能なプログラム、バッチファイルとして認められていません。
と出ます
0247デフォルトの名無しさんNGNG
>>242、246
釣られてやる。>>1読め。
0248242NGNG
すみません。
よく見てもどのようにパスを通すのか分かりません。
なんと入力したらいいのですか?(環境変数のとこ)
0249デフォルトの名無しさんNGNG
Javaハウスって何気にバカが多いな

0250デフォルトの名無しさんNGNG
>>248
ちゃんと読んでないだろ?
こんなの分からないとプログラムなんて絶対できないよ。
ささ、VBとかDelphiでもやってなさい
0251242NGNG
<version number>の
ところに入れるのは
Java(TM) 2 SDK, Standard Edition 1.4.1_03なら
1.4.1_03の部分ですよね?
0252デフォルトの名無しさんNGNG
当然違います。
0253デフォルトの名無しさんNGNG
>>251
エクスプローラでフォルダを開いて、アドレス欄をコピーするのだ。
0254デフォルトの名無しさんNGNG
>>238
Mapの初期化は
Map map = new HashMap();
0255デフォルトの名無しさんNGNG
>>254
笑いどころは?
0256デフォルトの名無しさんNGNG
最後の;
0257デフォルトの名無しさんNGNG
ツーかJavaではバイナリデータをぐりぐり弄くれないんだよね。
0258デフォルトの名無しさんNGNG
Javaアプリケーションはjar形式で配布する訳ですが、
その場合、Javaのバージョンは1.1とかもっとも古いのにすべきですか?
マカーやPC詳しくない人に配っても動くようにしたいのですが。

ちなみに、配布したいアプリは大量のテキストファイルを一括変換するツール
(GUIなし)なので、本当は1.4を使いたいんですがね・・。
0259デフォルトの名無しさんNGNG
バカにはね。
0260デフォルトの名無しさんNGNG
>>258
そういうアプリはどちにしても
JRE入れないと動かないんじゃないの?
JRE入れるってことは、どうせなら1.4入れるので
1.4でも問題ないかと・・・
0261デフォルトの名無しさんNGNG
>>260
なるほど・・容赦なく1.4でつね。参考になりました。
0262デフォルトの名無しさんNGNG
jarファイルにjarファイルを含めたいのですが、
含んだjarファイルをクラスパスに含めることができません。
どこかにパス情報を書き込むのでしょうか?
0263デフォルトの名無しさんNGNG
>>262
ああ、おれも複数のJARを一つにまとめればそのファイルCLASSPATHすればOKかなって思ったことがあったよ
多分これやりたい?↑
結局、そのやり方ダメだった
試してないけど一度全部展開して整理して
もういちどJARに固めれば出来るかなと思ったりもして・・・
0264デフォルトの名無しさんNGNG
JARのマニフェストのClass-Path属性に
他のJARファイルの相対パスを書いておけば
連鎖的にクラスパスが通るよ。

http://java.sun.com/j2se/1.4/ja/docs/ja/guide/jar/jar.html#Main%20Attributes
0265デフォルトの名無しさんNGNG
>>262
マニフェストファイルのClass-Path:にjarファイルを指定するんじゃなかったかのう…
詳しくはこちらをどうぞ。
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/jar/jar.html#Main Attributes
0266デフォルトの名無しさんNGNG
>>264
ClassPath属性に、「自分自身が、中に含んでいるJar」って指定できたっけ?
0267264NGNG
いや、無理だと思いまつ

264は>>263が言ってるみたいな
クラスパスの設定をサボることが目的かと思って書いたんす

ほんとに一つのファイルにまとめたいなら
クラスローダ書きませう、ということで
0268デフォルトの名無しさんNGNG
>>267
あれ?
hoge/hige/jar:hage/huge
とかいうURI指定方法なかったっけ?
0269デフォルトの名無しさんNGNG
>>268
そーすは?
0270デフォルトの名無しさんNGNG
http://java.sun.com/products/jdk/1.2/ja/docs/ja/api/java/net/JarURLConnection.html
これかな?
0271デフォルトの名無しさんNGNG
mysqlとjavaを使ってるのですが、日本語を扱うのがうまく行きません。
mysqlそのものだけを使った場合はきちんと扱えるのですが、javaからjdbcを
使って接続すると日本語が「????」という感じになってしまいます。
なにが問題なのでしょうか?

ちなみにjdbcドライバのバージョンは3.0.8なので、2.0.14と違って日本語は正
常に扱えるということになってるのですが・・・
0272デフォルトの名無しさんNGNG
>>271
そういうときの基本:
byte[] array = resultString.getBytes("ISO-8859-1");
でとってきたarrayをダンプしてみる。
0273デフォルトの名無しさんNGNG
>>271
URLの終わりに「?useUnicode=true&characterEncoding=Windows-31J」とつけてみて。
UnixならEUC_JPで。詳しくはこちらを。
http://www.atmarkit.co.jp/flinux/rensai/mysql08/mysql08b.html
0274デフォルトの名無しさんNGNG
>>272-273
どうもありがとうございます。
原因がなんとなく理解できました。

なんか自分の頭の悪さにウンザリします。
0275デフォルトの名無しさんNGNG
相談なのですが・・・
あるメソッドで、メソッドの引数を無名インナクラス内で使おうとしています。
例)
public void init(String message) {
  addMouseListener(new MouseListener() {
    public void mouseClicked(MouseEvent e) {
      new JDialog(owner, message); // <- ここ
    }
    // 省略
このとき、「messageがローカル変数 status は内部クラスからアクセスされます。final で宣言される必要があります。」
と、出るのでメソッドを
  public void init(final String message)
としたらエラーは出なくなって、期待通りの動作をしているのですが、これってアリなんですか?
アリだとしても、行儀が悪いとか問題点とかありますか?
0276275NGNG
エラーメッセージのとこ
「ローカル変数 message は内部クラスからアクセスされます。final で宣言される必要があります。」
でした
_| ̄|○
0277デフォルトの名無しさんNGNG
>>275
普通です。
つうか、他に方法ありません。
0278デフォルトの名無しさんNGNG
そこにfinal書くのって気持ち悪い・・
0279デフォルトの名無しさんNGNG
ああ、俺もいまだに無名クラス時のfinalって気持ち悪いな
なので、無名クラス自体あまり使っていない
0280デフォルトの名無しさんNGNG
「気持ち悪いから」などという理由で、便利な機能を使わないというのは
いかがなものかと。もしかして、thisにMouseListenerをimplementする
とか?そっちはネームスペースを汚染してる(メソッドシグネチャのコン
フリクトが起きる可能性がある)ので、気持ちわるいどころじゃなくて有
害だと思うけど。
0281279NGNG
>>280
うーん「気持ち悪い」っていうのは
なぜ、finalしないといけないのか分からんのですよ文法的に・・・

あと、「thisにMouseListenerをimplementする とか?」
これはやってません、アクション自体もぼくの場合オブジェクトにしますから
0282デフォルトの名無しさんNGNG
>>281
ローカル変数をfinal宣言しない→ローカル変数が、初回に参照を
代入されたあとに変更される可能性がある→もし変更されるよう
なら、内部クラスの変数呼び出しは変更前、後のどっちを参照す
るのよ?ということかと。
0283282NGNG
ローカル匿名内部クラス程度で記述できるごく短い手続きを、遠く離れた
別の場所に書くのは、多少保守性が低下するかも、と思うなあ。
だけど、賢いIDEを常に使うなら、クラス間の参照関係なんか簡単に行き
来できるから、問題ないのかもモナー。

オイラは、あいだを取ってこうすることがおおいな。親クラスはinterface
を継承しているわけではないから、好き勝手なメソッドシグネチャにできる
ので、ネームスペース汚染はないですお。

public void init() {
 addMouseListener(new MouseListener() {
  public void mouseClicked(MouseEvent e) {
   handleMouseClicked(e);
  }
 }
}

//privateで書けるのです。
private void handleMouseClicked(MouseEvent e){/*何か*/}
0284デフォルトの名無しさんNGNG
>>283
MouseListenerをimplementsしてないクラスが突然MouseEventを引数にとったメソッド定義してるのは気持ち悪くない?
0285デフォルトの名無しさんNGNG
com.aa.bb
というパッケージがあって
com.aa.bbにあるクラスの親クラスは
com.aaに書いておいたがいいとかいうのはありますか?

何がいいたいかというと、
親クラスがあって、子クラスがあるわけで、
おなじパッケージに継承元をおくよりも
一つ上の階層におかなきゃならんのかなーと
思ったのです。

そういうような慣習的なコーディングのルールってありますか?
0286デフォルトの名無しさんNGNG
>>284
283じゃないけど俺の使ってるIDE(SunOneStudio4)では
イベントのコードを自動生成させるとそう出力されます。
自作のInterfaceならともかく、リスナーごときでインプリメントなんてしない。
0287デフォルトの名無しさんNGNG
>>285
ないです。
0288デフォルトの名無しさんNGNG
おれなら、
そういうイベントアクションをオブジェクトにする

今の場合なら
MouseListenerをimplementsかMouseAdapterをextendsしたオブジェクト作っておく

MouseAdapter action = new HogeAction(some);//some:アクションに関連つけるObject 複数 もしくは 何も無くてもいい コンストラクタで定義した引数
Component comp = new HogeComponent();//comp基本的にGUIなので何かの
comp.addMouseListener(action);

あるいは最初から別クラスでMouseListenerをimplementsかMouseAdapterをextendsしたComponent
作っておくとか

最初のやり方だと、ほかのComponeにも同じアクション設定できるしね
0289デフォルトの名無しさんNGNG
サープレットやjspがおける無料レンタルサーバを知ってたら教えてください。
0290デフォルトの名無しさんNGNG
WikiやStructured textなどの構造化テキストを処理するサーブレットを作ろうと思っています。どのような構造化テキストの記法でもよいのですが、構造化テキストのためのjavaライブラリってあるでしょうか?
0291デフォルトの名無しさんNGNG
>>290
俺は、WikiやStructured textまったく分からんので
勘で答えるがw

こういうときこそVelocityつかうとか?(ApacheだったけJakartaだったけ?)
0292デフォルトの名無しさんNGNG
>>291
これらでは、プレインテキストを使ってHTMLを表現できます。例えばstructured textでは
「*強調したい部分*」=「<strong>強調したい部分</strong>」
「_下線部をつける部分_」=「<u>下線部をつける部分</u>」
0293デフォルトの名無しさんNGNG
>290
MobWiki使うとか・・・
ttp://www.mobster.jp/wiki/index.jsp
0294デフォルトの名無しさんNGNG
>>291
Velocity情報、ありがとうございます。しかし>292のような変換はできな
いようです。置き換えや簡単な繰り返しはできるんですね。
>>293
MobWikiは、私の欲しいライブラリ的なクラスを含んでいるようです。これ
からコードを眺めてみます。助かりました、ありがとうございました!
0295デフォルトの名無しさんNGNG
>>294
ちゃんとライセンス嫁よ
0296デフォルトの名無しさんNGNG
今までC/C++を使ってきて、最近Javaにも手をだし始めた者です。
文法などは一通り覚えたつもりですが、Java風のコードを書くには
どうすればいいのか悩んでいるところです。
例えば、エラーが発生したときエラーコードを戻り値として返すような
コードは書かず、例外を飛ばした方Javaっぽい?とか・・・

C/C++言語風にならず、いかにもJavaなコードを書くために
参考となるようなサイト・書籍等を教えていただけないでしょうか?
(文法やらSwingの使い方やらを紹介しているだけのものではなく)
0297デフォルトの名無しさんNGNG
>>296
がんがん好きに作ればいずれ分かるよ。君にセンスがあればね。
標準API 使ってるうちに、「自分が誰かに提供するとしたらこうすればいいかな」
とか身に付くから。
0298デフォルトの名無しさんNGNG
J2SE1.4のLoggingとJakarta Log4Jって、どっちがパフォーマンスいいのかな?
0299298NGNG
とりあえずcommons-loggingで何とかしとくかな。
0300デフォルトの名無しさんNGNG
>>298
明らかにLog4j
0301デフォルトの名無しさんNGNG
>>296
とにかくたくさん作るといい。
自分が便利だと思う方法が一番だよ。

あと、CとC++はかなり違う。
C++とJAVAはかなり似てる。

それから他人のソースを読むのもありかな。
JAVAならTomcatとかがいいかも。
0302デフォルトの名無しさんNGNG
>>301
素人捕まえて何バカ言ってんだ。
0303デフォルトの名無しさんNGNG
CならLinuxとかがいいかも。
0304_NGNG
http://homepage.mac.com/hiroyuki44/
0305275NGNG
レスありがとうございます>all
まとめてみると、
・普通に使う
・気持ち悪いけど使う
・クラスに implements MouseListenerとかして別メソッドで実装する
・無名インナクラスから別メソッドを呼ぶ
・無名インナクラスではなく、別classにしてしまう
用途次第ってことでしょうか。
今回の私の用途に限っては、再利用とかしない上、
classが肥大化しつつあるためメソッド増やさず、引数にfinalつける方法でいきます。
どうもありがとうございました。

# MVC意識すると java.awt.Frameとか javax.swing.JFrameを継承したクラスって肥大化しないですか?
0306デフォルトの名無しさんNGNG
>>305
それほどでもないだろ?
ちなみにFrameはViewの用途で言ってるよね
0307305NGNG
>>306
いや、Viewだけの時もそうだけど、Controllerを兼務した時に、
Action用に出入り口たくさん作ったりしません?
0308デフォルトの名無しさんNGNG
いえ、ぼくの場合ActionはActionで別クラスにしちゃいますので、
Frameはボタンとかその他のコンポネを貼るだけのものです
もちろん、どんなコンポネがあるのかとか、テキストフィールドなら入力されている文字はなんなのかとか、
どこかで知らないといけないので
それを監視するクラスも作ります

0309デフォルトの名無しさんNGNG
JAVAをこれから学びたいと思っているのですが、
WindowsのソフトウェアをJAVAで開発するに当た
って、スタンダード的存在となっている開発環境は
ありますでしょうか。

もしよろしければ、教えてください。
0310デフォルトの名無しさんNGNG
JDK1.4です。JavaDevelopmentKit1.4
ttp://java.sun.com/j2se/1.4/ja/
0311デフォルトの名無しさんNGNG
JFrameで作ったフレーム内にもう一つJFrameを起こすことはできますか?
普通に作ってウィンドウが二つになるのを防ぎたいのですが。
0312311NGNG
言葉足らずなので付け足し

syseditのウィンドウみたいに、ウィンドウの中にウィンドウが
複数存在するようにしたいのですが、それについて知りたいという意味です。
0313デフォルトの名無しさんNGNG
>>311
JDesktopPane を参照せよ。
中にできるのは JFrame ではないが。
0314311NGNG
(゜д゜(  人  ) =3 プ
0315デフォルトの名無しさんNGNG
よく書籍のサンプルなどで
クラスAのなかでクラスAをインスタンス化するような
書き方をみるのですが、
自クラスのなかで自クラスをインスタンスするって
いうのがよくわかりません。
どういうメリットがあるのですか?
またどういう場面で使えばよろしいのですか?
0316デフォルトの名無しさんNGNG
>>315
意識する必要無いよ。
どーでもいい。
0317デフォルトの名無しさんNGNG
>>315
ドライバ
0318311NGNG
>>314
ここまで地味な語りは初めて見た。
0319311NGNG
俺も
0320デフォルトの名無しさんNGNG
>>315
シングルトン
0321315NGNG
>>316
う〜ん、そういわれてもなぁ・・・。

>>317
ドライバですか。
javaでドライバを作るときに活用するということですか?

>>320
シングルトンというのはなんですか?
0322デフォルトの名無しさんNGNG
>>315
そう言うことやってるのはstaticメソッドの中じゃない?←これマジでヒント

まあ、外部からnewするのと内部でnewするのと大して変わらん
0323デフォルトの名無しさんNGNG
JFrameを閉じるにはどうすればよいですか?
「JFrame 閉じる」で検索してもSystem.exit(0);でアプリを終了させる
方法しか出てきませんでした。
0324デフォルトの名無しさんNGNG
JFrameを継承したクラスをしようしてますが、
ウィンドウを最大化するにはどんなメソッドを使えばいいのですか?
0325デフォルトの名無しさんNGNG
>>321
ドライバ→クラス内のstatic mainメソッドでインスタンスを作る(単体テスト用)
シングルトン→インスタンス数を制限したいとき予め自分で作っておく
 ただし、他人には作らせない(コンストラクタをprivateに)

>>323
WindowClosingイベントをEventQueueにポストする
0326デフォルトの名無しさんNGNG
>>324
setExtendedState(jdk1.4-)
0327デフォルトの名無しさんNGNG
>>323
非表示にするだけならsetVisible(false)
この場合イベント処理とかののスレッドは生きたまま

ウィンドウを本当に破棄するならdispose()
0328デフォルトの名無しさんNGNG
>>326
ありがとうございます。
しかしながら、
http://java.sun.com/j2se/1.3/ja/docs/ja/api/javax/swing/JFrame.html
↑のページ内を検索しましたが、
setExtendedStateという文字列は見つかりませんでした。
0329デフォルトの名無しさんNGNG
初歩的すぎる質問ですみません。

JFrame内でMenuBarを使っていたのですが、
Menubar→JMenuBarとしてソースを全て直したところ、
setMenuBarメソッドが適用できなくなりました。
しかし、setJMenuBarなんてメソッドもありませんでした。
JMenuBarをJFrameに設置するメソッドを教えてください。
0330329NGNG
すみません、ありました。逝きます。
0331デフォルトの名無しさんNGNG
初歩的すぎる質問
javaというものはきちんと使わなくなったオブジェクトは
nullを代入したりdisposeしたりして
破棄しておかないといけないと聞きましたが、
JFrame内にボタンやテキストエリア等色々配置しているのに、
終了時は右上の×ボタンを押すだけ全てを終了してしまう
私のソースは間違いなんでしょうか?

×ボタンが押されたら、そのイベントを拾って
あらゆるオブジェクトにnull代入なりdisposeなりする
メソッドを用意しておくべきなんでしょうか?
0332_NGNG
http://homepage.mac.com/hiroyuki44/hankaku01.html
0333デフォルトの名無しさんNGNG
> javaというものはきちんと使わなくなったオブジェクトは
> nullを代入したりdisposeしたりして
たいてえ不要です。
0334デフォルトの名無しさんNGNG
setJMenuBar(menubar);
で無事コンパイルも通ったのですが、
何度やってもメニューバーが表示されません。
awtのMenuBar,Menu,MenuItemを全て
swingのJ〜にしただけなのに・・・

どなたか、このアホに愛の手を・・・
0335デフォルトの名無しさんNGNG
>>328
スクリーンサイズに自前で広げる。
0336デフォルトの名無しさんNGNG
>>333 ありがとうございました!
0337デフォルトの名無しさんNGNG
>>334
メニューバーに項目追加しないと何も見えないよ

「ファイル」や「設定」といった項目追加
さらにそれぞれに「開く」とかまあ普通のアプリみたいにしないと・・・
一個一個追加していくしかない
0338デフォルトの名無しさんNGNG
>>337
関数の語源を知らないようだな。

面倒な部分はまとめて関数にする。
0339デフォルトの名無しさんNGNG
すみません、長いですが、ソース張らせてください

menubar=new JMenuBar();
//ここからメニュー1
menu1=new JMenu("ファイル");

menuitem1[0]=new JMenuItem("開く");
menu1.add(menuitem1[0]);
menuitem1[0].addActionListener(this);

menuitem1[1]=new JMenuItem("hoge");
menu1.add(menuitem1[1]);
menuitem1[1].addActionListener(this);

menuitem1[2]=new JMenuItem("閉じる");
menu1.add(menuitem1[2]);
menuitem1[2].addActionListener(this);

menubar.add(menu1);
//ここからメニュー2
menu2=new JMenu("help");
for(int i=0;i<menuitem2.length;i++){
        menuitem2[i]=new JMenuItem("hoge"+i);
        menu2.add(menuitem2[i]);
}
menubar.add(menu2);

//最後にメニューバーをフレームに設置
setJMenuBar(menubar);

コンパイルもしっかり通っているのですが・・・表示されないのです。
初歩的ですが、どうか助けてください
0340デフォルトの名無しさんNGNG
>コンパイルもしっかり通っているのですが・・・
当のファイルだけ修正以前のクラスファイルだとか・・・
0341デフォルトの名無しさんNGNG
>>338
あ?言ってる意味が分からんのですが?誤爆なの?
0342デフォルトの名無しさんNGNG
>>340
一応チェックしてみました。大丈夫みたいでした。
0343デフォルトの名無しさんNGNG
>>339
一応きいとくけど、メニューバーを貼っている相手のペイン(this)は、
画面に貼ってあるのか?
0344デフォルトの名無しさんNGNG
>>343
すみません、初心者ゆえ言ってることの意味が理解できません

main関数を持つのはJFrameを継承したクラスで、
このクラス内部で上記のような記述をしていました。

現在は改良して
getContentPane().add(menubar,BorderLayout.NORTH);
したのですが、また問題がおきております。

相変わらずMenuBarが表示されていないと思いきや、
ポインタを持って行き、クリックするとJMenuItemが
ずらっと出てくることが確認できました。
つまり、不可視ながら存在しているらしいのです。

ここで、JMenuのAPIを見たところ、コンストラクタは
引数無しのものしか存在しないのに、私の記述は
menu1=new JMenu("ファイル");
としている点が不可視を生んだのでは?と考えてます。

しかし、存在しないコンストラクタを呼んでいるのに
コンパイルが通るのが不思議だ・・・

この不可視問題を直す方法をご教授ください。
0345デフォルトの名無しさんNGNG
>>344
あるよ
JMenu(String s)
指定された文字列をテキストとして持つ新しい JMenu を作成します。

なんか本読みながらやったほがいいんじゃないの?
0346デフォルトの名無しさんNGNG
ど真ん中にテキストエリアをでっかく配置したら
なぜか普通に動作するようになりました。
つまり、可視になりました。

お騒がせしてすみませんでした。
0347デフォルトの名無しさんNGNG
>>345
http://java.sun.com/products/jdk/1.2/ja/docs/ja/api/javax/swing/JMenuBar.html#JMenuBar()
↑このURLのコンストラクタの欄に書いてないのはなぜなのでしょうか?
0348名無しNGNG
>>347
それはJMenuじゃなくてJMenuBarだろ
0349デフォルトの名無しさんNGNG
>>348
バタリ (o_ _)o 〜〜〜 †
ほんっとすんません。

しかしながら、Menuが不可視だったことと、
BorderLayoutの真ん中にでっかくテキストエリアを配置したら
可視になったことが永久に謎になってしまいそうです。

今日はみなさまお疲れ様でした。
また質問しに来ます。
0350デフォルトの名無しさんNGNG
くんにゃ
0351デフォルトの名無しさんNGNG
JAVAにPerlのGDやMAGIKのようなグラフィック関連の関数ありますか?
GIF画像のグラフを作りたいんだけど。
0352デフォルトの名無しさんNGNG
GIFか・・・そういえば期限が切れたんだっけな。
0353デフォルトの名無しさんNGNG
java.utilにあるObservableはクラスになっていて、
別のクラスから継承しているクラスをobservableとして
使いたいときに困りました。
そこで、Observable interfaceを作ろうと思いましたが、
すると、Observerに通知する部分をimplemetsするたびに
書くことになってしまいました。なんかいい方法ありますか?
0354デフォルトの名無しさんNGNG
>>353
「UMLによるJavaオブジェクト設計」という本にいい方法が書いてあったような…忘れた。
ま、そういうときはオブジェクトコンポジションで解決するのが定石。
public class Mona{
 private Observable observable;
 public void notify(){
  observable.notifyObservers();
 }
 public void setHoge{
  ...;
  notify();
 }
}
委譲メソッド(ここでいうMona.notify())を各クラスに書く必要があるが、
notify()を毎回実装するよりははるかによい。
IDEによっては委譲メソッドを自動生成してくれるので楽チンだよ。
0355353NGNG
>>354
なんと。私、「UMLによるJavaオブジェクト設計」持ってました。
読み足りなかったようです。
それでいってみます。

でも、こういうときC++みたいな多重継承ができたらいいなー、
とちょっと思ってしまいます。
特に害が出るような多重継承でもなさそうだし。
0356デフォルトの名無しさんNGNG
mainメソッドはなぜpublicでstaticでvoidなのですか?
0357デフォルトの名無しさんNGNG
何か玄人さんの抜き打ちテストみたいに見えるけど、挑戦してみる。
>>356
public : 外部から参照するから private にするのは当然。
     もちろん、いちいち protected にするメリットも全くなし。
static : コンストラクタを private にしたい場合困る。
void : 実行中のエラーや結果の、判断とユーザへの通知は main より内側で完結すべきだから。
    (※しかし一般的なアプリケーションと同じく OS 依存の方法で通知させたいときもあるから、
     それは System.exit(int) で行う)
0358デフォルトの名無しさんNGNG
>>356
public
外から見えないと叩けない。

static
インスタンス生成してない状態から呼びたいから。

void
設計思想。
0359デフォルトの名無しさんNGNG
>>357
いきなり間違った・・・「private にしないのは当然」。
0360デフォルトの名無しさんNGNG
>>359
同じことだけど、「publicにするのは当然」と言おうよ。
0361デフォルトの名無しさんNGNG
>>360
うん 分かったよ 純子ちゅわん
0362デフォルトの名無しさんNGNG
ヘタレなのですが、SAXParserのparse()に
String hoge = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>........";
を食わせたいときどうすればいいでしょか?
0363デフォルトの名無しさんNGNG
一番いいエディタはなんですか?
0364デフォルトの名無しさんNGNG
メモ帳
0365デフォルトの名無しさんNGNG
>>363
emacs , xyzzy
0366362NGNG
getBytes("UTF-8")とByteArrayInputStreamでできました〜
オジャマシマシタ
0367デフォルトの名無しさんNGNG
ちょっと気になったんだけど、Antを使いこなせてる奴って
どの位いるのかな?
個人的には、ほとんどいないと思うんだけど。
みんなIDEでササッとビルドしちゃうだけ。
最近Antの勉強しててかなり面白かったもので。
0368デフォルトの名無しさんNGNG
継承について質問させてください

class Super {
public static int y = 10;
}
class Sub extends Super {
Sub.y = 20; // static int y に代入

System.out.println( Sub.y ); // 20と表示
System.out.println( Super.y ); // 20と表示
}

となってしまうんですが、static int yはSuperとSubの共通のものになるんでしょうか?
0369デフォルトの名無しさんNGNG
はい
0370デフォルトの名無しさんNGNG
>>368
正確には違うはず
yはSuperがもっている
で、今回Subはyという変数をもっていなかったので、
Super.yに代入された
ためしに以下を実行してみそ

class Super {
public static int y = 10;
}
class Sub extends Super {
public static int y = 20;
System.out.println( Sub.y ); // 20と表示
System.out.println( Super.y ); // 20と表示
}
0371368NGNG
>>370 Subでyを宣言すると、SuperのyとSubのyは別物として振舞いますよね?
ちなみに同じ名前のstaticメソッドをSubに宣言したらオーバーライドできました
「staticメンバーはオーバーライドできない」って本に書いてあったんだけどなぁ。。。

ちょっと混乱気味
0372368NGNG
>>370 すんません それと

>>「yはSuperがもっている
>>で、今回Subはyという変数をもっていなかったので、」

ってありますけど、Subはyを持ってないんですか?
つまり継承されてないってことでしょうか?
0373デフォルトの名無しさんNGNG
>>371
staticメソッドの場合、オーバライドと言わずに「隠蔽」と呼ぶそうだ。

ところでstaticメソッドとインスタンスメソッドのバインドの違いはわかってる?
staticメソッドはコンパイル時に、クラスの指定に応じて静的にバインドされるが、
インスタンスメソッドは実行時に、オブジェクトの型に応じて動的にバインドされる。

ちなみに変数のバインドもstaticメソッドと同じルールで
(コンパイル時に指定したクラスに応じて静的に)バインドされる。
ま、そんなことを注意するコードを書くことはないし書いちゃいかんので
気にする必要はないんだが。
0374デフォルトの名無しさんNGNG
>>372
そう。
継承はされていない。
static宣言すると、それはClassに固有の変数となる。
ただ、今回は
Subにyという変数がみあたらなかったので、
親Classに探しにいって、そこにたまたまstatic int y
があったので、それに代入された。

ちなみに、static メソッドはオーバーライドできません。
staticメソッドを呼ぶときは
Class名.メソッド名で呼ぶのが普通。

インスタンスから、呼び出した場合は、そのインスタンスの
Classメソッドが呼ばれてしまうのであたかもオーバーライドしたかの
ような振る舞いをしただけ。
0375デフォルトの名無しさんNGNG
>>374
>親Classに探しにいって、そこにたまたまstatic int y
>があったので、それに代入された。

継承されてるじゃん。
0376368NGNG
なるほど 自分でも調べてみてなんとなく理解できつつあります
オーバーライドではなく隠蔽なのですね

373と374の文章コピペしてもう一度検証してみます サンクスでした!
0377デフォルトの名無しさんNGNG
>>374
インスタンスのClassメソッドではなくて、その変数の
型のClassメソッドが呼ばれるのか・・・
いまためしてみた。
これを実行してみたらよくわかるとおもう。
public class Super {
public static void methodA() {
System.out.println("this is Super methodA");
}
public void methodB() {
System.out.println("this is Super methodB");
}
}

public class Sub extends Super{
public static void methodA() {
System.out.println("this is Sub methodA");
}
public void methodB() {
System.out.println("this is Sub methodB");
}
public static void main(String[] arg) {
Super sub = new Sub();
sub.methodA();
sub.methodB();
}
}
0378デフォルトの名無しさんNGNG
これでちゃんと動かないのですが、なぜでしょうか?

 try{
  String command = "awk '/keyward/{print $3}'" + file;
  //String command = "ls" + file;
  System.out.println(command);
  Process pr = Runtime.getRuntime().exec(command);
  pr.waitFor();
  InputStream is = pr.getInputStream();
  BufferedReader br = new BufferedReader(new InputStreamReader(is));
  String line;
  while((line=br.readLine())!=null){
   System.out.println(line);
  }
 }catch (Exception e){
   System.err.println(e);
   System.exit(1);
 }

なお、コメントアウトしてある ls の方では正常に出力されるのですが、
awk の方では何も出力されません。
file は String 型で、コンソールで、awk '/keyward/{print $3}' file
としたときには問題なく出力されます。
0379デフォルトの名無しさんNGNG
>>375
いやSubはSuperを継承してはいるけど
static int yは継承していない。
yはSuperに固有の変数
0380デフォルトの名無しさんNGNG
>>379
じゃあそう言う動きはおかしくないか?
0381デフォルトの名無しさんNGNG
継承時のstaticメンバの扱いって結構みんなあやふやかもね
もしstaticメソッドが継承されたとしたら
mainメソッドも継承されてエラいことになるんじゃないか?
0382デフォルトの名無しさんNGNG
javaで簡易のデータベースを利用したいと考えています
#他のDBMSを別途にインストールするほどではないので

Javaのみで簡易DBMSを実装できるクラスのようなものは無いでしょうか?
0383デフォルトの名無しさんNGNG
>>381
えらいことになるか?

子クラスに親クラス用のドライバが付いてくる。
子クラスは親クラスのメソッドとフィールドが存在することは保証されるから問題なく動く(結果は知らんけれど)。
0384デフォルトの名無しさんNGNG
privateメンバーは継承されません
0385デフォルトの名無しさんNGNG
これからJavaを学ぼうとしている者です。C, VBの経験があります。
Javaの書籍でバイブルと呼ばれてるものは何ですか?
書店に行くと、様々なものが怒涛のように並んでいて何を買うのか迷ってしまいます。

Javaの基本的なことは理解しています。やはり、バイブル書籍は手元に置いておきたいものですね。
0386デフォルトの名無しさんNGNG
>>384
いいJavaを使ってるね。
0387デフォルトの名無しさんNGNG
>>385
日記は余所でやって下さい。
0388デフォルトの名無しさんNGNG
>>386 継承されないでしょ?(不安)
0389デフォルトの名無しさんNGNG
>>382
単純に、システムに現れるいくつかのオブジェクトを永続化したいとだけ
考えているのなら、「Java オブジェクト 永続化 Serializable」あたりを
キーワードにGoogleで探してみるといいよ。今やったらこんなの見つかった。
「vsd for Java」http://cm55.cool.ne.jp/vsd/
0390デフォルトの名無しさんNGNG
文字列で渡される 文字整数2つを
割って比率を%(少数二位まで表示)で
あらわしたいのですが、どのような方法がお手ごろでしょうか?

なんだか頭が混乱してしまって・・。
シンプルなコーディングが思い浮かばないんです。
0391デフォルトの名無しさんNGNG
>>388
うん。ここまでやっても見えなかった。
public class SuperClass {
 private int privateField;
}
public class SubClass extends SuperClass {
 public static void main(String[] args) throws Exception{
  SubClass class1 = new SubClass();
  java.lang.reflect.Field field = class1.getClass().getDeclaredField("privateField");
  System.out.println(field.getInt(class1));
 }
}
実行するとNoSuchFieldExceptionが起きる。
0392デフォルトの名無しさんNGNG
>>385
あなたに合うかどうか分かりませんが
ブラックブックなんてどうでしょう?
0393378NGNG
いろいろ試してみると、
command の中に ' が入っているとうまく動かないようです。
String command = "awk /keyward/ " + file;
としてやると、対応する行が表示されました。
この行の3番目の要素を得たいのですが、
String command = "awk '/keyward/{print $3}' " + file;
としても、エラーにはなりませんが、何も出力されません。
なぜこのようなことが起こるのでしょうか?
よろしくお願いします。
0394378NGNG
書き忘れましたが、
String command = "awk '/keyward/' " + file;
でもダメなんです。
なので、' が原因なのはほぼ間違いないと思います。
0395デフォルトの名無しさんNGNG
>>394
UNIXでは``で挟まれたコマンドの結果がそこに入ります。

echo `ls`

↑
lsと同じ出力結果。
0396デフォルトの名無しさんNGNG
>>394
ぐだぐだ連続投稿してる暇があったらAPI嫁!
0397デフォルトの名無しさんNGNG
>API嫁!

何を訳の分からんことを?APIはアプリケーションから呼び出すもんですよ。
0398デフォルトの名無しさんNGNG
・・・・・APIリファレンス嫁・・・・・
0399378NGNG
>> 395
私が聞きたいのは、コンソールで
awk '/keyward/{print $3}' file
としたときの出力を java のプログラム中で取り込みたい、
ということなのですが、これと ` の用法とは関係なくないですか?
0400デフォルトの名無しさんNGNG
なくなくない?
0401378NGNG
どう関係あるのでしょうか?
0402デフォルトの名無しさんNGNG
>>382
Javaでデータベースをちょこっと使いたいってこと?
HSQL なんてどうかな? Java で書かれていて JDBC で接続できる。
構成も小さく、非常にシンプルで、自作のアプリケーションと一緒に
配布するのに向いていると思う。

VB作ったプログラムで、簡単なデータの保存に Jet(.mdb)データベースを
使うような感覚かな。 Javaアプリケーション + HSQL
0403デフォルトの名無しさんNGNG
忘れた。
HSQL
http://hsqldb.sourceforge.net/
0404382NGNG
>>389
回答ありがとうございます

今回やりたいことは
・組になったデータを登録する
・登録したデータの中からあるキーワードに一致するデータをすべて返す
ということです

自分で調べてみたところ、javax.swing.JTable が近いのですが
GUIではなく、処理の部分だけのクラスは無いでしょうか?
0405デフォルトの名無しさんNGNG
>>401
ごめん。よく読んでなかった。MessageFormat かと思った。
0406デフォルトの名無しさんNGNG
>>378
Runtime.exec()はシェルを通さないから
コマンドがうまく解釈されないって事だよね

sh呼ぶというのは駄目かな
0407デフォルトの名無しさんNGNG
>>378,406
シングルクオートはずせば動くだろ。
command = "awk /keyward/{print $3}" + file;
0408378NGNG
>> 406
それも考えました。
String command = "/bin/sh -c awk '/keyward/{print $3}' " + file;
としてもダメでした。
どうすれば・・・?
0409378NGNG
>> 407
コンソールで
% awk /keyward/{print $3} file
として、正常に動きますか?
0410デフォルトの名無しさんNGNG
Runtime exec でぐぐった最初のヒット(全言語)
http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html
同じく日本語
http://developer.apple.com/ja/technotes/tn1168.html

嫁。
0411378NGNG
>> 410
もちろん、いろいろ調べています。
それでも、問題を解決できそうなものが見つからないので、
こちらでお伺いしました。
ご紹介いただいたページにも該当する内容は見受けらないと思います。

この程度のことであれば、即答できる方がいらっしゃると思ったのですが。


0412デフォルトの名無しさんNGNG
shで標準入力に突っ込む
0413デフォルトの名無しさんNGNG
お前ら、wardってなんですか?とどうして突っ込まないんですか?
0414デフォルトの名無しさんNGNG
>>378
awkがエラーで異常終了しているに10ward。
pr.getErrorStream()してその内容を表示してみろ。
0415デフォルトの名無しさんNGNG
>>411
わざわざお前ごときのために即答しなければならない理由は無い。
しかも「この程度のこと」などというのであれば自分で探して当然だ。クズめ。

手元の環境で標準出力のコマンドが動かないのでこれで試した。
runtime.exec("kterm -name SINEBOKE"); //成功
runtime.exec("kterm -name 'SINE BOKE'"); //失敗
String[] args = {
 "kterm", "-name", "'SINE BOKE'"
};
runtime.exec(args); //成功

API嫁。じゃなくてAPIリファレンス嫁。
0416デフォルトの名無しさんNGNG
>>415
なんか、「適当な応対で悪いことしたかな」なんて思って一生懸命調べてあげて、
いざレスしようとしたら態度が悪いんで逆上したって感じだな(w
0417378NGNG
>> 415
わざわざ調べていただいたり、テストしていただいたようで
ありがとうございます。
「この程度のこと」と書いたのは、これまでにも同じ問題に詰まった方が
いらっしゃるものと思い、調べなくても分かるかと思ったからです。
配列でも試していたのですが、
String command[] = {"awk", "'/keyword/{print $3}'", file};
とした場合にも
awk: 1: unexpected character '''
awk: 1: unexpected character '''
というエラーが出ていました。
が、
String command[] = {"awk", "/keyword/{print $3}", file};
としたところ、うまくいきました。
ということで解決しました。
レスを書いていただいた方、わざわざ調べていただいた方、
ありがとうございました。

#awk で ' がなくてもちゃんと動作するのはなぜだろう・・・。
#調べてみます。
0418デフォルトの名無しさんNGNG
>>415
口は悪いがいいやつ
の典型的な例でつね
0419415NGNG
>>417
OS の実装として、コマンド名、引数は上記の exec オーバーロード例と同様に、文字列配列で渡すのが決まり。
MS-DOS の exe の実装としては、配列の物理アドレスがOS から通知されるので、自分で個々に取り出す。
UNIX では確認までしてないが、類推するかぎりで同様だろう。
だからこそ C も Java も、main では一つのコマンドライン文字列ではなく、配列として渡されてくる。

つまり本来 '' で囲む必要など無いわけだ。
しかしシェルのコマンドラインでは続けて一行で書くほか無いので、
一つの引数として区切りたいところは '' で囲む。
これはシェルが '' を外して OS に渡す(シェル=OSだと勘違いすると、ここは分からないだろう)。
だから exec に渡す String[] では無用となる。と俺は見た。
0420407NGNG
>>417
> awk で ' がなくてもちゃんと動作するのはなぜだろう・・・。

ちゃんと説明しときゃ良かったが、コマンドってshellが起動する訳で、
そのときshellが$3みたいのを展開しないように、シングルクオートで
くくってるの。で、awkにはシングルクオートを取った物が渡される訳。
だから、shell以外から起動するならシングルクオートなんていらんのよ。
逆にシングルクオートがあると、それもコマンドの引数として渡されるか
ら期待した動作をしなくなる。
要するに、
Runtime.exec("awk '/keyword/{print $3}'"); ってのは、shellのコマンドで
awk '\'/keyword/{print $3}\'' と打つのと一緒
0421デフォルトの名無しさんNGNG
javaでちょっとしたimeを作ろうと思うんだが、どうやって開発するんだ?
まぢ教えて
もうね、すごく簡素なime
0422407NGNG
>>417
ちなみに、>>408は構文ミスだね。その方法でも動くよ。
String command = "/bin/sh -c \"awk '/keyward/{print $3}' " + file + "\"";
ってすればね。
0423デフォルトの名無しさんNGNG
StringTokenizerを使って文字列を分割してString[]に格納するんですが、

"hoge,hero,,moe"
      ↑
のように、途中で文字列が存在せずに文字列がない場合でも、
null文字を格納してくれるようにするにはどうしたらいいんでしょうか。

○"hoge","hero","","moe"
×"hoge","hero","moe"

nullで場合分けとかも出来ないし・・
0424デフォルトの名無しさんNGNG
なんか日本語おかしいし・・
0425デフォルトの名無しさんNGNG
>>423
空文字列とnull文字は違う。
Javaにはnull文字って概念は無い。

new StringTokenizer("hoge,hero,,moe", ",", true);
とかすれば "," も返って来るようになるからそれで判別すれば良いのでは?
0426デフォルトの名無しさんNGNG
ちょっと質問なんですが、RMIって、クライアント側(実行側)にサーバー
側で用意したプログラムを走らせる事ってできるんですか?言い換えると、
クライアント側にわざわざ計算プログラムを作って置いとかなくても、サーバ
側でいろいろな計算プログラムを用意すれば済むのか?という事です。
ちょっとしたパソコンクラスタを実現できたらいいなあと思うんですけど。
0427デフォルトの名無しさんNGNG
>>426
クラスタって何ですか?
RMIって何ですか?
0428デフォルトの名無しさんNGNG
>>426
できますよ。
クラスのバイナリをサーバーからもらってきて、クラスローダーで読んで、リフレクションで実行してやれば完了です。
0429デフォルトの名無しさんNGNG
質問です。
finalizeを実行している際にそこで例外が起きても
無視されてエラーメッセージすら出してくれないのですが
これはJavaの仕様がイモだからということなのでしょうか?
それともそこで落とさない根深い理由があるのでしょうか?
0430デフォルトの名無しさんNGNG
あと、もう一つ。
ファイナライザはC++のデストラクタと違って
いつ実行されるかわからないようなのですが
こういう仕様なのはどうしてでしょうか?
実行される時があらかじめわかっているほうがどう見ても便利そうなのですが。。。
0431デフォルトの名無しさんNGNG
太い線を使いたいのですがどうすればいいのでしょうか?
斜線を細い線を使ってえがくと汚くなるので。
0432デフォルトの名無しさんNGNG
>>428
クラスタって何ですか?
RMIって何ですか?
0433デフォルトの名無しさんNGNG
>>429
finalizeメソッドは別スレッドで実行されているから。
そこで落としても意味が無いからです。

>>430
Object o = new Object();
list.add(o);
map.put(o, o);

逆に質問ですが、このときは、いつ呼ばれると良いのでしょうか?
0434デフォルトの名無しさんNGNG
>>431
Java2D使います。
ハッチングの話であれば、より簡単な方法が用意されているはずです。
0435デフォルトの名無しさんNGNG
>>430
そもそもいつガベージコレクト(ファイナライズ)するかどうかはVMの気分しだいなので、
それを期待するような実装を書いてはいけないということなんでしょう。
0436デフォルトの名無しさんNGNG
>>432
クラスタ = たくさんのマシンで処理を実行すること
RMI = Javaの分散オブジェクト仕様
0437デフォルトの名無しさんNGNG
>>436
Thx
0438デフォルトの名無しさんNGNG
>>433,435
えーと、つまりじゃあ何のためにファイナライザがあるのかと言う事ですよ。
「メモリ以外のリソースを解放するため」と言っても
「いつか解放されればいい」じゃ困る事もある。
GC起動前にリソースが足りなくなってしまう可能性があるから。
さらに言うとrunFinalizersOnExitが推奨されなくなったから
終了までに実行される事すら保証されない。
つまりは自分でclose()なりを別に作ってファイナライザを使わずに呼び出せってことだよね。
するとファイナライザは(*・・)σ ⌒・ ポイッポイッ
存在する事がむしろ罪になってしまうような。
存在する必要性は「少ない」じゃなくて「ゼロ」のような。
0439デフォルトの名無しさんNGNG
まあ、1行ごとにGC起動じゃ無駄だから
デフォルトでGCのタイミングがずれてしまう事は
System.gc()使えばいいから認めるとしても、
System.runFinalization()が納得できない。
回収されたらファイナライズを実行してほしいのは当たり前じゃないか。
わざわざGCとファイナライズ時期を分ける理由がわからん。
0440デフォルトの名無しさんNGNG
>>438
たくらみに、JDKソースに、finalizeでgrepすると、沢山引っかかります。
全て、外部リソースの開放だけを行っています。

Javaでは、エラー処理と正常処理を分けて書く事が推奨されているわけで、
保険みたいな物でしょうねぇ。

try {
}catch(Exception e) {
}
この場合、Error系のエラーハンドラは呼ばれない訳で、
クラス構造によっては、try、catchとは違う形で、リソース管理する必要がある訳で、

要するに、mainスレッドのコードが醜くならないようにしているんですね。
0441デフォルトの名無しさんNGNG
>>439
gcの中で、Finalizeやってたら、時間がいくら掛かるか解らないでしょーに。
finalizeメソッドが定義されていたら、finalize予約のリストに突っ込む。

finalizeは別スレッドでゆっくり行う。
FinalReferenceが切れたら、再び回収を行う。

これでいいじゃん。
0442デフォルトの名無しさんNGNG
>>440
>Javaでは、エラー処理と正常処理を分けて書く事が推奨されているわけで、
>保険みたいな物でしょうねぇ。

エラー処理書かなくて良いという意味では無いよ。
0443デフォルトの名無しさんNGNG
あれ?2chでこの話題は難しかった?
0444デフォルトの名無しさんNGNG
>>440
うーむなるほど、保険か。
じゃあJava言語仕様に
「解放できない資源を解放する機会が、ファイナライザによって提供される」
なんて書くなよって思うが・・・
保険と言うともう本質的な理由じゃないしな。
つまり、そのクラスを自分でしか使わない&解放忘れない自信がある
ならファイナライザは「絶対的に」必要ない物だってことか・・・
0445デフォルトの名無しさんNGNG
それにそれに、
C++のデストラクタは例外発生時も必ず実行される。
Javaでそういうのがほしい場合はfinally使えばいいわけだけど
つまりデストラクタの方が2倍の効果でおいしい。
あと、どのJavaの本見ても
super.finalize()を忘れずに呼び出せとか書いてあるけど
じゃあ最初から呼び出す仕様にしろって。
これもC++のデストラクタは勝手に呼び出してくれる。
なんかデストラクタの方がいいこと尽くめだ。
ていうか、記述を楽にするためにデストラクタと同じ仕様のもの
(null代入orオブジェクト変数がスコープから出ると勝手に実行してくれるメソッド)
をJavaに作ってくれればいいのに。
0446デフォルトの名無しさんNGNG
限りなく初歩的な質問なんですが、
StringTokenizerで
"a:b:zzz::::::::hoge"←プログラムが適宜自動生成するようにしてある
を『:』区切りで読み込むときに、
4番目〜10番目に読み込んだ文字列は空であって欲しいのですが、
4回目のnextTokenはhogeを返します。

私の要望を満たしたい場合はStringTokenizer以外にいったいどんなクラスが適してますか?
0447デフォルトの名無しさんNGNG
>>428
JAVAすごいですね。では、そんな事をやってるサイトとか知りませんか
?できればわかりやすく、(探したんですけどどれも難しくて・・・)
0448デフォルトの名無しさんNGNG
>>446
>>423
検索くらいかけろゴルァ
0449デフォルトの名無しさんNGNG
>>447
難しいのは多分まだ経験が足りないからだ 手を出すのは早すぎる
これは RMIの例。
http://www.dmz.hitachi-sk.co.jp/Java/Tech/rmi/rmi.html
これ読んで実践して、
全然なるほどと思えなかったらしばらく他のことやって慣れろ
0450デフォルトの名無しさんNGNG
>>449
こういった物は一度やってみました。RMIの流れは簡単につかんでいる
つもりなのですが、クライアントにバイナリを渡すとかそういった事はまだ
よくわかりません。たびたびもうしわけありません。
0451デフォルトの名無しさんNGNG
>>450
あぁ失礼、質問したいのはリフレクションの方だけね。
・サーバ側では class ファイルを byte[] によみこむ。
・RMI でメソッド通して byte[] 渡す。
・クライアントで ClassLoader を自分で実装して、defineClass() する。
 (リファレンス読んで、適当に protected を実装してみる。
  自分の Class を拾った ClassLoader に委譲するとかなんとか)
・すると Class オブジェクトができあがるから、getMethod して invoke したり。

3 ステップ目をうまく実装することと
(前に実装したことがあるんだが、あろうことかどっかにいっちまった。
でも 1.1 ベースだったからあまりいい参考にはならなかろう)
4ステップ目で取り出す Method の取り決め
(abstract だけ先にクライアントのパッケージ内に渡しておくとか)
だな。

もっと推奨される方法あるかもしれないけどおじさん分かんないや。
0452デフォルトの名無しさんNGNG
>>451
Constructor から newInstanceして、
abstract なクラスでキャストするのが一番いいかな。
0453デフォルトの名無しさんNGNG
Imageが透明色を持つかどうか判定する高速な方法はありますか?
0454デフォルトの名無しさんNGNG
Imageオブジェクトの領域内で、
img.getdotColor(100,200);
みたいな感じで、指定座標の色を取得する方法ってありますか?
この欲求を満たすためにはどんなクラスを仕様するべきでしょうか?
0455デフォルトの名無しさんNGNG
>>441
どうせ別スレッドで行われているんだから
GCが発見すると同時に
(わざわざキューなんかに入れずに)
finalize実行しちゃえば良いじゃん。

あれ、でも別スレッドで行うって事は
同期の問題が出てくるよな。
staticフィールドにもアクセスできちゃうんだから。
0456デフォルトの名無しさんNGNG
>>454
>>230
検索くらいかけろゴルァ
0457デフォルトの名無しさんNGNG
>>453
高速かどうかは知らないので、俺を「無知」とののしる奴が出るまではこれ使え。

ImageConsumer ic = new ImageConsumer() {
 public void setColorModel(ColorModel cm) {
  cm.hasAlpha(); //これで分かる
 }
 //他は略
}:

ImageProducer ip = IMG.getSource();
ip.addConsumer(ic);
ip.startProduction(ic);
ip.removeConsumer(ic);

jpg なら false, png なら true ・・・残念ながら、必ず true 。
0458デフォルトの名無しさんNGNG
すいません。超初心者です。
テキストフィールドtf1の文字をint型に変えるのってどうしたらいいんんでしょう??
0459デフォルトの名無しさんNGNG
TextField tf=new TextField("初期値");
try{
int parameter=Integer.parseInt(tf.getText());
}
catch(Exception e){
e.printStackTrace();
}
まーなんだ、これくらい調べような。
ってかGUIか・・・がんばれよ
0460デフォルトの名無しさんNGNG
>>458
そもそもテキストフィールドの値を取り出す方法がわかってないのだな?
それでそういう質問になるのだろう。
問題の切り分けができるようになることが必要だ。

1. TextField から取り出す方法を探す→ getText() で String で取れると分かる
2. String を int に変える→API が提供してくれる機能は常にメソッドを介すのであり、
 String クラスに見つからないなら、当然次は int 側で探すことになるが int はクラスではない。
 こういう場合は Integer クラスで探す。
3. intValue() や parseInt() が見つかる。

あとは >>3 の A2 からたどって読め。
0461458NGNG
>>459
早々にありがとうございます!!
頑張ります!!
0462458NGNG
>>460
見落としてしまってました。すいません。
丁寧にありがとうございます。
頑張ってみます。
0463デフォルトの名無しさんNGNG
>>434
ありがとうございます。
0464名無しさんNGNG
数値を入力して、sinやcosなどの関数を用いて、座標を計算し、javaアプレットで図形を表示したいのですが、どのようにしたらいいでしょうか?
0465デフォルトの名無しさんNGNG
>>464
>sinやcosなどの関数を用いて、座標を計算し
なぜ座標計算に三角関数必要なん?
あと質問が抽象的過ぎて誰も答えないと思われ。
とりあえず
・どんな図形を描きたいか
・どんな数値を入力させるか
ぐらいかいてみれば?だれか暇な人がコード書いてくれるさ
0466デフォルトの名無しさんNGNG
>>458,464
初心者レスといっても何でもかんでも書くのはどうかとおもうけど・・・
まずは本読んで勉強しましょう。
464のようなことをするのならば
クラス作ってAppletを継承します。
そして、init()メソッドをオーバーライドして初期設定当を記述します。
Appletクラスのpaint(Graphics g)をオーバーライドしてそのインスタンス引数
であるgのメソッドで描画します。
アニメーションのよう動きを加える場合は、repaint()メソッドを使うと
ちらつきが緩和されます。
0467名無しさんNGNG
>>465-466
レスありがとうございます。
円形に表示させる部分があるんで三角関数が必要になってしまうのです。
もう少しクラスについて説明してもらえますか?
それから描画は静止画です。
0468デフォルトの名無しさんNGNG
>>467
円ってdrawOvalとかそう言うんじゃダメなのか?
0469デフォルトの名無しさんNGNG
>>444
>つまり、そのクラスを自分でしか使わない&解放忘れない自信がある
>ならファイナライザは「絶対的に」必要ない物だってことか・・・

そんな事いったら、「間違わない自信があるならオブジェクトのカプセル化は必要ない」
とか「一つしか作らない自信があるならsingletonパターンは必要ない」とかになって、
結局何も必要なくなるよ
0470デフォルトの名無しさんNGNG
房ですみませんがこれから伸びるぞって言語って何ですか?JAVAはどうなんですか?
0471デフォルトの名無しさんNGNG
メソッド名のつけ方で
getHoge
GetHoge
前者が主流みたいなことを本で読みましたが、自分は後者のほうがしっくりきます。
普通はどっちでやっていますでしょうか。好き好きといわれたらおしまいですけど

0472デフォルトの名無しさんNGNG
>>446
1.4以降ならStringのsplitかな。

String[] str = "a,,b".split(",");
for(int i = 0; i < str.length; i++){
System.out.println(i+":" + str[i]);
}

で、
0:a
1:
2:b
ってなるよ。
0473デフォルトの名無しさんNGNG
>>471
前者です。
0474デフォルトの名無しさんNGNG
>>471
Javaなら前者。C#なら後者だろう
C#はほとんど知らないからどうだか知らないけど、
Javaは規則に従わないと困る事あるぞ
Beanとか
0475デフォルトの名無しさんNGNG
>>470
どの "言語" も特に伸びようはない。伸びるのは API やリソースの充実。
言語とはあまり関係ない。

>>471
Java でやるかぎりでは前者。人に見せるつもりなら合わせるべし。
0476470NGNG
>>475
どうも有難うございました
0477473NGNG
>>471
Javaの世界でまともな人間の書いたコードの9割以上前者。

逆に、
C#の世界ではまともな人間の書いたコードの9割以上後者。

この程度のこと言語ごとに書き分けられない奴は何やってもダメ。


Cross-Languageなコードを書くとき以外は大勢に従っておけ。
0478471NGNG
どうもでした。
しばらくC#をやってて、JAVAはこれからなもので違和感はありますが、がんばります。
0479デフォルトの名無しさんNGNG
初心者ですが、JavaのことをJAVAって書くやつがいなくならないのはなぜですか?
0480デフォルトの名無しさんNGNG
アプリケーション作成で、
縦横スクロールペイン付の2次元の表を表示させるとき、
サイズを指定したいときはどうすればいいですか?

あと、同じようなのをもうひとつ表示したいんですけど、
ウィンドウの構成ってどうやればいいですか?
お願いします
0481名無しさんNGNG
ファイルから行列を読み込んで、2次元配列に格納したいと思うのですが、どのようなソースになりますかね?
0482デフォルトの名無しさんNGNG
ボールを放物線を描くように動かしたいのですが、うまくいきません。
ballMove()というメソッドを作って、これを呼び出すたびにボールの座標を更新するようにしたいのですが。
どなたか知恵をお貸しください。
0483デフォルトの名無しさんNGNG
>>481
結果的にその2次元配列がどのようになればいいんですか?
0484名無しさんNGNG
>>483
例えば
1 3 5 7
2 1 2 8
1 4 2 5
2 3 1 4
このような4×4行列をメモ帳などに書き込んであるとします。
これを読み込んで、2次元配列A[4][4]に格納したいと思っています。
結果は
A[1][1]=1
A[1][2]=3
A[1][3]=5
A[1][4]=7
A[2][1]=2
  :
  :
となります。
0485デフォルトの名無しさんNGNG
例外が発生しないのですが、なぜなんでしょう?
Calendar cal = Calendar.getInstance();
cal.setLenient(false);//厳密チェック
cal.set(2003,2,29);
try{
java.util.Date date1 = cal.getTime();
}
catch(java.lang.IllegalArgumentException e){
System.out.println("2003年2月29日は存在しません");
}
0486デフォルトの名無しさんNGNG
>>486
ソース読め
0487デフォルトの名無しさんNGNG
>>485
釣りですか?

cal.set(2003,1,29);
0488デフォルトの名無しさんNGNG
>>484
こんなかんじ?

String unko[][] = new String[10][10];
public void unko(File file) {
 String value = null;
 BufferedReader in = null;
 try {
  in = new BufferedReader(new FileReader(file));
  for(int i=0;(value = in.readLine()) != null;i++) {
   array[i] = value.split(/*/ 文字列と文字列を区切る文字 /*/,10);
  }
 } catch(IOException exp) {
  System.err.println("無念ズバシュ");
 } finally {
//めんどいから省略
0489デフォルトの名無しさんNGNG
11行目の配列、arrayじゃなくてunkoね
0490485NGNG
>>487
ありがとうございます。
Calendar.MONTHはゼロスタートだったのですね。
0491名無しさんNGNG
>>488
ありがとうございます
0492デフォルトの名無しさんNGNG
二次元配列使うの勘弁してくれよ、VBじゃないんだからw
0493デフォルトの名無しさんNGNG
二次元配列を使いたければ、虹板に逝きなさいってこった
0494デフォルトの名無しさんNGNG
2次元配列を使わないコーディングスタイルなんてもんがJavaにはあるんでつか?
それともMatrixクラスなりで実装しろっていう意味か。
0495デフォルトの名無しさんNGNG
先ほど始めてjavaを触った次第でしてもしかするとおかしなことを聞くかもしれませんが・・・
アプレットを使う時、drawStringというのは文字列しか表示させられないのでしょうか?
下記の記述ではエラーがでてしまうのですがこの場合どうすればアプレットに4を表示させられるのかわからないです
どうも本を読んでも要領を得ないもので、ご教授願えないでしょうか

import java.applet.Applet;
import java.awt.Graphics;

/*
<APPLET CODE="tatoeba.class" WIDTH=250 HEIGHT=100></APPLET>
*/

public class tatoeba extends Applet {
public void paint(Graphics g) {
int a,b;
a=1;
b=3;
a=a+b;
g.drawString(a,30,40);
}
}
0496495NGNG
すみません、ageてしまいました。
反省
0497デフォルトの名無しさんNGNG
>>495
質問上げるのはかまわんけど

aってStringじゃないじゃん?
がんばってStringに変換してくれ

(´-`).。oO(ニュー速+に誤爆った)
0498デフォルトの名無しさんNGNG
void String#drawString(String str, int x, int y)
0499デフォルトの名無しさんNGNG
void Graphics#drawString(String str, int x, int y)
0500495NGNG
アホでした
目から鱗でした
一から出直して来ます
しょぼい質問に答えてくれてありがとう497さん
0501デフォルトの名無しさんNGNG
Javaで出会い系サイトを作るのは、簡単ですか?
1人で作るのなら、どの位時間がかかるんだろ。
Java初級者で。
0502デフォルトの名無しさんNGNG
>>501
Javaいりません。
0503デフォルトの名無しさんNGNG
>>501
いちいち Java 使うのは無駄。絶対向きません。
ちなみに、ちまたの自称Java初級者と同じく、
実は全ての言語の初級者であるなら、半年から1年くらいと見てください。さようなら。
0504デフォルトの名無しさんNGNG
よく「IBMのjavavm」って聞くんですけど、
それって存在するんですか?
またそれはWinxpのプログラムのアクセスと規定の設定の
javavmのところで選択してappletできるものなんですか?
あるいはクライアントサイドアプリを走らせることができるんですか?
0505デフォルトの名無しさんNGNG
>>503
ありがとうございます。
それだけ分かっただけでも良かったです。
Javaじゃなければ、何を使うことが多いんですか?
初級者でも、半年から1年でできるなんて驚きでした!
0506デフォルトの名無しさんNGNG
>>505
一旦 WebProg で聞いて、理解してからム板の別スレ。
あるいは、帰ってくる必要ないかも知れん。

期間は、夜っぴて毎日やれば半年でも短いかもしれんし、
1日30分やって頭痒くなってきて寝ちゃうなら 10年かかるかも知れん。
0507デフォルトの名無しさんNGNG
スーパークラスの変数をサブクラスから呼ぶ場合
this でも super でも呼べるみたいなんですけど
どんなときに使い分けるんでしょうか?
0508デフォルトの名無しさんNGNG
>>504
検索ぐらいしようよ。
0509デフォルトの名無しさんNGNG
>>507
サブクラスに同じ名前の変数作ってみたら分かるよ
0510507NGNG
>>509
別変数にになりますね。納得しました。
そうするともしスーパークラスにしかない変数だとして、明示的に書くのであれば
super が正しい という感じですよね
0511デフォルトの名無しさんNGNG
class A
{
private int m_i;
}
A a = new A();
a.m_i=100;
としてもエラーにならないのですが、何がいけないのでしょうか?

0512デフォルトの名無しさんNGNG
>>511
多分同じファイル内だから
君の書き方が悪いので多分としか言えない
0513デフォルトの名無しさんNGNG
そりゃClass Aの中に書けばprivateだろうがアクセスできるに決まっているさ
0514511NGNG
これなのですが、よろしくお願いします。

public class test
{
public static void main(String[] args)
{
class A { private int m_i; } //ここで定義するとprivateが作用しない?
A a = new A();
a.m_i=100;
System.out.println(a.m_i);
}
}
0515デフォルトの名無しさんNGNG
>>514
作用しません。
その private は、test クラス(大文字で名前つけるようにしましょうね)
の持つメンバやメソッドと、同格のアクセス権定義だと思って下さい。
誤解しやすいんですけどね。

「この m_i を public (=test 外からの public)にして、どうやってよそのクラスがアクセスするんだ?」
と思うかもしれませんが、こういう風にアクセスできます。

Object obj = new test().getInnerClassInstance(); // class A のインスタンスを返す
int x = obj.getClass().getField("m_i").getInt(obj);

あなたの例では private 定義されてますから、ここでアクセス権違反の Exception が出ます。
こんなこと滅多にしないでしょうし、私も「できるんだろうな」と思ってましたが、試したのは初めてです。
経験浅く造詣深くないので、どうしてこんな設計になったのかは説明できません。申し訳ない。
0516514NGNG
>>515
getInnerClassInstanceは見つからなかったのですが、その方法で
うまくいきました。512-515さん、ありがとうございました。
int x = 0;
try { x=a.getClass().getField("m_i").getInt(a); //m_i =100 private }
catch(IllegalAccessException e){}
catch(NoSuchFieldException e2){}//catch
System.out.println(x);//0
0517515NGNG
>>516
なになになに? ちょっと待て。
何をしようと思って俺が書いたのを真似したんだ?
何がしたくてそうなった?
>>511 の時点で何がしたかったんだ?
わかんねーー騙りのネタか?
0518514(=511,516)NGNG
>>517
511の時点でm_iは privateなFiledですよね。
a.m_i=100; がエラーになると予測してたのですが、なりませんでした。
でも、516なら予想通りにエラーが発生しました。
ということです。(m_iをpublicにしたらエラーは消えます)

ちょっと修正
try { x=a.getClass().getField("m_i").getInt(a); //m_i =100 private
} //<-これは次の行でした
0519デフォルトの名無しさんNGNG
どうしても消せないエラーがでる

一服してもう1度見てみよう・・・(´∀`)フー
0520デフォルトの名無しさんNGNG
過去ログ読んだですが該当するものがなかったので質問させてもらいます。

Javaで通信相手上のコマンドを実行することは可能でしょうか。
(Unix等のrexecコマンドのような機能)
FTPプログラムはWebで調べれば検索に引っかかるのですが、
これはちょっとみつかりませんでした。

贅沢は言いませんので可能か不可能か、どちらかだけでいいので
教えて頂けないでしょうか。
お願いします
0521デフォルトの名無しさんNGNG
可能
0522520NGNG
>521
どうもです。
可能みたいなので、やり方がちょっとわからないのですが
色々勉強してみます・・
0523デフォルトの名無しさんNGNG
>>520
rexecはネットワークプロトコルなので、正しい手順で通信すれば
CのプログラムでもJavaのプログラムでも同じように実行できるよ。
きょうびrexecはセキュリティ上の理由でお薦めできないので、
どうせ覚えるならsshを覚えた方が役に立つ。
Java向けのsshライブラリを探してみたらこんなのがあった。
http://www.sshtools.com/

こんなのもありかな…
Process process = Runtime.getRuntime().exec("ssh an_user@otherhost /command/to/execute");
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(process.getOutputStream()));
out.write("password");
out.close();

あとは、自前でrexec相当のサーバと通信プロトコルを設計するとか。
rexecの貧弱なサブセットになる可能性が大きいけど。
ServletAPIみたいなフレームワークに乗っかると楽ができそうだ。
0524デフォルトの名無しさんNGNG
どうしても分からない事が有ります。
ThrowableでprintStackTrace()を呼び出すと各クラスファイルの
何行目でエラーが出たか分かりますよね。この”何行目”という情報を
自前で調べたいのですが、どのようにすれば良いのでしょう?

log4jでも同様に行数を出力する機能がありますが、ソースを見てもどこで
行数を取得しているのか分かりませんでした。
だれか是非教えて下さい。
0525デフォルトの名無しさんNGNG
>>524
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/StackTraceElement.html#getLineNumber()
0526デフォルトの名無しさんNGNG
>>524
ソースの行番号とバイトコードの実行ステートメント位置の対応は、クラス
ファイルに書いてある情報で、API経由でのアクセス経路はないのです。
VMだけが見に行けるのです。その証拠に、スタックトレース文字列の作成
そのものはnativeメソッドです。

LOG4Jは昔、「スタックトレースの文字列から無理やり抽出」していました。
APIの上で実装する以上は、他に方法がないからです。今も同じですかね?
スタックトレースの書式は仕様デきまっているわけではないと思うんだけど、
マイナーなJVM上では問題起きたりしないのでしょうか?

クラスファイルのフォーマットは公開されているので、それを利用して無理
やり直接抽出するとか、JDIとか、方法がないわけではないですが、どちら
もめんどくさそうですのう。
0527526NGNG
>>525
ああ、JDK1.4以降なら、それで一発ですよね。
0528デフォルトの名無しさんNGNG
>>523
こういうのもある。
http://www.jcraft.com/jsch/
0529デフォルトの名無しさんNGNG
>>525, 526
素早いお返事ありがとうござます。

>>525
なるほど、JDK1.4なら使えるのですか…。
今回は1.3.1を使用していますので使えそうにないっすね。残念。
すいません、URLまで張っていただいたのに。。

>>525
>LOG4Jは昔、「スタックトレースの文字列から無理やり抽出」していました。
言われて気付いたのですが、多分今もそうだと思います。
log4jのソースを解析している時にThrowableを弄りまわしている箇所が
有りました。(それが行数の為とは気付きませんでしたけど。。)

仕方が無いので私もスタックトレース解析します。
(解析というほどでもないか…)
みなさんありがとうございました。
0530デフォルトの名無しさんNGNG
はじめまして。
いきなりですが、ちょっとお聞きします。

今まで、クライアント、サーバともにC言語で記述していたのですが、
今 クライアントプログラムをJAVAで、サーバプログラムをC言語で
動かそうとしています。
クライアントのOSはWinsows、サーバのOSはRedHatLinuxです。

ソケットはつながっているようなのですが、
データの受け渡しがうまくいきません。
型の互換の問題だと思うんですが、どうしていいかわからないので
質問させていただきました。

サーバ側がC言語なので板違いになってしまうかもしれませんが・・・
サーバ側は
char msg[1000];
if (recv(nsofd,msg,sizeof(msg) , 0 ) < 0) perror("recv");
のように受け取っています。
(ソケットは接続できているみたいです)
msgをchar型、int型など変えていろいろ試してみたのですが、
いずれも、おかしな結果になってしまいます。

このような異言語間でのソケット通信は初めてなもので、
同じようなプログラムを作ったことがある方がいらっしゃれば
よろしくおねがいします。
0531デフォルトの名無しさんNGNG
>>530
> 型の互換の問題だと思うんですが、どうしていいかわからないので
何が問題なのか肝心な部分が書いてないので答えようが無い…

とりあえず、期待する結果、現在の結果(試行錯誤の段階で調べた結果も全て)ぐらいは書いてくれ。
0532530NGNG
>>531
すいません、了解です
// host port などは定義済み
try{
// ソケット接続
Socket sock = new Socket(host,port);
DataOutputStream sockout=new DataOutputStream(sock.getOutputStream());
   // 以下を変えてそれぞれ試してみました
sockout.writeInt(111);
sockout.writeChars(msg); // msg はString型
sockout.writeChar(chara); // chara はchar型
sock.close();
}
catch(UnknownHostException e){
System.err.println("Unknown host: "+host);
}
catch(IOException e){
System.err.println("IO error: "+e);
}

長くなるので、次に続き書きます。
0533530NGNG
>>532の続き
C言語で、受信したときに

if (recv(nsofd,msg,sizeof(msg) , 0 ) < 0){
perror("recv");
}else{
  printf("### %s \n",msg);
}
とすると、
###
としか表示されませんでした。
(受けとるmsgの型を、クライアント側の型int,char,Stringにあわせて行った全ての場合)

ためしに
while((recv(nsofd, msg,sizeof(msg) , 0 ) > 0)){
  printf("##%s\n",msg);
}
としたところ、
int型123を送った場合
##0
##0
##123
##
char型Aを送った倍
##
##
##A
##
と表示されます
0534530NGNG
>>533続き
String型ABCDEを送った場合
##A
##
##B
##C
##
##D
##E
と表示されます
↓このへんを使うのか
http://java.sun.com/products/jdk/1.2/ja/docs/ja/api/java/lang/String.html#toCharArray()

もしくは文字コードの問題かなどといろいろ考えてみたのですがわかりません。

よろしければご教授お願いします
0535デフォルトの名無しさんNGNG
>>533
難しいな、一個一個つぶしていくか

サーバ側のプログラムは
相手がCの場合きちんと動く表示されるんですよね?

また、コレなんですが
int型123を送った場合
##0
##0
##123
##
char型Aを送った倍
##
##
##A
##
と表示されます
なんか似てますよね

0536530NGNG
>>535
書き忘れましたが、Cクライアント→Cサーバ
JAVAクライアント→JAVAサーバ
の動作は確認しました。
Cクライアント→JAVAサーバは試していません。

JAVAクライアント→Cサーバ
の場合のみこうなります。

JAVAクライアントからソケットでデータを送っているのは一回なのに
Whileが何度もまわるのは、やはりソケットプログラムの使用の違いからでしょうか。

世の中ではJAVA→Cはどうしているんだろうと悩んでしまう・・・。
サイトも結構探したんですけど、異言語間通信は割りとないんですよね…。
0537デフォルトの名無しさんNGNG
>>532
Java の char は Unicode の1文字を示すから、C で言うところの wchar_t とかに相当する。
C の signed char に相当するのは Java では byte だってのは分かってるよね。

> int型123を送った場合
> ##0
> ##0
> ##123

int 型で 123送って
> printf("##%s\n",msg);
で 0 とか 123 が表示されるはずがないのだが。
0538530NGNG
>>537
すいません、凡ミスで、char型の違いがあるのを忘れてました…(TーT)
指摘ありがとうです。

ちなみにInt型で送った場合
printf("###%d\n",msg);
に置き換えてましたので、表示されたんだと思います。

byte型に直してメッセージabcdefgの送信をためしてみました。
やはり一回しかメッセージを送ってないのに二回ループが回ります。
##abcdefgmain_name
##abcdefgmain_name ←そしてなにやら他のメモリ領域を侵してる模様…

ちょこちょこソースいじってみます。
0539デフォルトの名無しさんNGNG
>>533
printf("%d\n", recved_size);
for(i = 0; i < recved_size; i++){
 printf("%2x ", msg[i]);
}
とかして 16進で表示して見れ。

http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/io/DataOutputStream.html#writeChar(int)
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/io/DataOutputStream.html#writeChars(java.lang.String)
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/io/DataOutputStream.html#writeInt(int)
も良く読め。以上。
0540デフォルトの名無しさんNGNG
>>538
> ##abcdefgmain_name
> ##abcdefgmain_name ←そしてなにやら他のメモリ領域を侵してる模様…
recv は ヌルターミネートしてくれんだろ。
recv 受け取ったデータのサイズ返すので
それ使って自分でヌルターミネートせんと。
0541530NGNG
>>539
どうもです。ためしてみます!
0542デフォルトの名無しさんNGNG
>>539
>  printf("%2x ", msg[i]);
 printf("%02x ", msg[i]);
のが見やすいよーな…
0543530NGNG
>>540 ありがとうございます。
以下でうまくいきました。
送り側JAVA
byte seByte[] = new byte[1024];
seByte=msg.getBytes();
int len = SendB.length;
sockout.write(SendB,0,len);
受け側C
len = read(nsofd, msg,sizeof(msg));
if (len < 0){
perror("recv");
}else{
printf("read success.\n");
}
for(i = 0 ; i < len ; i++ );
p = msg; p += i; *p = '\0';
printf("%s\n",msg);
変なソースですいません↑
0544530NGNG
>>539,542
そちらのソースでも表示はうまくいきましたが、
サーバ側に汎用性を持たせたいので、JAVA側で文字をあわせることにしました。
今度は日本語データも渡せるようにしたいと思い、
try{
//データをEUC-JPとしてString型msgに格納
msg = new String(msg.getBytes(), "EUC-JP");
}
catch (Exception e){
System.out.println("EUCJPに変換できない");
}

byte SeByte[] = new byte[1024];
SeByte=msg.getBytes("EUC-JP");
int len = SeByte.length;
sockout.write(SeByte,0,len);
として、これでうまくいくと思ったんですが、甘かったっす…。
LINUX側で日本語部分のみ???と表示されてしまいます。
もうちょっと調べてみようと思います。
0545デフォルトの名無しさんNGNG
>>544
> msg = new String(msg.getBytes(), "EUC-JP");

http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/String.html#getBytes()
> プラットフォームのデフォルト文字セットを使用して
> この String をバイトシーケンスに符号化し、結果を新規バイト配列に格納します。
プラットフォームのデフォルトのエンコーディングは
Linux とかだと環境変数 LANG とかその辺見てるはず。
Windows だとロケールが日本になってると "Windows-31J" にきめうちだけど。
0546デフォルトの名無しさんNGNG
> msg = new String(msg.getBytes(), "EUC-JP");
何やってるか理解してるか?
0547530NGNG
>>545 >>546
String型って格納するときにUTF8になりませんでしたっけ?
自分的にはデータをEUC-JPとしてStringクラスに渡してるつもりでした。
msg = new String(msg.getBytes("MS932"), "EUC-JP");
でも同じ結果でした
0548デフォルトの名無しさんNGNG
String は「Java の char」で構成される。
すなわち String は UTF-16 で持つ。(LEかBEかは実装依存。シリアライズされるときはBE)

> msg = new String(msg.getBytes("MS932"), "EUC-JP");
> msg.getBytes("MS932")
で msg を Unicode から MS932(MS拡張のShift_JIS) に直し、バイト配列で得る。
> msg = new String( MS932_bytes, "EUC-JP");
で MS932(MS拡張のShift_JIS)のバイト配列を 「EUC-JP のバイト配列とみなして」Unicode に変換する。

文字化けしないほうがおかしい。
0549デフォルトの名無しさんNGNG
> byte SeByte[] = new byte[1024];
> SeByte=msg.getBytes("EUC-JP");
> int len = SeByte.length;
> sockout.write(SeByte,0,len);

誰かツッコんでやれよ…

ちなみに一行で書けます。
sockout.write(msg.getBytes("EUC-JP"));
0550530NGNG
>>548 >>549
ありがとうございました!
ご指摘とメーリングリスト読みまくりで
文字化け対策うまくいきました…多謝!!!
(TーT)みんな すげえや
まだC言語も含めて経験1年くらいなので
これからがんばってここで質問に答えられるよう精進します!

それではまたです!
0551デフォルトの名無しさんNGNG
byte配列の値を整数値、または整数値を
byte配列にするにはどうしたらいいんでしょうか…?
相当するメソッド等あるんでしょうか。
すごく既出な気がしますが宜しくお願いします。
0552デフォルトの名無しさんNGNG
今年、javaOneって日本で開催するの?
去年は、9月で一昨年は11月にあったけど、今年はやるのかしら?
0553デフォルトの名無しさんNGNG
>>551
> 相当するメソッド等あるんでしょうか。
標準APIで無理やりやるとすると
new DataOutputStream(new ByteArrayOutputStream())
new DataInputStream(new ByteArrayInputStream(b_array))
とかなるんかな…

普通は public static なメソッド自作すると思うけど。
0554デフォルトの名無しさんNGNG
質問です。
現在Javaの勉強をしているのですが、GUIに入ったところで
良くわからなくなっております。Javaをコマンドプロンプト上で
動かしていたときはMain関数(メソッドか?)を抜けると終わっていた
ような気がするのですが、GUIの勉強のために本を読み、
コードを打ってみるのですがMainを抜けても終わらないのです。
Javaはメイン抜けてもGUIだと終わらないのでしょうか?
0555デフォルトの名無しさんNGNG
イベントドリブン
0556デフォルトの名無しさんNGNG
×Main
○main
0557デフォルトの名無しさんNGNG
GUIだってmainを抜ければ終わるわな。
0558デフォルトの名無しさんNGNG
>>555
なんですかそのセブンイレブンみたいのは?
ふざけるのも体外にしてください。
0559554 ◆OYeL1sEUa6 NGNG
C++で書いていたときはWinMainをぬけると
アプリケーションが終了したと思うのですが、
Javaの場合は終了しないのですか。

イベントドリブンについて具具って見ましたが
今のところそういったことについては説明しているところが
見つかっておりません。が、きっと多分終わらない
と思ってよろしいのでしょうか?
0560デフォルトの名無しさんNGNG
抜けたらえきが出ますよ。
0561554 ◆OYeL1sEUa6 NGNG
ガ━━ΣΣ(゚Д゚;)━━ン
えきってなんだろ?
こんな感じで書いてたんですが、mainの最後で待っててくれるんでしょうか?
import java.awt.*;
import java.awt.event.*;
public class Test
{
   public static void main(String[] args){
      Frame f = new Frame("Practice FrameTest");
      f.setSize(300,300);
      f.addWindowListener(new FrameListener());
      f.setVisible(true);
   }
   private static class FrameListener extends WindowAdapter
   {
      public void windowClosing(WindowEvent e){
         System.exit(0);
      }
   }

}
0562デフォルトの名無しさんNGNG
デバッグプリントしてみればよかろう。
GUIプログラムだってSystem.outつかえるよ。
0563デフォルトの名無しさんNGNG
Java1.0の処理系とAPIドキュメント、入手できますか?
0564554 ◆OYeL1sEUa6 NGNG
>>562
はい、してみたんです。
mainの最後にSystem.out.printlnちゅうのを
入れてみたのですが一回しかコマンドプロンプトに
文字は表示されませんでした。
でも、作られた(何も書かれていないただの)ウィンドウは消えず、
Xボタンを押すまで(コマンドプロンプトの方でも)終了には
なっていなかったものですから
0565デフォルトの名無しさんNGNG
×System.out.println
○System.out.println
0566デフォルトの名無しさんNGNG
>>564
> Xボタンを押すまで(コマンドプロンプトの方でも)終了には
> なっていなかったものですから

unko
0567554 ◆OYeL1sEUa6 NGNG
>>565
ここではフォントの関係上見やすいかと思って
そう書いたのですが、いかんかったみたいですね
すみません
0568デフォルトの名無しさんNGNG
>>451
メソッドを通してByteを渡すというのは、サーバからリモートのメソッド
を使って、引数にクラスファイルのByteデータを渡して、ファイルをリ
モートで作る。というように考えてよいのでしょうか?
 なにぶん経験が浅いものでおねがいします。(いっしょうけんめい調べ
中です)
0569デフォルトの名無しさんNGNG
RMIってのはリモートのメソッドを使ったら、戻り値は、サーバにそのまま
もどってくるの?普通のメソッドのように戻り値は使えると考えていいの
?誰かおせーて
0570デフォルトの名無しさんNGNG
メイテックの入社試験で、
g.drawLine(a;b;c;d
みたいな記述があったんですが・・・
引数の区切りはカンマで、最後の閉じ括弧とセミコロンを忘れないでほしい。
0571デフォルトの名無しさんNGNG
>>568
byte[]を引数に取るリモートメソッド定義すれ。
クラスファイルを渡せるよ。InputStreamインスタンス
を渡すという荒技もありかも。

>>569
クライアントにとっては、普通のメソッドコールと
大体同じさね。

>>570
アホですね。あんたの会社ではレビュー前にコンパイル確認
しないんですか?と聞いてあげてください。
0572デフォルトの名無しさんNGNG
禿げ
0573デフォルトの名無しさんNGNG
ヌルポって正式な名前なんていうんですかね
0574デフォルトの名無しさんNGNG
>>573
NULL POINTER EXCEPTIONです
0575デフォルトの名無しさんNGNG
>>554
GUIのオブジェクトをnewすると「イベントディスパッチスレッド」という、
「ユーザによるキーボードボタン押下とかマウスクリックとかのイベントを常時
監視して適当な処理にまわすという仕事を行うスレッド」が、見えないところで
自動的に1こ作られるのです。
これは、mainを実行したスレッドと同格のユーザースレッドとして扱われます。
JVMは大雑把に言うと「全てのユーザースレッドが停止するか、System#exit()
などで無理やり終了要求があると、終了する」という仕様になってます。
ということで、mainを実行したスレッドが終わっても、こいつが止まらない限り
アプリケーションは終了しません。
0576デフォルトの名無しさんNGNG
JavaPress31のサンプルに
import xml.DocumentManager;
っていうのがあるんですが
これはどのJarファイルに含まれているのでしょうか?
指定のJarファイルはすべてクラスパスに追加してるんですが
jaxen-core.jar
jaxen-jdom.jar
jdom.jar
log4j-1.2.8.jar
saxpath.jar
xerces.jar
xml-apis.jar
junit.jar
エラーになります(Eclipse上で「インポートxmlが解決できません」)
で、コア、J2ee,JDOMなどのJavaDoc見たんですがこのようなクラスはありませんでした
いったいどこから来たんでしょうか?
教えてください
0577デフォルトの名無しさんNGNG
すいません解決しました
JavaPress作成のパッケージでした
xmlパッケージなんて名前ついてるから
既存のパッケージかと思いました
すいません
0578デフォルトの名無しさんNGNG
Javaで作成されたアンケートフォームのソースあるところ知りませんか?
0579デフォルトの名無しさんNGNG
そんな具体的なのは自分で作るしかないんじゃない?
要件詳しく出せば作りますよ
0580デフォルトの名無しさんNGNG
皆さんに質問あります
アプリ作ってる途中で
このメソッドは共通だから別クラスにしようとおもい
別のクラスにします
で、このクラスをより汎用的にしていくと
なんだよこれstaticメソッドでいいじゃん
という具合になってstaticメソッドがいっぱいになります
newしてそのメソッド叩いてもいいのですがそのクラスにフィールド持つ必要はないので、staticの方がイイのかなと思っていますが・・・
こういうのってどうすればいいんですかね?
はっきりいってオブジェクト指向ではなくなってきています
0581デフォルトの名無しさんNGNG
>>574
×NULL POINTER EXCEPTION
○NullPointerException
0582デフォルトの名無しさんNGNG
>>580
オブジェクト指向設計が出来てない予感。
0583デフォルトの名無しさんNGNG
×ヌルポ
○ぬるぽ
0584554 ◆OYeL1sEUa6 NGNG
>>575
スレッドが勝手に作られているとは思いませんでした。
スレッドは自分で作るものだと思っていたもので
謎が解けて安心です。本当にありがとうございました。
0585デフォルトの名無しさんNGNG
俺はものを見ないと助言も出来ないわけですが、
>>580のような設計に関する質問で、スバっと答え言える人いる?
初心者、中級者で、これって本当にオブジェクト指向になってるのか?
って疑問に思う人、沢山いると思うんですよね。
0586デフォルトの名無しさんNGNG
質問させてください
今までCを使用していたのですがJavaを
覚えなければならなくなり本を買ってやってみているのですが、

getContentPane().setBackground(Color.RED);

という部分があるのですが、
関数の後のドットはどういう事なのでしょうか?
getContentPane()というのはオブジェクトじゃないですよね?
getContentPane()はコンストラクタなのかとも思いましたが
いまいちはっきりしません
どなたか教えていただけませんでしょうか
0587デフォルトの名無しさんNGNG
>>586
メソッドです
つか、C++ もやってませんね? ポインタはやりましたか?
いくらなんでも、知識範囲がそんな状態では、
ここに来たところで、あなたの助けになれる人はいません。
いちいちつきあってたら、
あなたの同程度の質問 100〜200 でこのスレが埋まってしまいます
薄くてもいいですから、本を一冊買って熟読してから来てください
0588デフォルトの名無しさんNGNG
>>587
そもそもJavaですよ。それ。

えらそうに初心者に説教たれる前にもっと勉強して下さい。
0589ニガーNGNG
>>587
javaやる前にC++勉強する必要ないよ。なにいってるんだ?あんた。
>>586
そこら辺のことは、わざわざ掲示板にかきこみなんかしなくても、API仕様書をみればわかると思う。
j2sdkと一緒にダウンロードしなかった??
0590デフォルトの名無しさんNGNG
>>586
getContentPane() というのはオブジェクトではなく、メソッド(関数)ですね。
けれども、そのメソッドの戻り値は オブジェクト(インスタンス)なんです。
つまり、メソッドに続けて ドットを使うというのは 戻り値のオブジェクトに
適用されると思ってください。
0591586NGNG
>587-590
なるほど、納得です
>589
してないのでこれからして来ます

ありがとうございました
0592デフォルトの名無しさんNGNG
>>580
場合によるが、別にそれでもいいんでないの?
ユーティリティクラスなら、全部staticなメソッドでもいい気がするけど。
ただ内部的に状態やフィールドを持つ場合、マルチスレッド下での使用に不安があるが。

まさかただ単に static void main から呼びたいふがために全部スタティックにしているなんていうアホな話じゃないよな?
0593デフォルトの名無しさんNGNG
> まさかただ単に static void main から呼びたいがために
> 全部スタティックにしているなんていうアホな話じゃないよな?
Java覚えたてのときやるねw
0594デフォルトの名無しさんNGNG
>>592
>まさかただ単に static void main から呼びたいふがために全部スタティックにしているなんていうアホな話じゃないよな?

おい、バカにすんなよ
質問の仕方見てもそうでないことはわかんだろ

>ただ内部的に状態やフィールドを持つ場合、マルチスレッド下での使用に不安があるが。

だからよー「そのクラスにフィールド持つ必要はないので」って書いてるじゃんか

おい、バカにすんなよ
おい、バカにすんなよ
おい、バカにすんなよ
0595デフォルトの名無しさんNGNG
インタフェースって継承できますか?
0596デフォルトの名無しさんNGNG
できるよん
0597デフォルトの名無しさんNGNG
>>593
>Java覚えたてのときやるねw
てめえしかやんねーよバカ
0598デフォルトの名無しさんNGNG
俺もやってたったい
0599デフォルトの名無しさんNGNG
↑
劣等生必死wwwww
0600598NGNG
がーん
0601593NGNG
俺もガーン
0602デフォルトの名無しさんNGNG
>>599
はずしてんじゃねーよバカ

そうやって、プリミティブな指定するから失敗するんだよバカ

ちゃんとアンカーで「>>597」とかやっとけよバカ

おまえの書いたソースもそうやって書いてんだろうなバカ

だから、修正個所が増えるんだよバカ
0603デフォルトの名無しさんNGNG
優等生余裕mmmmm
↓
0604593NGNG
まーな
0605デフォルトの名無しさんNGNG
>>593
>Java覚えたてのときやるねw
やんねーよバカ

>Java覚えたてのときやるねw
ふつうきづくだろバカ

>Java覚えたてのときやるねw
誰に同意求めてんだバカ
0606バカNGNG
俺に
0607デフォルトの名無しさんNGNG
↑
劣等生必死wwwww
0608デフォルトの名無しさんNGNG
>>607
はずしてんじゃねーよバカ

そうやって、プリミティブな指定するから失敗するんだよバカ

ちゃんとアンカーで「>>605」とかやっとけよバカ

おまえの書いたソースもそうやって書いてんだろうなバカ

だから、修正個所が増えるんだよバカ
0609デフォルトの名無しさんNGNG
↑
優等生余裕mmmmm
0610デフォルトの名無しさんNGNG
↑
Java覚えたてのときやるねw
0611デフォルトの名無しさんNGNG
質問です
Map hm = new HashMap();
と
HashMap hm = new HashMap();
ってやったときと、どんな違いがあるんでしょうか
0612デフォルトの名無しさんNGNG
>>611

デメリット:Mapにしたとき
HashMap独自の機能が使えなくなる

メリット:シャンプー
0613593NGNG
上の場合、実体がHashMapでも、MapのAPIしか参照できない。

Java覚えたてのときやるねw
0614デフォルトの名無しさんNGNG
ママーン(ノД`)みんな可笑しくなっちゃったよー(^^;)
0615デフォルトの名無しさんNGNG
>>613
>Java覚えたてのときやるねw
覚えたてでやってたのか?スゲェ見直した
0616デフォルトの名無しさんNGNG
http://esenden.com/rank/ninki/ranklink.cgi?id=groovy
0617デフォルトの名無しさんNGNG
↑
劣等生必死wwwww
0618デフォルトの名無しさんNGNG
>>617
はずしてんじゃねーよバカ

そうやって、プリミティブな指定するから失敗するんだよバカ

ちゃんとアンカーで「>>615」とかやっとけよバカ

おまえの書いたソースもそうやって書いてんだろうなバカ

だから、修正個所が増えるんだよ馬鹿
0619デフォルトの名無しさんNGNG
宣伝を煽っているw
0620デフォルトの名無しさんNGNG
>>616
>人気ビジネスランキング投票はENTRRをクリックしてください。

「ENTRR」がみつからねーよバカ

「ENTRR」ってなんだよバカ
0621デフォルトの名無しさんNGNG
↑ENTER必死wwwww
0622デフォルトの名無しさんNGNG
>>588-589
ちがう。
C++ をやらないで Java をやるなら、
今回がオブジェクト指向初見ということだろう。
オブジェクト指向が何たるか何も調べず聞きにくるな、と言ったんだ
ぜんまい煮漬けども、死ね
0623デフォルトの名無しさんNGNG
↑
劣等生必死wwwww
0624デフォルトの名無しさんNGNG
ごまんなさい。
0625デフォルトの名無しさんNGNG
急にスレがのびたからどうしたかと思ったら、やれやれだぜ。
0626ニガーNGNG
>>622
VBやってるかもしれないだろう??なにいってるんだ?あんた。
初心者以下で知ってる言葉並べ立ててるだけの奴が・・。
0627デフォルトの名無しさんNGNG
↑
ぜんまい煮漬けども、死ね wwwww
0628デフォルトの名無しさんNGNG
↑わらび煮漬けども、生きろwwwww
0629デフォルトの名無しさんNGNG
村田まり
あの、藤田 正の元愛人の一人。
とにかく性悪女
次々女の子を、AV業界に送り込み、ギャラのピンはね
藤田 正が自殺しても、そのネタをいつまでも引き合いに出しては
売名行為をくわだてる。とにかく目立つの大好きで、アニータよりも
ひどいです。目立てばなんでもいいんだってよ。

0630デフォルトの名無しさんNGNG
↑
劣等生必死wwwww
0631デフォルトの名無しさんNGNG
public class A1{

public class A2{
}
}
class B2{

class{
A1.A2 test = new A2();    <= ココ

てなことをやりたいのですが、何かエラーがでます。
どうやればいいですか?
0632631NGNG
public class A1{

  public class A2{
  }
}
class B2{

  class{
    A1.A2 test = new A2();    <= ココ
  }
}

すいません。みえづらくなってしまいましたのでもう一回。
皆さんよろしくお願いします。


0633デフォルトの名無しさんNGNG
A2をstaticにすればいいよ

public class A1{
 public static class A2{
 }
}

class B2{

 class B3{
  A1.A2 test = new A1.A2();
 }
}
0634631,632NGNG
>633
ヽ(゜∀゜)ノ!!!
即レスありがとうございます!!
早速試してみまつ。まじでありがとうです
0635デフォルトの名無しさんNGNG
A2がstaticにできないならこう

public class A1{
 public class A2{
 }
}

class B2{
 class B3{
  A1.A2 test = new A1().new A2();
 }
}
0636デフォルトの名無しさんNGNG
>>631

おい、staticにしなくてもいいぞ↓

A1.A2 a2 = new A1().new A2();
0637デフォルトの名無しさんNGNG
>>636
おせんだよバカ

そうやって、確認しないで書き込むから失敗するんだよバカ

カッコわるくてみてらんないよバカ

おまえの仕事もそうとう遅いんだろうなバカ

ケコーンしちまえよバカ
0638デフォルトの名無しさんNGNG
↑
劣等生必死wwwww
0639デフォルトの名無しさんNGNG
今までC++やってたものです・・・初心者質質問でスマン

Javaの例外catchはStringとかは受け取れないんですか?
コンパイル通らんコード↓

String err_msg = "";
try{
err_msg="err";
throw err_msg;
}catch(String msg)
{
....
}
0640631,632NGNG
>635、636様、
重ね重ねありがとうございます。
とりあえず今staticで試したところうまくいきました。
もうひとつの方法も今後のために覚えておきます。。。

ところで、もうひとつ伺いたいのですが、
コンテナにオブジェクトを追加するとき、配置の設定はどうやってやるのでしょうか?
North、South等を使っているんですが、思うようにいきません。
希望の配置としては
              |
  Table1       |
              |
−−−−−−−−−-|  グラフィック
              |
  Table2        |
              |

見たいな感じです。たびたび申し訳ないですがお願いします。
0641デフォルトの名無しさんNGNG
>>639

直接文字列はなげられないけど
例外クラスってのがあってそれに持たせることができるよ

public class Poi{
  
  public static void main(){
    String err_msg = "";
    try{
      err_msg="err";
      throw new Exception(err_msg);
    }catch(Exception e) {
      e.getMessage();
    }
  }
  
}
0642639NGNG
>>641
そ・・・そう言う事だったのかぁ・・・。目から鱗な感じ・・・。

ありがとぉございます。
0643デフォルトの名無しさんNGNG
JDK1.5から何が変わるんですか?
0644デフォルトの名無しさんNGNG
ていうか、>>639 のようなスコープなら,
catch の中でも err_msg 使えるだろ?
0645デフォルトの名無しさんNGNG
そーいやそーだな
0646デフォルトの名無しさんNGNG
Javaクラスファイルからexeファイルを作りたい!!
教えろヴォケ!
0647デフォルトの名無しさんNGNG
なんですか、その態度は
0648デフォルトの名無しさんNGNG
>>640 俺だったらこうする。
Table1 と Table2 を GridLayout を設定した Panel に配置。
Panel をWEST に配置。
グラフィックを CENTER に配置。
0649デフォルトの名無しさんNGNG
>>646
http://www.google.com/search?q=Java+exe&ie=UTF-8&oe=UTF-8&hl=ja&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=

あとはがんがって調べれ。
0650デフォルトの名無しさんNGNG
C++ でいうところの,vector<int> に当たるものが欲しいのですが,何か
いい方法はありますでしょうか.

とりあえず ArrayList を使うというのが候補だと思うのですが,ArrayList を
使うと,例えば C++ で x[i] = 3; と書けたものを x.set(i, new Integer(3));
のように長ったらしく書かなければならず,また,x[i] の値を読み出すときは,
((Integer) x.get(i)).intValue() のように,これまたややっこしいことを
書くしかなさそうなのですが,もっと簡単な方法はあるでしょうか.
御教示のほど宜しくお願いします.
0651デフォルトの名無しさんNGNG
Object[]
0652デフォルトの名無しさんNGNG
>>650
APIにはないです。確か誰かがそういうの作ってWebで公開していたはずなので、
探してください。または自作とか。

プリミティブ値のラッパの生成コストとかが問題にならないなら、ArrayListの
単純なラッパを適当に一個作って使う、でいいんでないの。
毎回同じようなコード書くの面倒くさくなったら、クラスなりメソッドなりに
するというのは、普通でしょ。

public class IntList{
 private ArrayList impl;
 public void add(int i){impl.add(new Integer(i));}
 public int get(index i){return ((Integer)impl.get(i)).intValue();}
//以下いろいろ
}

JDK1.5以降のautoboxing実装を待つ、でもええかもしれんが。
0653デフォルトの名無しさんNGNG
>>650
JDK1.5を待つ。
0654652NGNG
オペレータオーバーロードの機能はないので、どうやってもこれ以上は
単純には出来ないですよ。

JDK1.5以降ならIntListを自作しなくても、Generics+AutoBoxingで
ArrayList<Integer> list = new ArrayList<Integer>;
list.add(5);
int val =list.get(0);
という感じで、ほぼ同じことができるようになるらしいのですけどね。
0655650NGNG
やはり,API にはないということですね.
とりあえず自作することにします.有難うございました.
0656デフォルトの名無しさんNGNG
自作するほどのことなのだろうかと思うが・・・
0657デフォルトの名無しさんNGNG
CMPがJDBCより10倍遅かった。
速くする方法はないものか。ちなみにサーバーはWebSphere、カスタムなし。
0658デフォルトの名無しさんNGNG
javaはあまりクラス変数は使わない方がいいのですか?

またクラス変数から値をとるときは
そのクラス変数がそのクラスでしか参照されない場合でも
getほにゃらら()
ってメソッドを作成して取得した方が良いですか?
0659デフォルトの名無しさんNGNG
if だけ覚えればどんなプログラムでも作れるよな
0660デフォルトの名無しさんNGNG
>>657
ちゃんとローカルインターフェイス使ってるか?

>>658
private staticならいらんと思うけど。スレッド間同期
が必要ならvolatileでいいし。
0661デフォルトの名無しさんNGNG
>>657 >>660
WebSphereって、明示的にローカルインタフェース使わないと
最適化されないの?WebLogicやJBossはリモートインタフェースでも
同一VM上だったらコンテナが勝手に最適化してローカル参照で動作するよ。
0662658NGNG
>>660
レスありがとうございます。
staticの場合は直で見に行くようにしています。


会社で
某のコードを見てもらったときに
クラス変数を多用しすぎていることと、
意味のある使い方ができてないって言われたもんで。

実際どのような場合に使うかがこまりまっす。

全部引数で値のやり取りをするのは面倒だし、
戻り値が二つ欲しいときは
片方をクラス変数に入れたりしてたり・・

jdkのサンプルソースを見てたりすると
たしかに某の使い方には
なんか違和感覚えるんすよね。

はぁ、明日も仕事だ・・。
0663デフォルトの名無しさんNGNG
>>661
それってWeblogicやJBossの独自仕様だよね。
勝手にやるのは標準ではないような。

>>662
クラス変数→staticフィールド
インスタンス変数またはオブジェクト変数など→非staticフィールド
0664デフォルトの名無しさんNGNG
>>662
> 全部引数で値のやり取りをするのは面倒だし、
クラス変数で受け渡すのはスレッドセーフな処理書くとき面倒引き起こすのでは?

> 戻り値が二つ欲しいときは
> 片方をクラス変数に入れたりしてたり・・
引数用クラスとか戻り値用クラス使えってのが FAQ だよね…
0665デフォルトの名無しさんNGNG
class HogeEngine{
 /**
 * Hogeを行う
 */
 public HogeResult execute(HogeParameter param){
  //HogeParamからデータを取り出して処理を行い、
  //HogeResultを作る
 }
}
0666デフォルトの名無しさんNGNG
>>665
Result と Parameter 分ける必要があるならそーするしかないけど。
0667デフォルトの名無しさんNGNG
> 戻り値が二つ欲しいときは
> 片方をクラス変数に入れたりしてたり・・
もし何かの理由でDataBeanを作れないとしても
せめてコレクションか配列使うくらいは思いつけよ・・・
0668デフォルトの名無しさんNGNG
class HogeEngine{
 /**
 * Hogeを行う
 */
 public void execute(HogeParameter param){
  //HogeParameterからデータを取り出して処理を行い、
  //HogeParameterの中に結果を書き込む。
 }
}
0669デフォルトの名無しさんNGNG
ところで、何で HogeParameter.execute() じゃいかんのだ?
0670665=668NGNG
省略コード相手に突っ込まんといてーな
0671デフォルトの名無しさんNGNG
直列化(シリアライズ)はどういうときによく使われるものなのですか?
0672デフォルトの名無しさんNGNG
>>663
EJBの仕様ではないのは百も承知。EJBの仕様だとは一言も書いていない。
WebLogicやJBossではやっているが、WebSphereではやってないの?
と聞いているのだが。どうなの?
0673直リンNGNG
http://homepage.mac.com/maki170001/
0674デフォルトの名無しさんNGNG
IBMJavaのディベロプメントキットってどこからダウンロードするの?
0675無料動画直リンNGNG
http://homepage.mac.com/miku24/
0676デフォルトの名無しさんNGNG
>>674
http://www-106.ibm.com/developerworks/java/jdk/index.html

Windows用 IBM-JDK の単体配布は無くなったのかな?
0677デフォルトの名無しさんNGNG
Axisとかの質問はココでいいのか?
0678デフォルトの名無しさんNGNG
>>671
データを抱えたオブジェクトを、その状態のままファイルに保存/読み込みしたり、
ネットワークの向こうにオブジェクトの内容を全部送りつけるなど。
使いすぎると重いかもしれんが、かなり便利だ。
0679デフォルトの名無しさんNGNG
>>678
xmlに書き出すのは流行ってないの?
0680デフォルトの名無しさんNGNG
Javaでは?(上の続き)
0681デフォルトの名無しさんNGNG
>>679
Relaxer、Castor、JAXB、java.beans.XMLEncoder/XMLDecoder。
方法がいっぱいあるって事は、流行ってんじゃないの。
0682デフォルトの名無しさんNGNG
プログラム実行中に
クラスを動的に定義してインスタンス化するのって
どうやればいいんでしょうか?
クラス名とかフィールド名とその型アクセス指定子、メソッド名(戻り値、引数含む)とか
こういうのをプログラム実行時に作りたいのですが・・・
0683デフォルトの名無しさんNGNG
>>682
動的に作成した型 dynobj = ナニカの方法;
というコードが書きたいってこと?「動的に作成した型」という型名を
ソースに「静的」に書かなきゃならんことについてはどう思うよ?

動的に作るインスタンスを受けとる変数の型は、インターフェイスで静的
に定義する、という方針であるという前提で、java.lang.reflectパッケ
ージのDynamic Proxy APIを使用せよ。

InvocationHandlerとProxyが、それをやる手段。動的に作ったクラスに
対して、いちいちリフレクションでメソッドコールしないで済むじょ。
0684640NGNG
すいません。昨日お世話になった640です。

ありがたいことに>>648さんから構成方法を教えていただいたのですが、

>Table1 と Table2 を GridLayout を設定した Panel に配置。

というのがよくわかりません。
GridLayoutとPanelをどう絡めて記述すればいいのでしょうか?

お願いします。
0685デフォルトの名無しさんNGNG
>>684
panel.setLayout(new GridLayout(...)) しろって事では?
0686デフォルトの名無しさんNGNG
/三ヾ`丶
        ////,r‐'、ミヾヽ
.     ,'///,r'_,._  ヾ、:!}
     j !|r'リ ━━━━リ  
     イ|:!ト   、_' /′
    ノノ川 \  `´/  < 吸われて、舐られますた
     f゙`丶、_`7´、
    /‐-、  /'ヽヽ`┐
   / `ヽ ∨―'ハ|  ト、
.  ,'     ;    ヽヘ' jー、
.  !    i.;:-‐   \ヾ、\
  |    j::.:.:..     ヾ,  `:.,
  l    ./:::::.:.:.:.:.:.:..... . . . . ....ノ

0687デフォルトの名無しさんNGNG
>>686
頭がぶっ飛んでいる女。と言うことですね?
0688デフォルトの名無しさんNGNG
       /三ヾ`丶
        ////,r‐'、ミヾヽ
.     ,'///,r'_,._  ヾ、:!}
     j !|r'リ  *   *.リ  
     イ|:!ト   、_' /′
    ノノ川 \  `´/  < めがね、めがね
     f゙`丶、_`7´、
    /‐-、  /'ヽヽ`┐
   / `ヽ ∨―'ハ|  ト、
.  ,'     ;    ヽヘ' jー、
.  !    i.;:-‐   \ヾ、\
  |    j::.:.:..     ヾ,  `:.,
  l    ./:::::.:.:.:.:.:.:..... . . . . ....ノ
0689デフォルトの名無しさんNGNG
>>682
・Type Object パターン使う
・動的にソースを生成して裏でコンパイルする
などの方法がないこともないが、そもそも Java で
そういうことをやろうと思うのが間違ってる。
0690デフォルトの名無しさんNGNG
インターフェイスによる多重継承がいまいち理解できないのですが
たとえば、AクラスとBクラスを継承したいCクラスを作るとしたら
インターフェイスD(Bクラスの宣言)を定義して

class C extends A implements D

といった具合なのでしょうか?
0691デフォルトの名無しさんNGNG
>>690
> インターフェイスによる多重継承
そんなものはない
0692デフォルトの名無しさんNGNG
「哺乳類」クラスと「魚類」クラスと「海棲」インタフェースがあって

「めだか」クラス 継承:「魚類」クラス 実装:「海棲」インタフェース
「鯨」クラス 継承:「哺乳類」クラス 実装:「海棲」インタフェース
0693デフォルトの名無しさんNGNG
>>690
インターフェイスとクラスの違いが理解してますか?
>>692
海棲なんて読むの?
0694デフォルトの名無しさんNGNG
「かいせい」だろ。
広辞苑には載ってなかったけどな。

0695デフォルトの名無しさんNGNG
>>692

めだかって海に住んでました?
0696690NGNG
>>691
すいませんでした。では普通に 多重継承 といえばいいのですか

>>692

実装=implements ということですか?

めだかクラスは、海棲インターフェイスを通して魚類クラスを継承してるってことでしょうか?
あら?そうすると哺乳類クラスは継承できてないな
なんだかこんがらがってきた。
692さんもう少し言葉をいただけませんか?

オナニーでもして落ち着きます。
0697690NGNG
>>693

えーと私の考え方では
クラスはオブジェクト

インターフェイスはオブジェクト宣言みたいなものかと考えています
0698デフォルトの名無しさんNGNG
>>696
Javaは多重継承できない。言語仕様がそうなっている。
0699デフォルトの名無しさんNGNG
>>696
インタフェースは多重継承できますが何か。
0700デフォルトの名無しさんNGNG
>>690
interfaceはオブジェクトの"機能"の宣言です。
0701690NGNG
>>698

それはわかってますが、インターフェイスを用いて回避できるみたいなことをよんだので
多重継承と書きました。国語力で何とか理解してください。

ちなみにどう表現すればいいのでしょうか?
0702デフォルトの名無しさんNGNG
多重継承といっても機能を組み合わせたいだけなんだろ?
コンポジションを使え。
0703690NGNG
>>700

そうすると抽象クラスみたいなものと考えて大ジョブですかね?
0704デフォルトの名無しさんNGNG
クラスは物
データと振る舞いがある
インターフェイスは振る舞いだけ
しかも振る舞い方の名前だけで中身はないんだったような
(処理が書いてないんじゃなかったか?)

人クラスにたいして
右腕を振るっちゅうインターフェイスがあったとしたら
足すと
右腕を振る人になるが、右腕をどのように振るのかについては
きまっちょらんのでその中身は自分で書かんといかん
右腕を振るって言っても行進の時のように振るのか
殴るように振るのかなどの実際の行動を自分で書くのが
インターフェイス

人+右腕振る+左腕振る+足を動かす
等のようにくっつけることが出来る。
間違ってたら修正よろ〜
0705デフォルトの名無しさんNGNG
>>697
ぜんぜん違います。
クラスは値と命令の集まり。Cでいう構造体の中に関数が入っているもの。
オブジェクト指向では、クラスとは雛形なので実態にしなければいけません。
その実態がオブジェクトです。
インターフェイスとはメソッド(Cでいう関数)の名前と戻り値しか定義していないので
実装先でその中身を追加(オーバーライド)して使います。
さらにインターフェイスのフィールド値は必ず定義しなければいけません。
----------------------------------------------------------------
インターフェイスによく似ているものでアブストラクトがありますが、
これは立派なクラスですので、多重継承はできません。
0706デフォルトの名無しさんNGNG
>>705もあまりわかってないように見えるが、まあいいか
0707デフォルトの名無しさんNGNG
先生!人クラスで「右腕を振る」を定義しないことはどんなメリットがありますか?
0708707NGNG
質問撤回
多重継承ができる、できないの問題なのですね
0709デフォルトの名無しさんNGNG
でも、インターフェイスにはstatic finalな変数は定義できるよね・・・・・
>>704-705 ちょいわかりにくいかな。わからない奴に1,2レスで説明しようとするチャレンジ精神は賞賛。
0710デフォルトの名無しさんNGNG
オブジェクトのインタフェイス(*)を中心にして考えるが吉。
この責務を果たしてもらうので、このメソッドが必要と考える。

class が interface を implements するということは、
その class は interface が意図している責務を果たすことが義務付けられる。
(が、意図はコード上には現れないのでドキュメントを読むしかない)
# implemets ActionListener したならアクションリスナとしてきりきり働けというわけだ。

どうやって責務を果たすかというと method を実装することによって。
# implemets ActionListener したら actionPerformed を実装しなくてはならない

たまたま、あるクラスと責務がほとんど被っている場合は、
そのクラスを継承して、継承したクラスの機能を暗黙的に利用するわけ。

* Java の interface ではなく、オブジェクトに責務を果たしてもらうための界面。
 つまり、オブジェクトが理解するメッセージ群。
 要は、オブジェクトが持っているメソッド群。
0711デフォルトの名無しさんNGNG
☆貴方のガス抜きサイトはこちらです(^−^)☆
http://endou.kir.jp/yuminet/link.html
http://endou.kir.jp/marimo/link.html
0712デフォルトの名無しさんNGNG
質問です。数式と値をを入力すると、式に値を代入した答えを返すプログラムを
作りたいのですが、何かうまい方法はないでしょうか?

たとえば、入力 : x^2 + x + 1 1
出力 : 3
みたいなものです。
プログラム内部で、+,-等の演算子をどう表現すればいいのか悩んでいます。
最終的にはsin(x)とかにも対応したいんですけど・・
よろしくお願いします。
0713デフォルトの名無しさんNGNG
>>710
「界面」なんて言葉見たの久野セソセイ以来だにゃあ。
0714デフォルトの名無しさんNGNG
>>712
感嘆には、デザインパターンの「インタープリタパターン」を探せばそういう例題見つかると思う。
0715712NGNG
ちょっと探してみていますが、なかなか・・
もうちょい探してみます。
0716デフォルトの名無しさんNGNG
>>703
抽象クラスは"機能"のほかに"実装"(内部構造)を持つので違う。

具体的に言うと、すべてのメソッドがabstractだとしても
Objectクラスを継承しているのでObjectクラスの実装を持つ。

ひとつの機能に対して、何種類でも実装はありえることに注意。
0717デフォルトの名無しさんNGNG
>>712
大げさにいうと新たな言語を作るようなもんだから結構しんどいよ。
Interpreter パターンでもいいけど JavaCC でも使ってみたら?
0718712NGNG
>>717
JavaCC、ウチだと使えないんですよね。
なんか「OFF」ってでて終わっちゃうんですよ。なんでだろ?

学校いってやろうかなぁ。
0719714NGNG
>>717
>>715みて漏れも「じゃあJavaCCすすめとこか」と思ってググッてたら、こんなの見つけた。

ttp://lecture.ecc.u-tokyo.ac.jp/~yamaguch/pub/cp2-9/parse-expression.html

>>718 どーよ。サンプルも乗ってるみたいだよん。
0720712NGNG
>>719
うわ、まんまです。最高です。
いまから読んで理解してみますー(できるかな)

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

やっぱ検索のスキルからして違うなあ。
0721デフォルトの名無しさんNGNG
実装てインスタンス生成のこと?
0722716NGNG
>>721
全然違います。
0723デフォルトの名無しさんNGNG
JavaからWindowsAPIを呼びだすにはどうしたら良いんですか?
0724デフォルトの名無しさんNGNG
>>723
基本はJNI。
0725デフォルトの名無しさんNGNG
JNIって、Cの知識が要るんですよね?
Javaから直截呼び出すわけにはいかないんですかね?

それに、データ型や型チェックとかでCと違いが出たりしませんか?

0726デフォルトの名無しさんNGNG
>>725
そもそもJNIが何をやるものかわかってなさそうな聞き方だが・・?
0727デフォルトの名無しさんNGNG
生意気な回答者だなぁ・・・
0728デフォルトの名無しさんNGNG
誰もJNIを知らないから答えが出ない。クプププ
0729デフォルトの名無しさんNGNG
Java流では
ファイルとかDBとかで明示的にclose()しないでスコープから外れたとき
勝手にクローズするのに任せた方がいいのかな?
(close系はいっさい使わない)
例外でずばっと戻るようなときのこと考えるとそんな気がする。
0730デフォルトの名無しさんNGNG
>スコープから外れたとき勝手にクローズするのに任せた方がいいのかな?

いつオブジェクトが開放されるかなんてお前解る?
0731デフォルトの名無しさんNGNG
>>729
て言うか例外が発生するならfinally使えよ。
0732デフォルトの名無しさんNGNG
>>729
> スコープから外れたとき勝手にクローズ
勝手に close() する保証はどこにも無いと思うが…
0733デフォルトの名無しさんNGNG
>730
いや、わからないけど。。
>731
いえ、今はちゃんとfinallyの中にclose書いてるけど
そのcloseもまたtryで括らないといけないみたいで
なんかでこぼこになってソースが汚いんすよ。
だからJava流と外れてるのかなと思いまして。。
>732
確かに保証はないんですが
リファレンスにガベージコレクトされるときに自動的にクローズされます
って書いてあったんでそういうものなのかと。。
あと、sunのサイトにあるsample見ても
ちゃんと全部クローズしてないんですよ。一番大元のconnしかクローズしてない。
一個クローズしてないのがあってもOKなら
全部クローズしなくてもOKそうじゃない?
0734デフォルトの名無しさんNGNG
>だからJava流と外れてるのかなと思いまして。。

Javaって綺麗なコードを第一目標にしてるんだっけか?
0735デフォルトの名無しさんNGNG
少なくとも綺麗なコードが書きにくいというのは間違ってない。
0736デフォルトの名無しさんNGNG
綺麗というのは何と比べてなのか。

関数型言語に比べると綺麗ではないが、
手続き型言語に比べると綺麗だろ。
0737デフォルトの名無しさんNGNG
>>733
ソースを読め。
一番おおもとを close すると連鎖的に全部 close される。
0738デフォルトの名無しさんNGNG
>>736
>手続き型言語に比べると綺麗だろ。

メソッド単位ではJavaとて手続き型言語。
0739デフォルトの名無しさんNGNG
>メソッド単位ではJavaとて手続き型言語。
違いが判ってるじゃんw
0740デフォルトの名無しさんNGNG
>>736
> 関数型言語に比べると綺麗ではないが、
> 手続き型言語に比べると綺麗だろ。
何を比べて言っているんだ?(藁
0741デフォルトの名無しさんNGNG
>>739
で、今はメソッドレベルのお話。
0742デフォルトの名無しさんNGNG
Javaはメソッドだけじゃありませんが、何か?
0743デフォルトの名無しさんNGNG
javaのバージョンが違うとソースが同じでもコンパイルできないことはあるんでしょうか?
0744デフォルトの名無しさんNGNG
ある
0745743NGNG
java駄目じゃん(藁
0746デフォルトの名無しさんNGNG
そりゃJavaに限った話じゃないと思うけど・・・。
昔から延々とあった問題だし、これからもふつーにあるでしょ。
0747_NGNG
http://homepage.mac.com/hiroyuki44/
0748デフォルトの名無しさんNGNG
メジャーな言語で一度も言語仕様が変わっていない言語なんてあるのかyo!
0749デフォルトの名無しさんNGNG
>>743-745
言語仕様が変わってコンパイルできなくなるパターンで
新予約語assertに引っかかる以外になんかあったっけ?

assertもコンパイルオプションで無効にできる
(っていうかいまんとこデフォルトは無効)じゃなかったか?
0750デフォルトの名無しさんNGNG
んでも、例外処理(のいちおう一部)であるfinallyの中で、
例外を処理するために起きた例外もtry-catchしないとだめなのは、なんだかなあ。

人工的な例だけど、おいらはあまり好きくない。

try {
  // foutは一時的なファイル
  while ((line=fin.readLine()) != null)
    fout.println(line);
} catch (Exception e) {
  ...
} finally {
  try {
    fout.close();
  } catch (Exception e) {
    // 保存に失敗したから、ゴミファイルの残さないように削除
    try {
      fout.delete();
    } catch (Exception e) {
      ...
    }
  }
}
0751デフォルトの名無しさんNGNG
>>749
1.4から無形パッケージに属するクラスのインポートが出来なくなってる。
それと、return 0;/*コメント*/; が1.4からコンパイルエラーになる。
また、1.3でのjava.util.Timerの追加に伴って、非修飾名がjavax.swing.Timerとかぶる。
細かい話だと結構あるみたいだな。
http://java.sun.com/j2se/1.4/ja/compatibility.html
http://java.sun.com/j2se/1.3/ja/compatibility.html
0752デフォルトの名無しさん NGNG
GUIの勉強を始めたところなのですが、描画のところがよくわかりません。。
すみませんが、どなたか教えてください。。

下のようなプログラムについて
1.paintメソッドはどこが呼び出しているのでしょうか?
2.paintメソッドが実行される時のGraphics型の引数gには、何が与えられているのでしょうか?
(質問がおかしかったらごめんなさい)

import java.awt.*;
class Draw extends Canvas {

Frame frame;

public void paint( Graphics g ) {
g.drawString( "あいうえお", 20, 20 );
}

Draw() {
frame = new Frame( "フレーム" );
setSize( 100, 30 );
frame.add( this );
frame.pack();
frame.setVisible( true );
}

public static void main( String[] args ) {
new Draw();
}
}
0753デフォルトの名無しさんNGNG
Pure Java の C++コンパイラとかありませんか?
0754デフォルトの名無しさんNGNG
>>750
でも、finally節で例外が起きたらじゃあどうするのといわれると、他に方法も無いだろ?
0755デフォルトの名無しさんNGNG
>>733
> 確かに保証はないんですが
> リファレンスにガベージコレクトされるときに自動的にクローズされます
> って書いてあったんでそういうものなのかと。。

メモリがたっぷりあるマシン上だと
一生クローズしないかもしれないぞ。

大本のコネクションをクローズすればそこから取り出したレコードセットとかも
クローズするのはJDBCとかDBエンジンの仕様だろう。

1つのコネクションでは同時にレコードセットを1つしか扱えない場合も
多いから使い終わったレコードセットをこまめにcloseする癖を付けておくのは
悪いことじゃない。
0756デフォルトの名無しさんNGNG
> メモリがたっぷりあるマシン上だと
> 一生クローズしないかもしれないぞ。
メモリが足りなくなるまでガベージコレクトしないんですか?(藁
0757デフォルトの名無しさんNGNG
>>751
> それと、return 0;/*コメント*/; が1.4からコンパイルエラーになる。

http://www.y-adagio.com/public/standards/tr_javalang2/statements.doc.html#236365
>空文は,それが到達可能なときに限り,正常完了可能とする。
言語仕様が変わったわけでないみたいですが。
0758デフォルトの名無しさんNGNG
>>751
> 1.4から無形パッケージに属するクラスのインポートが出来なくなってる。

Sun 曰く、それも言語仕様の変更では無いらしいですね。
0759デフォルトの名無しさんNGNG
超カメレスですまんが>>611の時のメリットは、Mapを継承したたくさんのhogeMapとかfooMapとかを
まとめるときにMap型配列にぶっこめるというというのでいいですかね。
まあ使うときにそれぞれ狭くキャストせんといかんけど。genericでこれをなんとかできるらしいがよくわからん。

0760デフォルトの名無しさんNGNG
>>755,756
使われなくなったか、NULLが入った時点でガーベジコレクションの対象に
なる。
じゃなかったけ???
0761750NGNG
>>754
いや、別の解決法がどうとかの話じゃなくて、
例外の中の例外の...が好きくないという話。
こんなの考えると、例外も万能じゃないんだなと。
0762デフォルトの名無しさんNGNG
>>760
ガベージコレクトの対象になる、ってのと
即座にガベージコレクトされる、ってのでは全然違うので。
0763デフォルトの名無しさんNGNG
>>761
単なる愚痴だよね。
0764デフォルトの名無しさんNGNG
>>762
JavaってVMが勝手にガーベジコレクションをするので、PGが任意にすることは
できないって習ったけど。
System.gc();をしても、VMのスレッドの上位にガーベジコレクションの処理が入るだけで
OS全体の優先度は保障されないので、即座のガーベジコレクション実行は保障されていないと
習ったよ。
0765デフォルトの名無しさんNGNG
単なるうんちだよね。
0766デフォルトの名無しさんNGNG
>>763
うん。グチみたいな日記。
掲示板に書くと管理者に嫌われるもの。
ここで何言ったって何かが変わるわけじゃないから。
0767名無し@沢村NGNG
おまいらよ、JavaでTVウェアをつくってみないか?

http://pc2.2ch.net/test/read.cgi/tech/1059262203/l50
0768デフォルトの名無しさんNGNG
ていうか、DBへのConnectionやFileのOpenは、
物理的なリソースと結びついているのだから、
使い終わったら、すぐにclose()するのは、プログラマーの責任。

ガベージコレクションを待っていたら、先に物理的なリソースを使い果たしてしまうぞ。
0769デフォルトの名無しさんNGNG
2つのスレッドで
片方のスレッド[自身]に対して
runメソッド内で互いにsynchronized文を使ってみたんだが、
joinで終了を待つときに
先に終わる方を待たないとデッドロック起きるね...。
0770752NGNG
しつこくてごめんなさい。もう一度だけ言ってみます。。

どなたか
>>752
教えてください。

instanceof演算子を使ってこのクラスの参照型変数とGraphic型を比較してみてもfalseと出ますし、
一体paintメソッドのGraphic型の引数には何が与えられているのでしょうか。。

解説の載っている書籍を教えていただけるだけでも結構です。よろしくお願いします。
0771デフォルトの名無しさんNGNG
>>770=752
たしか paint は必要な時に自動的に呼び出されるんだったと思う。

0772デフォルトの名無しさんNGNG
質問です。ちなみにWinじゃなくてMac使ってる方にお聞きします〜。
Winは圧倒的にコンパイルとかする時どこが間違ってるか出るじゃナいっすか?
それがMacでは出ない。そこでいい解決法がある場合教えていただきたいです。
それと、
ttp://www.hcn.zaq.ne.jp/no-ji/reseach/20020521.htm
上のプログラマー's研究所にうpされてるシルビスといシューティングゲームなんすけど、マックで起動させるにはどうやればいいんすか?
普通に実行してもできません;;。
やっぱアプレットにしたほうがマックでは使いやすいのかな、、、。
それとこの中にソースが入ってるんすけど、そのソースをそのままコンパイルしてもエラーが出ます。
マックとウィンではやっぱ違うところがあるのでしょうか?
0773デフォルトの名無しさんNGNG
ぎゃああああ!。
マジスマソ!
アゲテモウタ。
逝ってきます、、、
0774752=770NGNG
>>771
ありがとうございます。
つまり、Canvasクラスを継承しているクラスにpaintメソッドを書いておけば、
自動的にその内容が実行されると考えていいでしょうか?

もう一つどうでもいいことなのかもしれないのですが、paintメソッドが受け取っている
Graphics型の引数がどれなのか気になっているのですが、、paintメソッドが書いてある
クラス自身の参照型変数ではないようですし、、一体何なのでしょうか。。
0775デフォルトの名無しさんNGNG
Canvasクラスのpaint()の説明文です。
このキャンバスをペイントします。
Canvas をサブクラス化するほとんどのアプリケーションでは、
便利な操作を実行するためにこのメソッドをオーバーライドすることに
なります。キャンバスのカスタムペイントが典型的な例です。
既定の操作は単純なキャンバスのクリアです。
このメソッドをオーバーライドするアプリケーションでは、super.paint(g)
を呼び出す必要はありません。

つまり、デフォルトコンストラクタを呼ばずに勝手に実行してくれると書いてあります。
---------------------------------------------------------------------------------
paint(Graphics g){}
paint2(){
int i;}
でpaint2のiをpaint2の引数にしたい場合はどうしますか?
paint2(int i)
ですね!
つまり単なるGraphics の変数をpaint内で使うのであらかじめ宣言をしようと
決まっているだけです。たとえGraphics を使わなくてもです。
0776デフォルトの名無しさんNGNG
>>759
全然違います。
0777デフォルトの名無しさんNGNG
↑
もっとわかりやすくいえば、paint(Graphics g){}
はpaintメソッド内でしか使用できませんよね!
paint2(){int i}も一緒です。
0778デフォルトの名無しさんNGNG
最高画質が揃った最高のサイトオープン!?
http://www3.free-city.net/home/espresso/white-snow.html
0779774NGNG
>>775>>777さん
変数の宣言をしているだけだったんですね。。
ご丁寧にありがとうございます。わかって安心しました。

>Canvasクラスのpaint()の説明文です。
わざわざすみません。これからはよくJava_docを読むようにします。


0780デフォルトの名無しさんNGNG
↑
さらにいえば、オーバーライドの条件として、メソッド名が同じで、アクセス修飾子がオーバーライド元より
ゆるくなければならず、そして、引数の数、順序が同じでなければいけないので、
Canvasクラスでpaint(Graphics g)となっている以上こう書かなければエラーが出ます。
ただし、引数名は自由に変更可能です。
0781デフォルトの名無しさんNGNG
半角の数字を全角の文字数字にするにはどうしたらいいですか?
やっぱり

int hankaku = 1;
String[] zenkaku = {"0","1","2","3","4","5","6","7","8","9"};

String result = zenkaku[hankaku];

とするしかいないんでしょうか?


変換したい文字の候補が1000近くある場合は
"1000"を1文字ずつ分解して
zenkakuから該当する倍角文字をもってくるしかないんでしょうか・・・?
0782デフォルトの名無しさんNGNG
Unicodeで全角数字って隣接してたっけ?もしそうならこんなので。

public String toDBNum(String number){
 StringBuffer result = new StringBuffer();
 for(int i = 0; i <number.length();i++){
  resutlt.append((char)('0'+number.charAt(i)-'0'));
 return result.toString();
}
0783デフォルトの名無しさんNGNG
>>782
どうもありがとうございます。
参考にさせていただきます。
0784デフォルトの名無しさんNGNG
>>761
try {
 Connection conn = xxx.getConnection();
 try {
  connに対する処理(conn);
 } finally {
  conn.close();
 }
} catch (XxxException e) {
 例外処理();
 //またはthrow new YxxException(e);またはthrow e;またはcatchブロック無し
}
「こんなところで例外が起きてしまったらどうせたいしたリカバリは出来ないだろう」
「でもリソースの開放は確実に行うべし」「ソースもそこそこきれいに」
という思想に基づいています。
これが嫌いな人もいるけど俺は大好き。
0785デフォルトの名無しさんNGNG
>>781
遅レスですが、おっしゃる通りにintを受け取って全角に直す作業のメソッドを作っちゃっても、
重いプログラムにはならないのではないでしょうか?

こんな感じ↓でクラス作ってnewして、メソッドにint渡すのでいいんじゃないでしょうか。


class Change {

  final private String[] zenkaku = {"0","1","2","3","4","5","6","7","8","9"};

  public String CahgeToZenkaku(int i){

    String stg = String.valueOf(i);
    StringBuffer stgb = new StringBuffer();

    for(int pos=0; pos<stg.length(); pos++) {
      String keta = String.valueOf(stg.charAt(pos));
      stgb.append(zenkaku[Integer.parseInt(keta)]);
    }
    return stgb.toString();
  }
}

と言ってる私も初心者なので、回りくどいプログラムになってしまいました。。
どなたか改善点を指摘してくださると勉強になりますので言ってください(便乗ごめん)。
0786_NGNG
http://homepage.mac.com/hiroyuki44/
0787デフォルトの名無しさんNGNG
スレ違いかもしれませんが、どなたかご教授下さい。
javaappletで作成されているHPを取り込むにはどうしたらいいのでしょうか?

もう少し詳しくお話しますと、1分刻みぐらいで、javaappletで作成された表が
更新するページがあるのですが、どうにかしてこの表をテキストとしてエクセルに
貼付けたいと考えています。

わかりにくい説明だとは思いますが、どなたか宜しくお願いします。
0788デフォルトの名無しさんNGNG
質問なんですが、RMIってファイヤーウォールはさんでも大丈夫です
か?(接続さえしてしまえば)
0789デフォルトの名無しさんNGNG
>>785
そういうユーティリティなお仕事はそっち系担当のクラスを作って
static なメソッドにするのがよいのではないでしたっけ?
Integer.toString()みたいにいちいち new しないでいいように。
>>785のソースで言えば zenkaku と ChangeToZenkaku に static くっつけたりして。
自分も勉強中の身でOOP的にいいのかとかはよくわかりませんのでだれか識者のかた
あとは頼みます。
0790デフォルトの名無しさんNGNG
OOP的かどうかはおいといて、
ユーティリティクラスを作って static メソッドにするのは正しい。

ただし java 的には ChangeToZenkaku という名前は
・changeToZenkaku
・toZenkaku
あたりにした方がいいな。
0791デフォルトの名無しさんNGNG
すいません。antの質問もよろしいでしょうか?
もしまずいようならば適切なスレを教えて頂けると嬉しいです。

antでbuildに挑戦中なんですがjspcの部分でエラーが出ます。
jspc:
[mkdir] Created dir: D:\Office\test\work\war
[unwar] Expanding: D:\Apache Tomcat 4.0\webapps\test.war into D:\Office\test\work\war
[mkdir] Created dir: D:\Office\test\work\jsp
[jspc] Compiling 19 source filesD:\Office\test\work\jsp
[jasperc] java.lang.NoClassDefFoundError: org/apache/jasper/JspC
[jasperc] Exception in thread "main"

パスの設定のようだと言う事までは色々と調べてわかったのですが
classpathの設定は以下のようになっています。なにか間違いはあるのでしょうか?

D:\>set classpath
CLASSPATH=C:\j2sdk1.4.0\jre\lib;D:\j2sdk1.4.0\lib;D:\j2sdk1.4.0\lib\tools.jar;D:\Apache Tomcat 4.0\common\lib\servlet.jar;

tools.jarにパスが通っていないのが原因なのかもという推測のもとなんですが。。。。
j2se1.4 + Tomcat 4.0 + Ant 1.5な環境で、WinXP使っています。
0792785NGNG
>>789>>790

zenkakuは外部から参照する必要のない定数なので、staticをつけずにfinal privateだけにしました。

ですが、ChangeToZenkaku(綴り間違った。。>>785 ではチャゲToZenkakuになってます(汗))メソッドは
staticにした方が確かに便利ですよね。

でもChangeToZenkakuだけstaticにしてしまうと、非スタティックな変数zenkakuを参照できなくなるので、必然的にzenkakuも
staticにするしかなくなるわけで。。。
つまりメソッドも変数もstaticにする、ということでいいんでしょうか???

それに加えて、オーバーライドされないようにメソッドにfinalをつけるべきなんでしょうが、、、それ以前にクラスに
final修飾子をつけるべきでしょうか??

OOPを私もまだまだ理解していません。。。どなたかご教授下さい。。



>ただし java 的には ChangeToZenkaku という名前は
>・changeToZenkaku
>・toZenkaku
>あたりにした方がいいな。

メソッド名の最初は小文字が推奨されているんでしたね(お恥ずかしい)。
toZenkakuで良かったですね。無駄に長いメソッド名でした。。
0793789NGNG
>>792
zenkaku に関してはstatic final private にすれば大丈夫だと思います。
final 修飾子はどうなんでしょうね。
先の例でいえば負号も全角「−」でしたい、なんて拡張も考えられないことも
ないし厳格に final にすることもないかなーと思いますけど。
0794789NGNG
>>785 のソースの int を String に String を int にってとこが解せなかったので
こんな感じにしてみました。

class ZenkakuUtillity {
 static final private char[] zenkaku = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
 static public String intToZenkaku(int integer) {
  int place, x;
  if (integer < 0) // いまんとこ負号は考えないー
   integer *= -1;
  for (x = integer, place = 1; x > 9; place++, x /= 10); // 桁数を計算
  char[] result = new char[place];
  for (int i = place - 1; i >= 0; i--) {
   result[i] = zenkaku[integer % 10];
   integer /= 10;
  }
  return new String(result);
 }
}
0795デフォルトの名無しさんNGNG
>>784
try {
 Connection conn = xxx.getConnection();
 try {
  connに対する処理(conn); //ここで例外Aが発生する
 } finally {
  conn.close(); //ここで例外Bが発生する。
 }
} catch (XxxException e) { //catch 出来るのは例外B
}

好き嫌いの問題じゃなく、それだとダメな事もあるので。
0796デフォルトの名無しさんNGNG
なんかこうすごいマイナーで誰も手をつけてないようなJavaの技術ってない?
んで、それに関するHP立ち上げたいの
0797デフォルトの名無しさんNGNG
jspで、チェックボックス、ラジオボタン等の値を
取得するにはどのようにしたらよいでしょうか?
0798デフォルトの名無しさんNGNG
チェックボックス
<input type="checkbox" name="fluit" value="apple">りんご
<input type="checkbox" name="fluit" value="banana">ばなな
<input type="checkbox" name="fluit" value="lemon">レモン

値の取得
String[] fluits = request.getParameterValues("fluit");
0799デフォルトの名無しさんNGNG
ファイルから1行ずつ読み取る方法を教えてください
0800デフォルトの名無しさんNGNG
Calendar クラスを使って、
二つのインスタンスの日付差分を正確に出すには、どんなやり方がお勧めですか?
1932/4/3 は 1975/2/1 の何日後か。
YEAR と DAY_OF_WEEK を組み合わせる以外ないでしょうか?
0801デフォルトの名無しさんNGNG
? 間違えました、DAY_OF_YEAR です。。
0802デフォルトの名無しさんNGNG
>>800
(cal1.getTimeInMillis() - cal2.getTimeInMillis())/(24*60*60*1000)
0803デフォルトの名無しさんNGNG
>>794
Cぽくやるとこんな感じ。

public static final String toZenkaku(String sTarget)
{
if(b_fast_mode_ok){//クラス内のstatic初期化ブロックで前提条件をチェックする
char[] cResult = sTarget.toCharArray();
int iLength = cResult.length;
int iDistance = '0'-'0';
for(int i=0;i<iLength;i++){
char tmp = cResult[i];
if(tmp >= '0' || tmp <= '9'){//前提条件1
cResult[i] += iDistance;//前提条件2
}
}
return new String(cResult);
}
else{//前提条件がつかえない環境の時... }
}
0804803NGNG
if(tmp >= '0' && tmp <= '9'){
だな
0805_NGNG
http://homepage.mac.com/hiroyuki44/
0806デフォルトの名無しさんNGNG
あのう
JAVA3Dの話なんですが
直線を回転させたいのです。
直方体を回転させるサンプルプログラムを元に
やっているのですがさっぱり動く気配がありません。

public BranchGroup createSceneGraph(){
BranchGroup objRoot = new BranchGroup();

objTrans = new TransformGroup();
  objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
    objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objRoot.addChild(objTrans);
objTrans.addChild(createLight());

Point3d[] vertex = new Point3d[2];
vertex[0] = new Point3d(0, 0, 0);
vertex[1] = new Point3d(1, 1, 1);
objTrans.addChild(Point3d[]);←ここがやヴぁいっぽい
objRoot.compile();

return objRoot;
}
これじゃダメっすか?
08071/2NGNG
// 改行大杉になるのでコメント省いた
public class Conv {
 private int searchBegin;
 private int searchEnd;
 private int plusCode;
 public static final Conv TO_FULL = new Conv(0x21, 0x7e, 0xfee0);
 public static final Conv TO_HALF = new Conv(0xff01, 0xff5e, -0xfee0);
 public static final Conv TO_FULL_ONLYNUM = new Conv(0x30, 0x39, 0xfee0);
 public static final Conv TO_HALF_ONLYNUM = new Conv(0xff10, 0xff19, -0xfee0);

 private Conv() {}

 private Conv(int begin, int end, int plus) {
  searchBegin = begin;
  searchEnd= end;
  plusCode= plus;
 }
08082/2NGNG

 public static String convertStr(String str, Conv kind) {
  if ((str == null) || (kind == null)) return null;

  StringBuffer buf = new StringBuffer();
  for (int i=0; i<str.length(); ++i) {
   int code = str.charAt(i);
   if ((code >= kind.getBegin()) && (code <= kind.getEnd())) {
    buf.append((char)(code + kind.getPlusCode()));
   } else {
    buf.append((char)code);
   }
  }
  return buf.toString();
 }

 int getBegin() {
  return searchBegin;
 }

 int getEnd() {
  return searchEnd;
 }

 int getPlusCode() {
  return plusCode;
 }
}
0809名無しNGNG
>>806
>objTrans.addChild(Point3d[]);←ここがやヴぁいっぽい
objTrans.addChild(vertex);
0810806NGNG
test.java:27: javax.media.j3d.Group の addChild(javax.media.j3d.Node) は (javax.
vecmath.Point3d[]) に適用できません。
objTrans.addChild(vertex);
ってエラーがでます

public class test extends Applet implements KeyListener{
public TransformGroup objTrans;

public BranchGroup createSceneGraph(){
BranchGroup objRoot = new BranchGroup();

objTrans = new TransformGroup();
objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objRoot.addChild(objTrans);
objTrans.addChild(createLight());

Point3d[] vertex = new Point3d[2];
vertex[0] = new Point3d(0, 0, 0);
vertex[1] = new Point3d(1, 1, 1);

objTrans.addChild(vertex);
objRoot.compile();

return objRoot;
}

0811806NGNG
private Light createLight(){
DirectionalLight light = new DirectionalLight( true,
new Color3f(0.0f, 0.0f, 1.0f),
new Vector3f(0.0f, 0.0f, -1.0f));
light.setInfluencingBounds(new BoundingSphere(new Point3d(), 100.0));
uviverse.addBranchGraph(scene);
}

public void keyTyped( KeyEvent evt ) {
Transform3D rotation = new Transform3D();
rotation.rotZ( Math.PI/6.0 );
Transform3D original = new Transform3D();
objTrans.getTransform( original );
rotation.mul( original );
objTrans.setTransform( rotation );
}

public static void main(String[] args) {
new MainFrame(new test(), 256, 256);
}
}
0812デフォルトの名無しさんNGNG
publicでstaticなメソッドやフィールドは
newしなくても参照できるんですよね?

これって内部的にnewしてるんでしょうか?

複数回 public staticなフィールド等を参照するときは
newしておいたがレスポンス的には良いとかいうようなことって
ありますか?
0813デフォルトの名無しさんNGNG
ビット演算とはどのようなときに使うと有効ですか?
いまいち使い道がわかりません
0814デフォルトの名無しさんNGNG
>>812
newしてないしょ。クラスファイルを参照してるだけじゃない?
インスタンスからクラスフィールドにはアクセスできないからnewしようが関係ないと思われ。
0815デフォルトの名無しさんNGNG
アプレットで出来る面白いゲームってどんなのが考えられますか?
最初マリオみたいのを作ろうとしたんだけど、限界を感じました。
0816デフォルトの名無しさんNGNG
いたいけな少女のいけない画像、動画がいっぱい!
無料のムービーを見るだけでも見てみれば?
今日は新作がアップされてるから必見です。
http://www.rolix.net/index2.html
0817806NGNG
>>806=810
何度も言わせんな!
objTrans.addChild(vertex);
がダメなんだよカス
0818デフォルトの名無しさんNGNG
>>813
暗号、符号化かな?(MD5とか)
あとは処理速度早めたり、メモリ節約したいときとか。
0819デフォルトの名無しさんNGNG
new byte[4];
このとき、ヒープ領域に占めるメモリは本当に4バイト(8bit*4)なんですか?
それともbyte型1つに対して、32bitの領域が一つ割り当てられるんでしょうか?
0820デフォルトの名無しさんNGNG
>>819
ヒープ領域を占めるのは 1byte * 4 + オブジェクトヘッダに必要なバイト数
new boolean[8] は 1bit * 8 + オブジェクトヘッダに必要なバイト数
でなくて 1byte * 8 + オブジェクトヘッダに必要なバイト数 になるけど。
0821デフォルトの名無しさんNGNG
先月からjavaの勉強を初めて
買った本の通り一通りアプレットの方をやって
今ウィンドウアプリの勉強をしてるのですが
ウィンドウ内に四角を表示させようと、windowのソースを書いて
アプレットと同じ要領で
public void paint(Graphics g){
  g.drawRect(1,1,180,180);
}
の一文を加えたのですが全然出てきません
本の方を読んでみたのですがアプレットメインの本のためか
ウィンドウアプリについてはちょこっとしか触れて無くて書いてませんでした
やはりjavaアプリでは使う命令が違うのでしょうか?
その場合何という命令を勉強すべきなのでしょうか?
0822デフォルトの名無しさんNGNG
>>821
「全然出てきません」の内容を30倍くらい詳しく書いてから出直してこい。
とりあえず直感で答えると、WindowかFrameオブジェクトのsetVisible(true)を
読んでないから、かも。
0823デフォルトの名無しさんNGNG
線分を何千何万と表示させたいのですが
エラーが出て長すぎ?多すぎ?みたいなこと言われます。
どうすればいいでしょうか?
考え方?ヒントを教えてください
0824デフォルトの名無しさんNGNG
>>812
staticが何なのか、根本的に分かってないだろ
ググれ
http://www.google.co.jp/search?hl=ja&ie=Shift_JIS&q=Java+static&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
0825821NGNG
すいません、激しく説明足りませんでした
コンパイルは通って実行も出来、ウィンドウは表示されるのですが
四角の図形だけが出てきません
setVisible(true)は多分問題ないと思うのですが…
やはり別の本買ってくるべきでしょうか(´・ω・`)
0826デフォルトの名無しさんNGNG
>>825
だから説明不足なんだって┐(´д`)┌
setBackgroundなんかで塗りつぶしてんじゃないの?
0827デフォルトの名無しさんNGNG
>>825
質問ってのは、>>826が言う例のように、たいてい質問者本人が勘違いしてるわけ
つまり問題点は、質問者が「間違ってない」と思い込んでる所にある
だからそんな説明いくらした所で、なかなか解決には結びつかん

ストレートに言うとだな。四の五の言わずにソース貼れ
0828819NGNG
>>820
boolean型であろうと、byte型であろうと
メモリはバイト単位で確保されるわけですね。
ありがとうございました。
0829デフォルトの名無しさんNGNG
>>828
820ではないが、それは違うと思う。
new double[8]やlong[8]は2byte使うから2×8+(メモリ管理に必要なヘッダ領域)のはず
booleanは例外。(というか仕様に明確に書いていなければ、VM依存の可能性もあるな)

ところでメモリをどれだけ食うかがそこまでシビアに必要になる場面ってあるの?
0830デフォルトの名無しさんNGNG
>>829
Docomoのiアプリとか
0831デフォルトの名無しさんNGNG
>>830
なるほど。確かに
0832デフォルトの名無しさんNGNG
javaでタイピングソフト作ってるんだけど、
「し」とかの場合siでもshiでもいけるようにしたいです。
今は文字列からcharAtで文字を取ってきてそれを打った文字とを比較しているのですが。
どうしたらよいでしょうか?
なにかヒントをください。
0833デフォルトの名無しさんNGNG
>>832
スレ違い。オートマトンで調べてみそ
0834デフォルトの名無しさんNGNG
>>829
long,doubleは64bitsの8バイトじゃなかったっけ?
だからnew double[4]は8×4の32byteっしょ。
0835デフォルトの名無しさんNGNG
スクロールバーから取得した値をrotationの角度に入れたいのですが
scrollbar.addAdjustmentListener( new AdjustmentListener() {
public void adjustmentValueChanged(AdjustmentEvent e) {
float value = (float)e.getValue();
rotation.rotX(value);                  ←←←
textField.setText( Float.toString(value) );
}
});

public void keyPressed( KeyEvent evt ) {
Transform3D rotation = new Transform3D();
rotation.rotX( value );
Transform3D original = new Transform3D();
objTrans.getTransform( original );
rotation.mul( original );
objTrans.setTransform( rotation );
}
←の部分のやり方ではダメなのでしょうか?
0836デフォルトの名無しさんNGNG
>>821
Appletにmain(String args[])がないのは知ってますか?
とりあえず下に記述したものをコンパイルして実行するとうまくいきます。

import java.awt.*;

class Test extends Frame{
Test(){
setSize(400,400);
setVisible(true);
}
public void paint(Graphics g){
g.drawRect(20,40,180,180);
}
public static void main(String args[]){
new Test();
}
}

これでなぜ動くのか?自分で勉強しましょう!!!
0837デフォルトの名無しさんNGNG
>>834
ナチュラルにボケてた。すまん
0838デフォルトの名無しさんNGNG
>>835
rotation.rotX(value);  ←←←が作用しないと言うことですか?それともエラーがでる?
public void keyPressed( KeyEvent evt ) {
Transform3D rotation = new Transform3D();
rotation.rotX( value );  //ここは作用するのでしょうか?
なにがどうダメなのかよくわかりません???
PS
Transform3Dを探すのに苦労しました。今まで一度も使ったことがありませんが(なのであまり信用しないで!)
public void rotX(double angle)となっています。引数がdouble型ですが、自動で格上げ
されるので問題ないと思います。
0839デフォルトの名無しさんNGNG
>>835
ソースコードは問題ないが、まず間違いなくあなたが思ったとおりには動かないはず。
rorXは角度を指定しなければいけないはずなのに、getValueの戻り値をそのまま使っているのが問題
0840デフォルトの名無しさんNGNG
>>838
>Transform3Dを探すのに苦労しました。今まで一度も使ったことがありませんが(なのであまり信用しないで!)
google検索のトップにきていますが何か?
0841835NGNG
返信ありがとうございます。
C言語は少しかじったのですがJavaは最近始めたばかりでいろいろ戸惑い試行錯誤しています。

>>838
rotation.rotX(value);
の行すべてにシンボルを解決できません。というエラーがでます。

>>839
rotation.rotX(Math.PI/value);
にしてもエラーがでます。
間違っているのでしょうか・・・

質問ばかりですいません。
0842デフォルトの名無しさんNGNG
>>841
シンボルが解釈できません。とは変数rotationが見えていないという意味です。
Transform3D rotation = new Transform3D();を
グローバル変数で宣言します。書き方は
Transform3D rotation;
rotation = new Transform3D();
と書きます。
0843デフォルトの名無しさんNGNG
★オナニー共和国です★ ★貴方の見たい娘がイッパイ(^0^)★無修正★クリック一発モロ画像★
http://endou.kir.jp/akira/linkvp.html
0844デフォルトの名無しさんNGNG
>>807-808
いいね。
0845デフォルトの名無しさんNGNG
>>841
すべての行にでる!パッケージをインポートできていない可能性もあります。
0846デフォルトの名無しさんNGNG
class Test5 {
static /*final*/ int num;
Test5(int num) {
this.num = num;
}
int getNum() {
return this.num;
}
}
2行目のfinalのコメントを外すとコンパイルできなくなります。
なんていうかfinalなstatic変数使いたいんですけど
どうすればいいのですか?
環境変数とか起動がとにかく超重いオブジェクトとかを複数のインスタンスで
同じのを使いたいですが。。わかりますか?
0847デフォルトの名無しさんNGNG
>>846
コンストラクタで定数に代入しようとしている…。
0848デフォルトの名無しさんNGNG
>>846
君は本物のバカだな。
いやー夏ですね

this.num ←これ、ひょっとしてstatic変数指してるつもり?
0849デフォルトの名無しさんNGNG
>>848
>this.num ←これ、ひょっとしてstatic変数指してるつもり?
ビンゴ!補完力抜群だね。いいSEになれるよ。
this.numをTest5.numに書き直しました。
final 変数 num に値を代入することはできません。
て出る。。。
コンストラクタで一回だけ設定したら
後は定数として使いたいんですけど。
一応、俺のJava歴は言う必要ないと感じている。
0850デフォルトの名無しさんNGNG
やるならこうだ。

class Test5 {
final int num;
Test5(int num) {
this.num = num;
}
int getNum() {
return this.num;
}
}
0851デフォルトの名無しさんNGNG
class Test5 {
final int num;
Test5(int num) {
this.num = num;
}
int getNum() {
return this.num;
}
}
0852デフォルトの名無しさんNGNG
class Test5 {
                    final int num;
                    Test5(int num) {
                                        this.num = num;
                    }
                    int getNum() {
                                        return this.num;
                    }
}
0853デフォルトの名無しさんNGNG
すげっ。ケコーンするか?
0854デフォルトの名無しさんNGNG
final変数は一度値を入れると変更できません。
static final int num;
だとnumにデフォルト初期値0が入り変更ができません。
デフォルト初期値はコンパイルのときに設定されるので、プログラムが
動作する前にすでに決まっていて、変更はできません。
---------------------------------------------------------
static変数はstaticメソッドからしかアクセスできません。
コンストラクタはstatic修飾子がつけられません。
でも非staticコンストラクタからstatic変数へのアクセスではコンパイルエラーがなぜかでまん。
そのまま無視されます。
-------------------------------------------------------------------
>>849
まさかわかってわざと書いた???
それとも単なる「へぼ」か???
>>一応、俺のJava歴は言う必要ないと感じている。
ぜひ聞きたいですね!!!!
0855デフォルトの名無しさんNGNG
>>854
>ぜひ聞きたいですね!!!!
8年半。
0856デフォルトの名無しさんNGNG
>>854
>ぜひ聞きたいですね!!!!
10分。
0857デフォルトの名無しさんNGNG
java一番乗りですか???
でもそこまでスキルがあれば同期(synchronized)で発生する
デットロックでなぜかとまってしまいますとかの質問とかを聞けばいいのに???
たぶんここの人たちオタクが多いから答えてくれると思うよ。
ちなみに私は3年半でつ・・・
0858デフォルトの名無しさんNGNG
>>857
>ちなみに私は3年半でつ・・・

まぁ、そんなもんか。お痛派ほどほどにしとけよ。
0859デフォルトの名無しさんNGNG
あるデータ型を自作するときclone()メソッドはどのようにオーバーライドすればよいでしょうか?
各フィールドの参照型に対してはすべてclone()メソッドを適用すべきでしょうか?
String型はclone()を使わずとも=を用いるだけで大丈夫だそうですが、
それはどうやって判断すればいいでしょうか?

0860デフォルトの名無しさんNGNG
一件落着したところ申し訳ないのですが。
final変数って最初に一回だけ設定できるって習ったんだけど
違うわけ?
#define とか const みたいな感じ?

「コンストラクタで一回だけ設定したら
後は定数として使いたいんですけど」を実現するには
コンストラクタで一回だけ設定して
後は絶対変更しないように気をつけて作る
ということ?
0861835NGNG
>>842
おおおおお
できました!
ありがとうございます
0862デフォルトの名無しさんNGNG
>>860
なぁ、値の設定はコンストラクタでやってその変数に対してセッタを提供しなけりゃ良いんでは?
0863デフォルトの名無しさんNGNG
>>860
>>807-808がそれをやっているんだが
このスレすら読めない君は一生その程度なんだろうね
0864デフォルトの名無しさんNGNG
>>863
三年半必死だな。
0865デフォルトの名無しさんNGNG
>>860
>final変数って最初に一回だけ設定できるって習ったんだけど
>違うわけ?

あってる。
ただし static の場合はクラスが読み込まれたとき (=コンストラクタが呼ばれる前) に
初期化してやらないといけない。

だから値を設定するには宣言と同時にするか
static initializer (static{} ブロック) で初期化してやればよい。

>>849
>コンストラクタで一回だけ設定したら
>後は定数として使いたいんですけど。

上記の理由で、コンストラクタで設定することはできない。
0866デフォルトの名無しさんNGNG
>>846==>>860だよね?
final変数はconstと同じ。
#defineはコンパイル時に決まるが(というか置き換えられる)、
finalは実行直前,または実行時に決まる。
コンストラクで一回〜の答えは>>862だね。
0867デフォルトの名無しさんNGNG
>>864
三行半必死だな。
0868865NGNG
だから static にこだわるとしたら

class Test5 {
  static final int num;
  static {
    num = 5;
  }
  int getNum() { // static int getNum() でもよい
    return Test5.num;
  }
}
0869デフォルトの名無しさんNGNG
>>868
それは質問者の
>コンストラクタで一回だけ設定したら
>後は定数として使いたいんですけど。
の部分がごっそり無視されてるぞ。
0870デフォルトの名無しさんNGNG
public class Hoge {
private static int foo;

public Hoge(...) {
...
if (foo != 0) {
foo = zzz;
}
}

public static int getFoo() {
return foo;
}
}
0871デフォルトの名無しさんNGNG
>>869

865と合わせて読んでくれよ。
コンストラクタで static final な変数の設定はできないって書いてあるだろ。
だから static にこだわるとしたら 868 にするしかないって書いただけだ。
0872デフォルトの名無しさんNGNG
if (foo == 0) {
foo = zzz;
}
だね。0の部分には「設定されていない」という意味を込めて0ね。
0873869NGNG
>>871
OK。ワカタ。
static final変数の初期化に複雑な処理が必要な場合、
staticブロックがあるよ。
って質問者に言いたかったわけね。
0874デフォルトの名無しさんNGNG
>>873
呼び名はstaticブロックではありません。
staticイニシャライザです。
0875デフォルトの名無しさんNGNG
>>874
あっ、そうなんだ。何の違和感もなくブロックって呼んでたよ。
0876デフォルトの名無しさんNGNG
>>875
オタクの話に付き合う必要はない
そんなもんどっちだってかまわん
大体そういうやつは
HPって言う言葉にもイチャモンをつけるやつらだからな
0877デフォルトの名無しさんNGNG
>>876
その辺は分かってますがな、知識として持っておいて
これからもstaticブロックって言うでしょう。普通に通じますし。
ちなみにHPと言えば俺はホームページですが、
ここの板の人はhpが多いかな。ヒットポイントはゲーム板?w
0878デフォルトの名無しさんNGNG
>>859

私なら clone は使わない。
今あるオブジェクトと同じ*オブジェクトをもう1つ作りたいなら、
コピーコンストラクタを書く。

どうしても clone したいなら、EffectiveJava という本の
「項目10 clone を注意してオーバーライドする」という記事を
理解してからに汁。

(*「同じ」ってのも、あれだな。どれくらい同じか、っていう程度問題だな。)
0879デフォルトの名無しさんNGNG
いやそうではなくて、
「Web」あるいは「Webページ」と呼べ!
と、言うだろうそういうやつらは
0880874NGNG
WebとWebページはちげえよハゲ
0881デフォルトの名無しさんNGNG
肉じゃがは関東と関西で肉が違うよハゲ
0882デフォルトの名無しさんNGNG
そうそう!
上京して知ったんだけど、
こっちでの肉うどんとか肉そばの肉って豚肉なのよね。
地元だと牛肉なのよ。
この差はおおきいわよ
0883デフォルトの名無しさんNGNG
関西と関東ではエスカレータの並ぶ側が違うのは有名なことだが、
関東は左側で日本の交通ルールと同じ、
関西は右側で、こっちがよりグローバルだといえる。
関西では万博が開かれたのが影響したらしい。
0884 NGNG
>>878

正確な型がわからないけど clone したいってときも、
コピーコンストラクタでOKですか?
0885デフォルトの名無しさんNGNG
>>883
関東は英国式
0886878NGNG
>>884

OKOK。大丈夫。心配ない。



イジワル。(T_T)
0887デフォルトの名無しさんNGNG
>>884
「正確な型」が若干意味不明だけど、
cloneメソッドは普通はそのクラスと同じ型のインスタンスを返すものですよ。
ちなみにコピーコンストラクタ使うならば、型は必然的に決まります。
継承云々なら、キャストすればいい話だと思いますし。

>>885
スレ違いで非常に申し訳ないが、その英国式になった理由分かります?
豆知識として知っておきたいです。
0888デフォルトの名無しさんNGNG
>>887
刀を差している侍同士がすれ違ったときに刀をぶつけないように。
0889デフォルトの名無しさんNGNG
>>888
大正解
0890デフォルトの名無しさんNGNG
>>859
>String型はclone()を使わずとも=を用いるだけで大丈夫だそうですが、
>それはどうやって判断すればいいでしょうか?

StringはImmutable(オブジェクト構築後、値を変更できない)だから。
0891デフォルトの名無しさんNGNG
>>890

意味わからんな。
0892デフォルトの名無しさんNGNG
>>891
わかりやすいようにどうぞ
0893891NGNG
>>859
>String型はclone()を使わずとも=を用いるだけで大丈夫だそうですが、
>それはどうやって判断すればいいでしょうか?

どんなインスタンスだって、代入演算子 = を使って、あるインスタンスへの
参照を別な変数に代入できる。

これは、java.lang.String 型に限ったことではない、と思うが。

私の「大丈夫」の意味の捉え方が、間違ってるのかな。
0894890NGNG
あらら、拍子抜け

>>893
>私の「大丈夫」の意味の捉え方が、間違ってるのかな。

はい。

>>String型はclone()を使わずとも=を用いるだけで大丈夫だそうですが、

は、多分「Stringは例えば b = a.clone();の代わりに b = a; としても問題ない」という意味。
Stringはclone()を使わなくても参照のコピーだけでclone()と同じ効果が得られる。
これは何故かというとStringがImmutable(不変)だから。(clone()の実装が { return this; }でも良い)
ImmutableなオブジェクトであればStringに限らず同じことが言える。

このようなクラスは例えばIntegerやLongなどのプリミティブ型のラッパークラスとか。
逆に、自分で作ったクラスをImmutableにすれば、clone()を実装する必要は無い。
or実装しても return this; だけで良い。

ここで聞くより「java イミュータブル」でぐぐれば浅海さんの解説が見つかるよ
0895デフォルトの名無しさんNGNG
つまり変更できないオブジェクトってのは見ることしかできないわけだから
コピーがいくつあったとしてもまったく区別できないわけで、
(b = a.clone() とした b がその後の操作で !b.equals(a) になることはありえない)
それだったら実体をコピーせずにおんなじものを見てれば問題ないわけだ。
0896デフォルトの名無しさんNGNG
>849
バカだね。

インスタンスが1つしかつくられないなら、それでもいいが、
2つ目のインスタンスが作られたとき、
static finalな変数numに再び代入されてしまうぞ。

コンパイラがそれを見逃すわけないだぞ。
0897デフォルトの名無しさんNGNG
>896
それは static 変数の話でコンパイラが見逃していないのは final 宣言
されてることだろ。
0898デフォルトの名無しさんNGNG
JAVA3Dで外部ファイルから座標データを読み込みたいのですがさっぱり分かりません。

Point3d[] vertices = new Point3d[100];
vertices[0] =new Point3d(x1, y1, z1);
vertices[1] =new Point3d(x2, y2, z2);

x1,y1,z1にデータの数値を入れたいです。
googleで調べてみたのですがセキュリティの関係でできないと書いてあるのを1つ見つけましたが
本当でしょうか?
0899デフォルトの名無しさんNGNG
replaceAll で "+"記号を置換したいのですが、
"\+"と書くと、"エスケープ文字が不正です"でコンパイルエラーになってしまうのですが
賢明なみなさまはこういうときどうするのでしょうか。
0900デフォルトの名無しさんNGNG
あーわかったかもです・・めんどくさ・・
0901てすてNGNG
\\

アホ必死だな(藁
0902デフォルトの名無しさんNGNG
interface Itest{
    void test();
}

class hoge implements Itest {
    void test(){
        System.out.println("TEST");
    }
    
}

このときコンパイルエラー

Itest から継承されたメソッドの表示レベルを下げることはできません。

が出ますが、エラーメッセージの意味がわかりません。おせえて
0903デフォルトの名無しさんNGNG
Random rand = new Random();
rand.nextInt() & 0x3f;

↑で乱数の値は0〜1023までになってるでしょうか?
初心者ですいません。おしえて下さい
0904てふてふなんでつが○三(゜Д゜) ◆1xsES22i66 NGNG
>>903
rand.nextInt(1024)

とか、

rand.nextInt() % 1024

とかじゃだめ?
0905デフォルトの名無しさんNGNG
いいんですが903のやつでできると
言いはってる知り合いがいるので知りたいんです。
0906てふてふなんでつが○三(゜Д゜) ◆1xsES22i66 NGNG
intの範囲全部が対象になるみたいでつね。

まぁ、丸められるんだとは思いまつが、負の値の時とかの処理がアレなので、一定の分布となるかは疑問。

頼れる兄貴の回答を待って下さいでつ。
0907てふてふなんでつが○三(゜Д゜) ◆1xsES22i66 NGNG
ああああああああああああああああああああああああああああああああああああああああああああああああ
0908デフォルトの名無しさんNGNG
>>902
インターフェースのメソッドは
何も書いてなくてもpublic abstractがついてると思ってください
(いや、実際ついているんですが書かなくてもOK)

public > package > protected > private
なのでpublicより上の広い修飾がないので
実質、public以外書くとエラーになる

あなたが書いたclass hogeのtest()はスコープがpackageなのです
なので
public void test(){・・・・・}
と書いてください



0909デフォルトの名無しさんNGNG
了解。
てふてふんありがとうでつた
0910デフォルトの名無しさんNGNG
禿げっ
0911デフォルトの名無しさんNGNG
>>903
実際に試していないけど、それじゃ全然なってない。
0〜63になる気がする。
0912デフォルトの名無しさんNGNG
>>908
> public > package > protected > private
public, protected, 無指定(package private), private
どーせ書くなら正確に。
0913デフォルトの名無しさんNGNG
おいおい0x3FFだろ。
0914デフォルトの名無しさんNGNG
>>903
& 0x3ff の間違い?
0915デフォルトの名無しさんNGNG
あ、そう。03FFです。
すんません。出る確率って一様に同じと言えますか?
0916デフォルトの名無しさんNGNG
0x3FF です。ほんとスンマソ
0917デフォルトの名無しさんNGNG
>>915
>出る確率って一様に同じと言えますか?
気持ちわかる。要するに両端部分の数字のことを言ってるんだろ?
(この場合0が選ばれる確立が他よりも若干少ないかも・・・)
俺も昔悩んだけどね
0918デフォルトの名無しさんNGNG
あれ?1023かな?まあいいや
0919デフォルトの名無しさんNGNG
>>898
できない
0920JGreenerNGNG
すいません、>>97なんですが未だに解決してません(汗
>111がおっしゃるように、ブロックしてしまってどうしようもないのでしょうか。
お知恵を拝借させてください。
0921デフォルトの名無しさんNGNG
>>920
で、たとえばスレッド使ったり試してみたの?
0922JGreenerNGNG
>>921
スレッドを使うというと?
0923デフォルトの名無しさんNGNG
質問なんですが
PrintWriterなどのストリームと最終的な出力の間で
どんな値がやり取りされているのか見たい&データ加工したいのですが
どうすればいいでしょうか?

たとえば、PrintWriter outって言うのがあって
最終的な出力先は標準出力だとします

out→<見たい&データ加工>→標準出力

って言うのがやりたいのです
で、Pipeストリームが使えるんじゃないかと思いましたが
このやり方だとどっからかInputのストーリームを持ってこなければいけないので
出来ないのです。
つまり上の例で言うと
↓のような位置にPipeストリームを持ってこないといけないということです
in→Pipe→out→<見たい&データ加工>→標準出力
コレじゃ意味ないのです

で、今しかたなくやってるのは
out→<一時ファイル書き出し>→<一時ファイル読み込み>→<見たい&データ加工>→標準出力
っていう、やり方です。あきらかにまずいです。

outストリームの内容をキャッチできるようなものないでしょうか?
0924デフォルトの名無しさんNGNG
>>920
つまりね、>>111が言うように
I/Oやってる間は他のことが出来ないんだよ
だから、読み込み終わるまでその処理にプログラムは専念する

でちょっと話は変わるが、>>97のやりたいことは読み込みながら随時処理したいってことだと思うけど
相手が、XMLファイルって言うのが厄介だな
DOMなら完全に無理だろうし、
SAXならどうなるのかわからないよ
0925JGreenerNGNG
>>924
SAXはタグのイベントを取っているだけなので、逐次処理でもできる気がするんですが・・・。
ちなみにSAXのかわりに自分で簡単に組んだ方では、逐次処理できました。
以下のような感じです。

Process proc = Runtime.getRuntime().exec( "hoge" );
InputStreamReader reader = new InputStreamReader( proc.getInputStream() );
BufferedStreamReader buf = new BufferedStreamReader( reader );

これでbufを逐次処理でデータをとることができました。

PAXでも同様にできないでしょうか。
0926デフォルトの名無しさんNGNG
>>925
まず、SAXつかってXML的な処理をしたいって言うのは
間違いないよね?
だったら、
>DOMなら完全に無理だろうし、
>SAXならどうなるのかわからないよ
っていうこと
だってさ、途中まで読み込んだXMLっていうのは
終タグのないXML、つまりXML文書としては不完全な形だよね?
SAXが不完全な状態のXMLファイルを読み込んだ場合
どうなるのかな?俺は試してないけど・・・
もしこれで、ずーっと止まったままあるいはエラーになれば
いくらタグイベントで処理するSAXでも無理ってことになる
ためしに、途中まで書いたXMLファイル作ってみてそれでやってみれば?

自作の方はただ単に読みこんでるだけだからOK

0927デフォルトの名無しさんNGNG
>>898
Appletじゃなければ、普通にローカルファイルから座標データを読み取ればいいのでは?
Appletなら、Appletと同じディレクトリに座標データファイルを置いて、
getClass().getResourceAsStream("データファイル")でストリームを
取ってこれなかったっけ?
0928デフォルトの名無しさんNGNG
torqueの質問はここでいいですか?
0929デフォルトの名無しさんNGNG
>>928
なんなら、こちらで話を聞きますよ
Java⇔RDBのMapping-Frameworkを語るスレ
http://pc2.2ch.net/test/read.cgi/tech/1049030272/

0930デフォルトの名無しさんNGNG
JTableのセルの中身を外から書き換えるのはどうすればできますか?
0931デフォルトの名無しさんNGNG
>>929 ありがとうございます。
0932デフォルトの名無しさんNGNG
>>930
外からっていうのは直接書き込むのではなく
他から値をぶっこむって言うこと?
もしそれで解釈あってるとしたら
俺以前にやったような・・・ちょっと探してきます・・・
0933930NGNG
>>932
言葉足らずでスマソです。TextFieldの様に、実行してからそれを編集できないかということです。
0934デフォルトの名無しさんNGNG
>>933
それなら、普通に出来るよ
まだ、プログラム組んでないのなら
とりあえず組んでみてわからなかったらまた聞いて
0935930NGNG
>>934
いや、今実際に組んでみて試しに書き換えてみて、
外面的には書き換わっているんですが、
そのあとで中から読んで表示させてみると、
書き換える前のデータなんです。
0936デフォルトの名無しさんNGNG
>>935
>そのあとで中から読んで表示させてみると、書き換える前のデータなんです

なんとなく言ってる事わかりますが、もうチョイ詳しく

「そのあとで」・・・いちど非表示にしたあと?
「中」・・・中とはどこのこと?
「表示」・・・どういう風に表示?

それから書き込んだデータは一度どこかに保存しないと消えます
保存って言うのは、クラスのフィールドとかに保持しておくって言うことですが
どうでしょうか?
0937デフォルトの名無しさんNGNG
私は930ではないですが、

TableModelListener を実装したクラスで、
テーブルへの変更の通知を受け取って、
どこがどう変更されたかを調べて、それをどっかに
保存しておけ、っていうことでしょうか。
0938930NGNG
>>936
たびたびどうもすいませんです。。。

アプリケーションの流れ上入力した後ボタンを押すとセルの内容を表示させるようになってます。
System.outで表示させてるので編集に使っているeclipseのコンソールウィンドウに表示がでます。
0939デフォルトの名無しさんNGNG
//簡単にちょっと作ってみました。入力したあとフォーカスが離れないと反映しないようです
//試してみてください
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class TableTest {

public static void main(String[] args) {
JFrame f = new JFrame();
final DefaultTableModel m = new DefaultTableModel();
JTable t = new JTable(m);
m.addColumn("COLUMN1");
m.addColumn("COLUMN2");
String[] data={ "初期値1","初期値2"};
m.addRow(data);
JButton b = new JButton("OK");

b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {System.out.println(m.getValueAt(0,0));}
});
Container c = f.getContentPane();
c.add(t, BorderLayout.CENTER);
c.add(b,BorderLayout.SOUTH);
f.setBounds(100, 100, 300, 300);
f.setVisible(true);}}
0940デフォルトの名無しさんNGNG
いま仕事を引き継いでいるのですが、
protectedなgetter,setterを多用してるソースを眺めてます。
getterとかは、フィールドを隠蔽するために用いると覚えていたので
クラス内のフィールドにアクセスするのに
わざわざgetterを準備するモノなのかと思いました。
確認のためそのgetterの中身などを見ましたが、
単純にフィールドを返すだけのものだけでした。

Javaのスタイルで言うとこれは普通のことなのでしょうか?
それとも趣味の問題なのでしょうか?
私からすると、すごく助長なコードになって嫌すぎです。
0941某”管理”人NGNG
>>940
サブクラスには読み込み専用で・・・とかやりたいならまぁ・・・。
0942930NGNG
>>939

わざわざ作っていただいてありがとうございます。
今試してみました。思うとおりの動きになってます。
助かりました。ありがとうございます!
0943デフォルトの名無しさんNGNG

FilterOutputStream のサブクラスを自作して

pw = new PrintWriter( new MyFilterOutputStream( new FileOutputStream("hoge.txt") ) )

みたいな感じで間にかます。


System.out標準出力にフィルタかましたいのなら
下記のメソッドで
自作のPrintStreamをSystem.outにセットすれ。
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/System.html#setOut(java.io.PrintStream)


0944デフォルトの名無しさんNGNG
>>940
Javaってかオブジェクト指向で言うところの"隠蔽"
ってのは、あくまで外からは隠すってことなので、
普通そんなことしない。
普通にフィールドに直接アクセスするよ。
0945デフォルトの名無しさんNGNG
protectedと修飾無しの違いがいまいちわかりません
protectedは同パッケージまたはそのサブクラス とありますが
”またはそのサブクラス”ってどういういみでしょ?
0946デフォルトの名無しさんNGNG
>>945
そのクラスを継承して作られたクラスのこと
0947デフォルトの名無しさんNGNG
>>945
class A extends B

の関係だったらBはAのサブクラス

ところで、
修飾なしは「同パッケージ内からのアクセスのみ可」
protectedは「そのクラスとそのクラスのサブクラスからのみアクセス可」です
0948デフォルトの名無しさんNGNG
訂正:AはBのサブクラス
0949デフォルトの名無しさんNGNG
ん?
そりはC++では?
Javaのprotectedは同一パッケージ内および派生クラスからアクセス可能でしょ。
0950デフォルトの名無しさんNGNG
>>946
違います。
protectedは修飾子ですからクラスではありません。アクセス権が違うだけです。
protectedは違うパッケージのサブクラスからも呼び出し可能ですが、
修飾無は同じパッケージのサブクラスからしか呼び出せません。
0951デフォルトの名無しさんNGNG
>修飾無は同じパッケージのサブクラスからしか呼び出せません。
???
0952デフォルトの名無しさんNGNG
private => 同一クラス内からアクセス可能
修飾なし => 同一パッケージ内からアクセス可能
protected => 修飾なしの場合に加えて、別パッケージのサブクラスからもアクセス可能
public => どこからでもアクセス可能

C++とは違うんだってば。
0953デフォルトの名無しさんNGNG
クラス内クラスはどうなるの?
0954デフォルトの名無しさんNGNG
なんだか混乱を招いている奴がいるぞ。
0955デフォルトの名無しさんNGNG
>>949

すいませんまとめます

private package protected public
○    ○   ○    ○    同じクラス
     ○   ○    ○    同じパッケージ内のサブクラス
     ○   ○    ○    同じパッケージ内の非サブクラス
         ○    ○    他のパッケージ内のサブクラス
              ○    他のパッケージ内の非サブクラス

ずれてなければいいが・・・
0956デフォルトの名無しさんNGNG
>>950 修飾無は同じパッケージのサブクラスからしか呼び出せません。 ?
0957デフォルトの名無しさんNGNG

>>950 修飾無は同じパッケージのサブクラスからしか呼び出せません。 ??
0958デフォルトの名無しさんNGNG
>>950 修飾無は同じパッケージのサブクラスからしか呼び出せません。
>>950 修飾無は同じパッケージのサブクラスからしか呼び出せません。
>>950 修飾無は同じパッケージのサブクラスからしか呼び出せません。
>>950 修飾無は同じパッケージのサブクラスからしか呼び出せません。
>>950 修飾無は同じパッケージのサブクラスからしか呼び出せません。
>>950 修飾無は同じパッケージのサブクラスからしか呼び出せません。
>>950 修飾無は同じパッケージのサブクラスからしか呼び出せません。
>>950 修飾無は同じパッケージのサブクラスからしか呼び出せません。
0959デフォルトの名無しさんNGNG
○    ○   ○    ○    
      ○   ○    ○    
      ○   ○    ○    
          ○    ○    
               ○    
0960デフォルトの名無しさんNGNG

え〜950も過ぎましたので、恒例のあのコーナー行きたいと思います

【初心者】Java質問・相談スレ28【大歓迎】
ナイスなスレ ノミネート作品(投票結果発表は>>1000あたり)

その1
>>43-49
0961デフォルトの名無しさんNGNG
その2
>>148-149
0962デフォルトの名無しさんNGNG
>>254-256
0963898NGNG
googleで検索してみてファイルから読み込む方法は分かったのですが
どうしても代入できません・・・
どうすればいいのでしょうか

try {
BufferedReader myReader = new BufferedReader(new FileReader("aaa.txt"));
String line;
int i;
Point3d[] vertices = new Point3d[1000];
while ((line = myReader.readLine()) != null) {
for(i = 0; i < 1000; i++){
vertices[i] = ここが分かりません
}
}
myReader.close();
}
0964デフォルトの名無しさんNGNG
コンパイラは何が一番いいですか?
0965デフォルトの名無しさんNGNG
>>964
javac
0966デフォルトの名無しさんNGNG
>>965
まじめに答えろクズ
0967デフォルトの名無しさんNGNG
>>966
どこがふざけてんだよw
0968デフォルトの名無しさんNGNG
アプレットでインターネットランキングに対応させる方法が詳しくのってるサイトってないでつか?
0969デフォルトの名無しさんNGNG
>>966
他のコンパイラあんのかよ。
IBM JDKのコンパイラとsunのjavacぐらいだろ。
あとは自作ってか?
0970てふてふも遊びまつにゃあ!○三(゜Д゜) ◆1xsES22i66 NGNG
>>969
> 他のコンパイラあんのかよ。

  ↓
> IBM
  
0971デフォルトの名無しさんNGNG
>>966は
eclipseとか答えてほしかったんじゃないの?
まあ、正確に言えばあれはコンバイラじゃないけど。
0972デフォルトの名無しさんNGNG
>>970
「IBMコンパイラ」って答えを期待してたのか?
それで、javacと答えられたから「 まじめに答えろクズ 」なわけ?
0973デフォルトの名無しさんNGNG
こんなことで、議論してる俺たちって・・・
0974デフォルトの名無しさんNGNG
964!=966
0975デフォルトの名無しさんNGNG
jikes って答えてほしかったのでは?
0976デフォルトの名無しさんNGNG
>>963
せめてaaa.txtがどのように書いてあるか
教えてくれ
0977デフォルトの名無しさんNGNG
Forte for Java に付いてる fastjavac とか。
ネイティブコードで書かれたコンパイラなり。
バグはjavacより多いらしいが普通に使える。
0978デフォルトの名無しさんNGNG
unko
0979898NGNG
>>976
0.00 0.00 0.00
1.00 1.00 1.00
といった少数の羅列です
0980デフォルトの名無しさんNGNG
あのう
a.javaというファイルから
b.javaの関数を呼び出すにはどうすればいい?
0981デフォルトの名無しさんNGNG
壊滅的にアホですね
0982デフォルトの名無しさんNGNG
【初心者】 Java質問・相談スレ29 【大歓迎】
http://pc2.2ch.net/test/read.cgi/tech/1059654451/
0983デフォルトの名無しさんNGNG
>>979
コンパイルしとらんから違ったらすまん
でも多分こんな感じ
BufferedReader myReader = null;
try{
try {
myReader=new BufferedReader(new FileReader("aaa.txt"));
String line;
int count=0;
Point3d[] vertices = new Point3d[1000];
StringTokenizer st=null;
while ((line = myReader.readLine()) != null) {
if(count==1000)break;
st=new StringTokenizer(line," ");
double[] temp=new double[st.countTokens()];
for(int j=0;st.hasMoreTokens();j++){
temp[j]=Double.parseDouble(st.nextToken());
}
vertices[count]=new Point3d(temp[0],temp[1],temp[2]);
}
}
catch(Exception e){
}
finally{
myReader.close();
}
}catch(Exception e){
}
0984デフォルトの名無しさんNGNG
あっすまん早速countを足し忘れてたw
while文の最後にでも++しといてちょ。
0985980NGNG
>>981
そんなこと言わずに教えてくれよ!
0986デフォルトの名無しさんNGNG
巨乳美女、援交少女が淫らな格好!
無料画像もモロ見えでグー!
これは見るしかない!!
http://www.cappuchinko.com/
0987デフォルトの名無しさんNGNG
http://poponss.tripod.co.jp/casino.html
0988デフォルトの名無しさんNGNG
     ∧_∧
     ( ・∀・ )つ
     ( つ /
     | (⌒)どどど・・・
.       し' 三


       ∧_∧                 
    ⊂( ・∀・ )
.     ヽ ⊂ )
     (⌒) |どどどどど・・・・・
        三 `J


     /ヽ     /ヽ
   /  ヽ___/  ヽ
  /           \
  |  ■ ヽー/ ■  |  ターミネーター3まだぁ?
  \     ∨    /  
0989デフォルトの名無しさんNGNG
>>985
教えたくても意味が分からない罠
0990980NGNG
>>989
なんだ。それならそうと言ってくれればいいのに
a.javaってファイルを実行しようとしたらメソッド?が65kよりでかくて無理ってエラーがでるんです。
それを解決するために分けようとしたんだけど全く見当違いだったのか
0991デフォルトの名無しさんNGNG
壊滅的にアホですね
0992980NGNG
>>991
あなた981?
もしかして僕をからかってる?
0993デフォルトの名無しさんNGNG
>>990
そんなメソッド書くな。
0994デフォルトの名無しさんNGNG
>>992
俺は991じゃないが親切で教えてやる。
そういうコードは一般的にクソと呼ばれる。
だから、そういうクソコード書く奴は壊滅的にアホで妥当。
0995980NGNG
>>993
ごめんなさい。
C言語だと関数使えるからその癖でさ・・・
皆はこういうときどうしてるの?
0996デフォルトの名無しさんNGNG
Javaの限界が垣間見えます。
0997無料動画直リンNGNG
http://homepage.mac.com/miku24/
0998デフォルトの名無しさんNGNG
小さいクラスつくれ。
0999デフォルトの名無しさんNGNG
記念カキコv(^o^=)
1000デフォルトの名無しさんNGNG
1000げっと♪v(^o^=)
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。