2 :
デフォルトの名無しさん :02/12/18 03:42
■■■ 最近多い質問とその答え ■■■
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
4 :
デフォルトの名無しさん :02/12/18 03:43
5 :
デフォルトの名無しさん :02/12/18 03:44
6 :
デフォルトの名無しさん :02/12/18 03:44
【言語初心者の方に】 設計思想 Java >> Python >> C++ >> C >> Perl 使い安さ/汎用性 C >> C++ >> Perl >> Python >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> J...
>>1 おつかれさま。
∧w∧
(*゚ー゚) ∬
/ ⊃旦
@(__)
…うーんずれた。
17 :
デフォルトの名無しさん :02/12/18 07:28
このスクリプトどういう意味? function go(){wind.location=add; fired.value++; setTimeout("go();",inter.value*1000);}
>>17 JavaScript…
部分的すぎて良くわかんない。
>>17 10秒ごとに繰り返し、
wind.location=add;
fired.value++;
を実行するスクリプト
20 :
デフォルトの名無しさん :02/12/18 09:12
appletでタイピングソフトを作りたいのですが参考になるソースどっかにありませんか?? 教えてください。
21 :
デフォルトの名無しさん :02/12/18 09:50
23 :
デフォルトの名無しさん :02/12/18 18:28
JDesktopPaneにframe1,frame2をくっつけてます。 frame2でframe1の位置を表示したいので、frame1のマウスイベントを frame2に送りたいのですが、どうすればいいのか分かりません。
>>13 設計思想や使いやすさは思いっきり主観が入るんだがな。
とりあえず乙
>>1
ネットに回線繋げたままでjbuilder7 personalを終了すると 終了後にネットとのやりとりが出来なくなる・・・コレってバグ? 回線は切れないんだけどブラウザは「ページがありません」となりまふ。 環境:windows98SE + PPPoEのADSL 10回近く試して確認したのでjbuilder7 personalの終了が原因の1つ なのは間違いないようだす。 それともコレが普通なのかな・・(^^;A
>>26 うちのノートパソコンはメモリが少なくなるとPCカードが死にます。
で再起動だと死んだままが多いから電源を入れなおさないといけない。
28 :
デフォルトの名無しさん :02/12/18 22:25
JSPで作成されたメソッドをサーブレットの中で使いたいのですが、 どのようにしてcallすれば良いのでしょうか? JSPの場合、<%@ include file = "○○○.jsp" %>でcallすることが可能になりますが、 サーブレットの場合はどのように記述して良いのやら・・・
request.getRequestDispatcher("/xxx/yyy/○○○.jsp").include(request, response);
>29 ありがとうございます。 ついでにすいませんが、自作Bean内でCallしたい場合には どのように記述すれば良いのでしょうか?
Model(Bean)から直接JSP(View)を呼ぶのか? 俺ならぜってーそんなコードをメテしねーぞ。 まずは設計を見直そう。
test
>31 提供されたJSPなんすよ・・・ 開発方針が各社一貫性が無くてほとほと困ってます・・・ JSPでガリゴリ実装する会社もあれば、 MVCだったり・・・ 確かにM→Vは本末転倒ですよね。 基本的にはMVCで実装なんですが、肝心なファンクションが 既にJSPで実装されてしまってます。
で、開発方針が変わってMVCをもっと徹底させるって話になったんですよ。
35 :
デフォルトの名無しさん :02/12/19 06:30
image = createImage(11, 11); graphics = image.getGraphics(); としてimageを作ったあとで、 imageの幅を取得したいのですが・・・。
どなたか、よろしかったら教えてください。 突然疑問に思ったのですが、アプレット作るのに getAppletInfo()とgetParameterInfo()っていつも オーバーライドしてたのですが、これって何の役に 立つのでしょう? ブラウザとかから参照する 方法ありましたっけ??? 使い道がないのならメモリ節約のためにカットしよう かなとも思うのですが.....
37 :
デフォルトの名無しさん :02/12/19 07:51
JAVA使う方の年収っていくらくらいなのですか?
年俸520万です。29歳です。 死ぬほど残業してます。(当然、残業は給与に反映されない)
39 :
デフォルトの名無しさん :02/12/19 10:08
>>35 this=Component、かつイメージが全て読み込まれてるなら。
int width = image.getWidth(this);
ありがとうございました。なるほど。thisってそれ自身のって意味なんだ・・・。
41 :
デフォルトの名無しさん :02/12/19 17:44
モニターの解像度やブラウザの現在の縦横の表示枠に合わせて Appletの大きさを変えたいのですが、取得のし方がわかりません。 よろしくお願いしまう
42 :
デフォルトの名無しさん :02/12/19 17:47
日時をカウントダウンするプログラムってどう書けばいいんでしょうか? 教えてください。お願いします。
>>41 モニタの解像度は Toolkit クラスで取得できます。
ブラウザの縦横云々は HTML タグの width, height をパーセンテージで
指定しとけば勝手にやってくれます。
例: <applet width="100%" height="100%" code="test.class"></applet>
こんなとこでどうでせう。
>>44 なるほど。
>>41 ではないし、当分アプレットを作る予定もないけど、
参考になった。ありがとう。%が使えるとはいままで知らなかった
46 :
デフォルトの名無しさん :02/12/19 21:04
MulticastSocketを使ったプログラムをwindowsで実行すると、 コンストラクタが、BasicSocketにさかのぼって、 BindException(だったかな?)になります。 unixでコンパイルしたものも、windowsでコンパイルしたものも動作しません。 unixでは、ちゃんと動いたのですが、どうしてですか?
public class Hello { public static void main(String[] args) { System.out.println("Hello!"); } } 動かなかったんですけど・・・どこが悪いのかなあ? Exception in thread "main" java.lang.NoClassDefFoundError: Hello このように帰ってくるんですが・・・java.langの中の例外って・・・?
48 :
デフォルトの名無しさん :02/12/19 22:15
宿題手伝ってくれるスレ教えてください
50 :
デフォルトの名無しさん :02/12/19 23:05
public void hanbetu{ if(string.equals("one")) command = 1; } public void paint(Graphics g){ switch(command){ case 0: g.drawLine(x1,y1,x2,y2); case 1: g.drawRect(x1,y1,w,h); } } hanbetuのところでcommandを判定して,switch文で処理選択させて描画行い たいのですが、値の受け渡しができません。グローバル変数であらかじめcommandの値を 設定すれば、きちんとswitchで選択してくれるのですが、hannbetu()で判定→switch判定 が出来ません。 考えられる理由はどのようなものがあるでしょうか?
>>44 うお、すげーよ。すごい。htmlに余計なもの含ませなければ
スクロールバーが常に沈んだままだ。
Javaって面白いですね・・。
ありがとうございました。
つうか何食ったら・・・じゃなくて
どう勉強したら
>>44 さんみたいにJava物知りになれるですか
public class Keisan { public static void main(String[] args) { System.out.println("加算の結果は?"+(3+2)+"です。。"); System.out.println("減算の結果は?"+(5-8)+"です。。"); System.out.println("除算の結果は?"+(3*4)+"です。。"); System.out.println("乗算の結果は?"+(7/3)+"です。。"); } } これを実行すると24個ぐらいエラーが出ます。 クラス宣言が不味いんおでしょうか?
>>50 一行目を
public void hanbetu{
だからでは?
これではいかが?
public void hanbetu() {
// そのコードだけではよくわからないけど二行目の変数stringとかは、
//ローカル変数ではないよね?
>>53 もしかしてソース中に全角スペースはいってない?
>>53 あと、どんなエラーがでたのか、
そのエラーメッセージもコピペすると
適切な解答がもらえる可能性が高まるかとおもいます。。。
57 :
デフォルトの名無しさん :02/12/20 01:13
すみません。J Builder 8って個人で買うといくらぐらいするんですか?
>>55 Keisan.java:6: \12288 は不正な文字です。
System.out.println("乗算の結果は?"+(7/3)+"です。");
^
Keisan.java:6: \12288 は不正な文字です。
System.out.println("乗算の結果は?"+(7/3)+"です。");
^
Keisan.java:6: \12288 は不正な文字です。
System.out.println("乗算の結果は?"+(7/3)+"です。");
^
Keisan.java:6: \12288 は不正な文字です。
System.out.println("乗算の結果は?"+(7/3)+"です。");
^
Keisan.java:6: \12288 は不正な文字です。
System.out.println("乗算の結果は?"+(7/3)+"です。");
^
Keisan.java:6: \12288 は不正な文字です。
System.out.println("乗算の結果は?"+(7/3)+"です。");
^
Keisan.java:2: メソッド本体がないか、abstract として宣言されています。
public static void main(String[] args) {
こんな漢字です。。。
>>58 やっぱり全角スペース入ってる…。
全角スペースというのは「 」これね。
半角スペース「 」かタブに置換するといいとおもう。。。
楚人におまんことちんこを売る者あり。 氏曰く 「このおまんこは どんなちんこでも通さない」 又、曰く「このちんこは どんなおまんこでも突き通す」 ある人曰く 「そのちんこで そのまんこを突いたらどうなるのかね?」 楚人は答えることが出来なかった。 これぞ「おまんちん」である。
>>61 楚人にセキュリティツールとクラッキングツールとを鬻ぐ者有り。
之を誉めて曰く「吾がセキュリティツールの堅きこと、能く陥すもの莫きなり」と。
又其のクラッキングツールを誉めて曰く
「吾が矛の利なること、物に於て陥さざる無きなり」と。
或る人曰く「子のクラッキングツールを以て、
子のセキュリティツールを陥さば如何」と。
其の人応えて曰く「バージョン情報の新しきものが勝つなり」と。
すみません、JBOSSのプログラミングをしているのですが、 MS−DOS上でコンパイルした際に「javax.ejbが存在しません」 といわれてしまうのですが…直りますでしょうか。
>>63 クラスパスの設定の問題ではないでしょうか?
直るかどうかを尋ねているということは、
いままではコンパイルできていたのですか?
あと「直る」という表現は適切ではなかったです。本当にすみません。 はなっからできていません。
>>66 EJBのことはよくわからないけど、
もしかしたら再起動したらコンパイル通るかも。
autoexec.batはWindowsが起動したときに実行されるから。
あとWindowsMEやNT,XPではパスの設定はautoexec.batではないから、
そこも注意してね。詳しくは
>>2 のリンク先を。
ありがとうございます。 がんばってみます。
69 :
デフォルトの名無しさん :02/12/20 05:18
JavaのVM上で処理された全ての命令などの実行ログをとる良い手段を 知ってる人いませんか?勿論、printlnじゃなくて。
-Xrunhprof -verbose:jni -verbose:gc -verbose:class
71 :
デフォルトの名無しさん :02/12/20 10:25
<jsp:getProperty(略 で、HTMLで使っちゃいけない文字(<>&"')をエスケープすることはできますか?
72 :
デフォルトの名無しさん :02/12/20 13:05
Linuxであるクラスを実行しているプロセスを調べるにはどうしたらよいですか? AdminServerというクラスが実行されているとして、 ps -ef | grep AdminServer とすれば引っかかると思ったのですがなぜか駄目です。 AIXだといけるのですが・・・
73 :
デフォルトの名無しさん :02/12/20 13:47
GUI開発(swing)で聞きたいんですけど、 たとえばD&D可能なツリービューを作成したいとしたら、 まずはJTreeから派生クラスを作成したD&D可能なクラスを作っておいて、 そいつをコンテナにaddするってイメージでよい?
75 :
デフォルトの名無しさん :02/12/20 14:18
>>74 Red Hat Linux release 7.2 (Enigma)
Kernel 2.4.7-10 on an i686
java version "1.2.2"
Classic VM (J2RE 1.2.2 IBM build cx122-20011213was (JIT enabled: jitc))
です。
78 :
デフォルトの名無しさん :02/12/20 15:45
入力された文字が半角英数字かどうかをチェックするものを 作りたいのですが、調べたんですけど、わかりませんでした。 わかる人、ご教授してくれませんか?
String s = "abcd"; java.util.regex.Pattern p = java.util.regex.Pattern.compile("^\\p{Alnum}+$"); boolean result = p.matcher(s).matches(); System.out.println(result); ちなみにPatternインスタンスはスレッドセーフ. s.matches("^\\p{Alnum}+$"); でもいいけどな。 "_"も含めていいなら\p{Alnum}の替わりに\w
80 :
デフォルトの名無しさん :02/12/20 16:12
>>79 早速ありがとう。
JSPから呼び出して、Beanとして使おうと思っているのですが、
>java.util.regex.Pattern p = java.util.regex.Pattern.compile("^\\p{Alnum}+$");
のcompile("^\\p{Alnum}+$")の部分は必要ですか?
ちょっとよくわからないのですが。。。
開発ツールのお勧めって何? Visual Jにしようとおもっますが・・・
ネタ?
88 :
デフォルトの名無しさん :02/12/20 17:01
えっと、Javaの資格の本を読んでいたら、 int [] myScores []; は、正しい配列の宣言なのだそうです。これは、 int myScores []; もしくは、 int [] myScores; と同等と見ていいのでしょうか?
あ、もしかして2次元の配列の宣言ってことでしょうか?
90 :
デフォルトの名無しさん :02/12/20 17:05
>>88-89 二次元配列の宣言みたい。
こういうプログラム書いたらコンパイル通ったし。
public class test {
int [] myScores [] = new int[2][2];
}
94 :
デフォルトの名無しさん :02/12/20 18:33
>>79 っていうか、試しにやってみたけど、ダメだったよ!
すいません、いまファイル一覧リスト作ってまして、 でファイルサイズを得るには ファイル名.length() でバイト単位で戻ってくる・・・ という部分はいいんです。 でもWindowsのファイルのプロパティでは 158KB(161,966 バイト) 1,38MB(1,451,903 バイト) というふうに表示されてるんですけど、これってどういう計算をすれば良いんでしょうか? それともそんなの気にせずに上位3桁のみで残りは切捨てで良いものでしょうか?
>>95 それはJavaの質問ではないとおもうが
1KB=1024Bなので
1024で割り算すればいいとおもうよ。
>>95 で割り算して答えが1024以上だったら、
もういちど1024で割り算すればMBも算出できるよ。
//つーかJavaにはそのあたりのメソッドとかないのか?
そっかぁ。1KB=1024B!
ありがとう
>>96 さん!
99 :
デフォルトの名無しさん :02/12/20 18:50
readでブロックしちゃったスレッドを殺したい! どうする?
>>97 なるほど。
割り算の回数でKB,MB,GB・・・と分ければ良いわけですね。
>>99 available() で常にブロックしないように制御、とか。
nio 使うとか。
>>95 Windows のプロパティと完全に同じ表示にするのは面倒な気がする。
Windows関係のスレに行けば計算方法教えてくれるかも…
>>99 もしかすると別のスレッドでストリームをクローズしてしまえば
IOExceptionが発生してread()メソッドのブロックが抜け出せるかも。。。
…あまり自信はないが。
>>105 close() が IOException 食らう可能性もあるような。
1.4が使えればそれで万事解決なんだけど 1.2までしか使えないから、1.2(出来れば1.1)で 解決したい、けど難しい・・・ たまにreadしたまま死んでることもあるんだよね
109 :
デフォルトの名無しさん :02/12/20 21:16
jspとサーブレットで一番わかりやすい本はなんですか? わかる方教えて! 自分はsunjava受かったぐらいのレベルです 理由もあったら教えて! javaとあまり関係ない質問ですが・・・
110 :
デフォルトの名無しさん :02/12/20 21:22
コア・(略 モア・(略
111 :
デフォルトの名無しさん :02/12/20 21:30
>>104 >PatternはJavaの1.4で追加されたような気がするから、
>もしかしてそれが原因では?
サンクス
112 :
デフォルトの名無しさん :02/12/20 22:06
はじめまして。よろしくお願いします。 クラスのパッケージ化に関してなんですが、 パッケージの階層名のつけ方に決まりというか 指針のようなものってあるのでしょうか? 仕様があるのでしたらドキュメントの場所等 教えてください。
>>103 >そもそも十進数の1024は二進数で表すと100,0000,0000。
区切りがきもちわりー
100Mかとおもうじゃんか!
>>108 Socket#setSoTimeout() 使えば解決する問題じゃないんだよね?
121 :
デフォルトの名無しさん :02/12/20 23:42
jbuiider7のただのやつを使ってコンパイルしようとしたところ 設定が不十分のため実行が不可能です、となります。 何をいじるべきかおしえてください。
>>122 特に何もいじらなくてもOKだと記憶。
いったいどんな愉快なインストールを?
まじっすか? airh"で落とした以外は普通にやったつもりですが、、、 とりあえずインストールしなおしてみます、ありがとう。
>>78 って
>>79 が正規表現を使った回答してるけど
入力された"文字"についての判定なんだから
java.lang.Characterクラスを使ったほうがいいんでないの?
1.1でも使えるし。
>>125 じゃあ書いてあげなよ。
とりあえず答えが一つというもんじゃなし。
StringBufferでバッファ内に持っている文字列を消去したい場合、 JDK1.2以降はdeleteメソッドが使えますけど、 MSVMでも動作させる場合はnewでオブジェクトを新しく作るしかない?
うーんと。null代入しちゃいけないわけ?
>>114 コンマで区切る?
0011 0100 0110 1011
とか空白で区切らない?・・・ってリンク見たらやっぱりね
130 :
デフォルトの名無しさん :02/12/21 06:17
>>127 バッファ内の文字列を論理的に消したいなら setLength(0) をせれ
内部バッファを縮退させたいなら new で作り直せ
>>129 文字と文字の区切りなら
全角スペースを使わなくてもだいじょうぶだよ。
133 :
デフォルトの名無しさん :02/12/21 10:14
全角の数字を半角の数字に変換するプログラムを作りたいのですが、 いろいろ調べてみてもわかりませんでした。 どなたか教えていただけませんでしょうか。
>>133 if(str.charAt(i) == '0')
ret = 0;
else if(str.charAt(i) == '1')
ret = 1;
・
・
・
・
・
・
s = s.replaceAll("0", "0").replaceAll("1", "1").replaceAll("2", "2"). ... .replaceAll("9", "9"); めちゃめちゃ遅いけどな(ワラ
str.charAt(i)では1バイト文字しか扱えないと勘違いしてました。 レスどもです。
意外なことに全角数字に対してもInteger.parseIntが 使えるので以下のようなことも可能 String zen = "1234"; int i = Integer.parseInt(s); // i = 1234 String han = String.valueOf(i); // han = "1234"
s = s.replace('0', '0').replace('1', '1').replace('2', '2'). ... .replace('9', '9'); ていうかこれでもいいな
さらには、アラビア数字、漢数字にも有効だったり。 String zen = "W"; //もしくは String zen = "四"; int i = Integer.parseInt(zen); // i = 4 String han = String.valueOf(i); // han = "4"
140 :
デフォルトの名無しさん :02/12/21 16:43
>>139 jdk1.4.1で試したけどダメっすね。
Character.isDigit('4') は true だけど
Character.isDigit('四'),
Character.isDigit('W') ともに false 返すし。
バージョンによって違うんだろか?
おぬし、騙されておるぞ。メール欄を読むのじゃ
>>140 新しくつけくわえるnodeの"publication safety"が保証されている
JavaVMにおいては(*)と(**)の箇所のコードは必要ない。
新しくつけくわえるnodeの"publication safety"が保証されているとは、
具体的にいうと「新しいnodeへのリファレンスを見ることができれば、
そのリファレンスの指し示す内容も見ることができる」ということ。
>>143 レス ありがとうございます
それはいったい
どういうことなのでしょうか?
新しいnodeへのリファレンスは
外からは見ることができない
と思うのです
リフレクションでしょうか(あまり詳しくありません)
putとpollを外から行っているだけなら
(*)(**)は必要ないのでしょうか?
お手数かけます
カラントディレクトリにあるファイルの一覧を取得するにはどうすればいいのですか?
File[] files = (new File(".")).listFiles();
File currentDir = new File("./"); File[] fileList = currentDir.listFiles(); ただし、これだとディレクトリも含まれるので注意。
>>144 いやなんとなく読んでみただけで俺にはさっぱり。
俺にわかったことといえばsparcs, pentiumsのVMでは
*,**は省略できるということぐらい。ごめんな。
151 :
超〜初心者 :02/12/21 20:51
質問: OS再インストしたの、XP。そしたらjavaアプレットでPGを起動すると (業者が作ったWEBの占い) カーソルが点滅して次の画面(新規WINDOWは開かない)が出ると アプレットの部分?が白くなってしまったよ。 だから次へボタンも見えなくて押せないから話が先へ進まないの。 で、今日、オプション直したの。「アプレットにjava2v1.3.1_06を使用」 ってチェックをはずしたらやっと直ったの。 PG作ったの私じゃないからさっぱりわからん。どういうこと??????
>>151 いや俺もそのプログラム作ったわけじゃないから、さっぱり。
アプレットのURLもなければ作った本人がこのスレを覗いていたとしても、
さっぱりわからないだろうと思う。。。。。
ところでいまのWindowsXPというのはインストールすれば
SunのVMも一緒にインストールされるのか。。。
153 :
超〜初心者 :02/12/21 21:35
>>152 おぅ、そういえばなんか心あたりが。
実はSUNのJDKもインストールした覚えがある。
その時なんか変なことしたのかしら、私?
どのURLのものもアプレットが動くとダメになるの。
でもチェック外したら今は快適に動く。
なんなの?あの湯だったようなマークは?
154 :
デフォルトの名無しさん :02/12/21 21:54
林晴比古ってDQNじゃなかった?読んだこと無いけど。
158 :
デフォルトの名無しさん :02/12/21 22:05
>>154 俺なら結城浩の例の上下巻を薦める。
Java言語プログラミングレッスンだ。
他に買ってもかまわないが
これらは読んどけ。絶対読んどけ。
>>157 いくらなんでも読んだことないのにDQN呼ばわりはどうかとおもう。
まあ俺も読んだことがないけど結城の入門書がいいとおもう。
推薦する理由はJavaの入門書は読んでないけど
彼の書いたスレッド本はわかりやすかったから。
164 :
デフォルトの名無しさん :02/12/21 23:38
JEditorPaneで
http://www.google.co.jpを表示させようとすると java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(String.java:516)
at javax.swing.text.html.CSS.stringToColor(CSS.java:1099)
at javax.swing.text.html.CSS$ColorValue.parseCssValue(CSS.java:1960)
・・・
とか出るんですけど、これ、どういうことですか?
Googleのスタイルシートで、 hの色指定が空なのが原因ではなかろうか? .h {color:}
>>166 そのページは見れます・・・じゃなくてこれと同じ症状です。。
>>167 何かでCSSの.hを読み飛ばせばいいんでしょうか?
>>168 1.3.1_b24です。JBulder7のデフォルトです。
windows2000で使ってます。
>>164 1.4では修正ずみ。
1.3向けに開発しているのなら一度ページをStringなどに読み込んでから、
問題のcssの箇所を修正してからJEditorPaneに渡してみては?
>>131 ありがとうございます。
setLengthのほうで行こうと思います。
>>170 1.4にしたら読めるようになりました。ありがとうございます。
173 :
デフォルトの名無しさん :02/12/22 04:14
voidってどんな意味ですか? 戻り値って何?どんな時につかうの?
>>173 void
空な, 空虚な; (家・土地などが)あいた,
欠員の; …がない, 欠けた (of); 無益の; 【法】 無効の.
戻り値。
C言語などの「構造化プログラミング言語」などで広く用いられる。
構造化言語においてはログラム全体は、いくつもの小さな関数から構成される。
JavaやC++などのオブジェクト指向プログラミング言語もまた、
Cなどの構造化言語とおなじく関数から構成されているが
これらの言語の場合、関数はオブジェクトのなかに内包される。
キーボードからの入力ストリームは 別に閉じる必要はないのでしょうか?
176 :
デフォルトの名無しさん :02/12/22 05:12
>>176 お早いレスありがとうございます。
しかし、なぜ必要ないのでしょうか・・・?
178 :
デフォルトの名無しさん :02/12/22 05:48
情報を処理してCliantに送り返すServerクラスをつくり クライアントのmainメソッド内でそのServerクラス を実行させるとうまくいくのですが、 クライアント側で何らかの処理(ActionListenerなど) を合図にServerクラスのインスタンスを生成したら クライアント側の処理がエラーを出さずにその位置で とまってしまうのですが、これの対処法ってあるんでしょうか? やっぱり私のやり方が悪いんでしょうか…
>>177 Java VM が終了したときに勝手に閉じられるから。
>>178 文章がちょっと意味不明。
二行目の箇所などクライアントマシンで
サーバマシン用に作ったプログラムを実行している、
というふうに読めます。
ActionListenerでということは、
Swingのイベントディスパッチスレッドの関係で、
GUIが止まっているのではないかという予感はしますが。
念のため、わかりやすい文章に書き直すか、
それかソースの一部を貼られたほうがよろしいかと。
>>178 イベントディスパッチャーの中でサーバソケット開いて accept() してるん
だろ。そりゃ GUI は固まるわな。actionPerformed() の中身を丸ごとス
レッド化せれ。
private Thread thread = null;
public void actionPerformed(ActionEvent e){
if(thread != null) return;
thread = new Thread(){
public void run(){
// …
// ここに元々 actionPerformed() の中でやっていた処理を書く
// …
}
};
thread.start();
}
きれいに作りたかったら、ふつーはその Server クラスとやらをスレッド化
するんだがな。public class Server extends Thread{ ...
>>180 サン
有り難うございます。説明を読む限り大きな認識違いをしていたようですので
もう一度考え直します。
>>179 は意味不明でしたすみません。
とおもいきや
>>181 さんの方法でできました!
>>179 のような質問から…
>>180-181 さんどうもありがとうございます。
とはいっても、なぜできたか全然判ってないので
もう少し勉強してきます。有り難うございました。
>>177 レスありがとうございます。
でもjavaVMが終了した際に閉じるならclose()の必要性って・・・?
私は、バッファに格納されたデータがクリアされる、程度のことしか・・・
そもそもこのような質問をしたのは、ストリームに関して
私の使っている参考書やインターネット上のプログラムソースでは
ファイルストリームはすべて処理後に閉じているのに対し
キーボードストリームはそのほとんどが閉じずに終わってたからです。
この両者に何か違いがあるのでしょうか?
素人的な質問ですいません・・・。
>>182 そもそもJavaのGUIはイベントディスパッチスレッドの仕様上、
イベント処理のコーディングしだいでは
GUIが固まってしまったり反応が重くなってしまうという罠があるのですね。
あとで「イベントディスパッチスレッド」などで
検索をかけて参考になるページなどが見つかるかと。
//そういえばJavaチュートリアルの日本語訳ってないのかな。。。
>>184 JavaVM に限らずファイルディスクリプタなどのリソースはそのプロセスが
終了したときに開放されるようになっている。プログラムの中で明示的に
close() が必要な理由は、終了まで開きっぱなしだとリソースを圧迫する
からだ。とはいえ標準入力はシステム上に 1 つであり、それ以上開くこと
はない。
まぁ標準入出力を閉じないってのは慣例的な意味合いが強いがな。自分が
開いたものだけをクローズする、システムから貰ったものはシステムに
任せる、が基本だ。
もし明示的に close() する必要があるとすれば、標準入力が別のプロセス
にパイプされていたり、ファイルやデバイスからリダイレクトされていたり
するケースくらいか。それも苦肉の策だが。
>>186 レスありがとうございます!
とりあえず標準入出力ストリームのクローズ処理は考えなくてもいいってことですね。
本当にありがとうございました。素朴な疑問が解けました!!
ここのレスにはしばらくお世話になりそうな予感。。。
また後の機会があれば宜しくお願いします〜。
>>188 自分で調べられない人は死んでください。
(⌒⌒⌒) ( △ △ ) ( / \ ) _( /´_ゝ`\) ..マターリしろや.... / ) _ _ / ,イ 、 ノ/ ∧ ∧―= ̄ `ヽ, _ / / | ( 〈 ∵. ・( 〈__ > ゛ 、_―<<189 | ! ヽ ー=- ̄ ̄=_、 (/ , ´ノ | | `iー__=―_ ;, / / / !、リ -=_二__ ̄_=;, / / ,' / / / /| | / / !、_/ / 〉 / _/ |_/ ヽ、_ヽ
ここって、厨房ばっかりでほんっと つかえない
192 :
デフォルトの名無しさん :02/12/22 11:18
>>191 だって初心者大歓迎って書いてあるやん。
読めんの?
今学校でJavaとSQL使ってウェブショッピングサイト作ってるんだが ウェブショッピングサイト作るぐらいで就職できるんですか? スレ違いスマソ。
それを元手に就職するのは構わんけど、 それしかやれないのなら単なる小間使いで終わりだろうなあ
というか、それくらいも作れないやつは就職しないでくれって感じ?
198 :
デフォルトの名無しさん :02/12/22 22:01
javaを覚えるためにアプレットでインベーダを作成中です アプレットクラスを継承したメインクラス内で自機と敵の画像を取得したり 敵や自機の表示・キー判定等全て行なわせてました が、見難くなるので敵クラスと自機クラスを作って、そのクラス内で それぞれの位置取得や当たり判定をさせるようにしました 画像の表示はスレッド内で行なうとして、敵・自機クラス内で画像を 取得させたくgetImage(getDocumentBase(), "jiki"); と使いたいので、敵・自機クラスにアプレットを継承させたのですが エラーが出てしまいます アプレットクラスはメインクラス以外のクラスには継承させれないのでしょうか
200 :
デフォルトの名無しさん :02/12/22 22:11
>>198 根本的に間違ってますか
手探りでなんとか動かしてるという状態なので、答えをきいても、その答えを理解できない
と思いますが、上の考え方でいうとどこが間違ってるか教えていただけないでしょうか
よろしくお願いします
>敵・自機クラス内で画像を取得させたくgetImage(getDocumentBase(), "jiki"); これはどういうこと? キャラクタークラスで描画しようとしてる?それともキャラクタークラスに画像を持たせたい?
>>201 キャラクタクラスに画像を持たせたいということです
描画はスレッドないで行なわせてますので、
drawImage(teki.tekigazou,・・・);
のようにキャラクタクラス内に画像・位置を持たせてやりたいのです
>>198 > エラーが出てしまいます
どんなエラー?
書き込みから推察するにコンパイルエラーっぽいけれど。
とりあえず、そのエラーきぼんぬ。
それから敵クラス、自機クラスを
Appletのサブクラスにする必要はないとおもうよ。
Eclipseが表示するエラーなので書かなかったのですが、 //敵クラス class Teki extends Applet { int intPosX,intPosY; Image imgTeki; //コンストラクタ Teki (int intX,int intY,String strURL) { intPosX = intX; intPosY = intY; imgTeki = getImage(strURL,"teki.gif"); } //敵の移動位置メソッド(intImgW:敵のグラフィック幅,intFrmW:フレームの幅 void setLocation(int intImgW,int intFrmW) { ←ここでエラー表示 int intX;//移動幅 ・ ・ } "java.awt.componentから継承されたメソッドの表示レベルを下げることはできません。" とでます getImageを使いたいのでAppletのサブクラスにしたのですが、する必要がないのは 何故でしょうか 基本がまだ分かっておらずご迷惑おかけします
>>204 自分でgetImageを実装するかコンストラクタでアプレットのインスタンスをを渡してもらうか。
getImageを実装とはgetImageの処理を書き出すということですね ファイルパスを引数にしてその画像を戻り値にすればいいのですかね いまいち解らないです... >>コンストラクタでアプレットのインスタンスを〜 すみません。それも言ってる意味がよく解らないです 申し訳ございません.
かってに
>>205 の補足。
こんな感じではいかが?
public class Invader {
public Invader(Applet applet) {
// 引数として受け取ったappletインスタンスを用いて画像を読み込む。
}
}
でも、キャラ毎に画像持つのってメモリ的によろしくない気もする。 キャラクラスにはキャラクタIDの様な物だけを持たせておいて、 実際の画像をひっぱてきたりするのは描画処理がやる方がいい気もする。
210 :
デフォルトの名無しさん :02/12/22 23:29
Classname aaa = new Classname(bbb) の"new"と位置で「シンボル解釈処理できません」って出るのですが、 どういった原因が考えられますか?
212 :
デフォルトの名無しさん :02/12/22 23:35
Classname aaa = new Classname(bbb); の"new"と位置で「シンボル解釈処理できません」って出るのですが、 どういった原因が考えられますか?
>>212 じゃおれはClassnameが宣言されていないか、
大文字・小文字などのスペルの書き損じに1じゃばこ。
218 :
デフォルトの名無しさん :02/12/22 23:50
gaburidukeの使用方法教えてください
>>207 あら、全く同じメソッドがあったのですね、キャラクタ位置を決めるためにsetLocationと
つけたのですが..
>>208 引数として受け取ったappletインスタンスを〜
例えばapplet.getImage(URL,"teki.gif");
ですか?
とりあえず両方ためしてみることにします
メソッド名を変更する方向でいこうと思ってるのですが
>>209 キャラごとはまずいです?
キャラIDが1なら〜の画像、2なら〜の画像としたほうがいいですかね
そのやり方だと上で悩んでた部分がはしょれて、すっきりしますね^
一度検討してみて、そちらのほうを活かしていきたいと思います。
付き合っていただき、有難うございました。
設計が根本的に〜というのはキャラごとに画像を持たせることだったのかな?
221 :
デフォルトの名無しさん :02/12/22 23:57
>>220 いや、何も考えずに親クラスにAppletを選択したこと。
>>209 >>220 イメージをstaticなフィールドにして
すべての敵インスタンスで共有させてはどうだろう。
>>223 こういうのもありだなと思った。
images[] characterImages;//キャラ画像
class character
{
private Image image;
public character(Image img)
{
image = img;
}
}
>>225 こんな夜遅くに
レスありがとうございます
今から読みます
ファイルから読み込んだデータをハッシュテーブルに格納して それをEnumerationを用いて出力した時、結果は読み込んだデータと 異なる順で出力される場合があるのですが、これはなぜなんでしょうか…? 例えば、読み込むファイルが 1,aaa/2,bbb/3,ccc/ ( / は改行) という内容の場合、その出力は 3,ccc/2,bbb/1,aaa/ ってなります。
>>225 アドバイスされた通り考えてみました
まだ完璧に理解できていないと思いますが
現時点での考えを書きます
(*)と(**)が無いと,考えられる振る舞いは
Thread Aが
put内で
last.next = node;
(ここで メインメモリ上でnode != null です
しかし node.objectは初期化されていない)
headとlastが同じで
そのときThread Bがpollを実行すると
firstにさきほどのnodeが代入され
返り値xはさきほどのnode.objectなので
初期化されていない値が返ってしまいます
(*)と(**)があれば,
putによってnodeが追加されて
仕様によると,unlockより前にnode.objectメインメモリに
書き込まれるので
別のスレッドがその後pollをしてもOK!
言われたとおり
"Double-Checked Locking is Broken"と同じですね
正しいか間違っているか,指摘していただけると
嬉しいです
pentiumなどの話はまた考えてご報告したいと思います
>>227 ハッシュテーブルはListじゃなくてSetなんじゃないかな。
>>227 そもそもHashtable/HashMapは要素を挿入順に取り出せることを保証するものではないから。
1.4ならLinkedHashMapを使えば挿入順で取り出せる。
1.3ならListを内蔵したHashMapサブクラスを自作。高々十数行のコードで作れる。
マウスリスナーでmouseDoubleClicked(MouseEvent e) っていうのが無いのですけれど、 どうかしてダブルクリックを使いたいんです。 何か良い方法ありますか?
232 :
デフォルトの名無しさん :02/12/23 12:19
たとえば、 "yellow".equals(s) = s.equals("yellow") こう書けるんだったら、 「yearに空文字が入ってる場合、trueを返すって意味を表す」 year.equals("") という表現は "".equals(year) と表すこともできますか? いつも思っていたんですが、比べる対象を equalsの前に置こうが後ろに置こうが、 いいのですよね?
>>229 ,230
レスありがとうございます。
1.3を使っているので、その方法で自作クラスを作ってみます。
そのequalsが対称律を満たすならどっちでもいいでしょ。 ただし、 year.equals(...) はyearがnullだとぬるぽで落ちる。
235 :
デフォルトの名無しさん :02/12/23 12:40
質問です。 BufferedReader br = new BufferedReader(なんとかかんとか) とか、 String str = new string("なんとかかんとか") のように、 class 変数 = new class(なんとかかんとか) というようにして、オブジェクトを作成する場合、 「なんとかかんとか」のところは、 どこでどのように受け取れるんでしょうか? コンストラクタで受け取れるんでしょうか?メソッドでしょうか? 手元にある初心者向けの書籍には明示的に書いてなくて。
getClickCount() == 2
>>235 コンストラクタです。
良くない本だね、その初心者向けの書籍。
238 :
デフォルトの名無しさん :02/12/23 12:45
>>237 ありがとう。コンストラクタではどのように記述するのが正しいのでしょうか?
239 :
デフォルトの名無しさん :02/12/23 12:46
すさまじく初歩的なことで恐縮なんですが、 int型をString型に変換する場合どう書いたらいいですか? int intHensuu = 1; System.err.println("Err" + intHensuu); これでもコンパイルは通るのですが、変換するにはどうするのかなーって 思いまして。
>>239 String.valueOf(intHensuu);
>>240 おお!さんきゅー
StringクラスのStaticメソッドですか。
どういえば昨日せんせーにならったYO!
>>238 Foo foo = new Foo( "miso" );
の場合は、
Foo( String s){
// s の処理
}
ってな具合になる。書き方メソッドに似てるポ。
243 :
デフォルトの名無しさん :02/12/23 13:01
>>242 サンクスコ。いま「やさしいJava」って本読んでるんですが
コンストラクタの項にはカッコの中は「引数」って書かれてるだけで
それが何でどのようにするもんなのかサパーリ書いてない。泣きました。
ありがとう。
244 :
デフォルトの名無しさん :02/12/23 13:02
>>234 >そのequalsが対称律を満たすならどっちでもいいでしょ。
>ただし、 year.equals(...) はyearがnullだとぬるぽで落ちる。
そうだったんだー。ありがとう。
year.equals(...)の...は何か適当な文字を表してるんだよね?
で、yearがnullだとエラーが出ちゃうと?
対象律って何?
246 :
デフォルトの名無しさん :02/12/23 13:07
>>243 おれもやさしいJAVAから入ったよ。
その本は、わからなくてもどんどん進み、
一通り学んだら、4,5回繰り返し読んだらいいと思うよ。
247 :
デフォルトの名無しさん :02/12/23 14:15
いま参考書を読みながらサーバーの勉強をしています。 クライアントが int i=10,j=20; Socket s=new Socket(server,port); // サーバーに値を渡す BufferedWriter out=new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); out.write(i+" "+j); でサーバー側で読み込もうとして BufferedReader in=new BufferedReader(new InputStreamReader(incoming.getInputStream())); boolean done=false; String line=null; while(!done){ line = in.readLine(); if(line==null){ done=true; System.out.println("nullダポ"); } else{ System.out.println(line); } } してもlineにはnullしか入らないのですがどこか間違っていますか?
マダワカランノカオマエラハ…
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←
>>244 >>234
250 :
デフォルトの名無しさん :02/12/23 14:27
>>248 あ・・・
incomingが
ServerSocket s=new ServerSocket(port);
Socket incoming=s.accept();
です。すみません書き忘れました
252 :
すみません :02/12/23 14:47
>>251 サーバ側のクライアントとは?
今調べてみたのですがよくわからなかったのですが…
ファイルにはほとんどこれ以外書いていません。
>>247 out.close(); してないとかじゃないよね?
254 :
すみません :02/12/23 15:01
>>253 本当にすみません。それでした( ・∀・)
2日これについて調べていたのですが・・・
助かりました。みなさん有り難うございます
255 :
デフォルトの名無しさん :02/12/23 15:23
(String A, int B, int C) という引数のメソッドを呼び出すときに (HashTableX.get("hoge").toString(), (Integer)HashTableX.get("fuga"), Integer.parseInt(StringX)) とやっています。で、コンパイルすると (java.lang.String,int,int) は (java.lang.String,java.lang.Integer,int) に適用できないとの エラーメッセージを受けました。エラー箇所はInteger.parseIntを指しています。 何故int同士なのにだめなのか、第二引数はintとIntegerで違っててもいいのか、というのが疑問なのですが・・・。
>>255 int プリミティブ型
Integer クラス
プリミティブは実体を持たない型なんですよね。で、オブジェクトを作る場合にはwrapperを使うと。 この場合、intで宣言してるのでIntegerは投げられない。でしょうか。ということは Hashtable.getはObjectを返すから、Integerからintを作らないといけない・・・? うーん(T∀T
>>255 >(HashTableX.get("hoge").toString(), (Integer)HashTableX.get("fuga"), Integer.parseInt(StringX))
(HashTableX.get("hoge").toString(), ((Integer)HashTableX.get("fuga")).intValue(), Integer.parseInt(StringX))
こんな感じっすか?
>>255 あ、あと 怒られてるのは第二引数だよ。
なるほど!いままでintとIntegerの違いを気にしないでリファレンス読んでたので 気づきませんでした。もうちょっと読んでみます。ありがとうございます。
ぐぐるのTOPが変わっtage
>>263 ああ、ゴスリングがサンタのコスプレして
デュークの引くソリに乗っているやつだろ。俺も見たよ。
JAXP1.1ってもう入手できないんでしょうか?
>>265 他にもDOM/SAXなクラスライブラリはあるけれど。
267 :
デフォルトの名無しさん :02/12/23 18:24
2ch自体にも初心者なんですが、 ここで携帯アプリ(のプログラム)について質問してもいいですか?
すいません、ageちゃいました・・・申し訳ないっす
ほんとゴメンなさい・・・
いや、やっぱageとこう
>>267 携帯の質問は専用スレあるけど、
とりあえず、ここでもいいんじゃない?
//つーかsageでもageでもどちらでもいいから、
//さっさと質問書いたらどうか?。
//俺は携帯のJavaは、よくわからいから役にはたてそうもないが。
>>271 なるほど、「携帯」で検索かけるべきだったんですね。
一応そちらに書き込んでおきますんで、
よろしかったら見てやってください。 > みなさん
ちなみに 270 は偽者ですんで。失礼しました。
javaAppletからファイルの書き込みしたいのですが、 たとえば、abc.txtというファイルに”あいうえお”と書き込むには JavaAppletで実現するにはどうしたらいいのでしょうか?
もういいです。
>>275 できないことはないけどセキュリティの問題があるから、
アプレットは@ちょっとやっかいだよ。
もしWebサーバの上にアプレットを設置するのなら、
アプレットからサーバに保存したいデータを送信して
サーバ側のマシン内に保存させるという方法があるよ。
クライアント側に保存させたいのならアプレットよりも、
JavaWebStartを使うなどしてアプリケーションにしたほうがいいと思う。
それか小さいデータなら
クッキーを使ってブラウザに保存させるという手もあるが。
あ、関係のないアットマークが文中にはいってしまった・・・逝くか
>>278 >もしWebサーバの上にアプレットを設置するのなら、
>アプレットからサーバに保存したいデータを送信して
>サーバ側のマシン内に保存させるという方法があるよ。
上記の方法が知りたいです。
どうすればよろしいでしょうか?
282 :
デフォルトの名無しさん :02/12/23 20:13
javaScriptからjavaへ通信したいのですが。 javaアプレットでないとjavaScriptから通信はできないのでしょうか?
285 :
デフォルトの名無しさん :02/12/23 20:22
286 :
デフォルトの名無しさん :02/12/23 20:24
>285 HTML上のボタンをクリックしたっていう情報をjava(FLAME)で書いたプログラムに渡したいのです。
Appletつかてください。
288 :
デフォルトの名無しさん :02/12/23 20:34
Appletだと都合が悪いんですが、Flameじゃできないですかね・・・?
>>280 この方法を実現するためには、
サーバ側のマシンで、
データを保存するプログラムを走らせておく必要があるのね。
あなたの質問の感じからすると
一番手軽な方法として、アプレットからデータを送って、
CGIとPerlのスクリプトを使ってサーバに受け取らせて
保存させるのがいいとおもうよ。
CGIをとくに推めるわけではないが、
これなら多くのWebサーバで利用できるだろうし。
とりあえずgoogleで、Socket、Java、CGIで検索をかけてみては?
Appletでのやり方が知りたいのですが。。
>>289 直接、Appletからファイルに保存することは出来ないのでしょうか?
>>290 サーバ側にデータを保存させるためには、
サーバ側のマシンで、なんらかのソフトを走らせておく必要がある。
それゆえ、もっともポピュラーな方法としてのCGIも使えないのなら、
>>278 のブラウザのクッキーを使うのがよいかとおもう。
>>291 Security Policyを勉強すてください。
>>292 サーバにAppletのプログラムを動かすんだけど、
それでも直接、ファイルにデータを保存させることはできないのでしょうか?
>>291 アプレットが走っているのは、あくまでもクライアントのマシン。
ゆえにアプレットを使ってサーバにデータを保存することは不可能。
もちろんアプレットを使ってサーバ側にデータを送信することなら可能。
そしてCGIなどをつかうなり、サーバ側でなんらかのソフトを走らせておけば、
ネットワークから送られて来たデータを受信して、それをサーバに保存することも可能。
そこで、問題になってくるのは、
>>275 さんが、
サーバでそのようなソフトを走らせることが
許されているかどうかということなわけです。
>>295 なるほど!
理解できました。
一応CGIは使った経験はありますので、
なんとかなりそうな気がしてきました。
CGIでデータを受け取ってファイルに書き込めばいいんですね。
なるほどねぇ〜。
今日は一つ偉くなりました。
どうもっす。
プー
299 :
デフォルトの名無しさん :02/12/23 20:51
サーバーに複数の処理をさせなくてはいけないとき どうやるのが一番賢いのでしょうか? 例えば適当な数字をサーバーにおくったら 二乗、三乗、四乗した値を別々のフィールドに返すとか。 調べてみたんだけど一つの情報のやり取りしかなくて 現在ではいくつかの情報を一つに一度に書いて StringTokenizerで分け直すといった アホっぽいやり方なので賢い方法教えてください
300 :
名無し@沢村 :02/12/23 20:53
ヌヒ等よ、Javaの話ならプログラム板より、Web制作板のほうがいいぞ。
>>299 DataIn/OutputStreamは?
302 :
デフォルトの名無しさん :02/12/23 20:58
>>299 返したい値を持ったクラスを作って、それを返す。
>>299 ん? 複数のデータをサーバへ、ひとまとめに送信して、
それをサーバ側で分割してから処理をして、
その処理の結果をクライアントにもどすうえでスマートな方法を知りたいということか?
ならばシリアル化可能なクラスをつくり、
そのインスタンスにデータを全部ぶちこんでサーバに送信し、
サーバ側でそのインスタンスを復元してはいかがか?
>>301-304 みなさんありがとう。
返す値を全部クラスに突っ込んで渡す
というのが一番頭よさそうですね。
出来ないとは思いますが。ない頭つかって頑張ってみます。
ほんとありがとう。
>>305 Javaでなら、さほど難しくはないよ。
とっても簡単。
public class SerialData implements Serializable {
String s;
int i;
public SerialData(String s, int i) {
this.s = s;
this.i = i;
}
}
public class SerialClient {
public static void main(String[] args) {
try {
Socket socket = new Socket("192.168.0.2", 7743);
ObjectInput in =
new ObjectInputStream(socket.getInputStream());
SerialData data = (SerialData) in.readObject();
} catch (Exception e) {
}
}
}
>>306 のつづき。
public class SerialServer {
public static void main(String[] args) {
SerialData data = new SerialData("あいう", 10);
try {
ServerSocket server = new ServerSocket(7743);
try {
Socket connection = server.accept();
ObjectOutput out =
new ObjectOutputStream(
connection.getOutputStream()
);
out.writeObject(data);
out.flush();
} catch (IOException e) {
server.close();
}
} catch (IOException e) {
}
}
}
unko.class←mainでmankoパッケージ tinko.class manifest.mf Main-Class: manko.unko jar -cvfm manko.jar manifest.mf *.class ってやってできたmanko.jarをjavaw.exeに放り込んでも動きません。 classpassはコマンドプロンプトで set classpassとやったところ、javasdkのものに全て通ってます。 windows2000です。
309 :
デフォルトの名無しさん :02/12/24 06:36
どうすれば動くようになりますか
>>308 おまえさんなぁ…
manifestファイルの一番下に空いた行が1行無いとか
>>310 manifestファイルの最後の空行はわりと陥りやすい罠だが、
こんな質問に即座の的確なレスで、ちとワロタ。
>>310 それでも動きません
javawが駄目なようなので
java -jar manko.jarとしてみたところ
Exception in thread "main" java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:112)
at java.util.jar.JarFile.<init>(JarFile.java:117)
at java.util.jar.JarFile.<init>(JarFile.java:55)
というエラーが出ました。
>>314 やめる前に、俺の話を聞け。
jarファイルの作り方が間違っているとは思わないのか?
mankoパッケージに入っているのだったら、
jar -cvfm manko.jar manifest.mf manko/*.class
だろ。こんなミスをしているということは、
コンパイルも問題があるのだろう。
javac -d . *.java
とやってみろ。パッケージ階層ができるから。
316 :
デフォルトの名無しさん :02/12/24 13:22
メソッドの定義の中で引数keyによって要素数が変わるString配列h[]を初期化し、 h[]に文字列を格納したあと、 参照すると値がnullになってしまっているんですが、 何が問題なのでしょうか。 変数はメソッドの外で宣言しています。 public static String h[][]; public void test(int key) { for(i = 0; i < key; i++) { h = new String[key]; h[i] = word[j]; //ここでh[i]の値は正常に表示される。 System.out.println(h[i]); } for(j = 0; j < key; j++) { //ここではh[j]の値はnull値になっている。 System.out.print(h[j]); } お願い致します。
最初のループでhを毎回上書きしてるのは何か意味あるんかいな?
public static String h[][]; なら h[j][a] とでもしなきゃいけないんじゃないの?
すんません、 自分で何書いてんだかわかんなくなっちまったです。 出直します。 申し訳なく恥ずかしい。
あれ、(int)とか(double)とかでキャストすると符号って全部正になる?
だよねぇ、ちょっと考えなおそ。
>>317 氏、318氏のレスが大いにヒントになり、解決と相成りました。
ありがとうございましたw。
以下のようにしなければならなかったんですね(恥。
public static String h[][];
public void test(int key)
{
h = new String[n][];
for(i = 0; i < key; i++)
{
h[i] = new String[key];
h[i] = word[j];
//ここでh[i]の値は正常に表示される。
System.out.println(h[i]);
}
for(j = 0; j < key; j++)
{
//ここではh[j]の値はnull値になっている。
System.out.print(h[j]);
}
>>315 jarファイルの作り方が間違ってました。間違えまくってました。
anus/(root)
anus/manko/tinko.class
anus/manko/unko.class
anus/manifest.mf
とやって、rootでjarを実行しなきゃならんかったのですか。
てっきり
anus/manko/tinko.class
anus/manko/unko.class
anus/mankomanifest.mf
anus/manko/をルートにして、jarで逝けると思ってました。
jar.exeはanusに入れても痛いというだけでmankoに導いてくれないんですね。
早漏ですいませんでした。
ご指導・・・ありがとうございました。
327 :
デフォルトの名無しさん :02/12/24 20:40
Eclipseについての質問なのですが、 前回終了時にフリーズしてワークスペースの保管をしないまま 今回起動したら"MS932のエンコードはサポートされていません" のエラーメッセージがエディタ上に表示されてソースが見れなく なってしまいました。
328 :
デフォルトの名無しさん :02/12/24 20:44
すいません327ですが続けます。 環境はWin2000でEclipse自体は日本語化しています。 対処としては編集>>エンコーディングでMS932にしてもだめ。 設定>>エンコーディングの部分をMS932にしてもだめ。 しょうがないのでソースを秀丸でutf-8に保存してから開いてますが、 できればMS932も使用したいのですが、同じ体験したかたいらっしゃいますか?
すでに存在しているファイルに文字を追加したい処理をしたいんだけど うまくいきません。ソースは以下の通りです。 try{ String str="逝ってよし"; file=new File("aiueo.txt"); FileWriter fw=new FileWriter(file); fw.write(str); fw.close(); }
>>329 >FileWriter fw=new FileWriter(file);
FileWriter fw = new FileWriter(file,true);
330のように修正してもうまくいきません。
>>331 リファレンスは見ましたが、やはりうまくいきません。
そこに答えはあるのですか?
答えがあるから教えたのであって 見つけられないのであれば見ていないのと同じ
>>332 うまくいかないというのは、どのようにうまくいかないの?
一口に「うまくいきません」と言っても
いろいろな事象が考えられるでしょ?
そこの所をあなた以外のひとにも、
わかるように説明していただけますか?
>>333 FileWriterのコンストラクタの引数がFileオブジェクトではなく、
Stringであることは分かりましたがまだ動きません。
せめてヒントでも下さい。
>>335 FileWriterクラスのコンストラクタは、ざっと
>>331 のリンク先を見る限り、
いろいろあるようだが……?
コンストラクタの概要 FileWriter(File file)
File オブジェクトを指定して FileWriter オブジェクトを構築します。 FileWriter(FileDescriptor fd)
ファイル記述子に関連した FileWriter オブジェクトを構築します。 FileWriter(String fileName)
ファイル名を指定して FileWriter オブジェクトを構築します。 FileWriter(String fileName, boolean append)
書き込まれたデータを追加するかどうかを示す boolean とファイル名を指定して、FileWriter オブジェクトを構築します。
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/io/FileWriter.html
>>336 はい、そうなのですが今回の場合はすでに存在しているファイルに
新たに追加する処理なので上から三つ目のコンストラクタだと思います。
338 :
デフォルトの名無しさん :02/12/25 00:24
最近、プログラミングに凄く興味を持ったので、何か自作したいのですが、 何を作ればいいのかわかりませんwレベルは初心者です。 こんなのを作ってみては?というのがあったら教えてください。
人工衛星を北朝鮮に落とすプログラムなんかが手頃で良さそう。
>>338 とりあえず始めてならば
各種Hello Worldと表示するプログラムを作ってみては?
SwingでHello Worldから、ファイルにHello World、
ネットワーク越しにHello Worldとか。
こんなのは? 楽そうでしょ。 ○┃×┃○ ━┼━┼━ ×┃○┃ ━┼━┼━ ×┃○┃
>>329 これならどうか?
上のレスにもあるが、動かないとだけ言っても、
コンパイルすら通らないから思うように動かないケースから、
ファイルになにも書き込まれないというケースから、
書き込まれることは書き込まれるが、上書きしてしまうケースまで、
色々あるので、これでうまく動くようになるかは、何とも言えないが。
try{
String str="逝ってよし";
FileWriter fw = new FileWriter("aiueo.txt",true);
FileWriter fw=new FileWriter(file);
fw.write(str);
fw.close();
}
お隣さんにHello Worldとか。
おおすまん。いまおれの書いたのは、 どうみてもうまく動きそうにないわ(w
逝ってよし
逝ってくる。 try{ String str="逝ってよし"; FileWriter fw = new FileWriter("aiueo.txt",true); fw.write(str); fw.close(); }
>>341 なんですか、それ?ヌンチャクですか?
本当に楽しいんですか?
>>344 コンパイルは通るのですがファイルに何も書き込まれません。
例外も発生しません。
この処理はサーバサイドでやっているのですがそれが問題なのでしょうか?
今クライアント側で動く簡単なサンプルを作ってみたら動くのですが・・・
×楽 ○簡単
350 :
デフォルトの名無しさん :02/12/25 00:48
{ public static void main(String args[]) { final int SUNDAY = 1; //曜日の変数 final int MONDAY = 2; final int TUESDAY = 3; final int WEDENESDAY= 4; final int THURSDAY = 5; final int FRIDAY = 6; final int SATURDAY = 7; ¥1288は不正な文字ですって出るのですがなぜですか?
351 :
デフォルトの名無しさん :02/12/25 00:48
きっと君の目には見えない余分な文字があるからではないかな?
>>348 んー、それだけでは状況がよくわからんので、
俺にはなんとも。
もうすこし状況を詳しく書き込んだら、
なにか意味のある回答ももらえるとおもうよ。
とりあえず予想としては
ファイルのパーミッションの問題に1デューク。
>>350 それは、きっと「全角スペース」という
目にはみえないものの仕業たとおもうよ。
とりあえずレスをくれた方々に感謝
>>340 画面にHello World なら出来ますw
チャットシステムでも作ってみようかな・・。
無理
359 :
デフォルトの名無しさん :02/12/25 01:02
>>354 ありがとうございます。
¥12288ってのは意味があるのですか?
あとくだらない質問(無理と思いますが)しますが
変数の型に日本語は入れれないんですか?
i
nt ○○○←日本語
(こんなカンジで)
試してみれば良いんじゃねえの?
>>340 簡単なチャットなら100行程度で書けるからいいテーマかも知れないなあ
Javaはじめたばかりというのが、ちょっと気になるが
まあ検索エンジン上手につかえば、どうにかなると思うよ。
とりあえずチャットのまえに
まずキーボードから打ち込んだ文字を画面に表示させる
コンソールアプリが作ることかな。
362 :
デフォルトの名無しさん :02/12/25 01:06
>>360 よく考えたら全角はエラーがでるんですね。
¥12288ってのは意味はあるのですか?
>>359 私は試したことはありませんが、
ソースをユニコードで記述すれば可能であるとは聞いたことがあるような。
>>361 それって
System.out.print(””)とは違うんですか?
なにいってんだこいつ
>>364 んー。つまりプログラムを実行中に、
なにか文字を入力してリターンキーを押せば、
その入力した文字とおなじ文字が、
またふたたび画面に表示されるプログラム
//すまんなあ。うっかりものの俺のために名前まで変えさせてしまって。。。
>>367 コンソールアプリって言葉、早速、検索かけてみますた!
なるほど。やってみます。どうも!
>>359 >>362 コンピュータで扱われる文字には、
アルファベット、漢字、ひらがな、はては全角スペースなどにいたるまで、
すべてに何らかの識別コードが割り振られています。
\12288とは全角スペースを表す識別コード。
なに?識別コードって
>>372 識別するために割りふられたコードのことでは?
文字コードで良いじゃん
hage
378 :
デフォルトの名無しさん :02/12/25 03:35
すみません。また前スレがすぐに1000になってしまったもんで。。 貼らして頂きます。ちょっとでも知ってることでもお願いします。 4つ質問があります。 つまらないことで悩んでますが、おながいします。 1 response.encodeURL()でURLパラメータにセッションIDを埋め込んだ場合、セッションIDを次のページで取得することはできるのでしょうか? 取得の仕方ってありますか?セッションとセッションIDがちょっとごっちゃになってるんで、混乱してます。。 2 セッションIDはクッキーが有効になっていないときにだけ、URLパラメータに埋め込まれると何かの本で読んだのですが、 クッキーを有効にしても、セッションIDがURLパラメータに埋め込まれたと友達が主張してました。そんなことってありますか? 3 あと、携帯電話では、携帯電話でクッキーを無効にしているとき(そんな機能があるかどうかわかりませんが)、 セッションIDはURLパラメータに埋め込まれ、そのセッションIDが埋め込まれた URLを携帯電話の表示画面から見ることができますか? もし見ることができるんだったら、セッションIDを使っても、携帯電話でセッションID付きのURLを 打ち込んだら、直接、画面が表示されると思いましたので。 携帯電話はinputタグでgetメソッドしか使えないから、パラメータ付きのURLを直打ちされたら、画面が表示されますよね? セッションIDもそうなのかなって思って質問しました。 4 携帯電話では、普通、JavaScriptは使えませんが、これまた、友達が一部のものは使えると言っておりました。 これは本当でしょうか?すみません。携帯電話持ってないので、確かめようがなくて。 以上、ちょっとでもわかることがありましたら、お願いします。
379 :
デフォルトの名無しさん :02/12/25 03:35
返事ありがとう。
987。
>>988 >URL?
>クッキー!?
>携帯電話!!?
おかしなこといってましたか。。
>>987 >携帯電話にクッキーはないと思うよ。
そうなんですか。やっぱり騙されてました。
>あと、POSTメソッドも使えるよ。JPHONEの古い機種はダメだけど。
>JavaScriptは無理でしょう。俺は使えるなんて聞いたことない。
JavaScript使えないんですか。それに関しては、一部使えると思っていたのですが。
携帯でPOSTメソッドが使えるなんて思ってませんでした。
上司が携帯では、GETメソッドしか使えないと言っていたので
信じてましたです。ありがとう。
じゃばこの父ちゃん。
>>378 1.SessionIDは"jsessionid"という名前のクッキーで送られるから取得できるよ。
2.初回のリクエストではブラウザがCookieを使えるかどうかをServletコンテナが
判断できないのでとりあえずセッションIDを埋め込む。2回目以降のリクエストで
クッキーとしてセッションIDがかえってきたらそれ以降はパラメータに埋め込むのをやめる。
3.携帯電話のブラウザは最近のものはクッキーが使えるものもある。一概に使えないとは言い切れない。
セッションIDを含んだURLを打ち込むことは可能。
4.これも機種による。
384 :
デフォルトの名無しさん :02/12/25 15:11
沢山の画像を一括してサムネイルを作成する仕組みを作りたいのですが、 どのクラスのどのメソッドが有用でしょうか? よろしくお願いいたします。
Image getScaledInstance
「オブジェクト指向」ってのがいまいちよく理解できません。 でも他の言語でなくjavaを続けて勉強したいんですが、 なにかいい書籍やHPあったら教えてください よくわかるように説明してくれたら越した事ありませんが。
387 :
デフォルトの名無しさん :02/12/25 22:05
>>386 本屋さんで「Javaの絵本」買ってこいや
>>387 ああ。いま検索かけてみたけど、たしかにおもしろそう。
まだ新しい本なので感想のたぐいはみつからなかったが。
読み終わったらJavaの絵本の感想きぼんぬ。
>>386-387
あるメソッド内で、そのメソッドを呼び出したメソッド名を得る方法ってありますか?
JPanelに追加されている画像をファイルに出力したいのですが どうすればいいのでしょうか?
JPanelに追加されている画像?
>>389 まっとうな方法では無理。
例外を投げて、直後に捉えて、スタックトレースをStringWriterに吐いて、
その文字列を解析して上から二番目のメソッドを抽出って感じで調べられるが、
スタックトレースの出力形式なんて仕様じゃ決まってないだろうしなぁ。
>>392 例外投げんでもExceptionのインスタンスを作ればスタックトレースは得られる。
どっちにしろ問題の解決にはならないか・・・。
>>390 StackTraceElement st[] = e.getStackTrace();
if (st.length > 0) {
String name = st[1].getMethodName();
}
でいいんじゃないかな。ただしJDK1.4
もちろん、eは、Throwableのインスタンス。
396 :
デフォルトの名無しさん :02/12/26 01:14
>>389 まっとうな方法というと、JVMDI経由で自分自身のスレッドの
スタックの情報を集めてくる、かな?
JDWP動かしっぱなしでよいならね。激しく重いけど。
>>391 わけわからない質問になってすいません。
JPanelにJMFPlayerのヴィジュアルコンポーネントを追加?(JPanel.add〜)
して動画像を再生してるんですけど、プレイヤー停止時の画像を
ファイルに出力(静止画像をファイルに保存)したいのです。
JMFにも実現手段があると思うのですがいまいちわからなくて・・・
394の方法でやってみます。ありがとうございます
399 :
デフォルトの名無しさん :02/12/26 02:09
メソッドを宣言するときにstatic宣言するかどうかで困ってしまいます。 どういう風に使い分ければよいのでしょうか?
がーん・・
402 :
デフォルトの名無しさん :02/12/26 02:28
>>684 名前:デフォルトの名無しさん 投稿日:02/12/12 12:13
>>
>>679 >>そのメソッドがインスタンスを必要とするかだろ。
>>
>>必要としない場合でも、オーバーライドできるようにしたい場合や、
>>どちらがいいか悩むくらいなら迷わず非static。
どちらがいいかで迷うくらいなら迷わず非staticというのはどうしてなんでしょうか?
>>402 俺はその
>>679 じゃないけど
迷っても取り合えず非staticでやってみれば?
使い分けの条件を完全に列挙して教えるなんて無理だと思うし、
そーゆー事は失敗しながら学習するもんだと思うけど。
404 :
デフォルトの名無しさん :02/12/26 02:43
>>403 レスありがとうございます。おっしゃるとうりですね。
とにかく経験つんでがんばってみます。
405 :
デフォルトの名無しさん :02/12/26 02:44
>>402 staticメソッドは良く考えてから、作れということだろ。
staticメソッドを良く見かけるのは、関数の集まりになっているものや、
singletonパターンなど。
関数の集まりの例としては、java.lang.Mathが良い例だ。
singletonパターンというのは、インスタンスの作成をクラスで制御したい
場合に使います。getInstance()というメソッドがあると、singletonパター
ンになっていることが多い。
>>389 ,392
リフレクション( java.lang.reflectパッケージ )でうまくいきませんか?
すいません、今Linuxサーバーに置いてあるZipファイルをServletで ダウンロードさせるプログラムを組んでいるのですが、最初に File file = new File( "/home/pub/ZIP/TEST_download.zip" ); response.setHeader("Content-Disposition", "attachment ;filename="+ file.getName() +"" ) ; response.setHeader("Content-Length: ", String.valueOf( file.length() ) ); response.setContentType("application/octet-stream") ; response.sendRedirect( file.getPath() ); とやっても実際ファイルがそこにあるのにも関わらずファイルをダウンロード してくれないという状態です。(パスはあってるけどパスがないって返ってきます・・・) とあるページでsendRedirect();を呼べばファイルを読み込まなくても ダウンロードできるとのことでしたがうまくいかないので、sendRedirect();を 外して処理を書いたところダウンロード画面はでるのですが中身が空っぽという状態です。 どうしたらファイルをダウンロードできるでしょうか?
更にですいません。 その後ファイル自体が空っぽだったので // ファイル読み込み?? BufferedInputStream bis = new BufferedInputStream( new FileInputStream( file ) ); DataInputStream dos = new DataInputStream( bis ); StringBuffer sb = new StringBuffer(); String line = ""; while ( ( line = dos.readLine() ) != null ) { sb.append( line ); } out = new PrintWriter( new OutputStreamWriter( response.getOutputStream(), "Shift_JIS") ) ; out.println( sb.toString() ) ; out.close() ; bis.close(); dos.close(); などとやってみましたが中身が破損してしまいうまくいきません・・・ どうやったらサーバーからクライアント側にダウンロードできるかわかんないので ほんとにすいませんがどなたかご助力お願いします・・・
>>408 もしかしてこのコードを
> File file = new File( "/home/pub/ZIP/TEST_download.zip" );
こう書いたらうまく動いてはくれないだろうか。
File file = new File( "home/pub/ZIP/TEST_download.zip" );
全然、見当ちがいのレスならごめんな。
>>409 バイナリを出力すんだったら
InputStream in = new FileInputStream(file);
OutputStream out = response.getOutputStream();
byte[] buf = new byte[1024];
int len;
while( 0 <= (len=in.read(buf)) )
out.write(buf,0,len);
みたいにした方が良いと思われ…
in.close(); out.close(); 忘れた…
>>410 こんな早い時間にレスありがとうございます
どうやらパス自体はシステム管理者曰く間違いない正しいフルパスだそうです。
思ったのですが response.sendRedirect( file.getPath() );
とやっているのですが直接ファイルを参照させるという使い方で間違っているのでしょうか?
わわわ 書いている間に答えを書いてくださった411・412様感謝します! なんとかできました、本当にありがとうございます! いつもこのStream系っていうのでどれをどの場合で使えばいいのかっていうのを もうちょっと勉強し直して見ます。 本当にありがとうございました!
解決方法見つかりました お騒がせして申し訳ありませんでした
>>416 ならその解決法のヒントだけでも書いたほうがいいとおもう。
後にこのスレが過去ログ倉庫に収められたとき、
おなじ悩みをかかえたひとがgoogleとかでこのスレにたどりついたとき
「解決しました」
とだけしか書いてなければ、そのひとがかわいそう。
>>417 2ch の初心者相談スレなんだし、
解決に貢献(?)してないし、目くじら立てる事も無いのでは?
>>418 いやあ、目くじらたててるんじゃなくて、
実は俺も知りたいのよ。ごめんちゃい。
いろいろ気になって調べてみたんだが、
ちょっとわからんかった。
eclipseでwindowClosingを実装しないクラスを実行しちゃったんですけど どうやったら終わってくれますか?
eclipseだったらconsole部とかに停止ボタンがある
>>424 ConsoleウインドウにあるTerminateという四角い赤いボタン。
427 :
デフォルトの名無しさん :02/12/26 23:52
429 :
デフォルトの名無しさん :02/12/27 11:54
API作るとき、エラーリターンと例外処理の使い分けってどうしてる? こういうときはエラー値を返す、こういうときは例外を投げるべき みたいな簡単なガイドラインないかな なんでもポンポン例外投げたくなるけど使うとき困るし
致命的エラー
>>429 明らかに処理の中断が必要ならthrowしてる。
処理の継続が呼び出し元で任意な問題ならreturnする。
? エラーと例外の違いだろ
>>432 ん?catchできるかできないかの違いじゃないの?
>>431 >処理の継続が呼び出し元で任意
やっぱこのあたりかな、ポイントは
>>432 ThrowableなErrorとExceptionの話じゃないです。
エラーと例外の話です。
うまく説明できなくてすまんです。
・・・と、そうか、エラー値リターンというのは
Javaには無い概念として考えていけばいいのか。
>エラー値リターンというのはJavaには無い概念 「例外を投げる」がそれを包含している
>・・・と、そうか、エラー値リターンというのは きちんと考えればきれいにフレームとしてまとめられるよ。 ここじゃ書かないけど。 ヒントだけ public class ValidationResult{ private boolean valid; private String result; }
あ、エラー値リターンとは違うな。 未だにそんなことしてる奴はVBに戻ってください(w
Exception継承すれば良いじゃんか。。。
なんにもわかってない439
エラー値リターンの意味について誤解してんのかな俺? java.sql.Statement.executeUpdate(String)がintで更新行数返す様に、 「一応SQL実行して正常に流れたけどあんたの更新したかった行数はこれで いいんかい?間違ってんなら勝手にrollback()しな」 ってなかんじのモノを想定してたんだが。
>>441 要は従来通り戻り値で関数の成功、失敗を判断するか例外を投げまくるかどっちにしましょう?って話だろ?
うん、よく考えたらやっぱりJavaには
エラー値リターン というのは存在しないね
ここにヒントがあったよ
みんなありがとう!
>>441 そんな感じ
>>437 悪いけど、それはダサいや。
うん。ダサいね。 真似するヤシがいたらどうしようかと思ってたよ。(w
445 :
初心者@416 :02/12/27 15:02
質問するだけして「解決しましたどうも」はおかしいですね・・・すいませんTT 海外のHPをずーっと探索してたらそれらしいソースが見つかりましたので 適当に加工して自分のキャプチャプログラムに取り組んだだけなので完全に 理解はできていません(Graphics2Dとか・・何それって感じ) なので、ソースを、、、リスナクラス?にあるのがそうです。
446 :
初心者@416 :02/12/27 15:03
mport java.io.*; import java.util.Vector; import java.awt.*; import java.awt.image.*; import java.awt.event.*; import javax.swing.*; import javax.media.*; import javax.media.util.*; import javax.media.protocol.*; import javax.media.format.*; import javax.media.control.*; import com.sun.image.codec.jpeg.*;
447 :
初心者@416 :02/12/27 15:03
public class PhotoTest{ static Player player; public static void main( String[] args ) throws Exception { Vector deviceList = CaptureDeviceManager.getDeviceList( new YUVFormat() ); CaptureDeviceInfo info = (CaptureDeviceInfo)deviceList.elementAt(0); DataSource source = Manager.createDataSource( info.getLocator() ); CaptureDevice cd = (CaptureDevice)source; FormatControl [] fcs = cd.getFormatControls(); FormatControl fc = fcs[0]; fc.setFormat( new VideoFormat( VideoFormat.YUV ) ); player = Manager.createRealizedPlayer( source );
448 :
初心者@416 :02/12/27 15:04
JFrame frame = new JFrame(); JPanel panel = new JPanel(); JButton button = new JButton("Capture"); Component vc = player.getVisualComponent(); panel.setLayout( new BorderLayout() ); panel.setSize( 320, 300 ); button.addActionListener( new MyWindowAdapter() ); panel.add( button, BorderLayout.SOUTH ); panel.add( BorderLayout.NORTH, vc ); frame.getContentPane().add( panel ); frame.addWindowListener( new MyWindowAdapter() ); frame.pack(); frame.setVisible( true ); player.start(); } }
449 :
初心者@416 :02/12/27 15:04
class MyWindowAdapter extends WindowAdapter implements ActionListener{ public void windowClosing( WindowEvent e){ PhotoTest.player.stop(); PhotoTest.player.close(); System.exit(0); } public void actionPerformed( ActionEvent e ){ FrameGrabbingControl fgc = (FrameGrabbingControl)PhotoTest.player.getControl("javax.media.control.FrameGrabbingControl"); Buffer buf = fgc.grabFrame(); BufferToImage btoi = new BufferToImage( (VideoFormat)buf.getFormat() ); Image img = btoi.createImage( buf ); BufferedImage bi = new BufferedImage( img.getWidth( null ), img.getHeight( null ), BufferedImage.TYPE_INT_RGB ); Graphics2D g2 = bi.createGraphics(); g2.drawImage( img, null, null );
450 :
初心者@416 :02/12/27 15:04
FileOutputStream out = null; try{ out = new FileOutputStream("c:/test.jpg"); } catch(FileNotFoundException io){ System.exit(-1); } JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder( out ); JPEGEncodeParam jparam = encoder.getDefaultJPEGEncodeParam( bi ); jparam.setQuality( 0.5f, false ); encoder.setJPEGEncodeParam( jparam ); try{ encoder.encode( bi ); out.close(); } catch(IOException io){ System.exit(-1); } } }
451 :
初心者@416 :02/12/27 15:10
class MyWindowAdapter extends WindowAdapter implements ActionListener{ public void windowClosing( WindowEvent e){ PhotoTest.player.stop(); PhotoTest.player.close(); System.exit(0); } public void actionPerformed( ActionEvent e ){ FrameGrabbingControl fgc = (FrameGrabbingControl)PhotoTest.player.getControl("javax.media.control.FrameGrabbingControl"); Buffer buf = fgc.grabFrame(); BufferToImage btoi = new BufferToImage( (VideoFormat)buf.getFormat() ); Image img = btoi.createImage( buf ); BufferedImage bi = new BufferedImage( img.getWidth( null ), img.getHeight( null ), BufferedImage.TYPE_INT_RGB ); Graphics2D g2 = bi.createGraphics(); g2.drawImage( img, null, null );
452 :
初心者@416 :02/12/27 15:10
JFrame frame = new JFrame(); JPanel panel = new JPanel(); JButton button = new JButton("Capture"); Component vc = player.getVisualComponent(); panel.setLayout( new BorderLayout() ); panel.setSize( 320, 300 ); button.addActionListener( new MyWindowAdapter() ); panel.add( button, BorderLayout.SOUTH ); panel.add( BorderLayout.NORTH, vc ); frame.getContentPane().add( panel ); frame.addWindowListener( new MyWindowAdapter() ); frame.pack(); frame.setVisible( true ); player.start(); } }
453 :
初心者@416 :02/12/27 15:10
JFrame frame = new JFrame(); JPanel panel = new JPanel(); JButton button = new JButton("Capture"); Component vc = player.getVisualComponent(); panel.setLayout( new BorderLayout() ); panel.setSize( 320, 300 ); button.addActionListener( new MyWindowAdapter() ); panel.add( button, BorderLayout.SOUTH ); panel.add( BorderLayout.NORTH, vc ); frame.getContentPane().add( panel ); frame.addWindowListener( new MyWindowAdapter() ); frame.pack(); frame.setVisible( true ); player.start(); } }
そりゃ437そのままつかったらダサいわな
455 :
417改めかわいそうなひと :02/12/27 15:56
>>416 なるほどありがとう!!
こちらこそ尋ねるほうの身で、
目くじら立てるようなことを言って申し訳ない。
456 :
デフォルトの名無しさん :02/12/27 16:21
あるオブジェクトがExceptionを発生した場合、 そのオブジェクトからエラー内容を取得すればいいんじゃない?
457 :
デフォルトの名無しさん :02/12/27 16:46
SELECT ID, 名前, TO_CHAR(入社日,'YYYY"年"MM"月"DD"日"') FROM 社員表; SQLで↑の文を実行するとうまくいくのですが、 Javaの中で書くとなぜかうまくいきません。 一応、↓のように書いたのですが、 何か間違ってるところありますか? String sql ="SELECT "+ " ID "+ " 名前 "+ " TO_CHAR(入社日,'YYYY"年"MM"月"DD"日"') "+ " FROM "+ " 社員表";
>>457 System.out.println(sql);
の実行結果書いて。
459 :
デフォルトの名無しさん :02/12/27 16:57
>>458 System.out.println(sql);しましたが、
SQL文は表示されずにエラーがでます。
そのエラーは
" TO_CHAR(nyuusyabi,'YYYY"??"MM"??DD"??"' ) ,"+
^
というものです。
YYYYのところでエラーが出てるようです。
TO_CHAR関数の書式が間違ってると思い確認してみたのですが、
??です。
>>459 エラーエラーとそのエラーメッセージをどうして書かない・・・。
文字列の中で"を使う場合は、ちゃんとエスケープしろ。 " TO_CHAR(入社日,\'YYYY\"年\"MM\"月\"DD\"日\"') "
462 :
デフォルトの名無しさん :02/12/27 17:25
>>460 英文なため、意味不明で確認してみませんでした。
ほんとに??です。
>>462 ・・・が今プログラマやってるんだっけか?
もしかして俺の未来は明るいやもしれん。
>>462 だからなんでその英文を書かない・・・。
それとも「??」と出たのか?
>>464 英語環境で日本語javacと言ったところでしょうか。
>>465 日本語が表示できるように環境を構築しなおすか、
英文でエラーコードを吐き出すようロケールを設定しなおすか、
それか「ひとたび書けばどこでも動く」の思想に乗っ取って、
日本語環境でプログラミングしたほうがよいのでは。。。。
J2SEは環境に応じて日本語、英語を切り替えてくれるはず。
>>462 意味がわからないからといって
コピペくらいはデキルだろ
いくら名医でもあんたがわからないからといって体みせてくれなきゃ診断はできんよ。
>>468 いや。
>>462 は文字化けでほんとに??????????????って表示されているのだとおもう。
そんなものをここに貼られても対処の仕様がない。
そもそもそんな環境で仕事しようというのが間違っているのだが。
>>462 使っているOSがなにかしらないがUnix系なら環境変数をいじれば、
英文でエラーコードを出力してくれるとおもうよ。
470 :
デフォルトの名無しさん :02/12/27 18:11
Windows2000で、エディタ+JDKでやってるんですけど makeファイルってどうやって書けば良いんですか?
>>470 mainのあるクラスをコンパイルすれば
芋づる式にコンパイルされるから、makeなんていらないよ。
いや、本当はあった方がいいけど、今はいらないと思うよ。
472 :
デフォルトの名無しさん :02/12/27 18:26
Javaって何ですか?
>>471 make要らないんですか。それは簡単で良いですね。
ありがとうございました。
475 :
デフォルトの名無しさん :02/12/27 18:31
学生の内にJ2EEを学んでおこうかと思っているのですが、とっかかりと して良い文献もしくはページ無いでしょうか?
>>471 なぁ、でもantの事くらい教えてやっても罰は当たらんと思うよ。
蟻
478 :
デフォルトの名無しさん :02/12/27 20:15
実際にプログラムを書いて、実行しながらSWINGと ネットワークプログラミングを完璧にマスターしたいと思っています。 お奨めの書籍か講習会をご存知でしたら教えて下さい。
>>478 Swing と ネットワーク関係 どっちかに絞った方がよさげ。
>>480 そだね。結局ビューがGUIになるかちゃちいコンソールになるかの違い。ロジックは一緒なのだから。
ディレクトリの中のたくさんのjarの中から、 クラスを探せるツールってありませんか? よろしくお願いします。
>>483 なんだかんだ言って結局zipファイルなのでその手のツールでできない?
では、全部.zipにリネームして全部解凍して検索します。 javaでやるよりそのほうが手っ取り早いかもしれないですな。 ありがとうございました。
486 :
デフォルトの名無しさん :02/12/27 22:00
画面をスプリットして、splitPane.setDividerLocation(0.5d);とすると 50%ずつに分割されるはずなのですが、効果が無いようです。 どうすればスプリットバーの初期位置を決定できますか?
487 :
デフォルトの名無しさん :02/12/27 22:47
>>483 ClassLoader使って、指定のクラスを呼び出せるかどうかで
チェックするロジック組んだらエエヤン。
488 :
デフォルトの名無しさん :02/12/27 23:31
classpathの値を取得するにはどうすればいいのでしょうか?
491 :
デフォルトの名無しさん :02/12/28 00:44
JXTAってどう?
492 :
デフォルトの名無しさん :02/12/28 01:32
色々なプログラミングがありますけど やっぱりJavaって良いんですか? 種類の多さに何がなんだか分からない状況なんで。
Javaでプログラム作っても配布が難しいよなぁ JREの最新版をいれて{い|くれ}る人がどれだけいるか・・・
>>488 String classpath = System.getProperty("java.class.path");
>>493 俺はそういう場合 JDK1.1 で組んで jview.exe で使わせる。
495 :
デフォルトの名無しさん :02/12/28 01:55
>>493 どうせ、おまえは最新の機能を使っていないだろ?
>>494 いーかげん MSJVM は忘れよーよ。
497 :
デフォルトの名無しさん :02/12/28 01:59
いまJREって、Flashとかのプラグイン同様に「なければDLインストール」 させることができるようになってなかったっけ?
>>497 ブラウザでのJavaAppletの話?
ならブラウザによるね。
Netscape7は、なければ自動的にJVMをダウンロードするウィンドウが
現れ、クリックすると自動インストールされる。Flashとほとんど同じだね。
>>485 > では、全部.zipにリネームして全部解凍して検索します。
> javaでやるよりそのほうが手っ取り早いかもしれないですな。
わざわざzipにリネームしなくても解凍できるんじゃない?
explzhでは解凍できますよ。解凍ソフトインストールしたからといって
(関連付け設定により)jarファイルをダブルクリックしても解凍できるとは限りませんが
デスクトップのexplzhか "解凍" にjarをドロップで解凍できます。
というのはWindowsでの話です。
コマンドラインでもjar -xvf jarファイル名で解凍できます。
もっと楽なのは
jakarta-antで Unjar タスク使って解凍してfindコマンドまたは普通に検索ツールで検索すると楽でしょう。
いちいちbuild.xmlファイル書くの面倒くさいかな...?
500 :
デフォルトの名無しさん :02/12/28 13:59
ディレクトリ内のファイル数を調べることができるクラスおよびメソッドは ありますか? また、その読み取り時に、拡張子等でカウントするファイルの種類を限定することはできますか?
501 :
デフォルトの名無しさん :02/12/28 14:06
>>500 java.io.File あたりをチェック汁。
502 :
デフォルトの名無しさん :02/12/28 14:09
ファイルの種類を限定するのはFileFilterみたいですね。ありがとうございます。 Fileクラスのjavadoc(1.4)は一応見たのですが、ファイル数を返すものが 見つけられませんでした。
503 :
209.233.221.202.xf.2iij.net :02/12/28 14:13
>>502 File.listFiles() で子供の配列が返ってくるから、配列のサイズ見れ。
それと 返ってきた File を FileFilter で検査すれば、
必要なファイルの数も分かんべ?
505 :
デフォルトの名無しさん :02/12/28 14:40
なるほど。 丁寧な回答、ありがとうございました。M(_ _)M
506 :
デフォルトの名無しさん :02/12/28 23:55
MySQLに接続しようとしているのですが、まず接続する前にドライバを認識してくれません。 以下のエラーがでてしまいます。 java.lang.NotFoundException : "org.gjt.mm.mysql.Driver" 当方、mm.mysql-2.0.4-bin.jar、mysql-connector-java-2.0.1.4-bin.jarのドライバで 以下のように接続を試しました Class.forname("org.gjt.mm.mysql.Driver"); Classpathはとおっているのにどうしてでしょうか?
>>506 怪しいよなぁ。。。
java.lang.NotFoundExceptionなんて例外クラスも、
Class.fornameなんてメソッドも存在しないし。
どうせくだらない理由なんだろうな(w
508 :
デフォルトの名無しさん :02/12/29 00:11
>>507 すいませんエラーは、 java.lang.ClassNotFoundException でした。
(つってもnotfoundの時点で誰でもわかると思うけど)
あとjava.lang.Class.forname();はありますよ。
だって私Class.forname("sun.jdbc.odbc.JdbcOdbcDriver");でJDBC-ODBC接続使って、
ACCESSには接続できましたよ。
SQL文だってきちんと発行できたし・・・・・・・・・・・つーか両方ともAPIドキュメントにでてますよ。
ってんなことはどうでもいい。誰かわかる人いませんでしょうか?
CATALINA_HOME/common/lib
正確には、Class.forNameだよね。 でも、コンパイルが通っているなら、ソース上は正しいのでしょう。 どうも、チョイミスっぽい予感。
511 :
デフォルトの名無しさん :02/12/29 00:24
>>510 確かにODBCの方には接続できるんですよね。
mysqlの方ができなくて・・・・・・・・コンソールからならmysqlはつながるから・・・う〜ん
って言うかmysql動かす前にドライバ認識してないからどうしょうもないけど。
512 :
デフォルトの名無しさん :02/12/29 00:26
SDKインストールしたらアプレットが遅くなるんですけど どうしたらいいですか?
508って何でそんなにえらそうなんだろう
514 :
デフォルトの名無しさん :02/12/29 00:28
>>508 mysql-connector-java-2.0.1.4-bin.jarは
Class.forname("org.gjt.mm.mysql.Driver");
ではダメ。
Class.forName("com.mysql.jdbc.Driver");
でやってみて。
515 :
デフォルトの名無しさん :02/12/29 00:30
516 :
デフォルトの名無しさん :02/12/29 00:34
>>514 java.lang.NotFoundException : "com.mysql.jdbc.Driver"
でてしまいますた。
517 :
デフォルトの名無しさん :02/12/29 00:36
518 :
デフォルトの名無しさん :02/12/29 00:40
>>517 classpathなんでしょうか・・・でもclasspathは設定してあるんだけどなぁ・・・・・
ちなみに環境変数で実行ファイルの場所にclasspathを設定してまして、おんなじとこにMySQLのドライバをおいてます。
もう一度確認してみますね。
>>509 でもう答えが出てるのに何をやってるんだろう?
520 :
デフォルトの名無しさん :02/12/29 00:43
CATALINA_HOME/common/libでいいんですか? ちなみにこのパスってどう使うんですか?
521 :
デフォルトの名無しさん :02/12/29 00:50
jarファイルにcom.mysql.jdbc.Driverあるか調べた?
実行時の例外で、どうしても原因がわからんなら、デバッガ使って追い詰めろ。
523 :
デフォルトの名無しさん :02/12/29 00:59
>>521 jarファイルにってよくわからないのですが。。(汗
当方classpathの通っているところにドライバのjarファイルをおいておりまする
>>522 System.out.println();はさんでエラー箇所を出してます。
コンパイルも通ってるし、ODBCの方には接続できて、このエラーだから
原因は確実にドライバを認識していないってことはわかるのですが・・・・・・
524 :
デフォルトの名無しさん :02/12/29 01:02
ちゃんとjarファイル名までclasspath通してる? CATALINA_HOME/common/lib/mysql-connector-java-2.0.1.4-bin.jar かな?
525 :
デフォルトの名無しさん :02/12/29 01:05
>>524 なるほど、要するにドライバが置いてあるところじゃなくてドライバまで指定するんですね。
ところでCATALINA_HOMEってでてきてますけど、これってWebエンジンですよね。
ちなみに私の環境はスタンドアロンでApplication作ってます。
JSPやsevletじゃないです。w(Tomcatだけは入れてあるけど)
526 :
デフォルトの名無しさん :02/12/29 01:08
ごめんなさい、jarファイルまでの正しいパスでOKです。 classファイルならディレクトリ名までで良いのですが。
527 :
デフォルトの名無しさん :02/12/29 01:12
>>526 いきました。
みなさんありがとうございました。
つーか再起動したら動いたのかもしれません(藁
さっきまでpass設定しても再起動してなかったような気が・・・・・・・setで確認しるの忘れてた
528 :
デフォルトの名無しさん :02/12/29 01:21
>>527 そういうことのないよう、毎回-classpathオプションで
指定する方が良いと思いますよ。
何かのアプリ上から実行しているなら、設定箇所がある
はずなので、ヘルプとか見てみてください。
529 :
デフォルトの名無しさん :02/12/29 01:37
cやらvbやらwindows系のヘルプといったらMSDNだと思うのですが、 javaでそれに相当するようなヘルプはありますか? やっぱりSunの「JavaTM 2 SDK, Standard Edition ドキュメント」になるのでしょうか? それとも、試してないからわからないのですが、複数ある統合開発環境で 各々が用意しているヘルプというものにjavaの部分で違いがあったりしますか?
530 :
デフォルトの名無しさん :02/12/29 01:39
<SCRIPT language="JavaScript">
<!--
imgnum=1;
function changeImage(){
if(imgnum==1){
document.myimg.src="
http://www.p.or.jp/top/1.jpg ";
imgnum=2;
}else if(imgnum==2){
document.myimg.src="
http://www.p.or.jp/top/2.jpg ";
imgnum=3;
}else if(imgnum==3){
document.myimg.src="
http://www.p.or.jp/top/3.jpg ";
imgnum=1;
}
setTimeout("changeImage()",3000);
}
// -->
</SCRIPT>
とりあえずよそからかっぱらって来たやつなんですが、
1.jpgから100.jpgまでなんか1行か2行くらいで表示する
構文あったらおしえてください
>>529 すみません。言葉が足りませんでした。
まず
>>528 のリライトします。
環境変数を変更し、再起動する手間を省くため、実行時のみの
クラスパスを設定する方法をお勧めします。
もしJDKのみインストールしてコマンドから実行してるなら、
下記のように-classpathオプションを付けてください。
毎回書くのが面倒ならそれだけのバッチファイルでも作ると
良いと思います。(私はそうしてます)
「java -classpath .;C:\\xx\\xx.jar;C:\\yy\\yyy zz.zz.zz」
アプリケーション(統合開発環境)から実行しているなら、
上記のような実行時のクラスパスを設定する箇所はそれぞれ
違うはずです。何をお使いか分かりませんので、そのアプリ付属
のヘルプを参照してくださいとしか言えません。すみません。
そしてJavaのヘルプですが、SUNのドキュメント以外では、
>>1 のFAQやJavaHouseなどでしょうか。
統合開発環境のJavaの部分のヘルプというか、コーディングに
関するヘルプが存在するのか分かりませんが、設定方法などは
結構違いますよね?はずしてたらすみません。
>>531 すみません。
なにかややこしくなっちゃいましたね。
classpathの人とは別人で、529は新規の質問です・・
書き込んだ後、ちょっと進行状況が気になってたので
補足しておけばよかったですね。反省
534 :
デフォルトの名無しさん :02/12/29 02:12
>>530 1行は厳しいな。(imgnum%3)をイメージ数に変えてみてください。
imgnum=0;
function changeImage(){
document.myimg.src=myImage("
http://www.p.or.jp/top/ "+(imgnum%3)+".jpg");
imgnum++;
}
setTimeout("changeImage()",3000);
>>532 本腰いれてjavaの勉強を始めようと思い、とりあえず、
Oracle JDeveloperというのを入れてみたのですが
目次だけ見てると、ヘルプが独自っぽく見えます。
(設定がうまくいってないようで内容は見えない・・)
で、統合開発環境でヘルプ機能に差異があるんだったら
一番いいやつというか、好評なものを使いたいなぁと。
以前、仕事でちょっとだけjavaの時には、
javadoc+googleで乗りきったのですが、やっぱりこれが標準なんでしょうか?
RTPで送受信したいのですが、ローカルネットワークで テストする場合は受信側も送信側も "RTP://127.0.0.1:port/video"みたいなURLでいいのでしょうか?
>>537 1台のPCで、送受信するのであれば、それで良い。
>>536 javadoc + src.zipで乗り切ってください。
それ以上の情報はどこにも書いてありません。
540 :
デフォルトの名無しさん :02/12/29 15:08
WindowsAPIやMFCで言うListViewコントロールって、JAVAのJTableと 考えて良いんですか? なんかこれ、ちょっとのリスト作るだけでも長い準備必要ですね・・・。
>>540 >なんかこれ、ちょっとのリスト作るだけでも長い準備必要ですね・・・。
?DefaultTableModel使えば割とお手軽だけども。
542 :
デフォルトの名無しさん :02/12/29 15:54
javaに関係あるから質問するけど、 コールドフュージョンって今後どうですか? 現場で使ってる人のアドバイスでも、まだ使ってないけど 見解を持ってる人のアドバイスでもいいのでください。 私的に今度をその技術を学ぶことになり、これってどうよ?って思ってて 不安だったり。簡単そうな言語だからいいんだけど、あんまり無駄にいろんな 言語に手を出したくないって思って宝。
>>542 この業界、無駄な知識なんて無いんだよ。と。
544 :
初心者@RTP :02/12/29 16:38
>>538 ポート番号も送受信側で同じものを指定して大丈夫でしょうか?
545 :
デフォルトの名無しさん :02/12/29 16:52
まー、それも含めて、javaに関したコールドフューってどうかと。 聞きたいなって思って。
546 :
デフォルトの名無しさん :02/12/29 16:54
「この文に制御が移ることはありません。」 UZeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
548 :
デフォルトの名無しさん :02/12/29 17:29
>>542 もしかして FlashとかJRunとかFireworksとかDreamWeaverとかFreehandとか
使っている?
549 :
デフォルトの名無しさん :02/12/29 17:55
550 :
デフォルトの名無しさん :02/12/29 20:00
>>542 ColdFusion for WebSphereは面白そうだな。
Velocity使え
552 :
デフォルトの名無しさん :02/12/29 22:55
>>549 コールドフュージョンというとFlashとかド派手なものが思い浮かんでくるんだよね。
スマンが俺は見解を持ってません。やったこと無いんで。
だが不安がるべきじゃないと思うな。いい経験になるんじゃないかな。
仕事だったらお金を貰いながらそういう経験できるなら羨ましいね。
JSP/Servlet/struts/カスタムタグライブラリとの違い、共通点を実感できる経験になるんじゃないか。
553 :
デフォルトの名無しさん :02/12/30 02:40
>>552 そか、マジレスありがとう。
もちろん、仕事ですることになったんだよ。
ただ、おれとしては、もういいじゃん、今までのようにやろうよ〜
なんて思ってたりして。別に新しい技術に興味ないわけじゃないけど、
まだまだ今までのやり方をちゃんと理解してないから
もうちょっと深くやりたくてさ。で、コールドフューは学ぶに値するのかなー
なんて思って、ここで質問したわけです。
554 :
デフォルトの名無しさん :02/12/30 10:50
JProfiler のサイトから評価版試用キーのメールが届かないんだけど、俺だけ?
>>554 なんかセールス部にメール出さなきゃもらえないみたいよ。
MacOSXで濁点が付いたファイル名が化けてしまいます。 デフォルトエンコーディングのShift_JISに変換して扱いたいのですが その前に何かやっておくべき事はありますでしょうか。 宜しくご教授お願いします。 import java.io.File; import javax.swing.JFileChooser; public class sample { private sample() {} public static void main(String[] args) throws Exception { JFileChooser chooser = new JFileChooser(); if (chooser.showOpenDialog(null) != JFileChooser.APPROVE_OPTION) return; String chosenFile = chooser.getSelectedFile().getPath(); String encodedFile = new String(chosenFile.getBytes()); File file = new File(encodedFile); boolean success = file.exists(); System.out.println("selected " + chosenFile); System.out.println("encoded " + encodedFile); System.out.println("exsists " + success); System.exit(0); } }
>>556 JavaのデフォルトエンコードはSJISじゃないぞと。
>String encodedFile = new String(chosenFile.getBytes());
意図がわからない。
お返事感謝です。 getBytes()を使ってUTF-16からShift_JISに変換して その後でもファイルが存在出来る様に出来ますでしょうか。 当方の誤解でしたら済みません。
でた!!
済みません。 せっかく教えていただいたのに当方の無知のせいで理解出来ませんでした。 ソースを簡略しました。この状態でも、 「がぎぐげご.txt」->「か?き?く?け?こ?.txt」と表示されてしまいます import java.io.File; import javax.swing.JFileChooser; public class sample { private sample() {} public static void main(String[] args) throws Exception { JFileChooser chooser = new JFileChooser(); if (chooser.showOpenDialog(null) != JFileChooser.APPROVE_OPTION) return; String chosenFile = chooser.getSelectedFile().getPath(); System.out.println("selected " + chosenFile); System.exit(0); } }
562 :
デフォルトの名無しさん :02/12/30 14:19
Mac OS X版のバグ
WIndows の J2SE 1.3.1 から変換テーブルの入ったファイルだけ引っこ抜いて MacOSX J2SE 1.3.1 に上書きすればうまく行きますでしょうか。 もしできるとすれば、そのファイル名は何でしょうか。
>>556 昔、新・Mac板のjavaスレで同じような質問に答えた覚えがあるのだが・・・
ひょっとして同一人物?
まず、556は、根本的にJavaで扱う文字コードのことについて誤解していると思うよ。
間違った知識を前提に質問を繰り返しているから、
回答もしにくいし、せっかく回答をもらっても、生かすことが出来ないのでは。
結論から言うと、これは変換テーブルをこさえて、一つ一つ変換していくしか
ありません。
なんでかっていうと、
1.MacOSXは、ファイル名を、ユニコードで持っている
2.しかし、MacOSXは、濁点つきの文字を、一つのユニコード文字ではなく、
二つのユニコード文字で表現している。
例えば、「が」は、「304b 3099」
ユニコードで、「が」をあらわす文字は、他に「304c」というのがあるけど、
MacOSXは、2文字で表す方式を選択したみたい。なんでなのか知らんけど。
3.MacOSXのJavaは、MacOSXのファイル名を取得するときは、ユニコードを素直にそのまま取り込む。
ような実装になっている。
つまり、「が」をそのまま「304b 3099」として取り込むわけね。
4.次に、これをShift_JISに変換しようとすると、文字化けがおこる。
Javaが持っているユニコード->Shift_JIS変換テーブルでは、「304c」->「が」
という変換はできるけど、「304b 3099」->「が」という変換はできないから。
これを、うまく処理するためには、まずファイル名を取得したら、すべての濁点付き文字の
ユニコードを変換してやらなければならない。
「304b 3099」という文字を見つけたら、「304c」に変換、という具合に。
もし分からないところがあれば質問して。今日は暇だからつきあってあげるよ。
566 :
デフォルトの名無しさん :02/12/30 15:16
付き合ってください!!(*>_<*)
お返事ありがとう。
同じ者です。おさわがせしています。
> MacOSXのファイル名を取得するときは、ユニコードを素直にそのまま取り込む。
WIndowsでは2文字を1文字に結合する処理はされていないのでしょうか。
NTFS4/5でもユニコードのファイル名が使われています。
> 変換テーブルをこさえて、一つ一つ変換していくしかありません。
もしこの方法しかないのなら、大変膨大な量の作業が必要になってしまいます。
実は、日本語以外にもサポートしたい言語が複数あるためです。
ヨーロッパ言語などにも2文字分であらわす発音記号などがあります。
そこで、思い付いたのが
>>564 のような、荒技でした。
もし、Windows版のi18n.jarやclass.jar内にこの変換処理のクラス java.io.* が含まれていれば
そっくりMacOSX版のものと差し替える事が出来るかどうかです。
読解力ねえな、このバカ
javax.swing.filechooser.FileSystemViewのgetSystemIcon(File file)を 使ってファイルシステムアイコンを取得しようとしているのですが、 最初の数百回は正しくアイコンを取得できるものの、500回前後取得を繰り返すと 正しく取得できなくなります。 具体的には下記のプログラムを実行すると、始めのうちはアイコンが正しく取得され "MS-DOS バッチ ファイル" と表示されるものの500回前後で "javax.swing.plaf.metal.MetalIconFactory$TreeLeafIcon@6b13c7" となってしまいます。 1度こうなってしまうと他のファイル(下の例ではAutoexec.bat以外)でも 正しくアイコンが取得できなくなってしまいます。 また、プログラムを実行するたびに正しく取得できなくなる回数が微妙に変わります。 原因が一切不明で解決策がわかりません。 原因or解決策がわかる方、教えて頂けないでしょうか? 環境: Windows98 SE JDK 1.4 //テストプログラム import java.io.*; import javax.swing.filechooser.*; import javax.swing.*; class FileIcon{ public static void main(String[] argv){ FileSystemView view = FileSystemView.getFileSystemView(); File file = new File("C:\\Autoexec.bat"); Icon icon; for(int i= 0; i < 1000; i++){ icon = view.getSystemIcon(file); System.out.println(i + " "+ icon); } } }
>>568 調べていないのではっきりしたことは言えないのだけど、
おそらくWindowsでは濁点付きの文字は1文字のコードで持っているのでは
ないかな。
こういうのって、昔からユニコードの問題点としてあげられているらしくて、
ある文字を表現するのに、何種類かの選択肢がある場合があって、
どれを選択するかは、会社ごとに統一がとれてないみたいです。
つまり、WindowsとMacOSXでは、同じ濁点付きの文字を表現するのに、
違うコードを選択してしまっているということ。
他にこの問題で有名なのは、「〜」や「−」なんかがあります。
そんなわけなので、ヨーロッパ言語とかで、2文字で表現するものがあったとしても、必ずしもこの問題がでるとは限らないよ。
多分、こういう問題を抱えている文字は、ごくわずかだと思っています。
ここまで読めば、
>>564 の方法が無意味なことは、分かるよね?
572 :
デフォルトの名無しさん :02/12/30 15:55
キャーッ付き合ってください!!(*>_<*)
よく分かりました。ありがとう。 ヨーロッパ(特にドイツフランスイタリアは発音記号を多用しています)の利用者からの声で 現在のApple Java 1.4.1-pre8では、この問題は半分解決されています。 これは、Javaが文字の絵画命令を出す直前に、 2文字から1文字への変換テーブルが搭載されました! 1.3.1では「か゛」だったものが1.4.1では「が」と正しく表示される様になりました。 ただ、これは表面上の変更であって、依然としてファイル名を獲得する時は2文字分です。 デフォルトロケールの文字エンコードに変換する時はまだ化けます。 もう一つの荒技なのですが、この1.4.1の変換テーブルのクラスをライブラリとして 1.3.1に組み込み、使用する事は可能でしょうか。
あなた日本語が可笑しいですよ?
>>573 > もう一つの荒技なのですが、この1.4.1の変換テーブルのクラスをライブラリとして
> 1.3.1に組み込み、使用する事は可能でしょうか。
やったことないんで知りません。
つーか、なんでそういう変なことばっかりやろうとするんだ。
Java1.4.1のことはよく知らないので教えてほしいんだけど、
それって、コードそのものの変換なの?
それとも、フォントを割り当てを変換しているの?
「304b 3099」というコードを、「が」というフォントに割り当てるのと、
「304b 3099」というコードを、「304c」に変換することとは
違うと思うんだけど。
後者の方をやらないと、デフォルトエンコーディングの問題は
解決できないよね?
コードそのものの変換の様です。 複数の言語をあまり手間をかけないで変換しようと思ったら、 変に思われるかもしれませんが(^^; 一から変換処理作るよりこういった既存の変換処理を再利用した方が、 効率的かなと思いました。
>>577 >コードそのものの変換の様です。
そうですか。それならいいです。教えてくれてありがとう。
既存の変換処理を再利用するっていう発想は正しいけど、
1.4のライブラリを1.3で使おうとするのは、あんまりまともな
発想とは思えないよ。
その1.4のライブラリの中で、1.4のその他のライブラリに依存している部分が
あれば、おかしくなるのは目に見えているし。
個人的には、自分で変換テーブルこさえるか、
1.4ベースで動くようにアプリを適合させた方が無難じゃないかと
思うんだけど、まあこれ以上は余計なお世話だわな。
ローカライズは大変だろうけどがんがってください。
サンキュウ!
linuxでjavaやってみたんだけど、コンパイルとかwindowsよりめちゃめちゃ はやい!!! すげーなlinux!
581 :
デフォルトの名無しさん :02/12/30 19:54
linuxマンセーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー?
582 :
デフォルトの名無しさん :02/12/30 21:14
とあるサイトのカスタムタグのサンプルのソースと同じフォルダに、 「xxxxx.ucd」というxml形式のファイルが入っていたのですが、 これはどういう時に参照されるのでしょうか?
583 :
デフォルトの名無しさん :02/12/30 22:48
今、java.sun.com 落ちてる? APIドキュメントいつもネットで見てるからこういうときに困る・・・・
>>570 俺の環境だとコピペして実行したら普通に取得できたぞ!
↓
WindowsXP
RedHatLinux7.3
>>576 サンクスです。調べてみます。
>>584 できたんですか!!
Windows98の問題なのだろうか・・・
>>586 「MS-DOS バッチ ファイル」って奴が999まで、合計1000回出たらいいんだろ?
普通になんのエラーもなく出力されたぞ!
Linuxはファイル指定を変えたけど1000回出力された!
抽象クラスやメソッドを継承するのは何のために? 定義だけして処理を書いてないなら継承する必要 無いと思うのだけど..
クラスにメソッドが"存在する"ことが保証される
592 :
デフォルトの名無しさん :02/12/31 04:42
>>581 最近OS板のスレッドが面白い。
LinuxとWindowsで加熱している。
さあ、どっちのOSがいいんだろ。
すごいWindows狂とLinux狂がいる
>>589 >>576 のも WinMe で発生するらしーので
Win9x じゃないと再現しないのかも。
>>590 実装の継承でなくて インターフェイスを継承するの。
>>591 を別の言い方にしただけだけど。
>>589 WindowsXP + jdk1.4.1 で下のテスト使って試したけど
>4975 javax.swing.plaf.metal.MetalIconFactory$TreeLeafIcon@1006d75
とかでたっす。
>>576 のによれば GDIリソースを解放しないとか書いてあるので
メモリの量とかビデオメモリの量とかに左右されるのかも。
import java.io.File; import javax.swing.Icon; import javax.swing.filechooser.FileSystemView; public class test{ private static int count; public static void main(String[] args){ FileSystemView view = FileSystemView.getFileSystemView(); File[] roots = File.listRoots(); count = 0; for(int i = 0; i < roots.length; i++){ Icon icon = view.getSystemIcon(roots[i]); System.out.println((count++) + " "+ icon); func(roots[i], view); } } private static void func(File dir, FileSystemView view){ File[] files = dir.listFiles(); if(files != null){ for(int i = 0; i < files.length; i++){ Icon icon = view.getSystemIcon(files[i]); System.out.println((count++) + " "+ icon); if(files[i].isDirectory()){ func(files[i], view); } } } } }
>>595 GDIとメモリ及びVRAM容量に直接的な関係は無いことはPC初心者板では定説です。
Xerces+XalanでXPath使ってXMLを取得してるんだけど(SAX)、XPathで取得した結果、対象ノードが0件かどうか判断する良い方法ってありますか?
うーん 寝すぎた 駄目だな俺 来年からは休みの日でも9時には 起きるように頑張ろっと インターフェイスがいまいち理解できてないので、それをまず理解 します..
>>597 あ、そうなんですか。 知らなかった(恥)
詳しい解説してる場所とかあったらポインタ教えて欲しいっす。
タスクマネージャで見てたら GUIオブジェクトが 9996 で止まってるので
1プロセスに対するGUIオブジェクトの最大数とか決まってるのかも(?)
>>599 Javaのインターフェースではなく広義のインターフェースだよ。彼らが言ってるのは。
>>601 広義のインターフェース??
広い意味のインターフェース...ごめん、よく解らない..
603 :
デフォルトの名無しさん :02/12/31 16:48
Java歴数ヵ月の者です。質問です。 リトルエンディアンのマシンで、ビッグエンディアン2バイト整数型の バイナリファイルから数値を読み出すには、どんな方法があるでしょうか。 以前C言語で書いていたときは、共用体を作って 上下のバイトを入れ換えていました。(こんな感じ) int main(int argc, char *argv[]) { FILE *InFp, *OutFp; int i; union { short v; unsigned char temp[2]; } a; InFp=fopen("InputFile", "rb"); OutFp=fopen("OutputFile", "w"); for(i=0; i < 30; i++) { a.temp[1] = (unsigned char)fgetc(InFp); a.temp[0] = (unsigned char)fgetc(InFp); fprintf(OutFp, "%d\n", a.v); } fclose(OutFp); fclose(InFp); return 0; } Javaには共用体が無いみたいなので、上記の様なことが出来ない様なのですが、 こんなときは、皆さんどうしてますか? 文字列の場合は解決策があるようなのですが…
>>602 入り口出口を決めておくって事。要するに他の何かとやりとりする時に、
「ここではこういう処理をやるので、こんな引数キボンになるよな」とか
「ここは結局こういうモノを返す事になるヨ」とかだけ決めておけば、
後の実装は「そのインターフェースを守る限り」どうコーディング(ていうか誰がコーディング)しても
最終的に結合した時、同じように動く(はず)でしょ?(...ただし「性能」はまた別の話)
そういう取り決め(?)を明示的にあらわすのが、例えばJavaならInterface(=つまりこれが狭義)による、
宣言だったりする。...って、どこか間違いがあれば突っ込みキボン>識者
605 :
デフォルトの名無しさん :02/12/31 16:56
COM書くときのIDLとか勉強すると意味が良く(以下略)
>>589 俺
>>588 だけど・・・
なんで俺のだけ出力されるの?
環境は、
FMV-BIBLO NB9/1000L
O S : WindowsXP Pro SP1
CPU : Pen3 1GHz
Mem : 256MB(本体購入時から変更無し)
JDK : J2SDK1.4.1_01
特別手を加えた環境じゃないんだけど・・・
5回ほど実行し直して見たけど、一回もエラーなんてでなかったぞ?
>>603 対象をiとする。
i と 0xF0とのANDを取ってそれを8ビット右シフトしたものをaとする。
i と 0x0FとのANDを取ってそれを8ビット左シフトしたものをbとする。
aとbのORを取る。
ハァ?
>>608 煽るだけなら誰でもできる。
それよか正しい答えを書いて相手を完膚無きほどにたたきつぶした方が気持ちいいし感謝もされる。
↑ 性格良さそう。。。
で?
>>603 java.nio。
FileChannelからByteBufferを得る。ByteBuffer#order(java.nio.ByteOrder);
で、ByteOrderを指定して(この場合、読み出し元という意味でByteOrder.BigEndian)、
ByteBuffer#asShortBufferからShortBufferを取り出して読み出す。
で、どうよ。
書き方の質問なんですけど、 public class nantara { } っていうのと、 public class nantara { } っていうのはどっちのほうがポピュラーなんでしょうか? 自分は下のほうで慣れてしまったんですけど、本等を読む限りでは上の方が多いような・・・
上が正解(J2SEのAPIドキュメントのどっかに、コーディング規約がある)。 下は、C#の規約で、C++の慣習(別に規約は無い)。
>>606 ヒマだったら
>>596 やってみて。
おそらく途中から
>4975 javax.swing.plaf.metal.MetalIconFactory$TreeLeafIcon@1006d75
みたいになると思うよ。
>>604 なるほど。よく解りました ような解らないような...
一人で造るぶんには覚えときゃいいけど、みんなで
造るようなら作成しといたほうがわかり易くていいよ」
ということですね
>>605 勉強してみます。でもIDLって何だっけか(恥)
>>617 いや、一人で作るときもちゃんとしておくと便利だよ。
MVCとか。
>614 レスサンクス。参考になったYO。
遅レスすいません。
>>607 ありがとうございました。
基本ですね。ビットシフトと論理演算。
下手に凝ろうと思ってどつぼに嵌まってました。(Java初心者なのに…)
>>612 ありがとうございました。
ちゃんと理解出来ていませんが、書いたらうまく行きました。
でも、訳分からんまま使うのは恐いので、
もう少しjava.nio.ByteOrderクラスを勉強してみます。
ありがとうございます。
622 :
デフォルトの名無しさん :02/12/31 18:55
>>614 そーだったのか。今まで下で書いてた。
でもC++とそろえないのはなぜだろう
623 :
デフォルトの名無しさん :02/12/31 19:02
>>617 java.util.ArrayListはjava.util.CollectionというInterfaceをimplementしている
ので、次のように使うことが出来る。
Collection c = new ArrayList();
こうしておいて、c.add(XXX);などCollectionで定義しているメソッドを使うこ
とができる。こうしておくと、Collectionをimplementしているクラスなら、
将来ArrayListの代わりに他のクラスに置き換えてもソースの修正は少なくて
済む。
また、JDBCのjava.sql.ResultSetなどもInterfaceになっています。
ResultSetの実装はDBのベンダー任せになっているが、Interfaceで統一する
ことにより、コーディングする方はそのあたりを気にする必要がなくなって
いる。
624 :
デフォルトの名無しさん :02/12/31 19:05
みなさん、EJBはどうやって覚えたのですが、 どこかいいHPや本があれば教えて下さい。
>>616 共有ディレクトリ参照しようとしてセキュリティに阻まれて
FileNotFoundException と ヌルポ が出てストップ・・・
でも3000近くまで何の問題もなく実行できたぞ?
Samba共有を外すのめんどくさいからこれでいいか?
どうしてもって言うのなら外してリトライするけど・・・
もう一度言うけど、俺特別なチューニングしてねーぞ!
>>626 ありゃま…
バグを再現させたい場合は
>>570 の奴を
for を 10000 回にしてやってみてください。
多分、それで再現すると思う。たぶん。
>>627 10000回じゃなんだから、どうせなら100000回くらいにして実行してみる・・・
なった〜♪ 記録4976回♪ なんだかウレシイぞ!
>>629 おめでとう。
大晦日に言うのもなんだが。
いや〜ありがとう♪
でっ!これから俺はどうすりゃいいんだろ?
とりあえず
>>576 でも見てみるか・・・
JARファイルをダブルクリックすると、解凍ソフトが起動してしまいます。 コマンドラインから java -jar test.jar みたいにやれば動きます。 ダブルクリックで起動するようにするにはどうしたらいいんですか?
>>632 とりあえず、拡張子の関連付けを外せ!
話はそれからだ
>633 外しました。
>>617 >>623 氏も言ってるけど、
例えば今、CFoo#someMethodというクラスとメソッドを書いているとして、
そのメソッドは「どこぞから来た一連の文字列や数値を加工する」という目的が
ある場合、で、しかもその「どこぞ」というのが、
「ファイルかもしれない、DBかもしれない、又それ以外かもしれない」時、
ここで、その引数として受け取る形(クラス)の方を、処理する側の都合で、interfaceとして
受け取るようにしておけば、
このCFoo#getMethodは、そのinterfaceの「約束されたメソッド」だけ意識して
コーディングすればいい事になる。
実際の値群が、「どこから、どのようにして来たのか」意識する必要が無くなる。
由来は全然違うけど、同じような値を、同じように取り出して、
同じように処理したい場合、便利だったりするよ。
>635 やってみました。でもコンソール実行型が起動できないってのがのが微妙でした。 レスサンクス。
638 :
デフォルトの名無しさん :03/01/01 12:24
639 :
デフォルトの名無しさん :03/01/01 17:31
俺は、実行速度に大きな影響を与る場所でないなら、 多少実行速度を犠牲にしても、 ソースを見る人がわかりやすいソースを書くことにしてるんで キャストするかな。>639の場合だと。
>>639 速度的には大差ないと思うよ。
String の toString() って this 返してるだけだし。
>試しに実行速度の計測をしてみたが、 何回でやったの?
>>639 JDK1.4.1_01。
Iterator使わずに配列から直に取り出したり、ArrayList#get(int)
で回して実行してみたけど、「toString()」使う方が1.3倍ぐらい遅い。
バーチャルなメソッド呼び出す方がオーバヘッドでかいのかも。
どうせJavaは他で負荷がかかるんでキャストのオーバヘッドなんて
屁みたいなもんでしょ。
644 :
デフォルトの名無しさん :03/01/01 19:53
>>642 500000回ループを10回ほど試してみたが、
どちらも大体 140ms 前後だった。
やっぱソースコード的にはキャストの方が読みやすいんかね?
キャストはなんか心理的に嫌な印象があるんだよなぁ。
キャスト使わないといけない場面が出てくると
設計がまずいのかな〜 とか思わない?
まったく思わない。
少し思う。
やや思わない。
どちらとも言えない。
コレクションクラス使うなと?
650 :
デフォルトの名無しさん :03/01/01 20:19
多態性を捨てろと?
Jakarta Avalonを使うなと? #多態性は捨てることになるのか?
>>650 キャストせずに使えるのが多様性じゃないのか?
×多様性 ○多態性
>>652 ...あ、素で間違った。(恥&寒
「引数Objectで」っていうのと「メソッドのオーバーロード」を混同しちったい。
失礼しました。
じゃ、interfaceは使うなと。
ポリモーフィズム
Object#toString() は「オブジェクトの文字列表現を返す」。 メソッドの実装から判断するのはカプセル化の概念に反するし どう考えてもキャストする方が正解。
>>657 とにかく何か文字列が帰ってくることを期待するメソッドですな。
デバッグ用としてはかなり便利ですが。
JAVA初心者の質問です。 JPEG画像ファイルをピクセル単位で操作したいんだけど、 最初、Image クラスのオブジェクトでgetImageしますよね。 それで、直後にその画像の幅と高さサイズを知りたいときに、 width = image.getWidth(this); height = image.getHeight(this); (引数はthisでいいんんですよね) とやっても、width 、height には-1しか入っていないのです。 画像をdrawImageでそのまま画面表示してから、 image.getWidth、image.getHeightを実行すると、 ちゃんと画像サイズを取得できるのですが、 表示する前に画像サイズを取得するには、どうしたらよいのでしょうか。 さっぱりわかりません。 だれか教えてください。
MediaTrackerした?
MediaTrackerって?
知らなかったら検索するか、ドキュメント探してね
あっ!イメージをロードし終わるまで、 MediaTrackerで待機するというやつですか。 さがしてみます。どうもありがとうです!。
666 :
デフォルトの名無しさん :03/01/02 03:22
スレ違いかもしれませんがjavaが勉強できる フリーのソフトってないですか??
>>666 きっとそれ、Sun JDK とかって、つっこみはいるぞ。
668 :
デフォルトの名無しさん :03/01/02 03:32
>>667 文法とかを覚えるのはナイですかねぇ??
>>668 Vectorで探しても、全然無いね。
それっぽいのもダウンロードして試してみたけど不発
高機能のロボット格闘シミュレーション・エンジンで、Javaプログラミング学習がずっと楽しくなる
Sing Li (
[email protected] )
Author, Wrox Press
2002年1月
弾丸から身をかわしたり、高精度攻撃訓練を行ったりしながら、
継承、多相性 (ポリモフィズム)、イベント処理、内部クラスなどを学習することは果たして可能でしょうか。
Robocodeという名の学習ツール兼大流行のゲームのおかげで、
世界中のJava開発者にとってそれが現実のことになっています。
闘え、Robocode (ロボコード) !
http://www-6.ibm.com/jp/developerworks/java/020329/j_j-robocode.html //このスレの住人にはあまり参加者がいないのかも。
//おなじ2chのなかでもRobocodeスレのほうはなかなかもりあがっているけど、
//Java質問スレではRobocodeの話題を見たことがないし。
>>672 結局処理時間命だからstaticメソッド使いまくりとかの方が速くなりそうな予感。
674 :
JAVA初心者です :03/01/02 14:32
昨日始めたばかりです。初歩的な質問でスイマセン。 import java.io.*; class test3_4 { public static void main(String args[])throws IOException { System.out.println("円周率はいくつですか?"); BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); String str=br.readLine(); double pi=Double.parseDouble(str); System.out.println("円周率の値は"+pi+"です。"); } } というソースを書いたのですが。 test3_4.java:14: Method parseDouble(java.lang.String) not found in class java.lang.Double. double pi=Double.parseDouble(str); ^ というエラーが出ます。ある入門書に書いてある通りに書いたのですが、どうしてもこのようなエラーが出ます。 誰か間違いを指摘してくれませんかお願いします。
JDK1.1.xなんじゃない?
676 :
JAVA初心者です :03/01/02 14:39
>>675 コンパイラはjdk1.1.8です。
これが原因なんですかね・・・(汗
代替案をドキュメントから探すべし。
>>674 動くけど。むしろなんで?
つーか、エラーの内容が妙。なんでメソが無いの?
こんなメソッド、別にバージョンの影響も無いでしょ。
>こんなメソッド、別にバージョンの影響も無いでしょ。 ドキュメント嫁
...うかつだった、JavaDocに以下の記述が.. 導入されたバージョン: JDK1.2
そんなの分かってて
>>675 が指摘してんだからさ。。。
恥かきっぱなしw
恥ずかしーーっ!(脱走
スーパー遅レスすいません。
>>612 で書いてもらった事を、やらないでもうまく行くので、
????と思っていたら、どうやらJavaはリトルエンディアンマシンでも
ビッグエンディアンで読み込む模様。
CやC++で書いてたときは、このことでよく頭を抱えてたのですが…(^^;
これも、VMのおかげですかね〜
お騒がせしました。
686 :
デフォルトの名無しさん :03/01/02 20:37
hage
netbeansのインストールの仕方が良く分かりません誰か教えてください
688 :
デフォルトの名無しさん :03/01/02 22:12
JRE 1.4.1にWindowsをクラッシュさせるバグがあるって 聞いたんだけど、ソース知りませんか?
>>688 ソースは知りませんが、今まさに私の WinXP で起こっています。
690 :
デフォルトの名無しさん :03/01/02 22:50
htmlをスクロールスクロールバーをなしで全画面表示させたいのですが、 教えてください。 お願いします。
692 :
デフォルトの名無しさん :03/01/02 23:09
691>> すみませんでしたw
694 :
デフォルトの名無しさん :03/01/03 02:48
リトルエンディアンの方が便利だと思うんだけど なぜビッグエンディアンを採用したんだろう・・・
ビッグエンディアンの方が便利だから
696 :
デフォルトの名無しさん :03/01/03 02:57
桁とメモリの位置が同じ方が理解しやすいからでわ?
>>694 ビッグエンディアンを採用したって、java.io.DataInput/DataOutput の話?
それだったら多分ネットワークバイトオーダーがビッグエンディアンだからだと思うけど。
netbeansのインストールの仕方が良く分かりません誰か教えてください
>>698 あなたがインストールの仕方についてどこまで判っていないのかが、
私には判らないので教えるのはとても難しいことだ。
>>693 ATIのビデオカードの一部で落ちるってやつかな。
プログラマーになりたいです!! 手取り足取り教えてください。 お願いします
>>701 プログラムを書け。
プログラムを書ける奴がプログラマーだ。
>>703 ありがd!
これから頑張って勉強して行きたいと思います
そいではっ
>>704 >>702 もお前ごときに貴重な時間を割いてアドバイスしてる訳で。
どうして無視するのかが理解できない。
レスしないことが非難される。。 2chも住みにくくなったものよのぉ。
>>706 非難は初期の2chにもあった。
2chは相手に非があるとみれば如何様にも匿名で難じることができ、
そしてそれが意味のないAAや空白の連続投稿や個人情報などでもない限り、
削除されることのない所だ。
もちろんその非難をおかしいとおもえば、その非難に対して
如何様にも非難をし返すことが許されている所だ。
かといってスレの本題から外れるようならその非難の応酬は、
より適切なスレに移るべきではあるが。
それはそうと、
>>704 はほんとうに
>>703 のURLを読んだうえで
「ありがd!」と言っているのか小一時間問詰めたいのだが…。
…本人がよろこんでいるのだから、まあいいか。
ぱっと見親切そうなレスが帰ってきたらお礼を言うという ぬるいコミュニケーション方法を使っているのだろう。
2ちゃんも/.化するべきだな
711 :
デフォルトの名無しさん :03/01/03 16:49
public class Singleton { private static Singleton singleton = new Singleton(); private Singleton() {} } これが何故できるのかわかりません。 再帰になってしまうように思えるのですが・・・ 教えてください。
? staticフィールドにインスタンスを一つ作ってるだけ
>>712 ,
>>713 ありがとうございます。
ということは、staticでない自分自身のクラスをメンバとして持つことはできないですよね?
その場合再帰になると思うのですが
linuxでjavaしようとしてj2sdk1.4インストールしたんだけど、 アプレットビューアーが起動しない Mozillaでも見れなかった。 なぜ?
どのlinuxかを書いてみるとか どんなメッセージが出るとか
>>715 PATHが設定されてないとかそーゆー事じゃなくて?
>>714 public class Unko
{
private String name;
private Unko maki;
private Unko bichi;
public Unko() { maki = new Unko("まき"); bichi = new Unko("びち"); }
public Unko(String name) { super(); this.name = name; }
public static void main(String[] a)
{
Unko unko = new Unko();
System.out.println(unko.getMaki());
System.out.println(unko.getBichi());
System.out.println(unko.getMaki().getMaki());
}
public Unko getBichi() { return bichi; }
public Unko getMaki() { return maki; }
public String getName() { return name; }
public String toString() { return name; }
}
まき びち null 再起にはならないみたい なんでだろね 不思議だね
>>714 できる。再帰になる可能性もあるけどコンパイルエラーにはならない。
再帰になった場合は実行時に StackOverflowError 食らって落ちる。
>>718 再帰にしたければ
>public Unko(String name) { super(); this.name = name; }
public Unko(String name) { this(); this.name = name; }
superってなんだよ thisの間違いでした thisにしたらめでたくスタックオーバーフロー 失礼しました
redhat8.0を使っています。 appletviewer a.htmlと打つとcommand not foundってでました。。。 PATHがちゃんと、通ってないのかな? アプリケーションはできたんだけど、 プラグイン入れないとだめ?
command not foundとかだったらpathだろうねえ。 残りは犬板で聞いてきな
なるほど、スタックオーバーフローですか まぁ使うことは無いですよね。 とりあえずSingleton理解できました。 みなさんありがとうございました。
こんなんでホント理解できたのかと(略
>>723 JDKをインストールしただけではMozillaでアプレットが起動するようには
ならなかったとおもう。
MozillaやJDKのバージョンによっても違うとはおもうが。
Mozillaのプラグインを入れる場所にlnコマンドなどでリンクをはるか、
プラグイン自体をコピーしてしまうか。
アプレットビューワーのほうは知らないが。
アプレットビューワーのほうはPATHをrootの方のbash_profileに書いていたので rootなら起動しました。 Mozillaのほうはプラグインですか ありがとうございました
730 :
デフォルトの名無しさん :03/01/04 07:41
>>729 JDKインストールしたのなら、
そのJDKのどこかのディレクトリのなかにプラグインもはいっているよ。
詳しくは
>>728 のリンク先とかを見てね。
>>711 じゃないですが、便乗質問。
こんな感じ(後参照)のソースをどこかで見ました。synchronizedされているあたりで、
スレッドセーフな匂いを感じるんですが、Singletonパターンって要するに、
「全スレッド中でただ一つのものを作成する」みたいなものなんでしょうか。
class Singleton {
private static Singleton instance;
private Singleton() {
}
public static synchronized Singleton getInstance() {
if (instance == null) instance = new Singleton();
return instance;
}
}
>>731 そうそう。Javaにおけるシングルトンパターンで、
getInstanceメソッドでsynchronizedが使われるのは、
マルチスレッドに対応するため。
このsynchronizedがないと、スレッドがひとつなら問題ないけど、
マルチスレッドだと、複数のインスタンスを作ってしまうおそれがあるため。
>>731 さらに言えば、コンストラクタをプライベートにするのは、
コンストラクタをgetInstance()以外からは呼び出せないようにして、
Singletonクラスのインスタンスを勝手に作れないようにするため。
まあ
「全スレッド中でただ一つのものを作成する」というよりは、
「複数スレッドが同時に働いていたとしても、
ただ一つのインスタンスしか作成しない。作成できないようにする」
といった感じだが。
俺も ついでに便乗質問。 class Singleton { private static final Singleton instance; private Singleton() { } public static Singleton getInstance() { return instance; } } みたいな初期化の仕方って スレッドセーフである事が保証されてたっけ?
うわ… 一番重要な部分間違ってるよ。 > private static final Singleton instance; private static final Singleton instance = new Singleton(); ですた。
>>735 クラスの初期化時にstaticフィールドが一緒に初期化されるならば、
クラスの初期化は同期化されてるはずだから安全でしょう。
>>732-738 ありがとうございます!なるほど。と、ここで
>>734 さんが
>まぁ、グローバル変数の再来な訳だが。
と言っていますが、これって「複数スレッドが同時に働いていたとしても、ただ一つのインスタンスしか作成しない」から
利用法を考えるに、どっちかと言うとセマフォ(ミューテックス?)みたいな使い方が
できると思っていいんですね。
...って自分で言っといてなんだけど、これって"Thread"でしたよね。 Processじゃないって。 ...氏のう。
Java の Singleton って、
Java はダイナミックローディングだから、
getInstance() 以外の public な static メンバーが無い限り、
lazy initialize ってあんま意味無いよな?
そうすると getInstance() に同期のコストかけるよりは、
素直に
>>736 のようにしちゃった方が、
大抵の場合モアベターなのかな。
クラスがロードされただけで、たとえば定数フィールドを参照 しただけでインスタンスが作られるのはもったいない、かもしれない。 そういう場合は最初のgetInstance()まで遅延したほうがいいね。 まずは736にしておいて、↑のような事情が判明したときに 遅延にすればいい。使う側の変更はないし。
743 :
デフォルトの名無しさん :03/01/04 12:55
>同期のコストかけるよりは
でもたった一回だけでしょ?って、
>>731 の方法だといちいち「たった一回かどうか」の評価が
行われるから無駄って事か。
そうか、モアベター(自己完結)
> でもたった一回だけでしょ 731の方法ではgetInstance()の度にsynchronizeに飛び込むことになる。
>>744 同期少なくする方法ってこれで良かったっけ?
public static Singleton getInstance() {
if (instance == null) {
synchronized(Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
>>745 それは泥沼に落ち込む罠ですぞ。
#SolarisとIntelはOKで、だめなCPUもあるからどうたらこうたら……
748 :
デフォルトの名無しさん :03/01/04 21:53
結局、どう書くのが一番いいのだろうか?
その程度ならこれでイイんじゃない? ダブルチェックするまでもないような。 public static Singleton getInstance() { synchronized(Singleton.class) { if (instance == null) { instance = new Singleton(); } return instance; } }
>>749 それってそのメソッド自体をsynchronizedにするのとどう違うの?
>>750 同じです。但し、staticメソッドをsynchronizedにしたときの動作を、
昔のJVMは規定していなかったんです。
シングルトンのインスタンスへの参照を、使うたびにgetInstance()で 引っ張り出すようなことをしなきゃいけないような仕組みでなくせば いいんじゃないの? 参照自身のコピーなら大してコストかからんわけで。
参照を持ちまわられるのはなんとなく嫌だなあ。
754 :
デフォルトの名無しさん :03/01/04 23:06
先日誤ってprogram filesにある「Java」というフォルダを丸ごと削除してしまいました。 そのためしばしばネット中にJAVAを含むページを開くと「インストールオンデマンド」という ウインドウにJava仮想マシンをインストールしろと出てダウンロードしても IEのページに行ってしまいます。厨な質問ですが解決方法を教えてください。 よろしくお願いします。 ちなみにwin98SEです。
インストールすりゃいいんじゃない。多分。それで直りそ。
java.sun.comとか逝って、任意婆ジョンのVM入れろ。
>>752 不必要な参照はバグの元。getInstance()がstaticメソッドなら、設計者の意向を
反映して少なくともフィールドに格納すべきじゃない。
>>757 設計者の意向が、
「クラス名.getInstance()でとってこれて便利だから」だけという
アホなことがおおいけどね〜、Singletonパターンの利用状況って。
>>758 でも、全体で一つあれば事足りるオブジェクトを至る所で生成し直したり引数で渡すのもなぁ・・・。
>少なくともフィールドに格納すべきじゃない。 そんなローカルルールが要らない設計を考えているのでは?
>>759 いたるところで生成することが間違いなく、それでいてSingleton
を利用すべきパターンなら、
public class Singleton{
private static final Singleton INSTANCE = new Singleton();
private Singleton(){}
public static Singleton getInstance(){return INSTANCE;}
}
でいいと思うけど〜。
これじゃまるっきりグローバル変数とカワランねえ〜。
>>762 アンチパターンではグローバルの再来として忌み嫌われているとw
マルチスレッドなら、単に参照引っ張ってくることだけ気にするん じゃなくて、クライアント側で参照更新をおこなう一定期間の排他 ロックが必要なことが多いだろうから〜… とか考えると、安易にSingleton使うのはキケンだよね〜。 本当に全体で一個しかインスタンスイランのかどうかは、設計段階じゃ 分からんことなのかもねー。
なんか、配列の個数がlengthで取得できるのが 気持ち悪いと思ったのは自分だけでしょうか? JSPを触る必要があり急遽JAVA触りだした 元Cプログラマーです。
Cをバリバリ超人的にやってた人ならそう感じるかもしれません。 きっと、Javaの文字列の扱いも効率が悪く感じるでしょうな。
こんばんば。 今年の春に基本情報を受けようと思い、 JAVAの勉強を始めたいと思うのです。 以前挫折したときの本「10日でおぼえるJAVA」(2001年3月発行) ってのが手元にあるのですが、これで始めてしまっていいでしょうか? 古いから新しい本に買いなおしたほうが良いとか こっちがお勧めというのがあればご指導下さいませ。 あ、言語の知識は皆無です。 初級シスアドとCCNAがあるくらい。 でもJAVAをマスターしたいので宜しくお願い致します。
>>767 挫折したにしろなんにしろ、一度手に取ったその本。もう一度読み返すべき。
そして(多分乗ってるであろう)サンプルとか打ってみるべし。
で、一個一個自分の中の問題点を洗い出すべし。
「これ読んだら完璧」なんて本は存在しない。
769 :
デフォルトの名無しさん :03/01/05 02:49
>>767 「○○日でおぼえる」とか「簡単○○」とかって本は結局上っ面なめてるだけだよ。
悪いこたいわないからSunの「プログラミング言語Java」「Java言語仕様」、
せめて「独習Java」オライリーの「Javaプログラムクイックリファレンス」
あたりを腰すえて読んだ方がいいよ。
返答ありがとうございます! >768 わかりました。まずはこの本を読んでみます。 良い本か悪い本かはそのあと自分で判断することにしますね。 >769 そのあたりが初心者にお勧めでしょうか? まずは手持ちの本でJAVAって?という部分を 読んでみて、ご推薦頂いた本が少しでも理解できるように してみます。 ちょくちょくご相談に伺いますが 宜しくお願いいたします。
>>767 基本情報処理試験の内容を見るに、その本だけでは足りなそうだ。
基本的なパッケージ(java.io、java.util、java.lang)の問題が出るようなので、
これらの対策も練ること。
>>772 試験問題は知らないが、これらがメインに来るような問題って、
結局基本的な言語仕様学んだ上でAPIのJavaDocとか読めばわかるんでない?
ていうか、問題内容まで調べたんか、あんた。
優しいヤツだな。(惚
(^○^)みなさん、ありがとうございます。 >770 本屋さんにはたくさん並んでいますよね〜。 新しいものがたくさんあったのでつい 心機一転新しい本が欲しくなったけど 768タソのいうとおり、まずは手元にあるので 初めてみます。次に選ぶときに参考にします。 >772・773 うむー、まだなんのことやらわかりませぬ。 チンプンカンプンです。でも頑張るので今後とも ご助言頂きたいデス。 夜も遅くにご返答、ありがとうございました。
775 :
デフォルトの名無しさん :03/01/05 03:33
>>765 配列嫌ならVector使ってみれば少しは気持ち悪さも減るんでない? 配列より処理重くなるけど。
Javaの配列はCの配列より神経質に取り扱う必要が無く変なことするとコンパイラやJVMがCより丁寧に注意してくれるから楽だとは思うんだけど。
JLabel
即レスありがとうございます。 JLabelでBorderを設定して見よう見まねでやってたんですけど、 やっぱりその方法しかないですね。
>>765 Cの配列だって結構気持ち悪いよ。
関数に渡したらポインタに降格しやがるし。
>>777 UnEditableなJTextFieldをならべたほうが、ステータスバーの感じ出るかも。
>>765 Javaの配列は、Cの配列と同じ文法で使用できますが、中身はぜんぜん違います。
特殊なオブジェクトの一種です。配列自身の実体は必ずヒープに確保されます。
Cの配列は、単なる連続したメモリ領域ですよね。
ぜんぜん違うものですので、気持ちわるいもヘッタクレもないです。
悪いこと言わんから基本情報はCやっとけ。 オブジェクト指向理解できてるならjavaは確かに簡単だがわかってないと地獄だ。
783 :
世直し一揆 :03/01/05 11:15
<血液型A型の一般的な特徴>(見せかけの優しさ(偽善)に騙されるな!) ●とにかく気が小さい(神経質、臆病、二言目には「世間」、了見が狭い) ●他人に異常に干渉する(しかも好戦的・ファイト満々でキモイ) ●自尊心が異常に強く、自分が馬鹿にされると怒るくせに平気で他人を馬鹿にしようとする (ただし、相手を表面的・形式的にしか判断できず(早合点・誤解の名人)、実際にはたいてい、内面的・実質的に負けている) ●「常識、常識」と口うるさいが、実はA型の常識はピントがズレまくっている(日本の常識は世界の非常識) ●権力、強者(警察、暴走族…etc)に弱く、弱者には威張り散らす(強い者に弱く、弱い者には強い) ●あら探しだけは名人級(例え10の長所があってもほめることをせず、たった1つの短所を見つけてはけなす) ●基本的に悲観主義でマイナス思考に支配されているため、性格がうっとうしい(根暗) ●一人では何もできない(群れでしか行動できないヘタレ) ●少数派の異質、異文化を排斥する(差別主義者、狭量) ●集団によるいじめのパイオニア&天才(陰湿&陰険) ●悪口、陰口が大好き(A型が3人寄れば他人の悪口、裏表が激しい) ●他人からどう見られているか、体裁をいつも気にしている(「世間体命」、「〜みたい」とよく言う) ●自分の感情をうまく表現できず、コミュニケーション能力に乏しい(同じことを何度も言う、知障) ●表面上意気投合しているようでも、腹は各自バラバラで融通が利かず、頑固(本当は個性・アク強い) ●人を信じられず、疑い深い(自分自身裏表が激しいため、他人に対してもそう思う) ●自ら好んでストイックな生活をし、ストレスを溜めておきながら、他人に猛烈に嫉妬する(不合理な馬鹿) ●執念深く、粘着でしつこい(「一生恨みます」タイプ) ●自分に甘く他人に厳しい(自分のことは棚に上げてまず他人を責める。しかも冷酷) ●男は、女々しいあるいは女の腐ったみたいな考えのやつが多い(他人をけなして相対的に自分の立場を引き上げようとする等)
>>782 分かってないと難しいの?
あんなん、基礎の基礎つーか…ただの文法テストじゃねーか(;´Д`)。
俺が受けたのは1年目だからなぁ…それ以降は傾向が代わったんだろうか。
>>784 俺が見たのはポリモルフィズムとかの問題とかあったけど。
ポリモルフィズムってなんかファイナルファンタジーに出てきそう。 強そうだよな。 くさい息 とか。 リボンが無いとつらい。
理科の教師のあだ名がモルだったな
789 :
デフォルトの名無しさん :03/01/06 23:07
本スレage
790 :
デフォルトの名無しさん :03/01/07 00:08
msのjvmじゃなくてsunのjvmのを優先させる方法はあるの?
791 :
デフォルトの名無しさん :03/01/07 00:28
>>790 JVMのパスを変更すればいいんでない?
特定のディレクトリ直下にpathが通っていると変更だけでは通用しがたいので、どこかにある重複したjava.exeを消す。
検索して探してくれ。Windowsディレクトリにあったと思う。
IEとNetscapeからコントロールパネルのJava plug-inでもどうにかなるが。
それ以外のブラウザでは上記のやり方が必要になる可能性がある。
少なくともOperaはそうだった(別にM$のJVMが優先されていたわけではない。JVMのバージョンが古かった)。
というかこの質問とこの答えは古いスレッドで語られていなかったか?
見つからない
いままでコマンドラインのプログラムばかりを作ってきたのですけど、 swing に手を出してみたら、何がなにやらさっぱりで、、、 少しずつ慣れていくしかないのですか? GUI 専用の本を一冊は持っておくべきですか?
>>792 どれに対するレス? レスするなら番号つけよう。
これがもし
>>791 に対するレスなら、
検索で自分のHDDのどこを探してもjava.exeが見つからないことがわかったらSun純正JREを自分でインストールしてみる。
JavaプログラミングするならSun純正J2SDKをインストール
>>792 態度悪いな。
>>791 にたいするレスなんだろうけど、どの文に対するレスかわからん。
1:JVMのパスが見つからない
2:java.exeが見つからない
3:古いスレッドで同じ情報が見つからない
4:その他
>>790 「ファイル名を指定して実行」でregsvr32 /u msjava.dll
を実行してMicrosoft VMをアンインストール。
すいません、Windowsだと同ドライブ内のファイル移動は renameTo() で 出来るのは解ったんですが、他のOSでもこれは当てはまりますでしょうか?
>>798 /usr/bin/とかにあるmvコマンドのソースを見れば判るんでないかな
>>798 様
え、mvコマンドですか・・・
検索してみます(汗)
間違えちゃった。
>>799 さん
レスどうもです。
802 :
デフォルトの名無しさん :03/01/08 12:07
Windows98 IE5.0 ランタイム1.4.0以上を使っているのですが、 ブラウザからアプレットを印刷すると、アプレット領域全体が真っ黒になり アプレット自体はその真っ黒の領域の左上に小さく出てしまいます。 アプレットが画面解像度72dpiで出てしまってプリンタの解像度と一致していないため かと思いますが、この問題をクリアする方法はあるでしょうか? ちなみにIE6.0ではちゃんと領域いっぱいに印刷されるのですが・・・
>>802 前スレあたりでもアプレットの印刷について、
似たような質問があったけど、そのときも未解決のままだったかと。
なにか方法がわかったらまとめてupきぼんぬ。
まほろばって何でしょう? 開発環境???
805 :
デフォルトの名無しさん :03/01/08 19:06
JDk1.4.1ってダウンロード無料ですか?
ダウンロードは無料だけど、使うときは従量課金制。 1時間につき1ドル(約120円)ずつかかる。
807 :
デフォルトの名無しさん :03/01/08 19:13
>>806 ヽ(`Д´)ノ ウワァァァンモウツカワネーヨ!
808 :
デフォルトの名無しさん :03/01/08 19:27
>>806 誰だデマを流しているアフォは
市場に投入しない限り無料。
個人で勉強したり研究教育目的に使うには無料。
>>808 どの時点で市場に投入した事になるんだろ?
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/ 1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27 鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
あっはっは
test
JBuilderってdelphiに比べると死ぬほど遅い・・ キーボードを打ち込んでから文字が表示されるまでに 10秒以上かかるってどういうことよ。 早くかきかき出来るようになるコツとかないっすか?
816 :
デフォルトの名無しさん :03/01/09 14:00
817 :
デフォルトの名無しさん :03/01/09 14:32
アプレットでユーザ認証画面を作っています。 ユーザ認証に成功したときに、アプレット上の表示を更新したいのですが、 どのようにすればいいのでしょうか?
>>817 アプレット上の表示を更新すればいいと思います。
>>816 ぅへ、やっとJBuilderの使い方を覚えたところなのに・・
ありがとございまふ、早速落として使ってみまふ。 はぁ・・・
this.repaint; ..とかいうメソッドはありませんか? わたしゃdelphiしか知らないからよく知りまへんが...
821 :
デフォルトの名無しさん :03/01/09 14:38
>>234 君はヘタレが嫌いなようだが
ヘタレのニーズがあったから
2chはここまで伸びたんだと思うよ(w
そのことの良し悪しは抜きにしてね
823 :
デフォルトの名無しさん :03/01/09 15:04
jdbcで、ログイン中にも タイムアウト時間をときどき延長したいんだけど どうしたらいいの? DriverManager.setLoginTimeoutでいいの?
======2==C==H======================================================
2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50 ────────────────────────────
>>815 メモリをたくさん積んで、速いCPUにしろ。
827 :
デフォルトの名無しさん :03/01/09 21:38
JDBCで、DriverManager.getConnection() で URL(というか相手先のIPアドレス)を間違えたとき デッドロックするみたいなんですけど・・・ このときのタイムアウト値って設定できます? DriverManager.setLoginTimeout() で設定できるのって 最大ログイン時間であって接続時のタイムアウトじゃないし
import java.io.*; public class HowOldAreYou { public static void main(String[] args) { System.out.Println("あなたの名前を入力してください。"); BufferedReader reader = new BufferReader(new InputStreamReader(System.in.in),1); try { String line = reader.readLine(); System.out.prinfln(line + "さん、こんにちわ。"); System.out.println("年齢を入力してください。"; line = reader.readline(); int age = Integer.parseInt(line); System.out.println("いま" + age + "歳とすると、10年後は"+(age + 10) + "歳ですね。"); } catch (IOException e) { System.out.println(e); } catch (NunberFormatException e) { System.out.println("年齢が正しくありません。"); } } }
^ HowOldAreYou.java:9: パッケージ system は存在しません。 system.out.prinfln(line + "さん、こんにちわ。"); ^ HowOldAreYou.java:10: パッケージ system は存在しません。 system.out.println("年齢を入力してください。"; ^ HowOldAreYou.java:13: パッケージ system は存在しません。 system.out.println("いま" + age + "歳とすると、10年後は"+(age + 10) + "歳ですね。"); ^ HowOldAreYou.java:15: パッケージ system は存在しません。 system.out.println(e); ^ HowOldAreYou.java:16: シンボルを解釈処理できません。 シンボル: クラス NunberFormatException 位置 : HowOldAreYou の クラス } catch (NunberFormatException e) { ^ HowOldAreYou.java:17: パッケージ system は存在しません。 system.out.println("年齢が正しくありません。"); ^ エラー 24 個 } こんなエラーがでます。ハンラック、全角の違いというkとなんでしょうか?
>>828 systemはSystemの間違いだ。
大文字小文字はきちんとするように。
>>827 そういうケースはデッドロックとは言わないです。
ネットワークのタイムアウトの設定はjavaではできないです。OS側で設定するべきだろう。
>>830 あー、忘れてましたです。830さんありがとうがおざいます!
^ HowOldAreYou.java:4: \12288 は不正な文字です。 ^ HowOldAreYou.java:4: \12288 は不正な文字です。 ^ HowOldAreYou.java:4: \12288 は不正な文字です。 ^ HowOldAreYou.java:4: \12288 は不正な文字です。 ^ HowOldAreYou.java:4: \12288 は不正な文字です。 ^ HowOldAreYou.java:4: \12288 は不正な文字です。 ^ HowOldAreYou.java:4: \12288 は不正な文字です。 ^ エラー 8 個残りました。この場合は何が可笑しいんでしょうか?
すごいラインナップだな(藁 >tmp鯖
836 :
デフォルトの名無しさん :03/01/09 23:23
アプレットにGIFのアニメーションする奴乗っけるともしかして動いちゃう?
837 :
デフォルトの名無しさん :03/01/09 23:30
どうしてこうもGUIプログラミングする香具師が多いんだろう。 Javaの仕事でGUI作ることなんてあるのか?せいぜい携帯アプリぐらいだろ? 何でサーバーサイドやらないんだろう????
>>815 >>826 マシンスペックあげるまえに余計な常駐プログラムとかを閉じるとかしたほうがいいと思う。
Eclipseはおぼえるの大変な気がする。俺はantに慣れてしまった。Eclipseは軽くてよいが、なかなか移れない。いまのところGUIプログラミングする予定無いから。
>>828 凄い数の誤字脱字ですな。
>>833 を見るとすでに直っているとは思うが、
NumberがNunber, BufferedがBuffer inがin.in などになっている
>>833 ほかに考えられるとしたら文字コードが違うとか?
>>837 GUIにあこがれる人が多いんではないかと思う。俺もGUIにあこがれた事があった。
が、自分のWebページ作ってから徐々に考え方が変わってきたような気がする。
Webがあれはある程度はGUIのかわりになるのではないかと思い始めた。
Webだけでは操作性に問題があるけどね。
おれstruts, cocoon使ってるよ。サーバサイドはWebProg板の方に多いんじゃないかな?
たまにレンタル鯖板でもみかけるけど---「Servlet/JSP使えるレンタルサーバ探しています...」
他はプログラマ板だろうか?
>>837 ネタが見つかりにくいって言うのもあるんじゃない?
あと、仕事でさんざんやってるし、家帰ったら気楽に小物でも作るかってなもんで。
>>836 GIFはUnisys特許の問題があるから使わない方がいいと思う。特許料払えるなら問題ないが。
PNGがいい。GIFアニメーションをAppletで使ったことは無いが
試しにやってだめだったらGIFアニメを分割して自分でコマ送りするプログラムを作ればいいと思う。
842 :
デフォルトの名無しさん :03/01/09 23:45
>>841 了解しました。
でも、GIFの特許料取られるケースって実際にあるのでしょうか?
GIFの特許って今年で切れるんじゃなかったっけ? いつだったかは、忘れますた・・・
>530 俺はマンコとかいてるがIPとられても怖くないぞ。もし文句あってもやめないからな!!
>>838 そうか、つまらんのか。
俺はStrutsとかcommonsといったJakartaのパッケージ使ってると
面白くてやめられないんだがな。
開発環境はもちろんAnt+テキストエディタ。
ネタか・・・・
家計簿をApache + Tomcat + PostgreSQL + RedHatLinux で作って使ってる
人間はさすがに自分をのぞいて見たことないな・・・・・
出先からでも記入、参照できて便利だよ。
出張や旅行から帰ってから何日分もつけるの面倒だしね。
846 :
デフォルトの名無しさん :03/01/10 02:19
>>843 6月半ばに切れたはず。
PNGはそれまでのいのちだね。
それにあれは圧縮の特許なので、表示する分には問題ないです。
>>846 へえ、そうなんだ。<GIF特許
そういえば、米のどこだかの会社が業績不振を理由に、JPEGライセンス料の
徴収を云々って、話はどうなったんだろう。
SONY が金払ってたね。
>>848 あと、東芝だっけ?(違うか)
なんか日本のデジカメメーカが、何社か払ったって聞いた。なんだよ、それって感じ。
漏れはこのニュース聞いた時、JDKのJPEGパッケージ(IBM製)の今後をマジで
心配してしまった。(笑
850 :
デフォルトの名無しさん :03/01/10 02:32
東芝は訴訟に弱いから。 フロッピーの件で。
>>846 延長だってさ。ミッキーマウスといっしょだよ。
852 :
デフォルトの名無しさん :03/01/10 02:34
あとダイナブック。
JDK1.3以前では正直画面描画が遅すぎて動画を扱う気がしなかったなあ。 JDK1.4でVolatileImageつかってシューティングゲームでも作ってみるかな。 VRAM直接書き込みマンセー。
>>22 内容証明が届いた日からの利子もつけて、賠償汁!って判決なんだから、
内容証明による削除要請があり次第、片っ端から消せ!ってことでしょ?
>>22 内容証明が届いた日からの利子もつけて、賠償汁!って判決なんだから、
内容証明による削除要請があり次第、片っ端から消せ!ってことでしょ?
>>22 内容証明が届いた日からの利子もつけて、賠償汁!って判決なんだから、
内容証明による削除要請があり次第、片っ端から消せ!ってことでしょ?
ちがいます。
ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者 ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者 ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者 ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者ヤブ医者 これだけ連呼しておいて、 「フザケるなァ!」って言ってきたら そいつがヤブ医者だよ。
ひろゆこも大変やナ。 コミケから被害届けも出されるし…
860 :
デフォルトの名無しさん :03/01/10 11:34
>>473 事実上、運営者が責任を負っているという状態は可哀想だし、
IPを晒すのを非難してるわけじゃない。
運営者に圧力をかけている団体に腹が立っているけど、
何も出来ないから書いてるの。
IP取られてもいいから アホニシを何とかして欲しいよ。
どうして256色しか使えないようなカスフォーマットにこだわるのかわからん<GIF
>>863 軽いからでない?
JPEGは圧縮すると劣化するし。PNGは重たいし
865 :
デフォルトの名無しさん :03/01/10 15:01
長めのIF文を16個つけた関数を作ったのですが、 これを使うと極端に動作が重くなります。 if(m_x> 0&&m_y< 0&&(m_x+m_y<=-3||m_x+m_y>=3)&&-m_y>m_x) return 1; 見たいなのが16行あるのですが、JAVAとはそういうものなのですか?
868 :
デフォルトの名無しさん :03/01/10 15:09
importで、任意のUserBeanを読み込む場合、以下の書式はOKなんでしょうか? サンプルはこうなってるんですが、自分の環境でコンパイルするとエラーが帰ってくるんで 困っています。 へるぷ みー import UserBean; ↓ .......\login.java:7: '.' がありません。
ですが、上で説明した関数を使わないと動作がぜんぜん違うんです。 アプレットを作っているんですが、その関数を使うと、場面が飛んでしまうんです。
>>865 失礼ですが、美しいとは言いがたいコードです。
16個もあるならもっと数式をコンパクトに折りたためないのか?
重くなったのをJavaのせいにしないで重複した部分をうまくなとめましょう。
if分を複数に分割するとか、if文を入れ子にするとかね。
m_x + m_y を
mxmy = m_x + m_yでまとめるくらいのことはしておきましょう。
>>868 そのクラスのパッケージ名は?
login.javaのソース内のクラス名は? login.javaにあるクラスはいくつ? publicになっているクラスは?
>>869 >上で説明した関数
じゃなくて、「上で説明したコードを含む関数」でしょ
その関数の他の部分はどうなのよ?
>870 あぅえぅ・・・勉強しなおしてきます
if(m_x==0&&m_y< 0) return 0; if(m_x> 0&&m_y< 0&&(m_x+m_y<=-3||m_x+m_y>=3)&&-m_y>m_x) return 1; if(m_x> 0&&m_y< 0&&(m_x+m_y>=-3&&m_x+m_y<=3)) return 2; if(m_x> 0&&m_y< 0&&(m_x+m_y<=-3||m_x+m_y>=3)&&-m_y<m_x) return 3; if(m_x> 0&&m_y==0) return 4; if(m_x> 0&&m_y> 0&&(m_x-m_y<=-3||m_x-m_y>=3)&&m_y<m_x) return 5; if(m_x> 0&&m_y> 0&&(m_x-m_y>=-3&&m_x-m_y<=3))return 6; if(m_x> 0&&m_y> 0&&(m_x-m_y<=-3||m_x-m_y>=3)&&m_y>m_x) return 7; if(m_x==0&&m_y> 0) return 8; if(m_x< 0&&m_y> 0&&(m_x+m_y<=-3||m_x+m_y>=3)&&m_y>-m_x) return 9; if(m_x< 0&&m_y> 0&&(m_x+m_y>=-3&&m_x+m_y<=3)) return 10; if(m_x< 0&&m_y> 0&&(m_x+m_y<=-3||m_x+m_y>=3)&&m_y<-m_x) return 11; if(m_x< 0&&m_y==0) return 12; if(m_x< 0&&m_y< 0&&(m_x-m_y<=-3||m_x-m_y>=3)&&-m_y<-m_x)return 13; if(m_x< 0&&m_y< 0&&(m_x-m_y>=-3&&m_x-m_y<=3)) return 14; if(m_x< 0&&m_y< 0&&(m_x-m_y<=-3||m_x-m_y>=3)&&-m_y<-m_x)return 15; return 15; 関数の中身はこうなっています。引数はm_xとm_yだけです。
>>865 それ以外の部分で遅いだけでしょ。。。
ためしに
if(m_x==0&&m_y< 0) return 0;
の前に
return 0;
とでも置いて実行してみたら?
ここで、サーブレット/JSP系の質問はだめぽ?
何度も呼び出してるとか再帰とかいうオチじゃないだろうな…
>>873 うわっ、すっげー無駄が多すぎ ^^;
15がreturn されるとき一番時間がかかりそう。
やり方は何通りもあるけどもう一個関数作ると楽そう。
すくなくともこれくらいはやっておいていいかと
boolean a = m_x > 0 && m_y< 0;
boolean b = ( m_x + m_y <= -3 || m_x + m_y >= 3 );
>>877 そういう落ちではないんですが・・・
>>878 ありがとうございます。それでやってみます。
こんなIF文使うな。
>>873 あなたには、「Javaの鉄則」という本を読むことをお勧めします。
うーん。今ならほかにももっといい本やサイトがあるかも。
if文てそんなに重くなるものなの?
>>873 まず、
1.m_x == 0の場合
2.m_x < 0の場合
3.m_x > 0の場合
の3通りにわけて、それぞれのブロック中で残りの条件を
判定するようにすべき。毎回毎回全部の変数を評価したら
そりゃあ遅くなるのは当然。
>>879 ==がついた部分を先に実行すると速くなる可能性は高まります。
例えば
int x = 4; のとき、
x % 2 == 0 を判定してから
x == 4 を判定するのは時間の無駄ですから。
if(m_x==0&&m_y< 0) return 0;
if(m_x> 0&&m_y==0) return 4;
if(m_x==0&&m_y> 0) return 8;
if(m_x< 0&&m_y==0) return 12;
大抵の場合、仕事は簡単なものから片付けたほうがいいからこういうのは前面に押し出しでしょう。
>>873 こんなふうに。全角スペースを半角スペース2個に置き換えてどうぞ。
if(m_x == 0){ //m_x = 0の場合の処理
if(m_y < 0) return 0;
if(m_y > 0) return 8;
} else {
if(m_x > 0) { //m_x が0より大きい場合の処理
if(m_y == 0) return 4;
if(m_y < 0){
if((m_x+m_y<=-3||m_x+m_y>=3) && -m_y > m_x) return 1;
if((m_x+m_y>=-3&&m_x+m_y<=3)) return 2;
if((m_x+m_y<=-3||m_x+m_y>=3)&&-m_y<m_x) return 3;
} else {
if((m_x-m_y<=-3||m_x-m_y>=3)&&m_y<m_x) return 5;
if((m_x-m_y>=-3&&m_x-m_y<=3))return 6;
if((m_x-m_y<=-3||m_x-m_y>=3)&&m_y>m_x) return 7;
}
} else { //m_xが0より小さい場合の処理
if(m_y == 0) return 12;
if(m_y > 0) {
if((m_x+m_y<=-3||m_x+m_y>=3)&&m_y>-m_x) return 9;
if((m_x+m_y>=-3&&m_x+m_y<=3)) return 10;
if((m_x+m_y<=-3||m_x+m_y>=3)&&m_y<-m_x) return 11;
} else {
if((m_x-m_y<=-3||m_x-m_y>=3)&&-m_y<-m_x)return 13;
if((m_x-m_y>=-3&&m_x-m_y<=3)) return 14;
if((m_x-m_y<=-3||m_x-m_y>=3)&&-m_y<-m_x)return 15; //この行は不要だと思う
}
}
return 15;
}
atan2 使えば良いじゃんと思う俺は DQN ですか?
程度の低い質問ほどレスも多いですね。無駄に。
>>890 なに、平常心ぶってんの?
程度の低い質問ってのはお前のことだよ。
低学歴はこれだから学歴が低いんだ。
>>891 2chだから仕方がないんだよ(´ー`)y-~~
>>887 どうせなら
double xy = m_x + m_y;
double xy = m_x - m_y;
まとめた方がもっと速くなるでー。
>>891 俺は個のスレッドも一度も技術的な質問をしたことはないね。
>なに、平常心ぶってんの?
これこそ程度の低い質問に該当してるよ。
じゃ、お前も程度の高い質問をしてみたら?
こういうレスするお前がいることも2chらしいね。それもachだから仕方が無いからねぇ。
>>893 まあまあ。
彼は過去に質問をしたけどレスがもらえなかったのではなかろうか。
たしかにあまり難しい質問だとレスがかえってこないことってあるよね。
まあ質問の仕方が下手で、なにを尋ねているのかわからないから
レスが返ってこない場合もあるが。
もう一度よくコードを見直してみます。 お手数おかけしました。
既出覚悟で質問です JavaTM 2 SDK, Standard Edition Version 1.3.1_06 を使ってるんですがjavac.exeがどこにもみあたりません そんなもんですか?コマンドプロンプトで javaなら読んでくれるんですが javacはよんでくれません… 何故なんですか..
そんなもんです。
>>896 えーと。もしかしてさっきの携帯Javaスレのひと?
とりあえず
>>2 のリンク先を一度じっくり読んでみてはどうか?
>>896 OSはなにを使っているの?
たいがいのOSにはファイルを検索するためのソフトがあるから、
それで探してみては?
Windowsなら、f3キーで出たろうか。
はい,携帯Javaスレの301です
>>898 さん
またjava初心者の方に書いたんでそっちで解答していただければ幸いですm(_ _)m
>>2 のリンクは目を通したのですが…
C:\1.3.1_06が存在しないのです…
OSはwindows2000です
>>896 さん
暇だからってマルチのお相手かよ
>>901 答えがもらえてないからこっちに来たんだろう
まぁ大目にみてやんなよ
>>896 >>900 じゃこちらのスレッドに。
windows2000は使ったことがないが、
タスクバーの「スタート」をクリックして、
つぎに「検索(C)」をクリックして「ファイルやフォルダ(F)」をクリック。
するとおそらくファイルやフォルダを検索するためのウインドウが開くだろうから、
とりあえずは、それをつかって「javac.exe」というファイルを探すのがよいかと。
すみません,解決しました!! 親切にレスくれた方々ありがとうございましたっ!
>>896 >>904 やはりJREのまちがえだったか。。。
あとマルチポストは回答が返って来たときに
その回答へレスをしてまわるあなた自身も手間かかるだろうし
おなじ投稿を何度も読んだり何度も回答する周囲も手間なので、
やめたほうかいいかと。
//まあこのスレの
>>2 へのリンクを張り付けたのは俺だけど。
IPプロトコルを使用して書き込まなければいいのです。 念写を応用して書き込む方法を開発しよう。
今のところ実験ですが うまく動いていますよ これからトラブルは当事者間で解決してもらう方針です。
>やめたほうかいいかと。 ぬるいな
言いたいことも言えないなんて。ポイズン
実社会じゃ色々な理由でブチまけられないことがインターネットでは 見ず知らずの人らとしゃべりあえたの糞な世の中になりましたね 規制されまくって自分に嘘つかなきゃやってけない日本が少し嫌いになりましたまる
P2P掲示板をまともにつくった方が遙かに楽だと思うよ。がんがって。
まともなスレ立てるのが面倒なら立てるなよ、うぜぇ
======2==C==H======================================================
2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50 ────────────────────────────
ザンネンネ(σ゚ω゚)σ
(´・ω・`)ドッチ…無知で御免
そんなことはない。 2ちゃんねるだからなのです。
170 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:42 ID:rLfxQ17l 負荷が高そうなサーバにも入れて見ます。 ココカナ?
920 :
デフォルトの名無しさん :03/01/11 20:41
なんか違う話題がしばらく続いていますがここは質問すれですよね?相談させて下さい。 Swingを使って、ある図を入力を行うものを作っています。 その図はツリーみたいなもんで、一番大きな四角の中に四角が0〜n個あって、 そのそれぞれの四角の中にまた四角が0〜n個あって・・・・・・という構造です。 それをマウスでお絵描きソフトみたいに四角を描いて入力させたいのですが、 どうするのがいいんでしょう。 現段階の候補は下記3つですが、これは良い、悪いという話があったらお願いします。 1,四角のクラスとして、JInternalFrameを継承する: リサイズ機能などが付いてくるのは嬉しいけど、 JInternalFrameの中にまたそれを入れなければいけないわけで・・・・・・。 これでちょっと作りはじめてみたけど複雑or汚くなりそう。 2,四角のクラスとして、JComponentを継承する: これ継承して、頑張ってリサイズとか実装する。大変そう。 マウスがコンポーネントの外に出てもちゃんとリサイズ動くかな? 3,四角のクラスにはGUI機能を持たせず、キャンバスに相当する一枚のJComponentに描く: 自力で殆んどやるという点では2と同じ。どっちがいいのかは経験不足で分からないです。
921 :
名無し@沢村 :03/01/11 20:50
ぬぽくっへぽくへぽくへぽくっヌヒ等よ、大変だぞ!! 俺はふと思って2ちゃんねるのあっちこちの板を見て回ったのよ。 格闘技板とかアナウンサー板とかプログラマー板とかをな。 そうしたらな、どこのスレ開いても最近ひろゆきの話題が出てる板はプログラム技術板だけだったぞ!! ヌヒ等よ、ここは2ちゃんねるいっちゃん恥ずかしい板だぞ!!
>>920 >ある図を入力を行うものを作っています。
この説明が意味不明なんですが、取りあえず3が妥当かと。
>マウスでお絵描きソフトみたいに
と説明にある通り作るなら、マウスの選択範囲を逐一描画したりしない
といけないんで、結局Graphics2Dのメソッド弄くる処理書かないといけ
ないかと。そもそも、マウスドラッグに併せてSwingコンポーネントリサ
イズさせるなんて無茶。
923 :
デフォルトの名無しさん :03/01/11 21:13
質問いいですか? floatとかdoubleなどは32bitとか64bitとかいてあるのですが その中で、指数部と値の部分はそれぞれ何bitなんですか? たとえばlongをdoubleに変換したとき余分なところが 削られてしまうような気がするのですが。
>>920 選択肢3でしょう。それが一番簡単でしょう。
>>925 丁寧なレスありがとうございます。
勉強します。
質問があります 複数のクラスのインスタンスを作って返したいのですが、 それぞれ一個ずつでいいんです。 CやC++なら void method(A** ppA, B** ppB, C** ppC); とするのですが、同じことをJavaでやるにはどうすればいいでしょう。 void method(Object[] a, Object[] b, Object[] c); void method(Object[] return_values); は配列じゃないのに配列を使ってるのが変ですし・・・ 引数受け渡し専用クラスを作るという手もありますが、 似たようなのが何パターンかあるので、手間がかかります。
>>927 あぶすとらくとふぁくとり? みたいな感じで。
「自分」がヤバイと思ったら、使わなええんちゃいますのんw
>>927 Object[] method(){
A a = ...;
B b = ...;
return newObject[]{ a,b };
}
とか。Vector に入れて返すとか。
ラウンジに行けばわかる
ポインタ代りに配列を使いますか。なるほどねぇ。 似たようなのが何パターンもある、というのが気になります。設計が改良出来る予感。 「似たような」ものならば abstract,extends,implements で何とかならないものでしょうか。
ここで3人くらいが「大丈夫だよ」と言ったら、それを信用して そういう書き込みを続けるんですか? まあご自由にとしか言いようがありませんね。 どうせなら「授業料」を支払うことになる限界がどこにあるか見つけてください。
>>927 基本的には手間がかかっても
引数受け渡し用クラスを作った方がいーんだろーね。
もしくは一つのメソッドで一つのインスタンスを生成して返すように変更するとか。
まぁ、それらの対応が不可能だから質問してるんだろうけど。
>933 誰に言ってるの? とりあえず文体からしてカルシウムを薦める。
936 :
デフォルトの名無しさん :03/01/11 23:51
返答ありがとうございます。単純な解決法はなさそうですね。
>>928 すいません、よくわかりませんでした
>>930 戻り値から値を取り出すためのインデックスが
数値として直に見えるのはあんまりうれしくないかも、です。
Listにしても同じですね
>>932 ここのインターフェースは大幅には変えられないんです...
>>934 > 引数受け渡し用クラスを作った方がいーんだろーね。
静的な型安全を重視するならそうなりますね。
(eclipse等のIDEの補助も受けられますし)
あと、C++に慣れてるので、どうしてもコレが気になってしまいまする。
>937 むー。この板はもはやコピペボットだらけなのですか。
>>927 型安全を気にするなら、やっぱり引数クラスがいいと思うなあ。
いろんなパターンのものを気にするのがいやなら、
全パターンのクラスを網羅する、一つの引数クラスを作るとか。
型安全を気にしなくていいなら、配列やVectorよりもMapの方が
向いているんじゃないかな。
942 :
デフォルトの名無しさん :03/01/12 01:57
>>927 >void method(Object[] a, Object[] b, Object[] c);
ところで、意図どおり動くのか?
void method(Object[] a){
a = new Object{"test",new Integer(1)};
}
void hoge(){
Object[] param = null;
method(param);
}
とやったところでparamはnullのままだぞ、おい。
>>932 も「なるほど」って言ってる場合じゃないよ、おい。
>>942 ネタだろーが、一応。
void method(Object[] a){
a[0] = ....;
}
void hoge(){
Object[] param = new Object[1];
method(param);
}
とかってやるんでしょ。
>>943 あ、そういうことね。
ところでさぁ、可変長配列にVectorっていうのなら連想配列にはHashtableで、連想配列にMapっていうのなら可変長配列にはListっていったほうが対応がよいのだが、どうか。
とはいえ、VectorとMapっていうのがいちばんしっくりくるんだけどね。
Vector v = new Vector();
だけど、Mapは
Map m = new HashMap();
って書くことがおおいね。
もれはVectorとHashMapをよく使うんだけど、おまえらはどうですか?
近藤朋(享年15) 今日午前4時前、幸田駅の線路脇の道路でキャッチボールしていた中学3年生4人組がいた。 ところが、ボールが線路に入った。 幸田駅の線路に、ボールを取りに入った、中学3年生の女子1名が、貨物列車に ばばばばばピィー― きゃ〜! ブァプアあああああああー―――――――ン!!!!!!
「Java」といっしょにGooglingしてみたらこんなん出た。
Vector 462000
ArrayList 34700
LinkedList 20900
Hashtable 87000
HashMap 28000
LinkedHashMap 1040
ちなみにHashableは1230あった。Googleに「Hashtableじゃねーの?」って言われた。
LinkedHashMapより多いところがイカス。
>>945 午前4時に道路で手袋まるめてキャッチボールするか?
はいよ
948 :
デフォルトの名無しさん :03/01/12 06:25
>>944 >ところでさぁ、可変長配列にVectorっていうのなら連想配列にはHashtableで、
>連想配列にMapっていうのなら可変長配列にはListっていったほうが対応がよいのだが、どうか。
全然対応がよくない。そもそもインターフェースを理解していないあなたは氏ね。
GCCでもJavaがコンパイルできるとあったのですが これはJDK互換のバイナリを出力するの? くわしく説明してください。
キタ─wwヘ√レvv〜(゚∀゚)─wwヘ√レvv〜─!!!!
もうネタなんていっていいレベルじゃない はっきり 馬 鹿 って言ってあげようよ。
4ndってたぶんネタじゃなくて素の馬鹿だと思う
遅レスだが >void method(Object[] a, Object[] b, Object[] c); >void method(Object[] return_values); Object[] method(似たようなパターンのどれにあたるのか識別するための何か); じゃダメだろうか。 >950 Yes/No で答えられる質問をしながら、いつもの癖で「詳しく」がついてますね。 何を詳しく聞きたいのか詳しく言いなさい。
初心者質問行きます。 アプレットがブラウザで表示できません。 ローカルとネット上でいろいろ試しましたが、結果としていずれの場合も IE6、ネスケ(プラグイン入っている)なら見れる。 IEコンポーネントブラウザはほぼ全滅。(Moon,Sleipnir,MDIbrowserでテスト) explorerをIEに化けさせたときも見れない。 といった感じになりました。 自分の作ったアプレット以外のどこかのだれかが作った ネット上に置いてあるアプレットは上のどの方法を使っても表示できました。 htmlはこんな感じで <html> <head> <title>Foo</title> </head> <body> <applet code="Foo.class" width=600 height=500></applet> </body> </html> Foo.class はこのhtmlと同じディレクトリに置いてあります。 何がまずいのか教えて下さい。
ブラウザよりもそれぞれで使っているJava VMが問題なのでは。 解決策は私も同じ所で引っかかっているため示せません。 いまのソフトが完成したら試そうと思っていたのですが、 src.zipからソースを引っ張って来るとどうなるんだろう? 1、うまくいく 2、けどライセンス違反 3、ダメ 結果知ってる方(or他の解決策)いらっしゃいましたら、よろしくです。 あと、設定いじってJavaコンソール表示させてエラーを読みましょう。
Vectorってベクトルのことだよね。 ベクトルって、Listの一種って考えるのは正しいの? 数学に詳しい人、解説キボン
スカラーの順序付き集合をリストと定義すれば同じじゃないかな? ただ、(分野にもよるが)数学でベクトルと言われると次元(length)が固定な気がするね。 加減算や内外積が定義できたりするようなのを思い浮かべる。 数学に詳しい人、ツッコミキボン
IEでは見られるがIEコンポーネントブラウザでは見えない原因がわかりました。 j2reのプラグインがIEだけに適用されるようになってたからですね。 結論として私の書いたコードのみどの環境でも見られないと・・・ htmlの書き方がおかしいのか何なのか・・・
>959 JDKのバージョン問題じゃない?
>>959 「自分が作ったアプレット」って、ローカルで .htmlをダブルクリックした状態と解釈していいの?
それとも自前サーバに置いて、ブラウザから覗いてるの?
後者なら「他の人」と同じ状態じゃないの?
>>960 1.4.1-rcですが・・・
古いバージョンしか一般のVMは対応してないとかでしょうか。
>>961 前者でも後者でも自作アプレットだけ見られません。
>>962 コンパイル時に -target 1.1 つければ?
>>964 解決しました。それですね。
1.1だと随分機能がなくなってしまってるみたいですが・・・
結局広く外に公開する奴は機能制限するしかないんでしょうかねえ・・・
見られないって、例えば「どうもブラウザ内に領域だけはある」つまり「真っ白(灰色?)」 にはなっているの?
>>966 appletタグで指定したサイズの灰色の領域が存在する、って感じです。
>>957 コンテナとしてのVectorは数学的なVectorじゃないよ。
ただの入れ物。
あ、解決したのね...。善き事。
つーか、
>>965 >1.1だと随分機能がなくなってしまってるみたいですが・・・
所詮Appletには誰も期待していないと。悲しいが。
>>969 参考にさせていただきます。
>>970 まだJavaはじめて1ヶ月くらいで作った500行程度の習作なわけですが、
とりあえずどの部分が新しい機能なのかを探しております。
バージョンダウンのための努力ってむなしい・・・
Appletなんて所詮、砂場遊び。1.1.xで十分。
>インストールするまでもないソフトって絶対良いと思うのだが COMマンセー
次スレいっとく?
>>973 やっぱ、最初の頃のApplet=糞重いっていうイメージが
悪かったんじゃないかな。
今はマシン性能も、VMの性能も上がっているから
複雑なアプリじゃなければそこそこ使い物になると思うんだけど。
>>977 あと、個人的には見てくれがちょっと...って感じ。Appletに限った話じゃないけど。
AWTにしろSwingにしろ、なんかイマイチ好きになれない。
そういう意味では(Appletだと厳しいけど)SWTにマンセー。
Borland JBuilder7 Personalでトラブっています メニュー 実行→プロジェクトの実行すらできずに困っています。 実行させようとしているのは最初に出てくるサンプルアプリのwelcome.jpxで ソースはいじってません。 最初にc:\program\ にJBuilder7をインストールした後 アンインストールしてからc:\program1\ にインストールし直しました JBuilder7の設定でjdkのパスやレジストリが一部c:\program\のままになっていたので JBuilder7の設定でパスを書き直したり、レジストリエディタでprogram\JBuilder7で検索して パスをすべてprogram1\JBuilder7に変えても直りません サンプルすら実行できないのでアプリ実行は全滅、アンインストールしてもダメ、の大ハマリ状態です 誰か解決方法を知らないでしょうか?
書き忘れました、エラーはこんな感じです -- Java プロセスを起動中に IOException が送出されました -- java.io.IOException: CreateProcess: C:\Program1\JBuilder7\bin\javaw -classpath "C:\Program1\JBuilder7\samples\ Welcome\classes;C:\Program1\JBuilder7\jdk1.3.1\demo\jfc\Java2D\Java2Demo.jar;C:\Program1\JBuilder7\jdk1.3.1\jr e\lib\i18n.jar;C:\Program1\JBuilder7\jdk1.3.1\jre\lib\jaws.jar;C:\Program1\JBuilder7\jdk1.3.1\jre\lib\rt.jar;C :\Program1\JBuilder7\jdk1.3.1\jre\lib\sunrsasign.jar;C:\Program1\JBuilder7\jdk1.3.1\lib\dt.jar;C:\Program1\JBu ilder7\jdk1.3.1\lib\htmlconverter.jar;C:\Program1\JBuilder7\jdk1.3.1\lib\tools.jar;C:\Program1\JBuilder7\lib\a 〜(略) こんな感じのメッセージが出てきます
984 :
デフォルトの名無しさん :03/01/12 15:39
welcome.jpxって単なる説明じゃないんですか?
welcome.jpxは単なる説明です 手元にあるJBuilderではじめるJavaプログラミング入門という本を見ながらやってまして 「プログラムを実行しよう」なる所にこれを実行すると スケルトンみたいな何も無いウインドウが表示されるようです。 ただ、パスを変えて再インストールしたあたりから環境がガタガタになっていまして サンプルの実行すらできない状態です。 ちなみに環境はwin2000です
>>986 とりあえずコマンドプロンプトから「set」と打ち込んで、
その出力などをみられては?
>>971 SunのサイトでJDK1.1のドキュメントをダウンロードしてくるのがよろしいかと。
む。1.1の日本語版ドキュメントが見つからぬ…。
本家にはもう無いのか? ドキュメンテーション jdk 1.1 で検索すると見つかります。 旧Java毒懐かスィ(w
ひろゆきが守ったとか見限ったとかアホか。 ひろゆきはお前たちの親でも友達でもない、ただの他人じゃないか。
なら裁判に勝てる方法を理論的かつ具体的に示せよタコ。と釣(ry んでモマエが弁護しろ。てかもう無理か?上告の棄却とかはもうでたの?
おつかれーしょん>ばんそこう
次スレ立てる人へ
>>1 と
>>2 は必ず入れてくれ。このおかげで無意味なclasspathの質問がかなり減った。
このスレは避難先が決まっているので安心して埋められる方向で。 昨日、四角の中に四角が〜で質問した者ですが、結局JInternalFrame使ってます。 返事をもらって、納得しておきながら何ですが、自分が作っているものは ウィンドウの積み上げに非常に近いことに確信を持ったので。 (メモリの消費?知るか(藁 JInternalFrameのタイトルバーを消したり、ペイン内をドラッグして フレームを移動させてみたりして遊んでます。(本質のプログラミングが進まねぇ) >996 専用ブラウザならどっちも同じだと思うが、2chの処理・通信負担の軽減に協力する為には l50 か -100 を付けるべきだと思われるが?
>>997 わかるわ、それ。JInternalFrameって面白いよね。
JInternalFrameは、
バージョン1.3の時、あまり使わないほうが良いとか、
非推奨とかいう文面をみたことがある。
多分Sunのドキュメント。
今はどうなってるんでしょう。
Vector, Hashtable は今はまったく使う意味がない。 ArrayList/LinkedList, HashMap を使いましょう。
ついでに1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。