【初心者】Java質問・相談スレ23【大歓迎】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNG『'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。』
『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』
>>2-3 初心者によくある質問と回答・他のFAQサイトへのリンク
>>4 JDKの配布元とAPIドキュメントへのリンク
>>5-6 過去スレの一覧
>>7-10 関連スレ
>>11 2ちゃんねる外のJavaサイト・無料の開発環境の配布場所
(諸般の事情でずれた場合は >>2-20 )
Google で検索 ⇒ http://www.google.co.jp/
JavaFAQ で探す ⇒ http://www.gimlay.org/~javafaq/javafaq.html
ご要望によりじゃばこサイト ⇒ http://www.javaco.org/
JavaScriptの質問はWeb製作板へどうぞ ⇒ http://pc3.2ch.net/hp/
パソコンの基本操作に関しては、PC初心者板へどうぞ ⇒ http://pc.2ch.net/pcqa/
これからJavaのプログラムを始めたいかたは >>2-4 へ
必要な情報やコンパイラのダウンロード先へのリンクがあります。
基本的に sage 進行でおねがいします。また煽り厨は放置でお願いします。
0002デフォルトの名無しさん
NGNG『コマンドまたはファイル名が違います』や
『'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。』
と表示されてコンパイルできません。
A. javac.exeへのPATHが通っていません。
http://java.sun.com/j2se/1.4.1/ja/install-windows.html
を良く読んで、javac.exe のあるディレクトリ(例: C:\j2sdk1.4.1_01\bin )のパスを
環境変数PATHに追加してください。 その後、
Windows98/MEの場合はOSを再起動、
Windows2000/XPの場合はコマンドプロンプトを立ち上げなおしてください。
設定したパスが正しければ、javacが使えるようになります。
それでも同じエラーが出る場合は、設定した値が間違っています。
よく見直してください。
Q. javac Hello.java でコンパイルはできるのですが、
java Hello を実行しようとすると
『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』
と表示されて実行できません。
A. カレントディレクトリ(.)がクラスパス(classpath)に含まれていません。
コマンドプロンプトで、
set CLASSPATH=%CLASSPATH%;.
と設定する。最後の「;」と「.」を見落とさないように!
または、
http://www.gimlay.org/~javafaq/S004.html#S004-02
を読んでカレントディレクトリ「.」を環境変数CLASSPATHに追加してください。
クラスパスとはなにか(JavaFAQ 基礎知識)
http://www.gimlay.org/~javafaq/S004.html
0003デフォルトの名無しさん
NGNGA: Java(TM) 2 SDK インストールガイド
http://java.sun.com/j2se/1.4.1/ja/install.html
http://java.sun.com/j2se/1.4.1/ja/install-windows.html
Q: クラスの使い方が分かりません。
A: Java 2 プラットフォーム API 仕様
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html
Q: SDKの仕様や、Javaの使い方、コマンドの使い方を教えて下さい。
A: Java(TM) 2 SDK ドキュメント
http://java.sun.com/j2se/1.4/ja/docs/ja/index.html
Q: Javaの言語仕様が知りたいです。
A: Java言語規定
http://www.y-adagio.com/public/standards/tr_javalang/index.htm
http://java.sun.com/docs/books/jls/second_edition/html/j.title.doc.html
Q: 「僕以外の人も、同じ疑問を持ったはず」と思えるような質問があります。
A: Java House ML Topics / Java FAQ / Java Tips
http://java-house.jp/ml/topics/
http://www.gimlay.org/~javafaq/
http://www.javaworld.com/columns/jw-tips-index.shtml
このほかのFAQ(良くある質問とその回答)はこちら↓をご覧ください。
http://www.gimlay.org/~javafaq/javafaq.html
0004デフォルトの名無しさん
NGNG【Sun J2SE SDK 1.3】
http://java.sun.com/j2se/1.3/ja/download.html
http://java.sun.com/j2se/1.3/ja/docs/ja/api/index.html
【Sun J2SE SDK 1.4】
http://java.sun.com/j2se/1.4/ja/download.html
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html
【Sun J2SE SDK 1.4.1】
http://java.sun.com/j2se/1.4.1/ja/download.html
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html
【IBM J2SE SDK 1.1/1.3】 (要ユーザ登録)
http://www-105.ibm.com/developerworks/tools.nsf/dw/java-devkits-byname?OpenDocument&Count=100
0005デフォルトの名無しさん
NGNGhttp://piza.2ch.net/tech/kako/966/966391052.html
Java相談室
1 http://piza.2ch.net/tech/kako/971/971960169.html
2 http://piza.2ch.net/tech/kako/980/980858322.html
3 http://piza2.2ch.net/tech/kako/994/994150280.html
4 http://pc.2ch.net/tech/kako/997/997791189.html
5 http://pc.2ch.net/tech/kako/1003/10035/1003567552.html
ネタ心者歓迎!今更ながらにJavaを学ぼう!
1 http://piza.2ch.net/tech/kako/981/981424252.html
2 http://pc.2ch.net/tech/kako/993/993358225.html
ネタ心者歓迎! 今更ながらにJava相談室
01 http://pc.2ch.net/tech/kako/1003/10035/1003569074.html
02 http://pc.2ch.net/tech/kako/1006/10064/1006408230.html
03 http://pc.2ch.net/tech/kako/1007/10078/1007802486.html
04 http://pc.2ch.net/tech/kako/1010/10105/1010545421.html
05 http://pc.2ch.net/tech/kako/1012/10129/1012968994.html
06 http://pc.2ch.net/tech/kako/1015/10154/1015418174.html
07 http://pc.2ch.net/tech/kako/1018/10186/1018631329.html
08 http://pc.2ch.net/tech/kako/1020/10204/1020453823.html
09 http://pc.2ch.net/tech/kako/1021/10215/1021555964.html
0006デフォルトの名無しさん
NGNG01 http://pc.2ch.net/tech/kako/1021/10218/1021817147.html
02 http://pc.2ch.net/tech/kako/1023/10233/1023319551.html
03 http://pc.2ch.net/tech/kako/1024/10248/1024885660.html
04 http://pc3.2ch.net/tech/kako/1026/10266/1026601774.html
05 http://pc3.2ch.net/tech/kako/1028/10280/1028096225.html
06 http://pc3.2ch.net/tech/kako/1029/10297/1029774594.html
06+ http://pc3.2ch.net/tech/kako/1031/10313/1031397913.html
07 http://pc3.2ch.net/tech/kako/1032/10329/1032944182.html
08 http://pc3.2ch.net/tech/kako/1032/10329/1032944246.html
09 http://pc3.2ch.net/tech/kako/1034/10343/1034303501.html
10 http://pc3.2ch.net/tech/kako/1035/10355/1035570359.html
11 http://pc3.2ch.net/tech/kako/1036/10361/1036142056.html
12 http://pc3.2ch.net/tech/kako/1037/10374/1037407642.html
13 http://pc3.2ch.net/tech/kako/1038/10387/1038731106.html
14 http://pc3.2ch.net/tech/kako/1040/10401/1040150533.html
16 http://pc3.2ch.net/tech/kako/1042/10424/1042407622.html
16+ http://pc2.2ch.net/tech/kako/1043/10436/1043654161.html
18 http://pc2.2ch.net/tech/kako/1044/10449/1044983072.html
19 http://pc2.2ch.net/tech/kako/1046/10461/1046166884.html
20 http://pc2.2ch.net/tech/kako/1047/10475/1047544179.html
21 http://pc2.2ch.net/tech/kako/1048/10486/1048689029.html
22 http://pc2.2ch.net/test/read.cgi/tech/1049715659/l50
0007デフォルトの名無しさん
NGNG【IDE 統合開発環境】
【Java/C/他】統合開発環境Eclipse GM4
http://pc2.2ch.net/tech/kako/1039/10394/1039405354.html
えっ?JBuilder8が発売?
http://pc2.2ch.net/test/read.cgi/tech/1038042372/l50
【Meadow】Java開発環境(・∀・)イイ【JDEE】
http://pc2.2ch.net/test/read.cgi/tech/1017214967/l50
【統合】Java開発環境スレ
http://pc2.2ch.net/test/read.cgi/tech/1038118138/l50
【Java】NetBeans vs Eclipse【IDE】
http://pc2.2ch.net/test/read.cgi/tech/1029407008/l50
【携帯・モバイル】
携帯JAVAのスレッド
http://pc2.2ch.net/test/read.cgi/tech/1011977260/l50
iモード携帯電話用Java(iアプリ) Part 3
http://pc2.2ch.net/test/read.cgi/tech/1040898596/l50
iアプリでゲーム (ゲーム製作技術板)
http://pc2.2ch.net/test/read.cgi/gamedev/1005042631/l50
京セラJAVA搭載PDA「PocketCosmo」 (モバイル板)
http://pc3.2ch.net/test/read.cgi/mobile/1021979970/l50
0008デフォルトの名無しさん
NGNGEJB(初心者歓迎)
http://pc2.2ch.net/test/read.cgi/tech/1017240849/l50
■■ Servlet/JSP(EJB含む) 質問スレ ■■ (WebProg板)
http://pc2.2ch.net/test/read.cgi/php/1023501812/l50
《The Jakarta Project》
http://pc2.2ch.net/test/read.cgi/tech/1019996589/l50
TOMCAT
http://pc2.2ch.net/test/read.cgi/tech/998525941/l50
Servlet/JSPのフレームワークを語るスレ
http://pc2.2ch.net/test/read.cgi/tech/1001950590/l50
EJBは終わってる
http://pc2.2ch.net/test/read.cgi/tech/1036481443/l50
JavaサーブレットQ&A LV2
http://pc.2ch.net/tech/kako/1012/10127/1012728608.html
サーバーサイドJAVAをまたーり語るスレ
http://pc.2ch.net/tech/kako/1004/10049/1004972840.html
0009デフォルトの名無しさん
NGNGクライアントサイドJavaどうよ?
http://pc3.2ch.net/tech/kako/1002/10021/1002160815.html
クライアントサイドJavaどうよ? part2
http://pc2.2ch.net/tech/kako/1032/10326/1032665721.html
クライアントサイドJavaどうよ? part3
http://pc2.2ch.net/test/read.cgi/tech/1045891783/l50
ム板のみんなでRobocode (・∀・)ヤロ−ウヨ!1台目
http://pc3.2ch.net/tech/kako/1020/10201/1020161792.html
Java 高速GUI SWT
http://pc2.2ch.net/test/read.cgi/tech/1032448424/l50
【徹底討論】Java3Dの可能性について考える
http://pc2.2ch.net/test/read.cgi/tech/1033703640/l50
★お前らJavaはJNIで組もうぜ★
http://pc2.2ch.net/test/read.cgi/tech/1033795664/l50
Javaアプレットのゲームの限界は! (ゲーム製作技術板)
http://pc2.2ch.net/test/read.cgi/gamedev/1005230153/l50
【Java編】 学校の宿題は俺にやらせろ 【Java編】
http://pc2.2ch.net/test/read.cgi/tech/1040552821/l50
祝 JAVA Developer創刊
http://pc2.2ch.net/test/read.cgi/tech/1024967343/l50
0010デフォルトの名無しさん
NGNGUNIXでJAVA (Unix板)
http://pc.2ch.net/test/read.cgi/unix/1011292632/l50
LinuxのJAVAチューニングスレ (Linux板)
http://pc.2ch.net/test/read.cgi/linux/1004594459/l50
◆◆◆◆◆◆MacでJava◆◆◆◆◆◆ (新Mac板)
http://pc.2ch.net/test/read.cgi/mac/991194610/l50
■■■ 撲滅させたいかた、死滅を心配してるかた ■■■
CとJavaを比較した場合Cの良いとこと悪いとこ
http://pc.2ch.net/tech/kako/1009/10097/1009707596.html
C#とJava、どっちをおぼえればいいの?
http://pc2.2ch.net/test/read.cgi/tech/1006715468/l50
Java撲滅委員会
http://pc.2ch.net/tech/kako/996/996848309.html
Java撲滅委員会
http://pc3.2ch.net/test/read.cgi/tech/996848309/l50
●●JAVAって死滅しちゃうの????●●
1 http://pc.2ch.net/tech/kako/1005/10051/1005159122.html
2 http://pc.2ch.net/tech/kako/1006/10060/1006053686.html
3 http://pc.2ch.net/tech/kako/1008/10081/1008162230.html
4 http://pc2.2ch.net/tech/kako/1042/10422/1042268758.html
5 http://pc2.2ch.net/tech/kako/1046/10465/1046539052.html
6 http://pc2.2ch.net/test/read.cgi/tech/1047748598/
0011デフォルトの名無しさん
NGNG巨大なJavaリンク集
Java的リンク
http://www.geocities.co.jp/SiliconValley/6064/java_link.html
What's New about Java(Java に関する最新ニュース)
http://www.gimlay.org/~andoh/java/javanew.html
■■■ 無料の統合開発環境 ■■■
【Eclipse R2】
http://www.eclipse.org/downloads/index.php
【Sun ONE Studio 4 (Forte 4)】
http://jp.sun.com/products/software/tools/jde/try/index.html
【NetBeans v3】
http://www.netbeans.jp/dowonload.htm
【JBuilder 7 Personal】
http://www.borland.co.jp/jbuilder/jb7/download/
※2chではないので暴れないように。
0012デフォルトの名無しさん
NGNGクラスローダを自作して必要なクラスは
ネットワーク越しにダウンロードするようにしては?
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNG数々のすばらしい評価をうけてる名著だ。
常に最新の内容にアップデートされているし、
フリーでダウンロードもできる。
本当にJavaでOOをちゃんとやりたい人はぜひ読もう。
http://www.mindview.net/Books/TIJ/
0015デフォルトの名無しさん
NGNGうれぴ〜
0016デフォルトの名無しさん
NGNG/ ヽ 、 \
/ ̄ ̄― V  ̄ ヽ
/ ̄ ̄――  ̄ ヽ ヽ
∠_ ―  ̄ ヽ ヽ ヽ
/ / / / ヽ ヽ |
| / / /| / | | ヽ ヽ | |
|/| /| /__」 / /| | ヽ | | |
| / |/_ |/| / |/|/ゝ | |
|/ | イ/o| |/  ̄ ヽ | |
| ー゚' ー==、 人 /
| ノ / |⌒) / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ヽ / /_/ / |
八 ` 一 / / / < 1さんお疲れ様(はぁと
〈 \ ^ 〈 / / |
ヽ/ \_ <ヽ// \________
| |
ノ___ノ`ヽ_
_ ノ(_____ノ  ̄/ ⌒ヽ
// // ⌒ ヽ
/ / // )
// / ( |
0017デフォルトの名無しさん
NGNG初期化方法は、
class Word{
private String aStr = null;
public Word(){
aStr = new String("a word");
}
public String getStr(){
return( this.aStr );
}
}
とやる場合と、
class Word{
private String aStr = new String("a word");;
public Word(){
}
public String getStr(){
return( this.aStr );
}
}
とやる場合と、どちらがいいんでしょう?
0018デフォルトの名無しさん
NGNGそれだけなら、どっちでも変わらんと思う。
そのコンストラクタ以外のコンストラクタがあったりする場合は、
違うけど。
インスタンスフィールド初期化→コンストラクタ起動という順番だ
ということだけは、覚えておいたほうがいいかもね。
あと、String a = new String("リテラル文字列")は、普通
はメモリとインスタンス生成コストの無駄ですよ。
String a = "リテラル文字列" のほうが賢い。
まあ普通の環境なら、これも大して違わないけどねえ。
001917
NGNGまりがとう。参考になりました。
0020デフォルトの名無しさん
NGNG下のほうがいい、といわれている。
理由:
デフォルトコンストラクターでの初期化し忘れが無い。
コンストラクター追加の際、デフォルトコンストラクターの呼び忘れが無い。
0021デフォルトの名無しさん
NGNG> インスタンスフィールド初期化→コンストラクタ起動という順番だ
> ということだけは、覚えておいたほうがいいかもね。
微妙に違う。インスタンスフィールド初期化はコンパイルされると
*すべての* コンストラクタにそのコードを追加したものに *なる*。
コンストラクタにインスタンスフィールド初期化部分が埋め込まれるわけだ。
なので>>17の例だと上のは次のコードと同等。
public class Word {
private String aStr;
public Word() {
aStr = null; // 注目
aStr = new String("a word");
}
}
下のは次のコードと同等。
public class Word {
private String aStr;
public Word() {
aStr = new String("a word");
 : :}
}
0022デフォルトの名無しさん
NGNGpublic class Word {
private String aStr;
public Word() {
aStr = "a word";
}
}
っていうやり方が気に入ってる
つまり、初期化はすべてコンストラクタの中
(あるいはコンストラクタの中の初期化メソッドinitXXXなど)
ちなみによ、>>17よ
前者のプログラムなら
private String aStr = null; って
nullやる必要ないぜ
以前、コンパイラに「初期化されて無い可能性が・・・」などと言われた経験からか?
それを恐れてどこでもnullやってるようじゃ、まだ理解が足りないな
0023デフォルトの名無しさん
NGNG「プロパティ」情報を取り出す事ってできますか?
Wordなどのファイルで「右クリック」 - 「プロパティ」で
見ることができる情報なんですが・・・。
ご存知の方、よろしくお願いします。
0024デフォルトの名無しさん
NGNG初期化が必要なんってどういう時やったっけ?
それから型変換の法則性が未だにまとまらん。
だれか明快に教えて下さい。
0025デフォルトの名無しさん
NGNGこれでも見て勉強すれ。
Java言語規定 第2版 --- 5. 変換及び昇格
http://www.y-adagio.com/public/standards/tr_javalang2/conversions.doc.html
0026デフォルトの名無しさん
NGNG漏れは初期値はnullなんだよってより強く伝わるかな、との思いから
明示的にnullを設定しています。
0027デフォルトの名無しさん
NGNGそれ、特定のフィールドだけやられると余計な混乱まねきそう。
0028デフォルトの名無しさん
NGNG親切に警告してくれてるのにむやみにnullで初期化して
エラーを潰すのイクナイ
switchやifの分岐を追加したときに値を設定し忘れても
ちゃんとエラーになってくれる
もちろん仕様上初期値が存在するのが正しいなら問題ないけど
0029デフォルトの名無しさん
NGNG> アプレットの場合
なんでクラスローダは自作できないです。
http://pc2.2ch.net/test/read.cgi/tech/1049715659/907
だとjava.lang.Stringも見つからないと言われたので
うまく動作してないようです(WinXP+IE6SP1+JRE1.4.1_02)。
うーむ。やっぱSystem.getProperty()しかないのか…
0030デフォルトの名無しさん
NGNG俺も知りたいです。
アプレットというより、コンテントペインでアイコンのドラッグアンドドロップを
処理する方法が知りたい。
いろいろ調べている途中です。
0031デフォルトの名無しさん
NGNGVector自体が1次元配列ですから、Vector[]と定義すれば
2次元として扱えるのかな?
0032デフォルトの名無しさん
NGNG可変長でなくてもいいならそれでやればいい
じゃなきゃ Vector を Vector にいれる
0033デフォルトの名無しさん
NGNGサイズとか更新日程度の、大抵のプラットフォームに共通の情報なら、File
オブジェクトの属性から取れるかな。
Windows独自のファイルプロパティは、Windows独自フォーマットでファイルの
一部に格納されているのではないかな?その場合は難しいかも。自力でファイル
を解析する?よくわからんけど、JakartaのPOIが使えるのかも。
>>30
なにはなくともSunのチュートリアル。それでわからない人は頭が足りない。
0034デフォルトの名無しさん
NGNGSigned Jar使ってAppletに特権与えても、クラスローダ作れない?
0035デフォルトの名無しさん
NGNG>型変換の法則性
意味がなんとなくしかわからんが
class Thinko extends Seiki
class Manko extends Seiki
Seiki s;
Thinko t;
Manko m;
が、あったとして
(Seiki)t;とキャストできるけど
(Thinko)s;とはできない
こういう質問じゃないのか?
0036デフォルトの名無しさん
NGNG>(Thinko)s;とはできない
できます。
型が合わなければ ClassCastException 食らいますが。
>(Seiki)t;とキャストできるけど
キャスト無しで s = t; とかできますが。
0037デフォルトの名無しさん
NGNGJLabelのドラッグについてはドキュメントがありますが、
JFrameの外側からOSで使われているアイコンの
ドロップについては、ドキュメントが無いですね。
サポートされていないのでしょうか。
0038デフォルトの名無しさん
NGNG(Thinko)s;
この場合Thinkoのメソッドとかにアクセスできるの?
0039デフォルトの名無しさん
NGNG全角括弧つかってるからできません。
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNGないのですか?
intをObject型にキャストできないみたいなんですけど。
0043デフォルトの名無しさん
NGNGwww2u.biglobe.ne.jp/~kaduhiko/java_02.html
0044デフォルトの名無しさん
NGNGint, double, char などはただ値のみであるので、
オブジェクトではない。これらはプリミティブ型という。
Object と同じように、例えば Collection に入れたいようなときは、
Integer や Double を使う。
new Integer(int) でインスタンスを作る。
ちなみに配列 int[] などは Object のサブクラスになる
0045デフォルトの名無しさん
NGNGイベントを拾うことが出来るし、ナニカのTransferableが飛んできているのは
間違いないさ。ただそれがなんなのかは自分で調べるしかないかと思われ。
DataFlavorのMIMETypeみれば大体分かるんでないのけ?多分リンク先のファ
イルへのパスやファイルオブジェクト自体がはいっていそうだけど…
0046デフォルトの名無しさん
NGNGしっかり、ありましたね。しかも日本語…
すみません、ありがとうございます。
0047デフォルトの名無しさん
NGNGどうせユーザーに確認のダイアログ押させるならActiveXにするかも。
そもそも署名のためのコードもMSとSunでぜんぜん違うし
0048デフォルトの名無しさん
NGNG0049bloom
NGNG0050デフォルトの名無しさん
NGNGこれはどうよ?
http://www-6.ibm.com/jp/event/robocode/home/
0052デフォルトの名無しさん
NGNG参照がそのサブクラスにキャスト可能なものなら、可能かと。
ナンカ流れが混乱してるね。
0053デフォルトの名無しさん
NGNG確かに実践的な課題なんですがちょっと…。
コンソール画面での問題はないでしょうか?
0054デフォルトの名無しさん
NGNGお前は深読みしすぎ あるいは分かってないかも知れん
>>35 では s に何も参照させてない
s = new Tinko();
した後なら ((Thinko)s).bokki(); できる
0055デフォルトの名無しさん
NGNGまぁ分かってくれ
0056デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNGint insert(Object obj);
0059デフォルトの名無しさん
NGNGそのMankoクラスの設計者は変態ですね。
せめて
class UnoffendingObject;
int insert(UnoffendingObject obj);
じゃないと可愛そう。
ところで@returnは何?
0060デフォルトの名無しさん
NGNGソースから抜粋
public static final int MAJIRU = 0;
public static final int SHIO = 1;
public static final int BLOOD = 2;
つかこっちでやるネタだな・・・
■いろんな物をプログラミングしてみよう■
http://pc2.2ch.net/test/read.cgi/tech/1040146314/
0061デフォルトの名無しさん
NGNGディレクトリ構造をjava.io.Fileと同様に
ツリー構造で取得する方法ってないでしょうか?
ZipFile#entriesですと、ツリーではなくリストになってしまいます。。。
0062デフォルトの名無しさん
NGNG>ツリー構造で取得する方法ってないでしょうか?
って、java.io.File自体にツリー構造で取得するメソッドってあった?
俺は再帰ループで自作したような気がするが・・・
まあいいや、俺はやったこと無いが俺ならこうやるだろう
ZipFile#entriesの戻り値はEnumerationだ
これを enuとすると
while(enu.hasMoreElements()){
File f=(File)f.nextElement();//これ通るか心配だが・・・
//ここでf.isDirectory()がtrueなら
//この中もう一回entriesする
}
おれは、ZipFileとFileが同じように扱えるんじゃないかと予想して
こう書いたわけだが、どうなんだろう?
しばらく時間くれちょっとやってみる
他のヤツわかるやついるのならおしえてやってくれ
0063デフォルトの名無しさん
NGNGZipFile#entriesの戻り値はZipEntry型なんですよ。
ZipEntryって1つのファイルへの参照しか持っていないのです。
ちなみに、ツリー構造っていうのは
親とか子への自己参照を持っているって意味で・・・
自分も再帰で全検索やってます。。。
0064デフォルトの名無しさん
NGNGSeiki s = new Thinko();
これだと、Seikiクラスにあるメソッドしか呼べない。
当然、Seikiクラスにあるメソッドといっても、
Thinkoクラスでオーバーライドされたメソッドが動くが。
Thinko t = new Thinko();
これなら、Thinkoクラスで独自に定義されているメソッドも呼び出せる。
Seiki s = new Thinko();
とやった後で、どうしてもThinkoクラスにあるメソッドを呼ぶには
1・ClassクラスとMethodクラスを使ってinvokeする
2・((Thinko)s).xxx()と書いて使う
などの方法があると思われ
0065デフォルトの名無しさん
NGNGインストール方法を教えてください
0066デフォルトの名無しさん
NGNG買え
006762
NGNGこんな感じあとはこれをヒントにしてくれ
import java.util.zip.*;
import java.util.*;
public class ZipTest {
public static void main(String[] args) throws Exception{
ZipFile zf = new ZipFile("hoge.zip");
Enumeration enu = zf.entries();
while (enu.hasMoreElements()) {
ZipEntry ze=(ZipEntry)enu.nextElement();
if(ze.isDirectory())
{
System.out.println("Directory");
}
else
{
System.out.println("File");
}
}
}
}
006862
NGNG今読んだ
戻り値・・・俺の参考書にはEnumerationってかいてある、中身が
ZipEntryってことかだから、俺の上のコードのキャスト通ったわけね
>ZipEntryって1つのファイルへの参照しか持っていないのです
そういうもんなんじゃない?っていうしかない。俺には全検索しか思いつかん
すまない
でも、Javaで再帰全検索って時間かかるんだよな
昔作ったプログラムでCドライブのフォルダファイルをJTreeで表示しようとおもったら
5秒ぐらい固まったまんまだった
0069デフォルトの名無しさん
NGNGJavaでは、メソッドの引数に値渡しと参照渡しの区別をつけて渡すことはできないんでしょうか。
基本データ型は値渡し、オブジェクトは参照渡しと自動的に決まってしまうんですか?
基本データ型の参照値がない(扱えない)以上、やはり型によって決まるような気が・・・
0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNG結局、たとえばint型の参照渡しなどはできないんですか?
Integer型を使えばいいのかな
0072デフォルトの名無しさん
NGNG> ZipEntryってことかだから、俺の上のコードのキャスト通ったわけね
62 のコードは
> > File f=(File)f.nextElement();//これ通るか心配だが・・・
で実行時に必ず ClassCastException くらいます。
> でも、Javaで再帰全検索って時間かかるんだよな
> 昔作ったプログラムでCドライブのフォルダファイルをJTreeで表示しようとおもったら
> 5秒ぐらい固まったまんまだった
それは Java のせいじゃないよ。
C/C++ とかで同等の(全検索したあとTreeを表示する)プログラム書いてみればわかる。
ま、Java のが2倍くらい遅いかもしれんが、
C/C++のプログラムでも、そんなことすれば実用的で無いのがわかるだろ。
0073デフォルトの名無しさん
NGNG>int型の参照渡しなどはできないんですか
出来ません。値渡しになります。
Integerは自分自身の状態の変更を許さないので、Integerを利用しても無理です。
もしそうした要件があれば、int値の属性を持つクラスを定義する必要があります。
0074デフォルトの名無しさん
NGNG> 結局、たとえばint型の参照渡しなどはできないんですか?
無理。Java は値渡しのみしかない。
( >>70 が言うように参照型は参照値が値渡しされてるだけだし。)
> Integer型を使えばいいのかな
Integer は不変オブジェクトなので無理。
根本的に解決するにはメソッドの再編成するしか。
その場しのぎの解決法としては要素数1の int配列を渡すとか、
もうちょっとマシなのはクラス作ってそれで受け渡すとか。
0075世界にひとつだけの花(コピペ推奨)
NGNG●とにかく神経質で気が小さい、了見が狭い(臆病、二言目には「世間」(「世間」と言っても、一部のA型を中心とした一部の人間の動向に過ぎない))
●他人に異常に干渉して自分たちの古いシキタリを押し付け、それから少しでも外れる奴に対しては好戦的でファイト満々な態度をとり、かなりキモイ(自己中心、硬直的でデリカシーがない)
●妙に気位が高く、自分が馬鹿にされるとカッと怒るくせに平気で他人を馬鹿にしようとする(ただし、相手を表面的・形式的にしか判断できず(早合点・誤解の名人)、実際にはたいてい、内面的・実質的に負けていることが多い)
●権力・強者には平身低頭だが、弱者に対しては八つ当たり等していじめる(強い者にはへつらい、弱い者に対してはいじめる(特に人が見ていない場合))
●あら探しだけは名人級でウザく、とにかく否定的(例え10の長所があっても褒めることをせず、たった1つの短所を見つけては貶す)
●基本的に悲観主義でマイナス思考に支配されているため性格が鬱陶しい(根暗)
●何でも「右へ習え」で、単独では何もできない(群れでしか行動できないヘタレ)
●少数派の異質・異文化を理解しようとせず、あるいは理解を示さず、排斥する(差別主義者、狭量、視野が狭い、多数派=正しい と信じて疑わない)
●集団によるいじめのリーダーとなり皆を先導する(陰湿かつ陰険で狡猾)
●他人の悪口・陰口を好むと同時に、自分は他人からどう見られているか、人の目を異常に気にする(自分がそうだから容易に他人を信用できない、ポーズだけで中身を伴っていない、世間体命)
●たとえ友達が多くても、いずれも浅い付き合いでしかなく、心の友達はおらず孤独(心の感度が低く、包容力がなく、冷酷だから)
●頭が硬く融通が利かないためストレスを溜め込みやすく、また短気で、地雷持ちが多い(不合理な馬鹿)
●たとえ後で自分の誤りに気づいても、素直に謝れず強引に筋を通し、こじつけの言い訳ばかりする(もう腹を切るしかない!)
●男は、女々しいあるいは女の腐ったみたいな考えのやつが多い(例:「俺のほうが男前やのに、なんでや!(あの野郎の足を引っ張ってやる!!)」)
0076デフォルトの名無しさん
NGNG>>74
なるほど、結局
void method(int& a, int& b){}
てのをJavaでやりたければ
class Hoge{
int a;
int b;
// setterやgetterも
}
void method(Hoge hoge){}
とかするしかないということか。
サンクスコ
0077デフォルトの名無しさん
NGNG薦められる書籍って何でしょうか?既出だったら申し訳ない。
0078デフォルトの名無しさん
NGNGjava2のmicro editionを使っているんですが、ALERT: NoClassDefFoundError : file
というエラーが出て、実行できません。
グーグル検索してみて、CLATH PATHの設定が悪いみたいなんですが、
具体的なやり方がわからず、困っています。
何か、具体的なやり方をご教授願えないでしょうか?
0079デフォルトの名無しさん
NGNGを晒すほうが先じゃないかな。コマンドラインからやっているのか
とかKJX作成ツールを使っているのかとか。
http://pc2.2ch.net/test/read.cgi/tech/1011977260/l50
0080デフォルトの名無しさん
NGNG常識はずれでした。すみません
開発環境は、一応KJX作成ツールはインストールしているんですが、
今、使用しているのは J2ME Wireless Toolkit 1.0.4_01 のKToolbarです。
OSはWINDOWS 2000を使っています。
ちなみに、ソースコードは以下です。
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Sample extends MIDlet implements CommandListener{
private Command cmd;
public Sample(){
cmd = new Command("Exit", Command.SCREEN, 1);
}
public void startApp(){
TextBox textbox = new TextBox("Sample", "Hello World!", 64, TextField.ANY);
textbox.addCommand(cmd);
textbox.setCommandListener(this);
Display.getDisplay(this).setCurrent(textbox);
}
public void pauseApp(){
}
public void destroyApp(boolean unconditional){
}
public void commandAction(Command c, Displayable d){
if(c == cmd) {
destroyApp(false);
notifyDestroyed();
}}}
どうぞよろしくお願いします
0081デフォルトの名無しさん
NGNG前すれで配列使う例があったような。
hoge(int[] a){
++a[0];
}
main(){
int[] number = {4];
hoge(number);
}
0082デフォルトの名無しさん
NGNGclass Main{
public static void main(String[] args){
A a = new A();
}
}
class A{
B b = new B();
}
class B{
void method(){};
}
このときmainメソッドからBのmethodにアクセスできますか?
0083デフォルトの名無しさん
NGNGA,B,Main が同一ファイル内とか、同一パッケージ内なら、
a.b.method() でアクセスできるけど。
0084デフォルトの名無しさん
NGNGそんな単純なことだったんですね。すいませんでした。
あともうひとつ、もしMain=人、A=買い物篭、B=商品だとしたら
「商品の値段を見る」というメソッドはどこに記述すべきでしょうか?
Aの中でしょうか?Bの中でしょうか?
0085デフォルトの名無しさん
NGNG個々の商品の値段だったらB。
買い物の総額を見るんだったらA。
0086デフォルトの名無しさん
NGNG商品価格が店ごとに違うなら
C=店 に B もしくは A ごとつっこんで返してもらう
定価どおりのときは店C が B のメソッドからそのまま拾う
0087デフォルトの名無しさん
NGNGコンパイルするには、Esc-xでcompileと入力した後、どういう
コマンドを入力すればいいですか?
0088デフォルトの名無しさん
NGNG出てくると思います。
ソースと同じフォルダにMakefileを書いてみましょう。
#in Makefile
JAVAC=javac
all:
#この下のコマンドは、全角空白じゃなくて、「タブ一個」の次に書く。
${JAVAC} test.java
#これで完璧、あさごはん。
0089デフォルトの名無しさん
NGNG009063
NGNG今10個ぐらいあるクラスパス上のjarファイルのClassのインスタンスを
全取得するものを作ってみたんだけど、
1回目はZipEntryからすべての情報を取得して配列に格納し、
2回目以降は配列を参照するようにしてみた。
すると、
1回目・・・5秒くらい
2回目・・・0.5秒くらい
ってな感じになりました。
カレントにあるディレクトリのみ探すときは
1・属性がディレクトリのものを探す
2・パスからカレントのパスを消す
3・セパレータで分割したときに配列の要素数が1になるものを取得
って感じで検索するようにした。
0091デフォルトの名無しさん
NGNGコレクションではよくやる手だよね
0092デフォルトの名無しさん
NGNGどっちの書き方が他人にはわかりやすいですか?
//1
for (int i = 0; i < target.length; i++)
if (target[i].isVisible())
visible++;
//2
for (int i = 0; i < target.length; i++){
if (target[i].isVisible()){
visible++;
}
}
『{ }』をつけるかつけないかで悩んでいます
0093デフォルトの名無しさん
NGNGよくある一般的なHello Worldを出力するプログラムで
日本語を表示させたいのですがうまくいきません。
ソースファイルをsjisやユニコードにしたりcharsetを色々試しましたが
???と出力されてしまします。
apache1.3.27 tomcat1.4.01 windowsXP
厨な質問ですがよろしくお願いします。
ソース
public void doGet (HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head>");
out.println("<title>Sevlet Test</title>");
out.println("<meta http-equiv=\"Content-Type\" content=\"text/html;charset=Shift_JIS\">");
out.println("</head>");
out.println("<body bgcolor=\"#FFFFFF\">");
out.println("Hello Worldあああ");
out.println("</body></html>");
out.flush();
out.close();
}
0094デフォルトの名無しさん
NGNGjavac -encoding sjis
0095デフォルトの名無しさん
NGNG2だと思う。
他人でなくても、後々の事を考えても2だと思う
0096デフォルトの名無しさん
NGNGと同じ事をやりたい場合、
str = new DecimalFormat("##").format(i);
str = new DecimalFormat("00").format(i);
などではうまく行かないのですが、どうすればいいのですか?
0097デフォルトの名無しさん
NGNGresponse.setContentType("text/html"); をチョット変えろ
0098デフォルトの名無しさん
NGNG原田洋子読んだのか?
0099超初心者
NGNGif(string== null) return("");
でいいですか?
0100デフォルトの名無しさん
NGNGそれでいーけど、
必要ないのに return にカッコ付けるなって言われない?
010199
NGNGどうもありがとう>>100さん
0103デフォルトの名無しさん
NGNGresponse.setContentType("text/html"); をチョット変えろ
0104デフォルトの名無しさん
NGNGreturnの後に("");をつけないとempty stringは返せないような気がするけど・・・
if(string== null) はどうせなら if(!string) の方がカコイイよね
0105電源が落ちる!
NGNG終了させるといきなり画面が暗転,再起動してしまいます。
以前にも同じような事がありました。Javax.swing.JScrollPaneを利用した
プログラムを作って,実行,終了させると突然再起動。IEを閉じた時にも
同様な事が度々起こり,アプレットが関係していたのでは,と勝手に推測。
で,JDKのバージョンを1.4.1_02にしましたら,JScrollPaneは解決,IEの
方も今の所トラブルは起きておらず,安心してました。
ところが,今日,DEMOのJava2Demoを実行,終了させると突然再起動。
OS(WindowsXP)からは,デバイスドライバに問題があります,っていう
メッセージが・・・。何のデバイス? ぼくの知識では解決できそうにありません。
是非,アドバイスをお願い致します。
0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNG> returnの後に("");をつけないとempty stringは返せないような気がするけど・・・
return "";
> if(string== null) はどうせなら if(!string) の方がカコイイよね
Java の話だよね? 参照型に!演算子は使えないような。
0108デフォルトの名無しさん
NGNGあほか?あんた
特に、「if(string== null) はどうせなら if(!string) の方がカコイイよね 」の部分
わけわかんねーよ
0110デフォルトの名無しさん
NGNG当方、JDK1.4.1_02を使用してアプレットを作ったのですが、
どうも自分のマシン以外で動作しないので「はて?」と思い
別のマシンで同じコードをコンパイルして実行してみると、
ブラウザでは同じように「load: class (class名) class not found」と表示されているにもかかわらず、
appletviewerでは正常に表示されてたりします。
この場合、どこを疑ったらいいですかね…?
0111デフォルトの名無しさん
NGNGjavac -target 1.1 *.java
0112デフォルトの名無しさん
NGNGそれともそういうAPIは無いのですか?
0113電源が落ちる!
NGNGレス,ありがとう!
ぼくも最初に疑ったのがビデオカードでして,早速ドライバを最新のものに
更新してみました。(ビデオカードはATIのRADEON8500)
う,しかし,状況は・・・。変わらずです。
0114デフォルトの名無しさん
NGNG素早いレスありがとうございます!
ですが、parseDouble()みたいに、1.2で導入されたものなんかをコンパイルする時は
-target 1.2でしますよね?
すると、また同じように「load: 〜〜not found」になってしまうのですが…
0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNGDecimalFormatって空白での右詰できないんだよね。
str= (i < 10 ? " " : "") + Integer.toString(i);
とか自力でやらんとダメ。
0117 ( ・∀・)/< こんなのみつけたっち♪
NGNGhttp://www.yamazaki.90.kg/zenkaku/index.html
http://www.yamazaki.90.kg/hankaku/hankaku08.html
http://yamazaki.90.kg/hankaku/hankaku10.html
http://www.yamazaki.90.kg/hankaku/hankaku05.html
http://yamazaki.90.kg/hankaku/hankaku03.html
http://www.yamazaki.90.kg/hankaku/hankaku07html
http://yamazaki.90.kg/hankaku/hankaku01.html
http://www.yamazaki.90.kg/hankaku/hankaku06.html
http://yamazaki.90.kg/hankaku/hankaku04.html
http://www.yamazaki.90.kg/hankaku/hankaku09.html
0118デフォルトの名無しさん
NGNG-target ってのは、クラスファイルのフォーマットを指定するだけだから、
1.2以降で指定されたメソッド使っても問題ない。
0119デフォルトの名無しさん
NGNGhttp://java.sun.com/j2se/1.4.1/ja/download.html
の下のほうとか探してくれ。
0120デフォルトの名無しさん
NGNGなるほど。勉強になりました。
で、-target 1.1でコンパイルし直しましたが、ブラウザ起動の時、以下のようなメッセージが出ました。
error: java.lang.NoSuchMethodError: java/lang/Double: method parseDouble(Ljava/lang/String;)D not found
これは、どういうことでしょうか…?
0121デフォルトの名無しさん
NGNGありがとうございます。オブジェクト指向で、モノが決まっても
メソッドをどこに置くか、どう呼び出すかという所でいつも戸惑ってしまいます。
階層を深くするとややこしくなるし、例外を含めると難しいです。
GW中は暇なのでJavaに精進することにします。
0122デフォルトの名無しさん
NGNG感謝!
自分の調べ方が足りなさ過ぎました.よって
反省...
0123デフォルトの名無しさん
NGNGDouble.parseDouble
導入されたバージョン: 1.2
ちゅうことです。
0124デフォルトの名無しさん
NGNG実行時のVMが 1.1 のクラスライブラリしか持ってない場合は
since 1.2 とか 1.3 とか 1.4 のメソッド使ったら動きません。
parseDouble でなくて valueOf 使うとかしませう。
0125デフォルトの名無しさん
NGNGなるほど、ありがとうございました!
早速コード書き直します。
0126125
NGNG同じアプレットなのに、自分のマシンではちゃんと動くのに
他のマシンでまったく動かないのは何故なんでしょうか?
勿論、ローカル実行ではなくて、どっかのISP鯖にうpしてそっから実行してます
0127デフォルトの名無しさん
NGNGj2sdk1.4でThrowableを使って、スタックを取得し、
ログにログメソッドの呼び出し元を記録するというのやってみたのですが、
StackTraceElementというのを使ってみました。
本題ですが、上記と同様なことをj2sdk1.3でできるのでしょうか?
StackTraceElementは1.4にしかないので・・・
1.3はネイティブになってるのかな。。。
0128デフォルトの名無しさん
NGNG保存する方法はありますか?
0129環境: OS : WindowsXP Professional SP1 、JDK : j2sdk1.4.1_01
NGNG---
C:\usr\mona\Hello>javadoc Hello.java
---
がうまくいくときに、
---
C:\usr\mona\Hello>cd ..
C:\usr\mona\>javadoc -sourcepath Hello Hello.java
---
とすると、
---
パッケージ Hello.java のソースファイルを読み込んでいます...
javadoc: warning - パッケージ Hello.java のソースがありません。
Javadoc 情報を構築しています...
javadoc: warning - パッケージ Hello.java のソースがありません。
標準 Doclet バージョン 1.4.1
constant-values.html の生成
javadoc: ドキュメント化する public または protected クラスが見つかりません。
エラー 1 個
警告 2 個
---
となってしまいます。
私の理解では、 -soucepath Hello の指定によって、 Hello\ へ Hello.java を見に行ってくれるもんだと思っていたのですが。
何が間違っているのでしょう。そもそも -soucepath はこういった目的で使うものではないのでしょうか?
0130初心者
NGNGjava2RuntimeEnviromentを落したんですけど、emacs
でコンパイルしようとするとjavac: command not found
とか出てコンパイルできません。どう設定すればいいのか
詳しく教えてください。お願いします。
0131デフォルトの名無しさん
NGNG○ java2SoftwareDevelopmentKit
0133デフォルトの名無しさん
NGNGJavaで"や\をエスケープするのめんどくさいですけど。
Javaではperlのqq||やシングルコートでの文字列定義みたいなことはできないんですか?
0134デフォルトの名無しさん
NGNGあんたは、コード組むのも面倒なんじゃねえの。
0135デフォルトの名無しさん
NGNGじゃあ言い方を変えよう
エスケープが多数発生すると可読性が著しく損なわれるのですが
Javaに回避する方法はありますか?ないんですか?
0136デフォルトの名無しさん
NGNG無いよ。C/C++ にも無いしね。
0137デフォルトの名無しさん
NGNGこんなんどう?
ソース中に文字列を埋め込まない。
0138デフォルトの名無しさん
NGNGJ2RE はJavaのバイトコードを実行するためのソフトだよ。
コンパイラとかは JDK に入ってるのでそっちを落としてくらさい。
0140デフォルトの名無しさん
NGNGhttp://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/win32/javadoc.html#sourcepath
> -sourcepath オプションは、javadoc コマンドにパッケージ名を渡すときにだけ使用できます。
0141初心者
NGNGSDKを落したんですけど、使えるようにするための
設定とかが分かりません。初心者なので詳しく教えて
もらえたら嬉しいです。
0142デフォルトの名無しさん
NGNG>>2-3
0143デフォルトの名無しさん
NGNGImageIO とか使うとか…
0144デフォルトの名無しさん
NGNG1.3 じゃ無理。
アレな方法としては printStackTrace() で
エラー出力に書き出してから、それを解析するとか。
0146デフォルトの名無しさん
NGNGで、>>1に
質問する時は「どこで(なにで)つまづいているか」を必ず書くこと
を追加して欲しい。
あと質問初心者(≠Java初心者)は>>2以降なんて普通読まないんだから
>これからJavaのプログラムを始めたいかたは >>2-4 へ
なんて書いても意味が無いと思う。
>>1にQ&AのQと対応する>>を書いておくのが望ましいと思う(行数オーバーするかもしれんが
0147デフォルトの名無しさん
NGNGATIのビデオカードのバグ。さんざんがいしゅつじゃ。
1.4.1_02にageれ
0148デフォルトの名無しさん
NGNGサンプルばかりが出てきて、肝心のファイル開く とか、検索ボタンのイメージ等がなかなか
出てきません。
どこか、いい素材を集めたサイトってないですか?
自分でつくってもいいのですが、ありきたりすぎて。。
0149デフォルトの名無しさん
NGNG900 超えてからもう一回頼むわ。たぶん忘れてるから。
0150デフォルトの名無しさん
NGNGわかりやすくていいと思うが...
0151148
NGNGなかなか見つかりませんね。
ホームページばっかりです。
0152デフォルトの名無しさん
NGNGJava の話題じゃないから他所でやってくれ。
0153デフォルトの名無しさん
NGNGそれのどこがJavaの質問なのかと小一時(ry
0155148
NGNGどこのスレがいいですかね?
0156デフォルトの名無しさん
NGNG板違いじゃねぇの?
0157デフォルトの名無しさん
NGNGWEB制作板が適当かな。
0158デフォルトの名無しさん
NGNG俺はMozilla(Netscape,Phonix等)のスキンjarファイルをそのまま使ってる。
cssを解釈して画像のリソース取得すればスキン機能のおまけもついてくる。
ファイルを開くとかのイメージは残念ながらないから>>148の期待にはこたえられないだろうけど。
>>149
了解
0160質問です。
NGNGどなたかやり方を教えてください。
0161デフォルトの名無しさん
NGNG減色処理のアルゴリズム等に関してはスレ違いなので、以下のスレとかで聞いてください。
http://pc2.2ch.net/test/read.cgi/tech/992671330/l50
もっと具体的な質問でないと答えられん。
0162質問です。
NGNGでは画像ファイルのフォーマット形式を取得するにはどうすればいいでしょう?
0163デフォルトの名無しさん
NGNGJimi でも使っとけばエエんちゃう?ColorReducer も付いとるでよ。
0164質問です。
NGNG出来れば
1.4系でのやり方を知りたいのですが。
この辺の文献を参考にしたのですが
ttp://www5.airnet.ne.jp/sakuraba/java/laboratory/JDK1.4/Graphics/ImageIO/ImageIO.html
どうやら拡張子を見ているようで・・・
出来れば拡張子は見たくないんです。
0165デフォルトの名無しさん
NGNGjavax.imageio.metadata.IIOMetaData 使えば、
jpeg, png, gif ぐらいだったらフォーマット形式得られるんじゃないでしょーか。
0166デフォルトの名無しさん
NGNG>>165 ぐらいなら頭数バイト読めば事足りるぞ
JFIF GIF89a BM PNG
0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNG分かってるよ PNG もそうだし
016917
NGNG>>20, 22
クスコ(・∀・)
とりあえず、明示的にnull入れるのが習慣になってて、
入れないと精神的に不安定になりそうなので(w
入れることにしまつ。
017017
NGNGListオブジェクトを生成するとき、
class MakeList{
public MakeList(){
List aList = new ArrayList( this.getList() );
}
public List getList(){
List someList = new ArrayList();
someList.add( (String)"String for adding to List" );
return( someList );
}
}
こうする場合と、
class MakeList{
public MakeList(){
List aList = new ArrayList();
aList = this.getList();
}
public List getList(){
List someList = new ArrayList();
someList.add( (String)"String for adding to List" );
return( someList );
}
}
こうする場合は、だいたい同じ処理なんでしょうか?
0171デフォルトの名無しさん
NGNG必要ないのに、return に括弧つけ無いほうが良い。
ちなみに、前者と後者は無駄なことやってることにかけては大体同じ。
無駄を省くとこんな感じ?
class MakeList{
public MakeList(){
List aList = this.getList();
//aList を使って何かする
}
public List getList(){
List someList = new ArrayList();
someList.add( (String)"String for adding to List" );
return someList;
}
}
0172デフォルトの名無しさん
NGNGsomeList.add( "String for adding to List" );
0173170
NGNGサンクスコ(・∀・)
なるほどね。。。参考になります。
冗長すぎるのも考え物ってことですね。
0174170
NGNGあ、1つ確認させてくだちい。
getList()メソッド内で生成された
ArrayListのインスタンス someList が格納されている部分は、
コンストラクタMakeList()内の aList の参照先として、
使われなくなるまで保持されると考えてよろしいですか?
0175デフォルトの名無しさん
NGNG大丈夫だ
なんか心配性だなあんた
コードの書き方みて性格がわかる
0176148
NGNG次スレ立てるとき10ぐらいに貼っといてくれ。(貼らんと思うが)
サンプルアイコン集
http://developer.java.sun.com/developer/techDocs/hi/repository
自分はすれ違いでないと思うのだが。
プログラムのロジックを答えるだけが、このスレの目的?
事実、java のdeveloperのページにあったし。。。
0177デフォルトの名無しさん
NGNGyourname = new String(yourname.getBytes("8859_1"), "Shift_JIS");
pw.println(yourname+"\n");
こんな感じでmsgfileに書き込もうとしていたんですが、
パス指定しないと"C:\WINDOWS\system32"に作成されちゃいました。
これってどこを見てこうなっているのか、デフォルト変更の方法とか教えてください
しかしWINDOWS\system32に作られると激しく鬱だったんですが、Java的には普通なんでしょか。
j2sdk1.4.1_02 tomcat1.4 windows
0178デフォルトの名無しさん
NGNGレビュアやペアプロのパートナーに向いてそうだね。
0180デフォルトの名無しさん
NGNGJava2StandardEditionVer.1.4.1っていうのをインストールしたんですけど
使い方がさっぱり分かりません
どうすればいいんですか?
0181デフォルトの名無しさん
NGNGスタートメニュー→JAVA WEB START→JAVA WEB START起動
→MilitaryGame App 起動→ActionsのNew Gameでこころゆくまで遊ぶ
0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNG>>2-3
0184デフォルトの名無しさん
NGNG手元のCマガジンをもう一度読め。さわり程度の話は載ってるはず。
それで物足りないと思ったら(普通は物足りないと思うが)本屋で本を1冊買ってきて、
今度はそれを読んでみよう。
0185デフォルトの名無しさん
NGNGただ、プログラミングが分からないとかじゃなくて
Javaの開発環境の起動の方法がわからないんです
0186デフォルトの名無しさん
NGNGスタートメニュー>アクセサリ>メモ帳
0187デフォルトの名無しさん
NGNGメモ帳なんですか?
0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNG開発環境の起動なんてものはない。
あるのは<J2SEインストールディレクトリ>/bin にある
コマンドラインツールのみ。
ちなみに、javac がコンパイラ。javaが実行コマンド。
0190デフォルトの名無しさん
NGNGJDK には IDE ついてないので。
必要なら Eclipse とか NetBeans とか使ってください。
0191デフォルトの名無しさん
NGNG「javac HellowWorld.java」て書いてるやつは間違ってる可能性が高いので避けろ
0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNG皆さんありがとうございました
無料では上手くいかないものですね
0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNGちょっと待て!
なぜそれが「うまくいかない」になる?
JDKとメモ帳で充分のはずだが????
俺はずっと秀丸とコマンドラインでやってたぞ!
最近Eclipseを使うようになったが、Eclipseだって無料だ!
0196デフォルトの名無しさん
NGNG色々調べてみます。
0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNG例え初心者でもメモ帳はお薦めできない。
仮に日曜大工レベルでも、すべての作業をカッターナイフでやる奴はいないだろ?
せめて秀丸やemacsみたいなプログラミングに向いたエディタを使えといいたい。
0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNGつか板違いだな。ウニか犬スレへGo
0201デフォルトの名無しさん
NGNGよく使うクラス色分けしたり javah だの rmic だの起動したり
0202デフォルトの名無しさん
NGNGこれで俺もやっとCVSなオープンソースの仲間入りだYO!!
0203デフォルトの名無しさん
NGNGそれはともかくそろそろSubversionに移行しようかと思う今日この頃。
0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNGJavaWorld6月号。国際化パッチもついているので便利
0206デフォルトの名無しさん
NGNG0207デフォルトの名無しさん
NGNGSystem#currentTimeMillis では、ある時と経過時刻の間で、OSの時刻を変更されたとき
ちょっと困ったことになりそうです。
解決するには、プログラムの起動時間などで調べれば解決しそうなのですが
こういう処理の場合はどうするのが適切なのでしょうか?
0208デフォルトの名無しさん
NGNG経過時刻が知りたいだけなら、プログラムの起動中に時間の累計を
何処かにとっていけば良いのではないだろうか。
1分ごとに1インクリメントして、60になったら1時間経過って事で。
0209デフォルトの名無しさん
NGNGPrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("msgfile")));
yourname = new String(yourname.getBytes("8859_1"), "Shift_JIS");
pw.println(yourname+"\n");
こんな感じでmsgfileに書き込もうとしていたんですが、
パス指定しないと"C:\WINDOWS\system32"に作成されちゃいました。
これってどこを見てこうなっているのか、デフォルト変更の方法とか教えてください
しかしWINDOWS\system32に作られると激しく鬱だったんですが、Java的には普通なんでしょか。
j2sdk1.4.1_02 tomcat1.4 windows
0210デフォルトの名無しさん
NGNGカレントワークディレクトリにファイルが出来るだけだと思うのだが。
System.getProperty("user.dir")の戻り値が、カレントワークディレクトリだとおもう。
Tomcat起動時に、TmocatがそれをSyste32に向けちゃってるのかも。
0211デフォルトの名無しさん
NGNGありがとう
0212デフォルトの名無しさん
NGNGそれじゃ1分ごとの1インクリメントの間際に時計いじられたらインクリメントされないだろw
0213デフォルトの名無しさん
NGNG1分ぐらいの誤差は許せ。
0214デフォルトの名無しさん
NGNGカップラーメンのタイマーだったら伸びちまうぞ
0215デフォルトの名無しさん
NGNGそれじゃあどうすりゃイインダYO!
おしえてYU!
0216デフォルトの名無しさん
NGNG公開NTPサーバにアクセスして標準時をもらうとか。
そこまでする必要があるのかわからんが
0217デフォルトの名無しさん
NGNGプロセスの実行時間を取得する。
0218デフォルトの名無しさん
NGNG昔、ある有名な会社のJavaで作ったソフト使ったことあったんだが
それは、使用期限付きのソフトで
起動している最中に「カタカタ」とHDDが鳴り止まない
なにやってんのかな〜?と、思っていたが
どうやら、1秒ごとに使用時間をインクリして記録してるみたいだった
あれは、マジでうざい
0219bloom
NGNG0220デフォルトの名無しさん
NGNG>>210
Tomcatなんて書いてある?
実行したjava.exeがある場所がカレントディレクトリになるからだよ。
WindowsにJDKをインストールするとSystem32にjava.exeがコピーされて、
環境変数を何もいじらないでコマンドラインからjavaコマンドを打つと
System32にあるjava.exeが実行されるからだよ。
0221デフォルトの名無しさん
NGNGソースいじっててコードをそろえようと、タブキーおしたら、すげーずれるんですけど
これってどうやって直すんですか?
くだらなくてスマソ
0222221
NGNGすいません、自己解決できました。
放置ありが�d
0223209
NGNGなるほど。てっきり実行したclassファイルがあるディレクトリが
カレントなのかと勘違いしてました。
コマンドラインじゃなくてformからのservletなんですけど
同じなんですねたぶん。
ありがとうございました。もう少し調べてみます。
0224デフォルトの名無しさん
NGNGJavaでsleepは使えないの?
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNGどうしても判らない部分があります。
透過GIFで作った画像を分割し、ブロックにしたいのですが
切り取った32*32のImageが全部透過色ならブロック無し
色有りの部分があればブロック有り
としたいのですが、このような判定はどうしたらできるでしょうか?
0227デフォルトの名無しさん
NGNGこれヒントにならんかな
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/awt/image/FilteredImageSource.html
0228デフォルトの名無しさん
NGNGバージョン2.1でソースコードに書いた日本語が読めません。
Shift-Jisじゃ日本語化できないんですか?
もしよろしければお願いします;;
0229228
NGNG0230デフォルトの名無しさん
NGNGフォント設定した?
0232デフォルトの名無しさん
NGNGそれは文字コード。
ウィンドウ→設定→ワークベンチ→フォント
でJava Editer Font をMS Gothicあたりにすればいい。
0233228
NGNGそれを使ってるときは日本語を使うことができます。
しかし、行をクリックするたびに、フォントが変わりうざいです。
0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNGお答えどうもです。あれからもう1時間ググってみたところ
PixelGrabberというのを見つけました。
int pixel[]=new int[16*16];
pg = new PixelGrabber(blockgif,0,0,16,16,pixel,0,16);//PixelGrabberクラスを生成
try{
pg.grabPixels();
}catch(InterruptedException ie){}
でpixel配列に読み込んで値が12632256の部分が透過のようです。
ご迷惑をおかけしました。
0237デフォルトの名無しさん
NGNGボタンを押して(次へ進むとか・・・)次の項目の画面に飛ぶようにするには
どうしたらいいんですか?
0238デフォルトの名無しさん
NGNGすいません、教えてください。
[AWTやSwingなどを用いたGUIアプリケーションで]ボタンを押して
(次へ進むとか・・・)次の項目の画面に飛ぶようにするには
どうしたらいいんですか?
[インストーラでよくあるような、同じウィンドウで次々と画面が変わる
ようなアプリケーションが作りたいです。]
java.awt.CardLayoutを使うとお望みの結果を得られるよ。
0239デフォルトの名無しさん
NGNGすいません、教えてください。
[submit]ボタンを押して(次へ進むとか・・・)次の項目の画面に飛ぶようにするには
どうしたらいいんですか?
[CGIを使えないサーバなのです]
0240デフォルトの名無しさん
NGNGすいません、言葉が足りて無かったですね、そのとおりです。
親切にありがとう
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNG0245デフォルトの名無しさん
NGNG| ・ U |
| |ι \ パンパン
/ ̄ ̄ ̄ 匚 ヽ
| ・ U \ ) ))
| |ι \ ノ
U||  ̄ ̄ ||||
↑236
0246デフォルトの名無しさん
NGNGまずは普通の掲示板を作れ。
0247デフォルトの名無しさん
NGNGPATHの設定はうまくいったのですが、CLASSPATHの設定がうまくいきません。
OSはwin98です。
autoexec.batには、PATH、CLASSPATHともに何も書いてなかったので、
SET PATH=%PATH%;C:\WINDOWS\COMMAND;C:\J2SDK1.4.1_02\BIN;
set CLASSPATH=.;C:\J2SDK1.4.1_02\BIN;%CLASSPATH%
こんな2行を追加してみました。
これでもうまくいきません。
どうすればいいのでしょうか?
javaしたいよう・・・。
0248デフォルトの名無しさん
NGNG何がうまくいかないのかそれではサパーリわからん。
ちなみに、C:\J2SDK1.4.1_02\BIN なんかにCLASSPATH通す必要はない。
>>1-4 は読んだのか?
0249電源が落ちる!
NGNGマウスで曲線を描くイベントメソッドの部分だけ書き出します。
public void mouseDragged(MouseEvent e){
grp = getGraphics();
grp.drawLine(x, y, e.getX(), e.getY());
x = e.getX();
y = e.getY();
}
これだと,確かに曲線を描けるんですけど,細いんですよね。
もう少し太いのが描きたくて,fillOvalの利用を考えました。
public void mouseDragged(MouseEvent e){
grp = getGraphics();
grp.fillOval(x-5, y-5, 5, 5);
x = e.getX();
y = e.getY();
}
ところが,これだと連続した曲線が描けません。途切れ途切れになってしまいます。
マウスで連続した曲線を描くにはこのやり方ではダメみたいです。
いい方法をどなたか教えて下さい!
0250デフォルトの名無しさん
NGNG名前が変。すみません。
0251デフォルトの名無しさん
NGNGネットや本などで調べてもいろいろ書いてはいるのですが、
なかなかイメージがつかみにくく、人に説明しずらい状況です。
みなさんなら、どうやって説明しますか?
0252デフォルトの名無しさん
NGNGServletコンテナやEJBコンテナがPassivation/Activationを行う際に
シリアライズできないとディスク書き込みが出来ないから。
0253デフォルトの名無しさん
NGNGGraphics2D使うとペンの太さを設定できる。
たとえばこんなかんじ。
import java.awt.*;
import java.awt.event.*;
public class MouseDraw extends Frame {
private int x;
private int y;
private Graphics2D grp;
public MouseDraw() {
addMouseMotionListener(new MouseMotionAdapter(){
public void mouseDragged(MouseEvent e){
grp.drawLine(x, y, e.getX(), e.getY());
x = e.getX();
y = e.getY();
}
});
setSize(400,400);
show();
grp = (Graphics2D)getGraphics();
grp.setStroke(new BasicStroke(5, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
}
public static void main(String[] args) {
MouseDraw test = new MouseDraw();
}
}
0254デフォルトの名無しさん
NGNGやってみました。
な,何と!描ける!描けるではないか!素直に感動!
このような道具があったなんて。まだまだ勉強不足ですね。
ありがとうです!
0255デフォルトの名無しさん
NGNGJMenuItem を追加していく処理を一般化できなくて激しく面倒なんですが
なんとかなりませんか
0256デフォルトの名無しさん
NGNGもうちょいと具体的に。
0257デフォルトの名無しさん
NGNGすべてinterfaceですむと思うのですが…
0258デフォルトの名無しさん
NGNGJPopupMenu は JMenu のサブクラスだから、
メソッドをこんなんできたわけです。
addMenu(pm = new PopupMenu(), c);
public void addMenu(Menu menu, Object obj) {
if (obj instanceof Collection) {
Iterator it = ((Collection)obj).iterator();
Menu m = new Menu(it.next().toString());
menu.add(m);
while (it.hasNext()) {
addMenu(m, it.next());
}
} else {
menu.add(new MenuItem(obj.toString()));
}
}
でも JPopupMenu と JMenu は、
メソッド add が同一のインタフェースやクラスから継承されているものじゃないから、
それぞれの処理を個別に書かなきゃならないわけで。
getClass() から getMethod() して invoke するしかないのかなぁ・・・
0259デフォルトの名無しさん
NGNG何かを継承して、一部の処理だけは書き換えたいときどうするつもりだ?
0260デフォルトの名無しさん
NGNGじゃなかった、何? abstract と interface ?
対照するものじゃないぞ
0261デフォルトの名無しさん
NGNGインターフェイスは見た目と実装の分離や
異なる継承関係のクラス同士に共通の見た目や振る舞いを実装する場合に使う。
0262bloom
NGNG0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNGString c = "\\u" + "0041";
System.out.println(c);
の出力を「A」になるように改造したいので。
0265デフォルトの名無しさん
NGNGMozilla の JavaScript ライブラリを落とせ
>>264
System.out.println((char)Integer.parseInt("0041", 16));
0266デフォルトの名無しさん
NGNGはマウスのドラッグ中のクラスやインターフェイスがありますが、
どのように使用するのでしょうか?イベントリスナにextendsやimplements
で使用しましたができませんでした。java.awt.eventとは使い方が
違うのでしょうか?
0267デフォルトの名無しさん
NGNG>>43
0268デフォルトの名無しさん
NGNG0269デフォルトの名無しさん
NGNGプーリング使う場合と、
以下のように使いまわすのでは
どのように違うのでしょうか?
Stringオブジェクトみたいに同じに見えても
内部的には新しいコネクションオブジェクトが生成されているんでしょうか?
Connection conn = null;
Statement stmt = null;
ResultSet rset = null;
try {
conn = dataSource.getConnection();
stmt = conn.createStatement();
rset = stmt.executeQuery(sql1);
//処理1
rset = stmt.executeQuery(sql2);
//処理2
rset = stmt.executeQuery(sql3);
//処理3
:
:
:
} catch(SQLException e) {
} finally {
try { rset.close(); } catch(Exception e) { }
try { stmt.close(); } catch(Exception e) { }
try { conn.close(); } catch(Exception e) { }
}
}
0270デフォルトの名無しさん
NGNGつうか、それが普通の使い方。
0271デフォルトの名無しさん
NGNG0272180
NGNG0273デフォルトの名無しさん
NGNGレスありがとうございます
あ、あのじゃあプーリングってどういうときに使えばいいんですか?
0274デフォルトの名無しさん
NGNGConnection.close()をしても実際には切断されないで、
アプリケーションサーバがプールしておく機能。
次回にgetConnection()が呼び出されたときに実際に
認証・接続するのではなく、プールから割り当てられる。
アプリケーションからは接続・切断に見えるが
実際にはプールから割り当て・プールへ返却という動作になる。
0275デフォルトの名無しさん
NGNGありがとうございます
しかし、それをやるやり方と
使いまわすやり方と
どうしてパフォーマンスが変わるかわかりません
たとえば、共有のコネクション持ってるBeanがあって
別のアプリからそれぞれコネクションを引っ張ってくる場合
ぐらいしか、有用性は無いと思うんですが・・・
単一のアプリだったら必要ないですかね?
0276デフォルトの名無しさん
NGNGいや、そもそもディレクトリサービスについてわかりません
解説している本があれば教えてください
0277デフォルトの名無しさん
NGNGコネクションプーリングを使わないと
呼び出した回数分だけ接続・切断が繰り返されるでしょ?
0278デフォルトの名無しさん
NGNGはい、納得しました
ありがとうございました
0279デフォルトの名無しさん
NGNG例えば君が普段使っているエクスプローラが、いわば"ローカルディス
ク上のファイルについてのディレクトリサービス"のビューワ、のよう
なもの。
ファイルだけでなくて、例えば、今動いているEJBとかServletとかJDBC
接続先のDBとか、ありとあらゆるものを登録しておくのがJNDI。JNDI
サーバに問い合わせて、いろんな物の場所を検索して、見つかったらそ
れに接続するなり何なり出来るという寸法。
分散システムで、サーバーごとのいろんな設定情報なんかを、たった一
箇所のJNDI上においとけば、管理が楽でしょ。
0280デフォルトの名無しさん
NGNG作ってるのですが、mouseを動かした時にnull pointer がでてしまいます。
どうやら、editorkit が動いてるようなのですが、よくわかりません。
誰かお助けを。
エラーメッセージです。
java.lang.NullPointerException
at javax.swing.text.html.HTMLEditorKit$LinkController.doesElementContainLocation(HTMLEditorKit.java:733)
at javax.swing.text.html.HTMLEditorKit$LinkController.mouseMoved(HTMLEditorKit.java:631)
at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:268)
at java.awt.Component.processMouseMotionEvent(Component.java:5066)
at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:2763)
at java.awt.Component.processEvent(Component.java:4822)
at java.awt.Container.processEvent(Container.java:1525)
at java.awt.Component.dispatchEventImpl(Component.java:3526)
at java.awt.Container.dispatchEventImpl(Container.java:1582)
at java.awt.Component.dispatchEvent(Component.java:3367)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3359)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3087)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3004)
at java.awt.Container.dispatchEventImpl(Container.java:1568)
at java.awt.Window.dispatchEventImpl(Window.java:1581)
at java.awt.Component.dispatchEvent(Component.java:3367)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:445)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:191)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)
0281280
NGNG0282280
NGNGエラーはなくなりました。すみません連続一人スレでw
これによる悪影響は、編集したいとき以外ないですよね?
0283デフォルトの名無しさん
NGNGそれはちょっと違う。
JNDIはディレクトリ階層を持つデータベースへのアクセス手段を抽象化したもの。
たとえばLDAPとかDNSとかその他もろもろ。
279がJNDIサーバーとか読んでるのはJ2EEアプリケーションサーバが提供しているディレクトリ。
J2EEコンポーネントとか設定情報を取得できる。
0284デフォルトの名無しさん
NGNGわし、いままで「Arrays」っちゅうクラス知らんかったんですわ
なもんやさかい、自分で配列ソートしよるクラス自作しよったんですわ
なにを考えていままでやってきたんやろ思うと涙出てきますわ
こないだも、Preferences知ったときにはびっくりしましたわ
もうわしの数々の自慢のユーティリティークラスが、わやになってしもたわ
あかん自信なくしてもうた
0285デフォルトの名無しさん
NGNG2行目から読んでないけど、たぶんそうなんじゃないか?
0286デフォルトの名無しさん
NGNGその程度ならまだマシ。
前にWebObjectsのWOF/EOFっていうフレームワークを知ったんだが、
Servlet+JSP+JDBC+EJBでやってた作業が、アホらしくなった。
3ヶ月くらいかけてやってた作業の成果物が、ぜんぶ用意されてた。。。
逝ってくる。。。
0287動画直リン
NGNG0288デフォルトの名無しさん
NGNG逆に WACs っていうフレームワークで用意されている「すげー」機能
(当時初学者) のほとんどが J2SE/J2EE 標準機能をラップしただけと
いうことに気づいた時もショックが大きかった...
0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG和製英語で風呂釜洗い機のことです。
0291デフォルトの名無しさん
NGNGありがとうございます
0292美人OL
NGNGhttp://www.net-de-dvd.com/
0293デフォルトの名無しさん
NGNGそれはJaba
0294289
NGNGまじで?
0295デフォルトの名無しさん
NGNGまじ
0296289
NGNG0298動画直リン
NGNG0299デフォルトの名無しさん
NGNGアドレスを取得して標準出力するサンプルプログラムをつくりたいのです
が、DNSサーバのIPアドレスを取得するためのAPIは在りますか?
Java 1.xで。
0300デフォルトの名無しさん
NGNG2つ質問があります.
クラスメソッドとインスタンスメソッドは
クラスメソッドの方が速く動作するようですが,なぜでしょうか?
また,クラスメソッドが早いとしたら,
値を返すだけ(数値計算のたぐい)のメソッドはクラスメソッドとして
作ったほうがよいのでしょうか?
0301デフォルトの名無しさん
NGNGオーバーライドされてないかとか色々チェックが入るんじゃないのかね?
0302デフォルトの名無しさん
NGNG0303デフォルトの名無しさん
NGNG動かなくなったりしないんですか?
ようするにDLL Hellは起こるのでしょうか?
0304デフォルトの名無しさん
NGNG怒るよ。
0305300
NGNGレスありがとうございます.
確かにクラスメソッドをオーバライドするのは不可能ですよね?
オーバロードは可能かもしれないけど.
0306デフォルトの名無しさん
NGNGはいんねーよ。
0307デフォルトの名無しさん
NGNGttp://www.imm.ne.jp/users/takarajima_zooming/photo02/
0308デフォルトの名無しさん
NGNGクラスメソッドのオーバーライドって何打YO!!
0309デフォルトの名無しさん
NGNGできたよ。
<html>
<head></head>
<body>
<center><applet code=com.imagepump.applets.IPViewer archive=cook.jar width=800 height=600>
<param name="view.maxzoom", value="200">
<param name="app.protocol", value="Cooker"><param name="image.name", value="."></applet></center>
</body>
</html>
0310デフォルトの名無しさん
NGNG0311デフォルトの名無しさん
NGNGDel厨死ね
0312デフォルトの名無しさん
NGNG勘違いしているのはあんた>>301=>>310な。
それからあんたのリダイレクト間違ってるから。
0313デフォルトの名無しさん
NGNGVB厨はJavaなんて使わないでくださいです。。。
0314デフォルトの名無しさん
NGNGいい加減に、無知なのは自分って気づけよ。恥ずかしいなぁ。
0315デフォルトの名無しさん
NGNG取りあえずお前の敵は2人以上いるぞ。俺の他に1人以上な。
まぁ、がんばれ。
0316デフォルトの名無しさん
NGNGそのひとりはJavaなんかしらねー無能野郎だがな。
0317デフォルトの名無しさん
NGNGそれが問題なんだよな・・・ハァ。
0318デフォルトの名無しさん
NGNGオーバーライドされていると実行時にどっちのメソッドを
呼ぶか分からんのです。だから実行するたびに、
チェックをおこなうのです。だから遅くなるのです。
分かりましたか?
0319デフォルトの名無しさん
NGNGだから実行するたびにチェックなんておこなわないって。
ポインタって知っていますか?
あぁ、Java厨には分からないかもしれませんねぇ(藁
0320デフォルトの名無しさん
NGNGあなたこそ仮想関数テーブルって知ってますか?
0321デフォルトの名無しさん
NGNG知っているよ! 名前くらいはな! 馬鹿にするな!
0322デフォルトの名無しさん
NGNG自演ご苦労さんです。
0323デフォルトの名無しさん
NGNG知っているなら、>>301や>>318が間違っているの分かりますよね。
いっしょに笑ってやりましょう。
0324デフォルトの名無しさん
NGNGそうだな。実行時にチェックしているわけ無いな。
わらわら。
0325デフォルトの名無しさん
NGNG0326デフォルトの名無しさん
NGNG> クラスメソッドとインスタンスメソッドは
> クラスメソッドの方が速く動作するようですが,なぜでしょうか?
これは何故なの?
0327デフォルトの名無しさん
NGNGオーバーライドされてないかとか色々チェックが入るから(藁
0328デフォルトの名無しさん
NGNGポインタを参照する分時間かかるんですよ。
0329デフォルトの名無しさん
NGNG取りあえず明日おいで。アホな知識厨に目付けられちゃったね。
0330デフォルトの名無しさん
NGNG答えでたよ。>>328が正解。
0331デフォルトの名無しさん
NGNGということにしたいのですね?('-'*)
0332デフォルトの名無しさん
NGNG0333デフォルトの名無しさん
NGNG0334デフォルトの名無しさん
NGNG313と318と矛盾してるぞ。
意見を変えるならもっと潔くやれよ。
0335デフォルトの名無しさん
NGNGあいだみとぅうぉ
0336デフォルトの名無しさん
NGNGまさか本気で反論するつもりじゃないよね。ネタだよね。
0337デフォルトの名無しさん
NGNGアドレスを取得して標準出力するサンプルプログラムをつくりたいのです
が、DNSサーバのIPアドレスを取得するためのAPIは在りますか?
Java 1.xで。
0338デフォルトの名無しさん
NGNG本気っつーかネタっつーか、反論できるほど知識ないし。
0339デフォルトの名無しさん
NGNG空気読め。質問できる雰囲気じゃないだろ。
0340デフォルトの名無しさん
NGNG画像が表示されないんですけど
0341300
NGNG原因を作ってしまった張本人の300です.
インスタンスメソッドをクラスメソッドに変更したら,
若干速くなったので,その理由が知りたかったのです.
個人的には,コンパイル時に呼び出されるメソッドが確定するから速くなる
とおもっていたのですが,
いずれにせよ,申し訳ありませんでした.
0342デフォルトの名無しさん
NGNG> クラスメソッドとインスタンスメソッドは
> クラスメソッドの方が速く動作するようですが,なぜでしょうか?
これはどうなったの?
0343300
NGNG私には,これ以上想像もつきません.
何せ,Javaはじめたばかりの厨房以下なので。。。
0344デフォルトの名無しさん
NGNGそのフィールド値の中には「どのクラスであるか」という情報がいずれもあり、
クラスに宣言されたメソッドはクラスメソッドだろうがインスタンスメソッドだろうが
そのバイトコードがやはりどこかのメモリ領域に纏めて置いてあるとし、
さてクラスメソッドを invoke するにあたってはコンパイル時にほぼ一意、
ランタイムにおいては一度の呼び出しで、そのバイトコードのありかが解決するものであるが、
インスタンスメソッドにおいては、
今メソッドを呼び出そうとしているインスタンスが実質何のクラスのインスタンスであるかは、
その都度調べられ、そののちやはり一意となるメソッドのバイトコード位置からバイトコードを呼び出すのであり、
その上でインスタンスのポインタを与えてメソッドが実行されるので、
because, 一ステップ手間がかかってしまう、というような設計を俺だったらするしそれが自然だと思うがまぁ JIT がからむとよう分からん
0345デフォルトの名無しさん
NGNGすげぇ!1文が10行以上にわたって!
ドキュメントとか書かせたくないなぁ・・・こいつに。
0346デフォルトの名無しさん
NGNGそれともやめて釣り死に転職かな。
0348デフォルトの名無しさん
NGNGまた君か。毎日毎日ご苦労様。
でもそろそろ煽りの(プじゃなくてプログラミングのプぐらい覚えようよ。
この板にいて恥ずかしくないの?
0349デフォルトの名無しさん
NGNG_∧ ∧ ∧ < ちゃんと日本語勉強しようね
(_・ | (´∀`) \_____________
| Ю⊂)_√ヽ
(  ̄ ∪ )^)ノ
|| || ̄|| ||
|| || || ||
0350__
NGNG( ・∀・)/< こんなの発見したっち♪
http://www.yamazaki.90.kg/hankaku/hankaku02.html
http://yamazaki.90.kg/zenkaku/index.html
http://www.yamazaki.90.kg/hankaku/hankaku08.html
http://yamazaki.90.kg/hankaku/hankaku10.html
http://www.yamazaki.90.kg/hankaku/hankaku07.html
http://yamazaki.90.kg/hankaku/hankaku03.html
http://www.yamazaki.90.kg/hankaku/hankaku05.html
http://yamazaki.90.kg/hankaku/hankaku01.html
http://www.yamazaki.90.kg/hankaku/hankaku06.html
http://yamazaki.90.kg/hankaku/hankaku04.html
http://www.yamazaki.90.kg/hankaku/hankaku09.html
( ・∀・)/< こんなの発見したっち♪
http://pc2.2ch.net/test/read.cgi/tech/1051284438/
http://pc2.2ch.net/test/read.cgi/tech/1045813143/
http://pc2.2ch.net/test/read.cgi/tech/1039646808/
http://pc2.2ch.net/test/read.cgi/tech/1051284438/
http://pc2.2ch.net/test/read.cgi/tech/1045813143/
http://pc2.2ch.net/test/read.cgi/tech/1039646808/
http://pc2.2ch.net/test/read.cgi/tech/1051284438/
http://pc2.2ch.net/test/read.cgi/tech/1045813143/
http://pc2.2ch.net/test/read.cgi/tech/1039646808/
0352300
NGNG詳しい説明ありがとうございます.
遅くなるのは,そのポインタ参照分なんですね.
なんとなくですが,分かったような気がします.
0353デフォルトの名無しさん
NGNGawtで
drawStringで文字列を描写するとき、
斜めに描写したいのですがどうすればよいのでしょうか?
よろしくおねがいします。
0354デフォルトの名無しさん
NGNGdrawString("斜");
drawString(" め");
drawString(" の");
drawString(" 文");
drawString(" 字");
drawString(" 列");
0355デフォルトの名無しさん
NGNGGraphics2D や AffineTransform
0356デフォルトの名無しさん
NGNGjavax.swing.Actionの、public static final String DEFAULT
オブジェクトのプロパティ (テキストまたはアイコン) を設定または取得するときに、
記憶取得キーとして使うと便利な定数です。
って何に使うんですか?
0357デフォルトの名無しさん
NGNGアドレスを取得して標準出力するサンプルプログラムをつくりたいのです
が、DNSサーバのIPアドレスを取得するためのAPIは在りますか?
Java 1.xで。
0358デフォルトの名無しさん
NGNGありがとうございます
ためしてみます
0359デフォルトの名無しさん
NGNG心に余裕がないんでつね。低給でこき使われているから
性格がひん曲がっているですつかあ?
0360デフォルトの名無しさん
NGNG次の質問
↓
0361デフォルトの名無しさん
NGNGなんでだろう?
友達は30秒くらいだと言っています。スペック的には同じなのに・・・
セレロン1Gでメモリ512Mです。
起動の時間てこんなもんですか?
0362デフォルトの名無しさん
NGNG初心者でもちゃんと勉強さえすれば
すぐに追い越されるからな
まあ、余裕無いやつってーのはJavaしか知らないやつだな大抵・・・
0363デフォルトの名無しさん
NGNGいったい何を起動してるんだ?
Forteとかだったらまあ、1分かかるけど・・・Pen3-500
0364デフォルトの名無しさん
NGNG全然急いでないのですぐじゃなくてもいいのですが、
>>356をご存知の方がいらっしゃったらお願い致します。
0365361
NGNGウイルスバスターがツールバーにあるんだが、関係あったりするのですか?
0366デフォルトの名無しさん
NGNG俺はjavaの起動は1秒ぐらいだなあ。
j2se1.4.2beta Windows2000 Celeron800MHz 192MB
0367デフォルトの名無しさん
NGNG> ウイルスバスターがツールバーにあるんだが、関係あったりするのですか?
思いっきり関係ある。
リアルタイム検索の対象から.jarを除外しる
0368デフォルトの名無しさん
NGNGウィルスバスターのユーザではないのではっきりとは覚えていないが、
古いバージョン (?) のウィルスバスターは java.exe, javac.exe などの
起動時に、そいつらがアクセスしようとしたコアライブラリの jar (rt.jar)
をすべてウィルススキャンするため起動がめちゃくちゃ遅くなると聞いた
ことがある。rt.jar は JDK 1.4 で 22MB の ZIP 圧縮ファイルな。
0369デフォルトの名無しさん
NGNG0370361
NGNGありがとうございます。
javaってこんなにはやかったんですね?
javaって時間かかるからやりにくいって思ってたんですよ。
よかった。
けど、リアルタイム検索切るのはまずい。
.jarだけ除外するってのがよくわかんな。
セキュリティ板にでもいって聞いてきます。
0371デフォルトの名無しさん
NGNGキャストで嘘ついたら怒るなんて
0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNGいったん Object にキャストすると怒られなくなる。
まぁ、その後の挙動に保証など無いんだが。。
しっかしネタだなぁ。。 漏れの発言までネタっぽい。。
0374デフォルトの名無しさん
NGNG0375デフォルトの名無しさん
NGNGおれも、そう思った
実行されるタイミングが確定できないのはつらい
0376デフォルトの名無しさん
NGNGそれどころか、ファイナライザは実行されることが保証されていない。
0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNGGCのタイミングでしなきゃいけないことは、実は殆どないので、
現在ほとんど使われません。趣味か知識オナニーを除いて。
ヒープメモリ→どうせGCが整理してくれます。
外部リソース(JDBCコネクションなど)
→どうせライフサイクルに応じて明示的に解放しなきゃダメです。
多分、多くの人が必要としている(のに、APIドキュメントの記述は
意味不明ですが)のは、ファイナライザではなくてjava.lang.ref
のほうだと思う。
0379デフォルトの名無しさん
NGNGInvokeVirtualよりInvokeStaticのほうが速いのは理にかなってると思うが。
前者:オーバーライドその他の解決をおこなう処理が必要
後者:単に該当するクラスのメソッド領域にジャンプ
C++でもvirtual関数のvtbl解決しないですむ分、staticのほうがはやいでそ。
実際君がどうやってはかったのかしらんし、ほんとはどうなのかもしらんけど。
推測です。
0380379
NGNG0381デフォルトの名無しさん
NGNGputValue()やgetValue()のキー。
0382デフォルトの名無しさん
NGNGそれは知ってます。ですから、
「public static final String DEFAULT は何に使うのか」
と質問したんです。
Action.SMALL_ICONとかはJButton等が自動的に使うようですが、
DEFAULTとは何なのかということです。
0383デフォルトの名無しさん
NGNGこの結果設定された描画領域(Windowの中身)のサイズを知るにはどうすれば良いですか?
0384デフォルトの名無しさん
NGNGContainer.getSize()でいいんでないの?javax.swing.JFrameしかつかえんが・・・
java.awt.Frameなら知らん
0385デフォルトの名無しさん
NGNGそれをみると、JNDIってのはxinetdなどのスーパーサーバーみたいなものに
見えるんですが、たとえ悪いでしょうか?
サーバにパケット送信しようとして
char packet[] = {0x00,0x1d,0xda,0x03};
/* 中略 */
out.print(packet); /* out はソケット出力ストリーム */
とやってみたんですが,正しい応答が帰ってこなかったのでパケットモニタしてみたら
00 1d 3f 03
というようなデータが送信されていました。
試しに 00 1d da ff に変えて送信したところ今度は
00 1d 3f 3f
となりました。いまいち原因&対処法がよく分からないので
ご存知の方教えてもらえますか?
0387デフォルトの名無しさん
NGNGえっと、なめてんのか?と。
0388デフォルトの名無しさん
NGNG>out.print(packet); /* out はソケット出力ストリーム */
out#write(byte[] b); を使ってくらさい。
char は unicodeで一文字を示すための型で、符号なし 2byte値です。
(サロゲートペアとかあるとそうでもないけど)
print() は Unicode から encoding の変換を伴うので、
その際に変換不能な文字は 0x3F('?') とか \uFFFD(定義領域外を示す) とかに
置き換えられます。
なるほど。。裏でそんな変換が行われてたとは知らなかった
勉強になりました。ありがとうございました(´ー`)
0390デフォルトの名無しさん
NGNGアプレットからDBへアクセスしようとしています。
SunのVMではうまく繋がるのですが、MicrosoftのVMだと繋がりません。
繋がっているのかもしれないけれどデータが取り出せません。
(というのもMSのVMだとコンソールが表示できないのでエラー内容がわからない)
MSのVMを使ってアプレットからDBにアクセスするにはどうすればよいでしょうか。
また、SunとMSのVMの互換性というのはどこで調べればよいでしょうか。
ちなみに環境はTomcat4.0+Mysql3.23+mm.mysql-2.0.4-bin.jarです。
0391デフォルトの名無しさん
NGNG>(というのもMSのVMだとコンソールが表示できないのでエラー内容がわからない)
InternetExplorer で
ツール->インターネットオプション->詳細設定->Microsoft VM->Javaコンソールの使用(再起動が必要)をチェック。
その後、表示->Javaコンソール でコンソールが出ます。
0392390
NGNGそんなところにありましたか!
早速表示させてみたところconnect : java.sql.SQLException: No suitable driver
なるエラーが出ました。ドライバがしょぼいってことですかね。
0393デフォルトの名無しさん
NGNGしょぼいのではなくロードされていないのだろう。
ってか MySQL の JDBC ドライバって JDK 1.1 対応してんの?
0394デフォルトの名無しさん
NGNG0395デフォルトの名無しさん
NGNGコマンドプロンプトで自作javaアプリケーションを実行しましたら、
メモリ不足エラーとでましたので
コマンドプロンプトでjava -Xmx128m 〜
としましたら、うまくいきました。
デェフォルト値が64Mだそうですが、この値をコマンドプロンプト
上で打たずにあげる方法ってありますでしょうか?
0396デフォルトの名無しさん
NGNG良いものはありませんか?
ObjectOutputStreamに、StringWriterを接続しようと思ったらうまくいかず。。。
ObjectOutputStream( ByteArrayOutputStream )
みたいな感じで、byte配列に格納してみたのですが、
一見うまくいってるように見えても、デシリアライズするときに例外吐いたりしてます。
ググってみても、シリアライズしたデータをfileに落とすものばっかりで。
0397デフォルトの名無しさん
NGNGあー、Base64 で変換しつつ入出力する OutputStream 持ってんだけど
あげない。
JDK 1.4 なら XML 型式で入出力する奴があるだろう。
0398デフォルトの名無しさん
NGNG今日「JAVAワールド」
見たらめっちゃ (;´Д`) ハァハァ な幼女が表紙やんけ!
JAVAができたらあんな子とあんな事やこんなことできるのか!?
俺、今日からJAVA使いになるよ!
0399デフォルトの名無しさん
NGNGできません。Javaは諦めてください。
つーかキチガイくんな。高尚なJava使いの血が汚れる。
0400デフォルトの名無しさん
NGNGJNIを使用しないでも実現できまるのでしょうか?
具体的にはローカルマシンが送受信しているTCPデータを
プログラムとOSの間に入って読み取れればと思っています。
0401デフォルトの名無しさん
NGNGいやーそれがJDK1.3なのよ。。。
モノをくれないなら、なんかヒントか、情報へのポインタなんか
もらえると、禿しくカンシャなんだが。。。
0402デフォルトの名無しさん
NGNGプロキシタイプのプログラムを作らなきゃ無理だろうな。もちろん
マシンが通信している全データを取ろうというのは無理な話。
0403デフォルトの名無しさん
NGNG使用して行ってます。
単純な解凍は「jar xf F:\TEST.jar」で出来たのですが、
解凍先ディレクトリを指定した解凍の仕方が分かりません。
jarコマンドはtarコマンドとほぼ同じ、との事なので、
tarコマンドのディレクトリ指定方法を以下のように行ったのですが、
実行できません(使い方一覧が表示されてしまう)
「jar xf F:\TEST.jar -C D:\Melt\」
+Lhaca等で解凍した場合、きちんと指定ディレクトリに解凍できるので
方法はあると思うのですが、いろいろ試したものの出来ません。
どうやったらディレクトリを指定して解凍できるでしょうか?
0404デフォルトの名無しさん
NGNGやはりそうなのですか。
一つのプログラムを指定してその送受信データを
取得するのはできるでしょうか?
プロキシタイプのプログラムというのは
どういうのでしょうか?
参考になるサイトか何かヒントになるクラスだけでもいいので
教えてください。
04051/2: 改行多すぎ
NGNGBase64 版は見せれんが、こんなのどうだ? ASCII 16 進数で入出力する
フィルタストリーム。
public class HexOutputStream extends FilterOutputStream{
public HexOutputStream(OutputStream out){ super(out); }
public void write(int ch) throws IOException{
out.write(Character.forDigit((ch >> 4) & 0x0F, 16));
out.write(Character.forDigit((ch >> 0) & 0x0F, 16));
}
}
public class HexInputStream extends FilterInputStream{
public HexInputStream(InputStream in){ super(in); }
public int read() throws IOException{
int ch1 = in.read(); if(ch1 < 0) return ch1;
int ch2 = in.read(); if(ch2 < 0) return ch2;
return ((Character.digit((char)ch1, 16) & 0x0F) << 4)
|| ((Character.digit((char)ch2, 16) & 0x0F) << 0);
}
}
04062/2: 改行多すぎ
NGNGByteArrayOutputStream の間に置いてやって、最後に String を構築
してやれば良い。
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(new HexOutputStream(baos));
out.writeObject(...);
out.close();
Strin hexText = new String(baos.toByteArray());
ByteArrayInputStream bais = new ByteArrayInputStream(hexText.getBytes());
ObjectInputStream in = new ObjectInputStream(new HexInputStream(bais));
Object hoge = in.readObject();
in.close();
0407386 ◆IzdKJ.WAZA
NGNGbyte [] にすると宣言する時点で 0xda の精度が落ちている(整数で218だから範囲外)
と怒られますし,char型にキャストして out.write((char)packet[i]) とやっても
やっぱり'?'に化けます。。
Javaで作るTCPクライアントとか見ても
out.println("Hello World!") とかで
パケット作成まではやってないし。。
とりあえずもう少し弄ってみます
0408デフォルトの名無しさん
NGNG最近のjarコマンドってjavacと同じくjavaで書かれたはずだから
Runtime.getRuntime().execよりもこっちの方がいいと思うよ
0409デフォルトの名無しさん
NGNGえーと、まず最初にバイナリデータの入出力に Writer 系を使うのを止めなさい。
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
↑まさにご指摘の通りでした。。これ削ってやってみます
0411デフォルトの名無しさん
NGNGOutputStream out = new BufferedOutputStream(socket.getOutputStream());
out.write(packet);
out.flush();
...
0412デフォルトの名無しさん
NGNGどこかで読んだことがあるが
「パソコンの実メモリが128MB以下の時は32MB
512MB以上のときは50%がデフォルト」
みたいなこと書いてあった。
ちなみに実際の数値は今俺が適当に考えたので違います。
まあそういうことなので、メモリ増やせば一番楽、あとはバッチファイルから起動するとか
どうもです 今電車の中なんで帰ったらやってみます
0414デフォルトの名無しさん
NGNGこうやるのと
for (int i = 0; i < array.size(); i++) {
//処理
}
}
こうやるのでは
int length=array.size();
for (int i = 0; i < length; i++) {
//処理
}
}
後者のほうがパフォーマンス上がりますか?
それとも変わりませんか?
0415デフォルトの名無しさん
NGNG大して変わらんと思われ。
もし、その程度のパフォーマンスの差が気になるなら
ArrayList の使用を止めるとか(これも大した改善は期待できない)、
その部分を native 化する(これも大した改善は期待できない)とか
考えたほうが良いと思う。
0416デフォルトの名無しさん
NGNG理論上後者のほうがパフォーマンスが良いだろうが、よっっっぽどの
事がなければ現実的に変わらない。計測誤差に隠れるだろう。
0417デフォルトの名無しさん
NGNGその程度の最適化は最近のJITコンパイラなら朝飯前だろうから、
人間様がわざわざやる必要はないと思われ。
つーか、HotSpot Server VM とか IBM JDK とかの最適化は
マジで凄い。
0418デフォルトの名無しさん
NGNG何が、どう?
0419414
NGNG配列とかでは、気にしないで
lengthはよく使いますけど
コレクションの場合だと負荷がかかるんじゃないか?
パフォーマンス的にどうなのかな?
と思って質問させてもらいました
>>415ArrayList の使用を止めるとか
確かにそのとおりかもしれません
実際、余裕があればコレクションを使わずに配列を
使用するように心がけていますが
そうすると、ソースの見通しが悪くなるので
そういうことを天秤にかけてやってます
0420417
NGNG実際、俺も昔、>>414のように不変値をローカル変数へキャッシュしたり、
メソッド呼び出しを減らすような変更をちまちまやってみたことがあったのよ。
しかも画像処理系のプログラムだったから、少しは効果あったかなと思って
ベンチマークとってみたんだが、全然効果なし。(w
そのとき使ってたのは HotSpot Server VM だったんだが、
ループを繰り返すたびに最適化が進んで実行速度が上がっていくのは
本当小気味よかったな。
0421デフォルトの名無しさん
NGNG0422デフォルトの名無しさん
NGNGでも、処理中にサイズ変更がないことが前提じゃないのかな?
そうでなけりゃ質問者の2つ目の例はありえないよ。
通常、ランダムアクセスのList実装に対する
コレクションイテレートの好ましいイディオムは...
for (Iterator i=list.iterator(); i.hasNext();) {
// 処理
}
なんだから。
>>414
ちなみに僕は、array.size()がループ内での処理中に
サイズ変更が絶対に起こりえないと保障でき、かつ、
array.size()をこのループの繰り返し回数を導出する
ためだけに利用するのであれば、次のような方法が最善である
と信じています。Javaは「Write Once, Run Anywhere」
(1回書けば、いろんな環境で動く)なんていっちゃってるしw
結局、最適化は実装依存なわけだし。
for (int i=0, n=array.size(); i<n; i++) {
//処理
}
僕は別にベンチマークしたわけじゃないから効果の程はわからないけど。
質問者さんの記述した2つのループとの違いは、
forループのステートメントにカウンタ変数とループの
上限値変数の2つの変数を宣言し、初期化しています。
これによって、パフォーマンスだけではなく、変数スコープ
についても最適なものになります。
0423デフォルトの名無しさん
NGNG0424401
NGNG禿しくクスコ!(・∀・)
とっても参考になる。
多謝。
0425デフォルトの名無しさん
NGNG可変値であることを考慮しても大して変わらんと思われ。
0426デフォルトの名無しさん
NGNG小数点以下を切り捨ててintに変換するものは無いでしょうか?
Mathクラス見ましたけどありませんでした
0427デフォルトの名無しさん
NGNGint i = (int) d; // 0.123の小数点以下を切り捨ててintに代入(0)
0428デフォルトの名無しさん
NGNG眠くて頭回んないけど、+に関しては満たしてそう。
0429デフォルトの名無しさん
NGNGforの初期化式で宣言する変数がすべて同じ型ならいいけど
違う型が混ざってる場合はうまく書けないよねえ。
そういう場合はどうしてますか?
0430デフォルトの名無しさん
NGNG保証されてるんでしょうか?
0431401
NGNGとりあえず今、テストさせてもらってます。
HexInputStreamクラスの、read()メソッドは、returnの部分が
return (
(( Character.digit((char)ch1, 16) & 0x0F) << 4) |
(( Character.digit((char)ch2, 16) & 0x0F) << 0)
);
こうなるかと思うのだが、いかがだろうか?
ch1を16進化した際に、4bitシフトさせて上位に移動し、
ch2をORで加算(論理和)ってことでしょ?
んで、これを実装して、テストコード部分も使わせていただいているのだけれど、
HexOutputStreamは、うまく動いてる。
この結果をHexInputStreamを使う側に食わせたときに、
ObjectInputStream in = new ObjectInputStream(new HexInputStream(bais));
の部分で、「InputStreamは、シリアライズされたオブジェクトを含んでないぞ(゚д゚)ゴルァ」
と、java.io.StreamCorruptedExceptionで怒られてしもうた。
今、ここを追っかけてるところ。
0432bloom
NGNG0433デフォルトの名無しさん
NGNGJavaアプレットを作ってHPにあげました。
俺はプレイできて、友人も一人だけプレイできたのですが、
ほとんどの人はプレイできないといいます。
Javaアプレットのあるページに飛ぶと、灰色の画面が映るだけだと。
なぜなんでしょうか・・・。
0434デフォルトの名無しさん
NGNGはい
>>431
> ch2をORで加算(論理和)ってことでしょ?
そうだな、失礼。
> の部分で、「InputStreamは、シリアライズされたオブジェクトを含んでないぞ(゚д゚)ゴルァ」
そういえば read(byte[], int, int) もオーバーライドしてやらないとダメかも。前に一回
ハマって半日悩んだことがある。何でかは FilterInputStream#read(byte[],int,int) の
ソースを参照。ハァ? と思うかも。
public int read(byte[] buffer, int offset, int length) throws IOException{
int count = 0;
for(int i=0; i<length; i++){
int ch = read();
if(ch < 0) break;
buffer[offset + i] = (byte)ch;
count ++;
}
return (count == 0 && length > 0)? -1: count;
}
0435デフォルトの名無しさん
NGNGpublic int read(byte b[], int off, int len) throws IOException {
return in.read(b, off, len);
}
16進数 ASCII のデコードしないで下層のストリーム直接バッファに読み込んでる。
(FilterOutputStream#write(byte[],int,int) はそんなこと無いのに)
汎用的に作りたかったら skip() とか available() とかも実装できるかな。
2 で割るだけだから。
0436デフォルトの名無しさん
NGNGうまく行かない友達に「Java コンソール」というものを表示してもらって、
その内容をメールでもらってここに貼り付けろ。Java コンソールの出し方は
このレスのちょっと上にあったはず。
多分おまいと友達一人のマシンには JDK 1.4 が入っており、それ以外は
MS JVM が使われ、さらにおまいのアプレットが JDK 1.2 以上の API を使って
いると予想。
0437434
NGNGとはいえ、
return (count == 0 && length > 0)? -1: count;
ここがうまく理解できてない。
とりあえず修行が禿しく足らんことを自覚したので、
回線切らずに、JDKのソースの海に修行しに逝ってきます。
0438437
NGNG名前欄に変なこと書いた。
>>434
ね。重ねてサンクス。
0439デフォルトの名無しさん
NGNG設計次第だねw
そうする場合は
bounds = arrayのtoArray()で任意の型の配列を取得;
for (int i=0; i<bounds.length; i++) {
// 処理
}
で処理するよね。
フィールドの場合はオーバーヘッドは気はしなくていいし。
>>429
ネタかなw
toArrayメソッドを利用するのは通常、同じ型である場合だよね。
わかってて言うのはだめだよ。
純粋に質問しているなら答えはこうだね。
Arrayに入っているものに対して処理を行う際にArrayに入っている
データの型が複数あるなら形によって処理を分岐する。
まあ、この場合の分岐の選択肢はif文やswitch文だけじゃないよね。
>>430
シングルスレッドで動いているなら大丈夫だね。
マルチスレッドならVector使うか自分で同期とった方がいいかな。
0440デフォルトの名無しさん
NGNGString型の文字列をchar配列型にして
文字の順番を入れ替えるってできますよね?
0441デフォルトの名無しさん
NGNGだから静的には最適化できないけど
JITコンパイラなら最適化できる格好のケース
0442デフォルトの名無しさん
NGNGtoCharArray
0443デフォルトの名無しさん
NGNGtoCharArray とか使えばできるけど、元の String には反映されないよ。
0444デフォルトの名無しさん
NGNG// 文字の順番入れ替え...
text = new String(array);
0445440
NGNGありがとうございました。
0446デフォルトの名無しさん
NGNG0447128
NGNG三つのdoubleの配列b,c,dに振り分けたいのですが
b,c,dの長さを決めるいい方法はないでしょうか?
いま私がやっているのはまずaの全ての値を調べて
b,c,dにはいる数をカウントしてb,c,dを作成し
再びaをの値を調べてb,c,dに振り分けているのですが
aを二回調べているので何か非効率的な気がします。
0448デフォルトの名無しさん
NGNGいったんArrayListとかに振り分けていって最後に配列に変換とか。
0449デフォルトの名無しさん
NGNG値の大きさに応じてB、C、Dの条件があったとする
で、最初にb,c,dの配列の大きさを決めておく
ポイントはa.lengthが配列のサイズになると言うこと
double[] b_temp=new double[a.length];
//以下c,d についても同様
int bcount=0;
int ccount=0;
int dcount=0;
for(int i=0;i<a.length;i++){
if(B){
b_temp[bcount]=a[i];
bcount++;
}
else if(C){
c_temp[ccount]=a[i];
ccount++;
}
else if(D){
d_temp[dcount]=a[i];
dcount++;
}
}
//で、あらためてコピーする
System,arraycopy(b_temp,0,b,bcount);
//c,dも以下同様に
0450デフォルトの名無しさん
NGNG最終的にb、c、dのサイズが分かるんだからArraryCopyの直前に
double b=new double[bcount];
double c=new double[ccount];
double d=new double[dcount];
したほうがいいような…?
0451デフォルトの名無しさん
NGNG×double b=new double[bcount];
○double[] b=new double[bcount];
0452デフォルトの名無しさん
NGNGいや、最初に作ってるのは一時記憶用
もちろん
double b=new double[bcount];
double c=new double[ccount];
double d=new double[dcount];
は、やりますよ。書き忘れだ
遅レスですが完璧に動作しました!
ありがとうございました〜ヽ(´∀`)ノ
0454デフォルトの名無しさん
NGNGCreateprocess でコマンドラインを指定すれば動きますが、
javaw.exe とかではなくて EXE として動かしたいのです。
0455動画直リン
NGNG0456デフォルトの名無しさん
NGNG> toArrayしてから回してみたらどうかなw。
toArrayメソッドは、新しい(もしくは引数で指定された)配列に
要素の内容を#コピー#するメソッドだから、
その分オーバーヘッドがかかって遅くなってしまうと思われ。
>>439
> >>429
> ネタかなw
> toArrayメソッドを利用するのは通常、同じ型である場合だよね。
>>429が言っているのは
for (int i=0, n=array.size(); i<n; i++) {
ってイディオムの"int i=0, n=array.size()"って部分は
iとnが同じint型だからできることだけど、
そうじゃなかったらどうすんの、ってことだと思うけど。
まあ、この例だとiはListのindex、nはその最大値+1になるから
型が異なることはあり得んのだが。
>>422
> 通常、ランダムアクセスのList実装に対する
> コレクションイテレートの好ましいイディオムは...
> for (Iterator i=list.iterator(); i.hasNext();) {
重箱の隅をつつくようだが、これは
「ランダムアクセスを提供しないList実装」に対するイディオムだろ。
つーか、>>422が言っていることは
http://java.sun.com/j2se/1.4.1/docs/api/java/util/RandomAccess.html
に書いていることそのものなんだが。
0457デフォルトの名無しさん
NGNGhttp://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=JNI+Java+%E8%B5%B7%E5%8B%95
0458デフォルトの名無しさん
NGNGfor (int i=0;i<array.size(); i++) でも、どうせコンパイラ
かHotSpotが最適化してくれると思うんだが…
つうか、こんなことがボトルネックになるようなこと、あんまり
ないと思うんだけど。
0459デフォルトの名無しさん
NGNGかつ非常に短いメソッドの場合は最適化を期待するし、実際ベンチマーク
とっても差はでないよね。逆アセンブルしてないから断定はしないけど。
HotSpotより昔の実装だとクラスをまたいだインライン展開はやらなかっ
たんだけどね。
どうせ仮想機械というよりも実行時コンパイラといったほうが
正確なようになっちゃったんだから、C++みたいにinlineキーワード
とconstメソッドみたいなの導入しちゃってコンパイラに最適化のヒント
を与えられるようにならんかな。
0460429
NGNGそうじゃなくて
for (初期化式; 継続判定式; 更新式) の初期化式で
int i = 0, n = array.size() を書くことはできても
たとえば int i = 0, double x = 0.5 みたいなのは書けないって話。
こういう場合は結局 double x = 0.5 を for ループの外に
書かないとダメでしょ?
0461デフォルトの名無しさん
NGNG一回目はエコーが正常にできるんですけど
二回目以降はサーバ側がCPU100%状態になって
固まってしまうんですけど、なにが原因なんでしょう?
ちゃんとソケットは閉じてるんですが。
0462461
NGNGで、新たな問題。
PrintWriterとかBufferedReaderでサーバ側作ると
一回ごとに終了してしまうものなんですか?
0463デフォルトの名無しさん
NGNGwhile か for 文を使っている部分があるだろう。そこを晒せ
0464461
NGNGwhile(inputLine!=null){
out.println(inputLine);
}
こうやってたのを
while((inputLine=in.readLine())!=null){
out.println(inputLine);
}
こう直したらうまくいきました。
何故かはわからなかったけど。
0465デフォルトの名無しさん
NGNG一つ目のはinputLineがnull以外の場合に、無限ループになる
二つ目のはinputLineを1行読んで、null以外なら表示してループする。
nullならループを抜けるというもの。
0466デフォルトの名無しさん
NGNGちゃんと考えれ。何で無限ループになるのかわかんないようなら、
アナタは多分プログラマ向いてないぞ。
0467461
NGNGnullほど。
>>462のやつでInputStream型やOutputStream型ので作ってあるのは
終了せずにそのままサーバが動き続けるようです。
でも、それだと文字列操作のやり方がわからないし。
0468デフォルトの名無しさん
NGNG君、実は何も知らないだろw
初心者向けJava本勝って基礎から勉強しなさい。
いきなりネットワークなんて無茶だよ…
さもないと韓国のように自称「ネット先進国」と
言わざるゐえなくなるぞ
0469454
NGNGJNIを使うのでつね。サンスコ。
http://www.ki.rim.or.jp/~kuro/Java/JNI/
0471461
NGNGサーバの方作って起動したらノートン先生がトロイ警告出したり
したこともあったし。
まぁ本読んで基礎もやりますよ
0473デフォルトの名無しさん
NGNGお金がなくてPCが買えません…
今使っているWin2000にサーバーソフトを入れたいのですが
おすすめな者を教えてください。おねがします。
0474デフォルトの名無しさん
NGNG何か根本的におかしな子と言ってる気がするが、答えはTomcatってとこだろう。
0475デフォルトの名無しさん
NGNGTomcat 4.1.24
http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.24/bin/jakarta-tomcat-4.1.24.exe
0476デフォルトの名無しさん
NGNG0477デフォルトの名無しさん
NGNGがサーバにユーザーネームとパスワードでログオンし、メッセージを書
いたり受け取ったりすることができるプログラムを書けというのが出た
んですけど簡単な例とか載ってるHP知ってる人いませんかね。
0478デフォルトの名無しさん
NGNGクライアントとサーバが PIPE で通信すんのか?
0479デフォルトの名無しさん
NGNGのやり取りに使うんだと・・
0480デフォルトの名無しさん
NGNGttp://x68000.startshop.co.jp/~68user/net/
ここだろうな。
0481デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNG0483デフォルトの名無しさん
NGNGソケット扱える言語だったら同じように書けばできるけど初心者には難しいかもね。
Javaで書いてあるところは知らんので検索するなり、次のポインタを待ちなさい。
0484デフォルトの名無しさん
NGNG0485デフォルトの名無しさん
NGNG1. ソケット使ってネットワーク通信
2. パイプ使ってスレッド間通信
どちらかはっきりしる
0486デフォルトの名無しさん
NGNGhs_err_pidプロセスID.log(hs_err_pid1012.log等)
というファイルができるんですが、それを作らせない方法知りませんか?
0487デフォルトの名無しさん
NGNG0488477
NGNGimport java.net
import java.io
import java.util
の範囲でできるものを探してます(何しろ初心者なんじゃ)。
画面も、スイングみたいなものは使わず、ただのアウトプットに
RUNしたあと
ユーザーネーム:
パスワード:
で、サーバがパスワード確認したら、
1.メーセージを読む
2.メッセージを書く
3.終了
みたいに表示・・・どですかね?
0489デフォルトの名無しさん
NGNGTOMCAT入れたよ!サンクス!
0490デフォルトの名無しさん
NGNGすいませんおしえてください。
0491デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNG1ヶ月前に出てますが。
0494デフォルトの名無しさん
NGNG0495デフォルトの名無しさん
NGNG0496422
NGNG>>>422
>> 通常、ランダムアクセスのList実装に対する
>> コレクションイテレートの好ましいイディオムは...
>> for (Iterator i=list.iterator(); i.hasNext();) {
>重箱の隅をつつくようだが、これは
>「ランダムアクセスを提供しないList実装」に対するイディオムだろ。
>つーか、>>422が言っていることは
>http://java.sun.com/j2se/1.4.1/docs/api/java/util/RandomAccess.html
>に書いていることそのものなんだが。
>
またネタかな?
「ランダムアクセスのList実装」で間違いない。
0497422
NGNG50点だな。おいらも50点だが。
文の構成変えてて間違えたみたいだw
まあ、あそこで言いたかったのは「ランダムアクセスを提供しないList実装」
でもなく、単に「コレクションイテレートの好ましいイディオム」だけどね。
ちなみに2つ目に書いたのが、「ランダムアクセスのList実装に対する
イテレートの高速なイディオム」だな。
これは前提条件を満たさなければ好ましくないわけで、「通常」ではないな。
書き込み前にちゃんとチェックせねば。
0498422
NGNG>>>439
>そうじゃなくて
>for (初期化式; 継続判定式; 更新式) の初期化式で
>int i = 0, n = array.size() を書くことはできても
>たとえば int i = 0, double x = 0.5 みたいなのは書けないって話。
>
>こういう場合は結局 double x = 0.5 を for ループの外に
>書かないとダメでしょ?
ちゃんと読んだ?414はArrayListオブジェクトに対する
イテレートする際のパフォーマンスのよいイディオムを
質問したんだよ?
それとその例の使いどころを教えてよ。
それが可能だとして、どうしてそうしたいの。
おいらはそうしたいと思ったことないぞw
0499動画直リン
NGNGオーケー、ブラザー俺が秘密にセッションしちゃうぜマイハート。
いいかい?ストリンぐからダぶるに変換するのは棚、
using System;
public class conv {
public static void Main(String[] args){
double a;
string b="123";
a=b.ToDouble();
}
}
と書いてだな、
>csc conv.cs
>conv.exe
だ。
0501デフォルトの名無しさん
NGNGソケットって知ってて言ってんの?
0502デフォルトの名無しさん
NGNG0503デフォルトの名無しさん
NGNGPentiumIIは電球だった!
0504デフォルトの名無しさん
NGNG最近思い出した、あれはJPSだった(ジョンプレーヤースペシャル)
黒い箱でかっこよかったな。いまのMILDSEVENのONEと同じぐらいかっこよかった
今も売ってるけどな。
で、
private static final MILDSEVEN;
とかいう定数ってかっこいいよな
いつか、この定数を使ってプログラミングしたい
0505デフォルトの名無しさん
NGNG健康増進法の施行により、それはpublicでは使えなくなりました。
privateでお楽しみください。
protected、package privateは...微妙。
0506デフォルトの名無しさん
NGNG共同警備区域
0507デフォルトの名無しさん
NGNG>j2ee -verbose
で起動したDOS窓にデプロイ時以下のメッセージが出るのよ。
| WARNING HelloEJB ejb-ref expected home interface to be HelloHome and got j2eeboo
| tcamp.developingEJB.chapter4.HelloHome
| WARNINGHelloEJB ejb-ref expected bean interface to be Hello and got j2eebootcamp
| .developingEJB.chapter4.Hello
>runclient -client HelloApp.ear -name HelloClient -textauth
でクライアントを実行すると
| WARNING HelloEJB ejb-ref expected home interface to be HelloHome and got j2eeboo
| tcamp.developingEJB.chapter4.HelloHome
| WARNINGHelloEJB ejb-ref expected bean interface to be Hello and got j2eebootcamp
| .developingEJB.chapter4.Hello
| ログインを起動しています ...
| ユーザ名入力:j2ee
| パスワード入力:je22
| バインドされた名前:`java:comp/env/ejb/HelloRef`
| アプリケーションから例外がスローされました:java.lang.NoClassDefFoundError: j2eeb
| ootcamp.developingEJB.chapter4.HelloHome
class/jar の CLASSPATH の話なら解決できるが、
デプロイさせときながら NoClassDefFoundError とは deploytool の
問題じゃねぇかと小一時間・・・言ってもしゃあないので、
原因が分かる人教えてくれ。
0508460
NGNGイディオムなのは知っている。
俺が言いたいのはイディオムとはまったく関係なくて
for文内でしか使わない変数のスコープの話。
通常はループをカウントする変数はひとつで済むけど
条件が複雑でたまに複数個使いたいことない?
>>460の例だと下みたいなのとか。
int i = 0;
double x = 0.5;
for (; i < 100 && x > 1e-6; i++, x /= 2)
この場合 int i と double x の両方を for の初期化式には書けないので
どっちかはスコープが広がっちゃうけど
何かうまい書き方はないだろうかという話。
あまり美しくないけどブロックを作るしかないんだろうか。
0509460
NGNG更新式は i++, x /= 2 ではなく
ループ内の条件によって i++ か x /= 2 が決まると思ってください。
0510デフォルトの名無しさん
NGNGfor (int i = 0,double x = 0.5; i < 100 && x > 1e-6; i++, x /= 2)
0511デフォルトの名無しさん
NGNG俺はwhile文使うよ。そのほうが綺麗。
0512デフォルトの名無しさん
NGNGだからスコープの話をしてんだと小一時間。
0513デフォルトの名無しさん
NGNGスコープを無理矢理縮める。
{
int i = 0;
double x = 0.5;
for (; i < 100 && x > 1e-6; i++, x /= 2) {
// 処理
}
}
0514デフォルトの名無しさん
NGNGプロセス間通信はソケットかRMIが必須ですが。
プロセス間通信しないってことですか???
サーバークライアントで???
0515デフォルトの名無しさん
NGNG20レス前は十分昔だと言うことを心得よ。
0516デフォルトの名無しさん
NGNGエラー出るだろ
0517498
NGNG>通常はループをカウントする変数はひとつで済むけど
>条件が複雑でたまに複数個使いたいことない?
>この場合 int i と double x の両方を for の初期化式には書けないので
>どっちかはスコープが広がっちゃうけど
>何かうまい書き方はないだろうかという話。
>あまり美しくないけどブロックを作るしかないんだろうか。
ブロック使うくらいならメソッドによる置き換えでもすれば?
繰り返しする場合はそれ自体に意味を持っていることが多い。
その方がかっこいいでしょ?
たとえば、こんなカンジ
public void メソッド(int maxLoopCount, double x) {
for (int i=0; i<maxLoopCount; i++, x/=2.0) {
// 処理
}
}
で、スコープの話からずれるけど、もっと機能分割すればこんなカンジ。
for (int i=0; i<maxLoopCount; i++, x/=2.0) {
if (aMethod(x) == false) {
break;
}
}
boolean aMethod(double x) {
// 処理
}
ループカウンタiが処理に絡むのであれば aMethod の引数に
適切なものを追加すればいい。
0518498
NGNG> >>508の例だと i か x だけでもよさそうなんで
> 更新式は i++, x /= 2 ではなく
> ループ内の条件によって i++ か x /= 2 が決まると思ってください。
意味がわからないよ。それって自分で書いた例の
for (; i < 100 && x > 1e-6; i++, x /= 2)
を否定しているってことでしょ?
for (; i < 100 && x > 1e-6;) {
// 処理(ここでiがインクリメントされるかxの値が変更される。
}
にしたいの?
ちなみにスコープの話を抜いてこの場合、for文にするか
while文にするかと聞かれたら >>511 と同じ意見だな。
まぁ、どちらにしても僕ならメソッドによる置き換えをするけどね。
0519デフォルトの名無しさん
NGNG>>486 何か情報ありませんか?
0520デフォルトの名無しさん
NGNGJavaHouseにでも投げてみてください。
0521477
NGNGクライアントがパスワードを使ってログオン(サーバー側でパス
ワードの確認、3回まで)するっていうのをやりたいんですけど、
どこをどうしたらいいのやら・・お願いします。
0522477
NGNGimport java.io.*;
import java.util.*;
public class TestNetServer {
static final int SERVISEPORT = 20020;
Socket socket;
ObjectInputStream in;
ObjectOutputStream out;
TestNetServer(Socket socket) throws IOException {
this.socket = socket;
in = new ObjectInputStream(
new BufferedInputStream(socket.getInputStream()));
out = new ObjectOutputStream(
new BufferedOutputStream(socket.getOutputStream()));
out.flush();
}
void execute () throws IOException{
try {
String sample0 = "!!Hello, Client!!";
System.out.println("[DBG0]Sending String: " + sample0);
out.writeObject(sample0);
out.flush();
0523デフォルトの名無しさん
NGNGあるイベントを呼び出したボタンに対して処理を行うにはどうしたらいんでしょうか?
具体的には、いくつかボタンが並んでいて、ボタンを押すとそこに文字が表示できるようにしたいのですが。
リスナーの中でどういう風に実装すればいいんでしょうか?
呼び出したコンポーネントを知るメソッドなどないですか?
0524477
NGNGHashMap sample2 = (HashMap)received;
System.out.println("[DBG2]Received HashMap: " + sample2);
System.out.println("[DBG3]Pentium :: " + sample2.get("Pentium"));
System.out.flush();
} catch(IOException e) {
e.printStackTrace();
throw e;
} catch (ClassNotFoundException e) {
System.out.println("[DBGX] readObject() CANNOT found Corresponding Class");
} finally {
try{
socket.close(); } catch(IOException e) {}
} }
public static void main(String[] args) throws IOException {
srverSocket serveSocket = new ServerSocket(SERVISEPORT);
try {
System.out.println("Server Waitting on serverSocket ");
Socket socket = serveSocket.accept();
System.out.println("Socket[Server] " + socket);
testNetServer connectionProg = new TestNetServer(socket);
connectionProg.execute();
} finally {
serveSocket.close();}
System.out.println("Server Program Finished");
}}
0525477
NGNGimport java.io.*;
import java.util.*;
public class TestNetClient {
static final int SERVISEPORT = 20020;
static final String SERVERMACHINE = "localhost";
Socket socket;
ObjectInputStream in;
ObjectOutputStream out;
TestNetClient(Socket socket) throws IOException {
this.socket = socket;
out = new ObjectOutputStream(
new BufferedOutputStream(socket.getOutputStream()));
out.flush();
in = new ObjectInputStream(
new BufferedInputStream(socket.getInputStream()));}
void execute () throws IOException{
try {
Object received0 = in.readObject();
System.out.println("[DBG0]Received: " + received0);
Object received1 = in.readObject();
System.out.println("[DBG1]Received: " + received1);
HashMap sample2 = (HashMap) received1;
sample2.put("Sparc", "SUN");
System.out.println("[DBG2]Sending Hashmap: " + sample2);
out.writeObject(sample2);
out.flush();
} catch (ClassNotFoundException e)
0526477
NGNG} finally {
try{
socket.close();
} catch(IOException e) {}
}
}
public static void main(String[] args) throws IOException {
InetAddress host = InetAddress.getByName(SERVERMACHINE);
Socket socket = new Socket(host, SERVISEPORT);
System.out.println("Socket[Client] " + socket);
TestNetClient connectionProg = new TestNetClient(socket);
connectionProg.execute();
System.out.println("Client Program Finished");
}
}
0527デフォルトの名無しさん
NGNGpackage AWTTest;
import java.awt.*;
import java.awt.event.*;
public final class ButtonTest extends Frame implements ActionListener{
Button txtButton;
public static void main(String[] args) {
ButtonTest bt=new ButtonTest();
bt.show();
}
ButtonTest(){
txtButton=new Button("Click Me!");
txtButton.addActionListener(this);
add(txtButton);
pack();
}
public void actionPerformed(ActionEvent ae){
if(ae.getSource().equals(txtButton)){
txtButton.setLabel("Thanks!");
}
}
}
0528527
NGNGaddWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we) {
super.windowClosing(we);
System.exit(0);
}
});
0529初心者
NGNGサーブレットで、
Thread.currentThread().getName()
の戻り値は、各セッションで一意性が
保障されているのでしょうか?
セッションIDは保障されているでしょうが、
スレッド名はどうなんでしょう。。。
0530デフォルトの名無しさん
NGNGスレッド名はスレッドインスタンスについてます。
セッションとは関係有りません。
あるセッションのあるリクエストが、サーバ側のあるスレッドで
処理されたあと、そのセッションの次のリクエストがサーバ側の
別のスレッドで処理される、ということは、往々にしてあります。
0531デフォルトの名無しさん
NGNGCGIのほうがC言語使えるから速いんでないの?
0532デフォルトの名無しさん
NGNGCGI はリクエストのたびにプロセスが起動するので、サーバコンテナ
内部でスレッドとして動くServletよりコストは高いと思われ。リクエスト
の数が増えてきたときに違いが出ると思う。あと、Servletのほうが
柔軟性が高いサービスが構築できそう。
0533初心者
NGNGありがとうございます。
ちょっと質問の仕方がわるかったです。
複数セッションで同時にリクエストが発生したときには
セッションの数だけスレッドが生成されると思うのですが、
そのときのスレッド名は一意性が保たれているのでしょうか。。。
サーブレットコンテナの実装によるのかもしれませんが、
わざわざ各スレッドに同一の名前をセットするようなことは
ないような気がするのですが・・・
0534初心者
NGNGサーバアプリケーションのボトルネックは
プログラム事体の性能よりサーバや回線の性能の方が
大きいと思います。
CGIよりJSPの方が速いというわけではなく、
大規模開発に向いているかという問題になってきます。
開発効率ならJSPの方が向いてると、個人的には思います。
0535デフォルトの名無しさん
NGNG<c:forEach>タグって
String[][]のように多次元配列って扱えないんでしょうか?
入れ子にしてやってみても
itemって言うキーワードが重なるのでうまくいきません
0536デフォルトの名無しさん
NGNGどーしたらいいのですか?
cみたいに、GETつかうのかな?
0537デフォルトの名無しさん
NGNG何の話をしているのかサッパリわからん
0538デフォルトの名無しさん
NGNGあなたが氏ねばいいと思います。マジレスです。
0539デフォルトの名無しさん
NGNGマジレスかっ!!?
536は、マルチでーす。
0540デフォルトの名無しさん
NGNGAPサバの実装にもよるけど、大抵の賢いサバは、リクエスト
の度にスレッドを新規生成するような「低能」実装はして
いないとおもうよ。
あとスレッド名は、サバの実装依存だと思われ。
まあおそらく、サバ各自が各自の内部で一意に命名してい
るか、あるいはデフォルト(Threadのデフォルトコンスト
ラクタがつける名前)のままにしているんじゃないかな。
オイラはあなたが使っているAPサバがなんなのかしらない
のでヨクワカリマセヌ。
デバッガでAPサバを動かして、Servlet内部でブレーク
して、スレッドの状態をダンプすれば、スレッドの一覧
が見えるはず。試してミソ。
それにしても、スレッド名で何かを識別しなければいけない
ような事態は発生しないはず。そんなものをみなければいけ
ないような仕組みを作っているとしたら、9割方設計がおか
しいとおもうが。
0541デフォルトの名無しさん
NGNGCGIは基本的には1リクエストに対して1プロセス起動するから
トランザクション数の多い大規模サイトでは処理コストが
どんどん増加する。
Javaは基本的にはプロセス内での動作。
リクエスト1回だけ投げてその処理の重さだけを見たらCGIのほうが速いが、
大量処理時のサーバへの負荷が違う。
0542デフォルトの名無しさん
NGNGアプリケーション内からどこからでも使用可能な
Beanを作ろうと思っています
で、サーブレットAがある値をsetして
サーブレットBがその値をgetしたりすることを想定しています
AとBはまったく別のセッションの場合もありです
こういうことやる場合はシングルトンしかないんですかね?
いろいろやってみたんですが、これしか思い浮かびません
最終的に思ったのが、「Beanはセッション内でしか共有できないのか?」と言うことです
0543デフォルトの名無しさん
NGNG排他処理に気を使いながら、ServletContect使うよろし。
DBでもいいな。
0544デフォルトの名無しさん
NGNG0545542
NGNGありがとうございます
ServletContect調べてみます
>DBでもいいな。
実はDBの情報を格納するBeanなので
今回の場合は無理です
他の場合なら使えそうですね参考になりました
0546531
NGNG>CGIは基本的には1リクエストに対して1プロセス起動するから
>トランザクション数の多い大規模サイトでは処理コストが
>どんどん増加する。
>Javaは基本的にはプロセス内での動作。
基本的、基本的ってなんだよ、おまえ! 基本的って言葉で逃げてるだけじゃねーか。
よく知らないのに説明しよーとすんな。
アホか。 Javaやめろ。
green thread, native thread, copy on write この辺りを検索して、
勉強しなおしてこい。 タコ
0547デフォルトの名無しさん
NGNGDQNは氏ね
0548デフォルトの名無しさん
NGNG基本的に釣りなら他のスレに行けや。
と基本的に釣られてみる。。。
0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNG「基本的は基本的」。
CGIだってスレッド使い回しの仕組みを自作すればできないことはない。
531は誌んでイイYO!漏れが許可する。
0551デフォルトの名無しさん
NGNG0552542
NGNG最初の説明が悪かったのですが
「サーブレットAがある値をsetして
サーブレットBがその値をgetしたりすることを想定しています 」
と、書きましたが
「サーブレットAがある値をsetして
あるクラスBがその値をgetしたりすることを想定しています」
に、読み替えてください
つまり、>>543さんの言うようにやりたいのですが
そうすると、クラスBもサーブレット関係のクラスを継承しなければなりません
クラスBは普通のユーティリティークラスなので無駄な継承はしたくありません
そもそも、Webアプリケーション上にあるクラスはBeanを除いて
HttpServletなどのクラスを継承すべきなのでしょうか?
0553デフォルトの名無しさん
NGNG>HttpServletなどのクラスを継承すべきなのでしょうか?
いやそんなことはない。ていうかしないほうがいい。
どのBeanからもServletContextにアクセスしたいのならHttpServletRequestの
参照を持ち回ればできるのだが、それもあまりおすすめできるものではない。
Servlet API周りを使っていないBeanからもアクセスしたいのなら
やはりSingletonパターンだろうな。
0554542
NGNGレスありがとうございます
やはりそうですよね
最初僕も、コンテキストの参照の使いまわしを試みましたが
「このやり方はどうなんだろう?」と思い>>542で質問させてもらいました
「setAttributeでセットされたBeanを普通のクラスからアクセスしたい」
っていう問題は、そもそも設計が間違ってるのかな・・・・
クラスの切り分け方も含めてもう一度検討してみます
無理なら、Singletonで行きます
0555デフォルトの名無しさん
NGNGhttp://slashdot.jp/articles/03/05/04/1859220.shtml?topic=68
0556デフォルトの名無しさん
NGNGJCPが管理してる。
でもIBMが買ったらSunのJava SDKは無くなってIBM JDKがデファクトスタンダードになったりしてw
0557デフォルトの名無しさん
NGNG>541が言う基本的は間違ってないと思われます。
AP鯖の実装の問題でしょ。
0558デフォルトの名無しさん
NGNG安易にSingletonにするのも考え物だが。
読み込むDBの値はアプリ終了まで不変なのかい?
0559デフォルトの名無しさん
NGNGJCPってなんですか?
http://www.jcp.or.jp/
0560デフォルトの名無しさん
NGNG1.3はアンインストールしちゃって良いのでしょうか?
消す場合は、アプリケーションの追加と削除でOKですか?
また、残しておくメリット等はありますか?
0561デフォルトの名無しさん
NGNGクロスコンパイルしたけりゃ残したらいい。
0562デフォルトの名無しさん
NGNGhttp://www.jcp.org/
0563デフォルトの名無しさん
NGNG>>556
JCPってなんですか?
http://www.jcp.or.jp/
0564デフォルトの名無しさん
NGNG馬鹿は氏ね
0565デフォルトの名無しさん
NGNGOK。
>また、残しておくメリット等はありますか?
このようなことを聞く君にとっては無いだろう。
環境変数PathとかJDK_HOMEを直しとけよw
0566560
NGNGありがとうございます、そう言えばインストールした時に環境変数とか打ったっけ。
561氏もわざわざありがとうございます。
0567bloom
NGNG0568デフォルトの名無しさん
NGNGPathはわかりますが、JDK_HOMEはどこで設定するんでしょう?
0569デフォルトの名無しさん
NGNG変数作るんだよ。
0570デフォルトの名無しさん
NGNGbinはいらんよ
0571デフォルトの名無しさん
NGNG環境変数、理解してる?
0572デフォルトの名無しさん
NGNG0573デフォルトの名無しさん
NGNGコーダーやってんの?
0574デフォルトの名無しさん
NGNGコーダーってなんですか?まだ、初学者なのでわかりません
0575デフォルトの名無しさん
NGNGhttp://www.geocities.co.jp/SiliconValley-PaloAlto/2038/
0576デフォルトの名無しさん
NGNG初学者さん、UMLは解ってるんだ?
0577デフォルトの名無しさん
NGNG1.3と1.4がきちんと動いてます。Pathは設定してます。
0578デフォルトの名無しさん
NGNGよくわかってはいないのですが、課題が先ほどの表記法でプログラムを組まねばならないので・・・
0579デフォルトの名無しさん
NGNGEditor + JDK だったらJDK_HOME設定しなくても大丈夫ですが。
その他ツール等でJDKのインストールディレクトリを参照するようなことが
あればJDK_HOMEを設定する必要があります。
0580デフォルトの名無しさん
NGNG課題でクラス図とシーケンス図があるなら、両方見ながら組んだらいいだろうがよ。
何を悩む必要がある?
0581デフォルトの名無しさん
NGNGみたいに書いてあるんで・・・ 貴方のおっしゃるとおり、普通なら両方を
参照しながらが普通なのだと思うのですが。あと、将来的にクラス・シー
ケンス図を書けないといけないので、どうするのがベストなのかお聞きし
たくて。
0582デフォルトの名無しさん
NGNGありがとうございます。
0583デフォルトの名無しさん
NGNG俺んち、PC1台しかないんでWebサーバーにするのが正直怖くてできない。
0584デフォルトの名無しさん
NGNG値を返すものはとりあえず0とかnullとかnew Object()とか""とか返しておく。
まず最初に全体がコンパイル通るようになるので開発に便利。
0585584
NGNGつーか、これってふつーのやり方で、今さら偉そうに言うほどのものでもないと思うけどな。
0586デフォルトの名無しさん
NGNGスタブとかドライバって奴だな。
基本情報技術者の本に載ってたよ。
0587デフォルトの名無しさん
NGNGテストファーストの開発ではテストケースクラスをスタブとして、先ず作ります。
0588デフォルトの名無しさん
NGNGfast?first?
0589デフォルトの名無しさん
NGNG検索しる
0590デフォルトの名無しさん
NGNG知らない、と。
0591デフォルトの名無しさん
NGNGハァ?
0592デフォルトの名無しさん
NGNG認めたくない、と。
0593デフォルトの名無しさん
NGNGハァ?
0594デフォルトの名無しさん
NGNG図星を突かれて言葉が出ない、と。
0595デフォルトの名無しさん
NGNG何が図星なのか読み取れないのだが。
0596デフォルトの名無しさん
NGNGこれのどこかにリストアップされている
http://pc2.2ch.net/test/read.cgi/hosting/1016218662/
0597デフォルトの名無しさん
NGNGJAVA_HOMEかと思っていたが。
Test Firstという言葉を本当に知らない奴もいるんだな。
0598デフォルトの名無しさん
NGNG変数名は何でもいいんじゃないの?ツールがJAVA_HOMEの値を期待してたら
JAVA_HOME変数を作ればいいし。
0599デフォルトの名無しさん
NGNG統合開発環境も多くのアプリサーバやツールはJAVA_HOMEを期待している物がほとんどだと思っていたのだが。
JDK_HOMEを期待するソフトウェアなんてあるの?
0600デフォルトの名無しさん
NGNG漏れの同僚が作った糞ツールはJDK_HOMEを期待してますが何か?
0601デフォルトの名無しさん
NGNGそりゃ糞だわ。たしかーに。
0602デフォルトの名無しさん
NGNG0603デフォルトの名無しさん
NGNGmakeでやっているものもあるかもな。
0604デフォルトの名無しさん
NGNGJBuilderで作った香具師とかに多そう
0605デフォルトの名無しさん
NGNGハァ?意味わかんね。
0606デフォルトの名無しさん
NGNG0607デフォルトの名無しさん
NGNG他のOSに移行するとき手間取らないか?
0608デフォルトの名無しさん
NGNG0609デフォルトの名無しさん
NGNG0610デフォルトの名無しさん
NGNGそうなのか?
オープンソース系だけでなく、Sunが配布するソフトもbuild.xml
添付の物が多くて事実上antはスタンダードだと思っていたが。
0611デフォルトの名無しさん
NGNGまぁantは標準だと思うけど、常用はしないな。
配布する時だけbuild.xml作る。
0612デフォルトの名無しさん
NGNG今度からは常用しるようにしろよ。
あんたが作った職人じみたビルドツールが運用入ってからも使われると思うと
メンテする人が可愛そうでしかたがない。
0613デフォルトの名無しさん
NGNG>配布する時だけbuild.xml作る。
いいエンジニアだ。
わかってない奴はむやみにant否定して他人にも
それを押しつける。
0614デフォルトの名無しさん
NGNG配布するときはbuild.xml作るって言ってんじゃん。
0615デフォルトの名無しさん
NGNGJavaScriptで、そのブラウザを使っているコンピュータ名を
取得することってできますか?
0616デフォルトの名無しさん
NGNGしかも、使えねーやつを強要するなよ。と小一時間。
0617デフォルトの名無しさん
NGNGJavaScript質問スレにでも逝け。もまいはハッキングでもする気かよ。
0618デフォルトの名無しさん
NGNGどなたかよいサイト教えてくださいませんか?
0619デフォルトの名無しさん
NGNGスレ違い。
VBスレに逝け。
0620デフォルトの名無しさん
NGNGhttp://web.teglet.co.jp/naoko2/index.php
ここ見て詫び状でも書け。
0621デフォルトの名無しさん
NGNG0622デフォルトの名無しさん
NGNG漏れのところもそんな感じ。ant使えって。
0623デフォルトの名無しさん
NGNGメンテする人は用意してあるbuild.xmlを使う。
運用入ってからもmake使う人はMakefile使うし、ant使う人はbuild.xml使う。
共存できるんだから別にいいんじゃないか?
# ちなみに俺のMakefile
PROJECT = プロジェクト名
include 色んなルールを生成するMakefile.mk
Main-Class = jp.gr.java_conf.メインクラス
Class-Path = $(TOPDIR)/lib/追加するクラスパス.jar
これでコンパイル、クリーン、実行、ドキュメント生成、配布jar生成 ができるようになってる。
Windows,Linux,Solarisで動く。
062480
NGNG結局、javaのversionが1.4なのがマズかったらしく
1.3にしたら上手くいきました。 遅れましたが有難うございました。
0625デフォルトの名無しさん
NGNG両方管理するのは無駄だと思うが。
Makefileにこだわらなきゃいけない理由ってあるのか?と聞きたいね。
自分のやり方をかえられるのを嫌うやつって多いよな、この業界。
自己流を維持すること自体が無駄な作業の源かもしれないのに。
0626デフォルトの名無しさん
NGNG0627デフォルトの名無しさん
NGNG>>611を嫁。
>両方管理
ってなんだ?何を管理するんだ?
何もやることないだろう?
>自分のやり方をかえられるのを嫌うやつって多いよな
ant使ってましたが、その遅さのせいで「自分のやり方をかえられ」ましたが、何か?
そもそもたかがコンパイルするためのツールに必死になるお前の気がしれん。
俺はmakeもantもTPOで使い分ける。お前はantしか使わずしかも他人に強要する。何様だ?
0628デフォルトの名無しさん
NGNG0629デフォルトの名無しさん
NGNGあ、そうだったんですか。すいません。言い過ぎました。
それなら仕方ないですね。
まあ俺もantは使ってないわけじゃないんだから許してくれ。
0630デフォルトの名無しさん
NGNG貴様、運用・保守やったことあるのか?職人じみたツールで実績作られたら、
その後手の入れようがないって。開発だったら使い分けで済まされる
だろうが運用してて使いまわしなんてしてたら袋叩きにされるぞ、まじで。
0631デフォルトの名無しさん
NGNGは?
>その後手の入れようがない
のは何故?build.xml + ant じゃ不満なのか?
0632デフォルトの名無しさん
NGNGつまり、antを否定してるってことか?
0633山本山
NGNG0634デフォルトの名無しさん
NGNG俺はantもmakeもどちらも使える用意はしてある。
で、俺はantは起動が遅いという理由で普段はmakeを使ってる。
さっきから突っかかってくる香具師は、職人じみたツールだから誰も手を入れられないし、袋叩きにされると言ってくるんだが。
Makefileを消せば満足なのか?
俺は別にMakefileがあっても何の支障もないと思うんだが。
make使わない人はant使うだけだし。
0635デフォルトの名無しさん
NGNG0636デフォルトの名無しさん
NGNG0637デフォルトの名無しさん
NGNG0638デフォルトの名無しさん
NGNGそれで充分じゃない?
自分は自分のやりたいようにして、他人には他人が使いやすいように
配慮してるじゃん。
いいエンジニアだと思うけどね。
0639デフォルトの名無しさん
NGNGなにせBuilderっていうくらいだからね!
0640デフォルトの名無しさん
NGNG0641デフォルトの名無しさん
NGNGant楽々使いこなしてますよ。antマンセー。
0642デフォルトの名無しさん
NGNGだったら素直に謝ればいいのに。変にプライドが高いのかねえ。
0643デフォルトの名無しさん
NGNGごめんなさい(w
0644デフォルトの名無しさん
NGNGString s = new String(bf);
と
String s = bf.toString();
どちらがおすすめでつか?
0645デフォルトの名無しさん
NGNG自己レス。
java.lang.StringBufferのソース見たら、
public String toString() {
return new String(this);
}
だそうで。
どっちでも一緒なのねん。
0646デフォルトの名無しさん
NGNG0647デフォルトの名無しさん
NGNGかな。
0648デフォルトの名無しさん
NGNGHoge hoge2 = new Hoge();
hoge2 = hoge;
この場合のhoge2と、
Hoge hoge2 = hoge;
この場合のhoge2では、実体が違いますか?
色々試してると、前者は別の参照になっているように思えるのですが。
0649デフォルトの名無しさん
NGNG0650デフォルトの名無しさん
NGNGにピリオドが含まれると勝手に/に解釈してしまうようなんですが。
jakarta-tomcat-4.0.6→jakarta-tomcat-4/0/6のように。
これを回避する方法はないですか。
Webプログラマ版で聞いたのですが、返事がなくてこっちでも
質問してすいません。
0651デフォルトの名無しさん
NGNG注意点とかあったら教えて下さいタマ
0652デフォルトの名無しさん
NGNGUTF-8,Shift_JIS,EUC_JP,ISO-2022-JPが判別できればいいのですが。
0653デフォルトの名無しさん
NGNG1ページはでるんですが2ページとか複数ページをだそうとしても何もでてきません。
どうすればいいのでしょうか?
ちなみにソースはJavaPress27巻のJavaちょこっとテクという部分のものを使っています。
0654デフォルトの名無しさん
NGNGどうやっているのか分からない書き込みに、
どうアドバイスすればいいのでしょうか?
0655653
NGNG初心者なものでどう書いていいのかわからなくて・・^^;
ソースはここから落とせますので良かったら教えてください。
http://www.gihyo.co.jp/magazines/javapress/support/Vol27
0656bloom
NGNG0657デフォルトの名無しさん
NGNGおまえなぁ・・・そんなに人のコード読むのが
めんどくさいのか?
コメント部分だけ読んだら俺でも原因わかったぞ
もう一回読め
0658デフォルトの名無しさん
NGNGそれとも自分で複数ページ出るようにソース変えてもダメってこと?
0659653
NGNGreturnを2とかに変更したんですがこれだけでは駄目なんでしょうか?
0660デフォルトの名無しさん
NGNG1ページ目用Printableと2ページ目用Printableを用意して、
両方をPageableに登録して、PageableをPrinterJobに渡しませう。
0661デフォルトの名無しさん
NGNGこれは1.4.2-beta-b19を使ってるせいでしょうか?
0662653
NGNGそれって例えばPrintableファイルをコピーしPrintable2とかクラスを作って
2ページ目はそれを印刷するようにしたらいいんですよね?
0663動画直リン
NGNG0664デフォルトの名無しさん
NGNGそれはオブジェクト指向ではない
話の内容は良くわかんないけど
>>660の言っていることは
Printableのインスタンスを2個以上作れってことでないの?
ま、違ったらすまん
0665デフォルトの名無しさん
NGNG戻り値で、まだ印刷終了してない事をあらわす定数を返せば
何ページでも印刷可能。
0666
NGNGコンパイルは通るのに、実行時エラーがでてしまうのです。
Build complete
java.lang.NullPointerException
at DrawCanvas.paint(+32)
at javax.microedition.lcdui.Display.serviceRepaints(+105)
at javax.microedition.lcdui.Display&DisplayAccessor.timeEvent(+34)
at com.sun.kvem.midp.lcdui.EmulEventHandler$EventLoop.run(+545)
これを読んでいる感じだと、最初のatのみ自分のプログラムに間違いがあり
あとはライブラリが悪いみたいに受け取れるんですが
本で勉強しているのですが、CD-ROMに入ったソースをそのままビルドしても
同じエラーがでるので、混乱しています。
エラーメッセージの読み方が悪いのでしょうか?
環境は win2k wtk104 java sdk 1.3 です。
どうぞよろしくお願いします。
0667デフォルトの名無しさん
NGNG> java.lang.NullPointerException
> at DrawCanvas.paint(+32)
> at javax.microedition.lcdui.Display.serviceRepaints(+105)
> at javax.microedition.lcdui.Display&DisplayAccessor.timeEvent(+34)
> at com.sun.kvem.midp.lcdui.EmulEventHandler$EventLoop.run(+545)
ってのは、DrawCanvas.paint() で NullPointerException が発生した。
その DrawCanvas.paint() は javax.microedition.lcdui.Display.serviceRepaints() で呼ばれていて、
その javax.microedition.lcdui.Display.serviceRepaints() は javax.microedition.lcdui.Display&DisplayAccessor.timeEvent で呼ばれていて、
....
って意味です。
0668デフォルトの名無しさん
NGNGぬるぽだな。
0669デフォルトの名無しさん
NGNG知っておいtほうがいいかな?
0670デフォルトの名無しさん
NGNG覚えて損する知識なんて無いぞ。この業界。
0671まりこ
NGNG上で公開していました、本屋で初心者作成マニュアル見ながらです、それでし
ばらくそのホームページはほっといていて今日しさしぶり自分のホームペー
ジでも編集しようと思いビルダーを起動してファイルを読み込もうとクリックした
らファイルが見つからないと出てファイル名が消えてしまいました、多分マ
イドキュメントの方のフォルダをいつの間にか消してしまっていたからのようです、
それで1からやりなおそうとマニュアル片手にとりあえず再度製作する前に新しいファイ
ルとサイトを作っておこうと画面にテストという文字だけ入れてサイト転送しました、転
送ができないなどと言う文字は出てきません、そしてエクスプローラーから自分のアドレス
を入力、しかしネット上にあるのは前のホームページでした、なぜ転送できないのかと自分
なりにいろいろやってみたけど上書きできません、どうすればいいのですか?実はまえに同じこ
とがあって、アンインストールして最初からやるとできました、アンインストールして最初から
なんでしょうか?転送の仕方を教えてください
0672デフォルトの名無しさん
NGNGindex
0673デフォルトの名無しさん
NGNGありがとうございます。
ということは、やっぱりDrawCanvasに間違いがありそうですね。
誤植? ソースに間違いがあるんでしょうか?
自分で見た感じだと、エラーがあるようには見えなかったのですが、、、、
メインルーチン DrawTest.java
public class DrawTest extends MIDlet {
/** コンストラクタ */
public DrawTest() {
Display.getDisplay(this).setCurrent(new DrawCanvas());
}
/** MIDlet開始時に呼ばれるメソッド */
protected void startApp() throws MIDletStateChangeException {}
/** MIDletが一時停止時に呼ばれるメソッド */
protected void pauseApp() {}
/** MIDletが終了時に呼ばれるメソッド */
protected void destroyApp(boolean unconditional) throws MIDletStateChangeException {}
}
DrawCanvas.java
0674デフォルトの名無しさん
NGNGDrawCanvas.java
class DrawCanvas extends Canvas {
private Imageimg;
DrawCanvas() {
try {
img = Image.createImage("/mi.png");
}catch(java.io.IOException e) {}
}
protected void paint(Graphics g) {
//背景を白に塗る
g.setColor(0x00FFFFFF);
g.fillRect(0, 0, getWidth(), getHeight());
//画像を描画
g.drawImage(img, 0, 0, Graphics.TOP|Graphics.LEFT);
//カラーを黒に指定
g.setColor(0x00000000);
g.drawLine(40, 10, 90, 10);
g.setStrokeStyle(Graphics.DOTTED);
g.drawLine(40, 20, 90, 20);
g.setStrokeStyle(Graphics.SOLID);
g.drawString("Hello!", 10, 30, Graphics.TOP|Graphics.LEFT);
g.drawRect(10, 55, 20, 15);
g.fillRect(50, 55, 20, 15);
g.drawRoundRect(10, 75, 20, 20, 7, 7);
g.drawArc(10, 100, 15, 15, 0, 300);
g.fillArc(50, 100, 15, 15, 0, 300);
}
}
なんですが、どうでしょうか?
0675デフォルトの名無しさん
NGNGっつかDrawCanvas.javaの32行目ってどこよ
0676デフォルトの名無しさん
NGNGつーか、なぜprotectedでコンパイルが通る?
0677676
NGNG誤爆。
打つ出し脳
0678デフォルトの名無しさん
NGNGつーか、なぜprivate Imageimg;でコンパイルが通る?
エラーの読み方もわからないレベルなんだから、ソース貼るときは
しっかりコピペしてよ。行番号全然わからんよそれ。原因は
675に同意なんだけど、それほんとに本の通りなの? Image.createImage
の後の処理とかかなり手抜きなんだけど、書名も教えてよ。
0679デフォルトの名無しさん
NGNG自分以外一切使わないならmake使っても構わんが
人に配布するときはmake使って欲しくないな。
antが遅いからmake使うって人はどんな環境なんだろうか。
antで何も考えずにjavacするとコンパイルしなくていいものまでまとめてコンパイルするから
重いというのはまあわかる。
そんなときはEclipseでantを使うのがいいんではないかと。
ファイルを保存すると同時にコンパイルするので高速。
「最新表示」による更新もなかなか早い。
けどjavadocやjarはantの方を愛用してますよ。
antのいいところって逝ったら、自分が書いたmakeファイルの文法ミスに気づきやすいか
そうでないか、といった違いだろうか。XMLパーサが文法ミスを厳しくチェックしてくれるのはありがたい。
署名もjunitも実行もFTP転送も皆ant。
0680デフォルトの名無しさん
NGNG>>674
>>678
すみませんでした スレを汚しているような気がして、
コメント部とスペースを削除していました。
本は http://www.skyarts.com/japan/books/midp_game/index.html
で紹介されているものです。
以下が正確な全文になります。
/*
* DrawCanvas.java
*
* Copyright 2001 SkyArts. All Rights Reserved.
*/
import javax.microedition.lcdui.*;
/**
* 低レベル描画を行うCanvasクラス
*
* @author Hideki Yonekawa
* @version 1.0
*/
0681デフォルトの名無しさん
NGNGインクリメンタルって知ってる??antでタスク作ったことあるの?
0682デフォルトの名無しさん
NGNG/** Imageオブジェクトを保持する変数 */
private Imageimg;
/** コンストラクタ */
DrawCanvas() {
//画像を取得
try {
img = Image.createImage("/mi.png");
}catch(java.io.IOException e) {}
}
/** 描画を行うメソッド */
protected void paint(Graphics g) {
//背景を白に塗る
g.setColor(0x00FFFFFF);
g.fillRect(0, 0, getWidth(), getHeight());
//画像を描画
g.drawImage(img, 0, 0, Graphics.TOP|Graphics.LEFT);
0683デフォルトの名無しさん
NGNGg.setColor(0x00000000);
//線の描画
g.drawLine(40, 10, 90, 10);
//破線に指定
g.setStrokeStyle(Graphics.DOTTED);
//破線を描画
g.drawLine(40, 20, 90, 20);
//破線を通常の線に戻す
g.setStrokeStyle(Graphics.SOLID);
//テキストを描画
g.drawString("Hello!", 10, 30, Graphics.TOP|Graphics.LEFT);
//四角形を描画
g.drawRect(10, 55, 20, 15);
0684デフォルトの名無しさん
NGNG0685デフォルトの名無しさん
NGNGあなた、コメントに無駄がありますよ。人目見て解るようなことは書かない方がよろしい。
仕様的に意図した挙動をコメントしなさい。
0686デフォルトの名無しさん
NGNGg.fillRect(50, 55, 20, 15);
//角の丸い四角形を描画
g.drawRoundRect(10, 75, 20, 20, 7, 7);
//円弧を描画
g.drawArc(10, 100, 15, 15, 0, 300);
//塗りつぶしの円弧を描画
g.fillArc(50, 100, 15, 15, 0, 300);
}
}
です。 private Image img; の空白は消すはずがないのですが、
消してしまっていたようです。申し訳ありませんでした
32行目は,g.drawImage(img, 0, 0, Graphics.TOP|Graphics.LEFT);
にあたります。
0687682
NGNGすみません
本のCD-ROMソースの転写ですので、
自分で書いているときにそのようなことがないように気をつけます。
0688デフォルトの名無しさん
NGNGリア厨かもしれんが、せめてWebで落とさせるくらいの気を使えよ。
長々と載せても俺らにはサンプルコードレベルなんだから。
0689デフォルトの名無しさん
NGNGプログラムを組もうとしているくせに
ファイルのアップの仕方も知りませんでした。
すみませんでした。
それ位のことはできるように勉強します。
0690デフォルトの名無しさん
NGNG0691デフォルトの名無しさん
NGNGあんた本当はJavaバリバリ使ってるんだろ?業務で5年くらいやってんだろ?
もうネタは止めてくれ。
0692デフォルトの名無しさん
NGNG>>678
32行目のコードを見て、やっと仰っている事の意味を理解しました。
適当な画像をpngに変換して置いてやったら、実行時エラーもなく
正常な動作をしました。
長々とスレを汚してしまってすみませんでした。
0693デフォルトの名無しさん
NGNGじゃあ、画像が読み込めてない。
try {
img = Image.createImage("/mi.png");
}catch(java.io.IOException e) {
e.printStackTrace();
}
でエラーを確認してちょうだい。
0694デフォルトの名無しさん
NGNG仕方知らないと最終的にゲームできてもWeb配布できないわけだが。
0695デフォルトの名無しさん
NGNG0696693
NGNG吊ってくる。
0697デフォルトの名無しさん
NGNGなぜかありますた
0698デフォルトの名無しさん
NGNGdelphiとかは覚え損かもな
0699デフォルトの名無しさん
NGNG1・javaのインタプリタ
2・javaのマクロツール
1はjavaはインタプリタだろって突っ込みはなしで、
pythonとかN88BASICみたいなものです。
2はCのようなマクロを書いて、プリコンパイルするようなものです。
宜しくお願いします。
0700デフォルトの名無しさん
NGNG0701デフォルトの名無しさん
NGNG1. は BeanShell とか。
2. は良くわからんけど、プリコンパイルして Java のソース吐くの?
0702デフォルトの名無しさん
NGNGサンクスコ!
2はプリコンパイルでもコンパイルでもどっちでもいいです。。
0703デフォルトの名無しさん
NGNG概要 - フープ!FREE http://www.hirokiok.com/ja/hooope/
フープ!FREE は、強力で使い易い Java 製テキストエディターです。
次のような特徴を持っています。
Java インタープリターを内蔵
機能が豊富なエディター
Java/Web開発に最適
フリーソフト
業務での Java プログラミングや JSP/Servlet プログラミングなどのほか、
HTML 編集や日常的なテキスト編集にも適しています。
0704プロの逝って良しの1 ◆MvRbZL6NeQ
NGNGこういうので良ければ大抵の言語はあるみたいだぞ
0705デフォルトの名無しさん
NGNGが、そんなことしてJavaソースの可読性を下げてどうするつもり?
0706プロの逝って良しの1 ◆MvRbZL6NeQ
NGNG0707デフォルトの名無しさん
NGNGフープって凄いね。eclipse使ってるから
エディタとしては必要ないけど個人レベルで
よくここまで作れるって感じ。
>>705
cppってJavaでもいけるんですか・・・
知らんかったです。
0708ぽぽ
NGNG呼び出し元のローカル変数を参照するとかって
Javaでできるのでしょうか?
0709デフォルトの名無しさん
NGNGそこに意味はあるのかい?
0710ぽぽ
NGNG0711デフォルトの名無しさん
NGNGそれができたら SandBox とか簡単に崩れないか?
0712プロの逝って良しの1 ◆MvRbZL6NeQ
NGNG素直に引数で渡せば?
0713プロの逝って良しの1 ◆MvRbZL6NeQ
NGNG諦めれ
0714ぽぽ
NGNG例えば、
public int xxx(){
int a = 5;
int b = 10;
Debug.dump(); <--ここでaとbの状態を表示
}
みたいなものを作れないかなと思いまして。
フィールドなら参照できてもローカル変数はどうなんでしょう?
0715デフォルトの名無しさん
NGNGとは言っても、C言語の仕様の範囲内では
呼び出し元のローカル変数なんて触れないけどね。
スタックにどんな風に呼び出し元のアドレスが積まれるか、
とかまで規定されて無いでしょ。
0717デフォルトの名無しさん
NGNGJavaだとVM内部の話しになるから無理なんじゃない?
漏れの浅知恵で言わせてもらうと、JNIで共用メモリを参照するような
ことをやったらできそうな予感がしないでもない。
0718デフォルトの名無しさん
NGNG0719デフォルトの名無しさん
NGNG0720デフォルトの名無しさん
NGNGそれって C言語だったら実装できるんか?
0721デフォルトの名無しさん
NGNG0723ぽぽ
NGNGTTYデバッガ使うと参照できるみたいなんですが、
結局TTYデバッガから別のJVMを起動して、
その中でデバッグ対象のクラスを実行しているっぽいです。
ところで、別プロセスで動いているJVM間で
値のやり取りっていうのはできるのでしょうか?
0724デフォルトの名無しさん
NGNG0725デフォルトの名無しさん
NGNGまだ勉強中なのだが、RMIだったら可能なはず。
プロセス間通信だけ言わせてもらうと、
クラサバでプロセス間通信は普通にやるみたいだし。
カスタムプロトコルを作らなくてもRMIだったら簡単にできるとの噂。
リクエストもレスポンスもない。あるのはメソッド実行だけだ。
0726デフォルトの名無しさん
NGNG0727デフォルトの名無しさん
NGNG内部でリクエストレスポンスを隠蔽しているだけだけどな。
でもってさらに、開発者がテヌキをするために、EJBという
上位レイヤがあるわけさ〜。EJB>RMI>TCP/IPさ〜。
0728デフォルトの名無しさん
NGNGあと、デバッグ用のスタックやヒープの参照は、専用のプロトコルでプロセス間
通信してるのさ〜。プロトコル名がそのままリンクライブラリ名になってるさ〜。
JDWPっていうさ〜。探してみるさ〜。
でもってその上にあるAPIがJVMDIさ〜。
JVMDI自身はネイティブCの関数ライブラリだけど、その上にJDIてのもあるさ〜。
実行状態のトレースとかお手軽に出来て、結構面白いさ〜。
システム作ること自体には役に立たんけどね〜。
0729デフォルトの名無しさん
NGNG0730デフォルトの名無しさん
NGNGしてデバッグすることは可能。(手元のマシンでは shmemBase_attach failed
のエラーになってしまうが...)
RMI, Serialize, socket を使ってデータを渡すことも可能だが、それは
参照される側がそれを前提に作られている場合の話。
>>708
JVM 仕様ではスタックのフォーマットに関しての厳密な規定はない。
目的はいろんなアーキテクチャで(無理なく)インプリできるように
するため。VM 側が保障するのはカレントメソッドがカレントフレーム
のローカル変数に正しくアクセスできることだけ。スタック自体、
連続である必要もなし、その方向も規定されていないし、データを
どのようにおくかのアライメントも規定はない。
メソッドが HotSpot compile されると compile されたメソッドの
ローカル変数になる。この時点でインタープリタモードとは変数の
おき方が変わってくる。HotSpot は小さなメソッドをインラインで
呼びもとのメソッド中に展開することもあるので、HotSpot がどの
辺りに変数を置くか予想しても無駄。それに、ローカル変数を
スタックに置くのってレジスタの足りない某社のプロセッサぐらいで、
近代的なプロセッサは可能な限りレジスタに置く。レジスタは無限
ではないので場合によってはどこかにストアされることもあるが、
どこにおくかはアーキテクチャによってことなる。
0731デフォルトの名無しさん
NGNGないが、カレントオブジェクトや、カレントスレッドにその値を
コピーしておくとか、これらに設けたフィールドを今までローカル
変数を使っていた用途に使うと、やりたいことはできるのでは?
スタックのフォーマットがわかったとして、ポインタがないのに、
どうやってアクセスするんだ?そこだけ JNI ?
アプリのつくりに手を加えられないのであれば何らかのデバッグ
インターフェイスを使うことになる。
0732デフォルトの名無しさん
NGNGリクエストレスポンスだなんて。
EJB>RMI>TCP/IPって、図式化がおかしい。
0733デフォルトの名無しさん
NGNG全く速くなった感覚がありません。SwingSetのデモでは、
相変わらずツールバーの表示に2,3秒かかるし、ビューの切り替えにも1秒近くかかるし。
ハードウェアアクセラレーション対応という事だから、何かPC側の環境が悪いんでしょうか?
当方、SharpのMebius MT2-P1を使用しています。
0734デフォルトの名無しさん
NGNGこれなら良い?
0735デフォルトの名無しさん
NGNG0736デフォルトの名無しさん
NGNG0737デフォルトの名無しさん
NGNG「"」で囲ってみるとか
0738デフォルトの名無しさん
NGNG確認したの? なんかパッケージとごちゃまぜに理解している気がするんだけど。
0739デフォルトの名無しさん
NGNGこのサイトにあるTest1.javaのソースに記述されている、
(isMale ? "男" : "女");
ってどういう意味なんでしょう?
コロンの演算子の意味は?
0740__
NGNGttp://www.yamazaki.90.kg/hankaku/hankaku01.html
ttp://yamazaki.90.kg/zenkaku/index.html
ttp://www.yamazaki.90.kg/hankaku/hankaku04.html
ttp://yamazaki.90.kg/hankaku/hankaku10.html
ttp://www.yamazaki.90.kg/hankaku/hankaku07.html
ttp://yamazaki.90.kg/hankaku/hankaku08.html
ttp://www.yamazaki.90.kg/hankaku/hankaku05.html
ttp://yamazaki.90.kg/hankaku/hankaku03.html
ttp://www.yamazaki.90.kg/hankaku/hankaku06.html
ttp://yamazaki.90.kg/hankaku/hankaku02.html
ttp://www.yamazaki.90.kg/hankaku/hankaku09.html
0741デフォルトの名無しさん
NGNG三項演算子で検索を
0742デフォルトの名無しさん
NGNG素質 &= (ひと目見てすぐ分かるか ? あり : なし)
0743デフォルトの名無しさん
NGNGisMaleがtrueなら男、falseなら女が返る。
0744デフォルトの名無しさん
NGNG条件演算子とか言えばいいのに。
0745739
NGNG禿シク、クスコ(・∀・)
0746デフォルトの名無しさん
NGNG対戦型のゲームって、ネット上の二人が、生成されたオブジェクトを
共有することによって、データがやり取りされているんでしょうか。
観戦で入ってきた人もそのオブジェクトを共有することにより、
みんなでチャットができているんでしょうか。
それが違うとしたら、どういう仕組み(文法事項)を
つかって、そういう機能を実現しているんでしょうか。
0747デフォルトの名無しさん
NGNGゲームをやるのに理屈はいらない。
0748デフォルトの名無しさん
NGNG惚れたわ・・・
0749デフォルトの名無しさん
NGNGどうしたらいいでしょうか?
#createImageとかそれっぽいのはあるんですが
具体的な実装方法がわからないんです。
(Swingコンポーネント等は使わずに1.1.xの環境で実装したいのですが)
0750デフォルトの名無しさん
NGNGやるなら Component#paint(Graphics) をオーバーライドして
そのメソッド内で g.drawImage(img, 0, 0, this); など。this ははじめは気にするな。
画像は Toolkit#getImage(URL) など使って呼び出す。
URL には Class#getResource("image.jpg") とかやっとけ
↑何書いてあるか分からなかったら API を読むことそのものを勉強。
Swing がどうこう言ってるからまぁ大丈夫とは思うが
0751デフォルトの名無しさん
NGNG>画像は Toolkit#getImage(URL) など使って呼び出す。
drawImageが使えるかも、とまでは思っていたんですが
引数のImageクラスがよくわからなかったのでこれです!
とりあえずやってみます、ありがとうございましたー。
ところでImageクラスはabstractでは無くしてコンストラクタに
new URLとかnew Fileを取れるようにしてもいいような気がするんですが
何故そういう風にはなっていないんでしょうか?
頭の中ではg#drawImage(new Image(new URLorFile("hoge")),x,y,this);
とか出来ると便利だと思うんですが
ちょっと支離滅裂な事言ってるかもしれないですけどすいません^^;
0752デフォルトの名無しさん
NGNGそんなあなたに
javax.imageio.ImageIO#read
0753デフォルトの名無しさん
NGNG継承しなくても一意に動作が保証されるなら abstract でなくてもいいが、
デバイス依存で減色の必要があるから、
abstract にしといた方が都合がいいんじゃなかろうか
Imageクラス ≒ ビットイメージだが、画像保存≠ビットイメージだし、
それなのに File や URL をインスタンスで渡すという手法はどうか。
Graphics が abstract なのも同じような理由だろう。
0754デフォルトの名無しさん
NGNG実行しようとすると、途中で止まります
0755プロの逝って良しの1 ◆MvRbZL6NeQ
NGNG0756デフォルトの名無しさん
NGNGJComponentではなくComponentを追加した時にツールチップが付かないようですが、
この認識はあってますか?それともバグでしょうか?
0757デフォルトの名無しさん
NGNGAWTとSwing混ぜて使ったら、動作は保証できませぬ。
描画の仕組みが全然違うので。
必ずどっちかだけで作りましょう。
0758デフォルトの名無しさん
NGNG了解しました。ありがとう。
0759デフォルトの名無しさん
NGNG描画の仕組みってどこまでを言っているのだ。
0760749
NGNG本当にありがとうございました・・・(TT)
0761デフォルトの名無しさん
NGNGCanvas c = new Canvas();
// JPanel p = new JPanel(new FlowLayout()); // (1)
// JPanel p = new JPanel(new BorderLayout()); // (2)
p.add(c);
t.insertTab("", null, p, "hogehgoehoge", 0);
(1)だとツールチップはでるんですが、
(2)だと出ないようです。。。
>>757さん
ただレイアウトマネージャ変えただけなのにどういうことなんでしょうか?
描画の仕組みが違うから・・・ですか?
0762デフォルトの名無しさん
NGNGBorderLayoutの場合は初回のみツールチップがJPanelの裏に隠れてしまうようです。
JFrameとJPanelのスキマ(分かりますかね?)にツールチップの破片を見つけました。
0763754
NGNGjava.lang.NoClassDefFoundError: jp/co/justsystem/ark/model/document/ArkDocument
at jp.co.justsystem.ark.Ark.createDOMTree(Ark.java:1528)
at jp.co.justsystem.ark.Ark.createNewDocument(Ark.java:1441)
at jp.co.justsystem.ark.Ark.createNewFrame(Ark.java:1177)
at jp.co.justsystem.ark.Ark.initInstance(Ark.java:1070)
at jp.co.justsystem.ark.Ark.initJDApplication(Ark.java:1148)
at jp.co.justsystem.jd.JDAStandaloneContext.startJDApplication(JDAStandaloneContext.java:267)
at jp.co.justsystem.ark.Ark.main(Ark.java:107)
訳ワカラン
0764デフォルトの名無しさん
NGNGJPanelとCanvasまぜて使ってる時点で、動作不定だとおもっとけ。
SunもJava3Dとの兼ね合いもあって今後どうにかしようとはしてい
るらしいが。
0765デフォルトの名無しさん
NGNGjava.lang.NoClassDefFoundError: jp/co/justsystem/ark/model/document/ArkDocument
このエラーって、パッケージ区切りは/だっけ?
とりあえずARK11.jarをunzipで解凍してみてくれ。
jp/co/justsystem/ark/model/document/ArkDocument.classってのがなければ、ビルドミス。
0766デフォルトの名無しさん
NGNGなるほど。。。
Canvasを使う時はSwingを使うと不安定ってことですか。。
じゃあCanvasの代わりにJCanvasを使えばいいわけですね!
・・・JCanvasが無いよぅ(つд`
0767デフォルトの名無しさん
NGNGJPanelを使えよ。#paintComponent()をオーバーライドすれば
なんでも描画できるから。
0768デフォルトの名無しさん
NGNGやる前に質問するのもアレですが、
JTabbedPaneのタブ部分のツールチップは
JPanelにCanvasを追加した後、
JTabbedPaneにJPanelを追加して
paintComponentをオーバーライド、
マウスの位置を判定してJToolTipを描画すればよい
ということですね?(激しくマンドクセー( ゚Д゚)
0769デフォルトの名無しさん
NGNGだからなんでCanvas使うんだよ。JPanel使えっつってんだろ。
0770デフォルトの名無しさん
NGNGGeckoがCanvasを返してくるのです。。。
0771デフォルトの名無しさん
NGNGwebclientっていうライブラリがGeckoをCanvasとして返してくるんです。
0772デフォルトの名無しさん
NGNGビルドログでエラーが出ているみたいです
jdkのヴァージョンを下げて再ビルドしてみます
thx
0773デフォルトの名無しさん
NGNGじゃあ、Swing使うのやめろ。
0774デフォルトの名無しさん
NGNGえ?そういう結論なのであればツールチップは素直に諦めますよ。
長々とスレ汚しスマソ。
0775デフォルトの名無しさん
NGNGうまくいくかどうか微妙だが、こういう手もあるかな。
重量コンポーネントと軽量コンポーネントの、画面上
での混在は問題があるが、単に描画ロジックだけを
借りるだけならなんとかなる、かもよ。
public class MyPanel extends JPanel{
private Canvas canvas;
public MyPanel(Canvas canvas){
this.canvas = canvas;
}
public void paintComponent(Graphics g){
canvas.paint(g);
}
}
0776デフォルトの名無しさん
NGNG0778デフォルトの名無しさん
NGNGAbortしまくりでした( ´・ω・`)ショボーン
描画がNativeなのでちょっと無理っぽいです。
すいません。申し訳なくなってきたのでこの辺で退散します。
助言くださった方々、ありがとうございました。
0779デフォルトの名無しさん
NGNGイベント以外で
0780デフォルトの名無しさん
NGNGマウスイベント自分で管理して、適当に自分で描画したら?
□を書いて中に文字列記入するだけだよね?
0781デフォルトの名無しさん
NGNG>>780
今試してみましたが、
Canvasからタブへ移動した時はMOUSE_EXITED→MOUSE_ENTEREDと飛んでくるので
捕まえることができるんですが、上側(メニューバー側)からタブへ移動した時は
何もイベントが飛んできませんでした。
イベントディスパッチャがネイティブなので、使えるのがMouseListenerだけで
MouseMotionListenerは使えないのです。残念。
>>780さん本当にありがとう(・∀・)
0782デフォルトの名無しさん
NGNGなんで単体試験が便利にできるのですか?
0783デフォルトの名無しさん
NGNGタブの5ドットほど下の位置で、上側からでも下側からでも捕まえられるのを確認したので
それを捕まえでタブの位置にツールチップ表示します。
なんとか解決したみたいです。ありが�d!!(iдi
0784デフォルトの名無しさん
NGNG単体試験クラスを実行するから(自動化)だよ。テストコードは自分で書くわけだが。
JUnitでぐぐれ。
0785デフォルトの名無しさん
NGNG1度書けば、何度でも作った分を纏めて簡単に起動できる。
なにか問題が発生したら問題が発生したことを報告してくれる。
既存のソースに何か変更をした場合、予期しない部分にバグを
作りこむ可能性が往々にしてあるけど、最初にJUnitのテストケース
を書いておけば、
ソース変更→テストケース起動→テストケースが失敗したらエンバグ
してしまったことになるので、修正→以降テストケースがすべて成功
するまで繰り返し
とやることで、常にソースの単体レベルの品質を維持できるのよ。
便利でしょ。フレームワーク自体は難しい作りじゃないんだけど、
その仕組みがやってくれることは、非常に画期的っス。
…多分どこかで似たようなものを作っている人もいるかもしれな
いけど、Java言語自身と同様のレベルで、世界中で標準的に使用
されているから、変な俺様ライブラリを使うより、コッチを使う
ほうが、将来的なコスト削減のために良い。デファクトスタン
ダードの威力の恩恵は捨てがたい。
0786デフォルトの名無しさん
NGNGそれは言い過ぎ。維持じゃなくて、期待でしょ。
テストコードそのものにバグを埋め込む可能性は否定できないし。デメリットも多数ある。
DB処理、抽象クラスのTestCaseは不慣れだと苦痛だよ。
0787デフォルトの名無しさん
NGNG漏れの経験からして、将来性のある設計より、逃げ切れる設計をやってるところが多い。
日本のSIなんて作り逃げ。と考えるとJUnitを導入してる、しようとする会社は少ない。
0788デフォルトの名無しさん
NGNGhttp://219.96.231.242/wizonline/
漏れも参加しようかなぁ〜
0789デフォルトの名無しさん
NGNGimport java.awt.*;
import java.applet.*;
class v extends Canvas {
Image i; Frame f;
public v(String path, Frame f) {
i = Toolkit.getDefaultToolkit().getImage(path);
MediaTracker mt = new MediaTracker(f);
mt.addImage(i, 0); this.f = f;
try { mt.waitForID(0);
} catch (InterruptedException ie) {}
setSize(i.getWidth(f), i.getHeight(f));
}
public void paint(Graphics g) {g.drawImage(i, 0, 0, f);}
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
Frame f = new Frame(args[i]);
aCanvas ac = new aCanvas(args[i], f);
f.add(ac);f.pack();f.show();
}
}
}
0790デフォルトの名無しさん
NGNGs/aCanvas/v/g;
0791デフォルトの名無しさん
NGNG>737
囲ってもだめでした。
>738
classpathのディレクトリではありませんでした。
javaのプログラムのパスやパラメータにピリオドがあると
/に変換されるようです。
たとえば
d.d/HelloWorldApp.class
d.d/HelloWorldApp.java
があったとして
java d.d/HelloWorldApp
を実行すると
Exception in thread "main" java.lang.NoClassDefFoundError: d/d/HelloWorldApp
となってしまいます。
0792デフォルトの名無しさん
NGNGあのね、普通はどんなクラスもパッケージに属するの。
そういうときは
% java jp.co.xxx.project1.Test
なんつって実行するの。
そのとき jar やファイルシステムは、かならず jp/co/xxx/project1/Test1.class
なんちゅうディレクトリ構成にするの。
だから d.d/HelloWorldApp は d.d ちゅうパッケージのクラスと思われとるんじゃないかのう。
0793デフォルトの名無しさん
NGNGjava コマンドで実行するときに.classファイルの場所をディレクトリ名から
指定するなんてことはふつうはしない。
トップレベルパッケージが配置されているディレクトリやjarファイルに
classpathを設定して、javaコマンドではclass名の完全修飾名を指定する。
0794デフォルトの名無しさん
NGNG2004/12/21 10:56:30
という日時を
DEC, 21, 2004, 10:56
という形式に変換したいんですがどうすればいいでしょうか?
Timestampを使えばいいんじゃないかということはわかるんですが・・・。
0795デフォルトの名無しさん
NGNGクラス名がぶつからないように会社のドメインを逆にしたパッケージ名
にするのは知っています。
例えば製品名にバージョンを入れたいときはどうするのでしょう。
jp/co/company/Product1Ver1.0/Test1.class
とか。
それとRuntimeクラスで他のプロセスとしてjavaプログラムを
実行するときも私のプログラムで同じ問題が起きました。
Runtime.getRuntime().exec("java -cp /usr/local/jakarta-tomcat-4.0.6/common/lib/mail.jar
:/usr/local/jakarta-tomcat-4.0.6/common/lib/activation.jar
:/usr/local/jakarta-tomcat-4.0.6/webapps/pd1/WEB-INF/classes/ " +
" jp/co/xxx/pd1/Test1 /usr/local/jakarta-tomcat-4.0.6/webapps/pd1/");
という行を実行したとします。(長すぎるので改行を入れました)
jp/co/xxx/pd1/Test1というプログラムに/usr/local/jakarta-tomcat-4.0.6/webapps/pd1/
というパラメータを渡していますが、Test1で受け取ったパラメータは
すると4.0.6の部分が4/0/6になってしまいます。
0796デフォルトの名無しさん
NGNG逃げ切れる設計って良い表現だな。今度使わせてもらうわ。
まあ要件もちゃんと詰めれば無元大じゃ無いんだから、落とし所をはっきりさせて逃げ切れれれば上出来と思うが。
正直、行き当たりばったりで作られるのも困るが、落とし所を考えない夢の設計をされるのも困ってしまう。(基盤系は除く)
0797デフォルトの名無しさん
NGNGSimpleDateFormatと言いたいけどちょっと無理かも
>>795
>例えば製品名にバージョンを入れたいときはどうするのでしょう。
>jp/co/company/Product1Ver1.0/Test1.class
「.」はパッケージの区切り文字なのでパッケージ名には含めないでしょう。
javaコマンド実行時に-classpathで指定しないで
set classpathで設定後javaコマンド実行ってのは?
0798デフォルトの名無しさん
NGNGパッケージ名とはそもそもドメインであるから、 . を入れること自体がナンセンス。
_ などで置き換える (- も _ で置き換える)
>Test1で受け取ったパラメータは すると4.0.6の部分が4/0/6になってしまいます。
パラメータがパス等を表したものとは限らない。
なのに勝手に java がパッケージに解釈してしまっているということになる
信じられん。ソース晒せ。
0799デフォルトの名無しさん
NGNGJava3Dでオンラインゲーム?
著作権問題に引っかからないのかな?
オープンソースじゃないんだね
0801デフォルトの名無しさん
NGNG「という日時を」ってのはStringなわけ?
Dateなわけ?それ以外の何か?
質問があいまいです。
0802デフォルトの名無しさん
NGNG長くなるので変なところで改行入れさせてもらうけど、これでどう?
System.out.println(
DateFormat.getDateTimeInstance(
DateFormat.LONG,
DateFormat.SHORT, Locale.US
).format(new Date()));
出力はちょっと違うけどね。
May 8, 2003 12:52 PM
0803デフォルトの名無しさん
NGNGご返事ありがとうございます。
ピリオドを無理にディレクトリにつける必要はないですね。
javaの流儀ってことでしょうか。
あと、パラメータの.が/になるのはいま実行してみると
なっていませんでした。そのときは.を別の文字に変換して
渡すようにしたので確かにそうなっていたのですが。
0804802
NGNG12->Dec.のような変換はjava.text.ChoiceFormatを使うと簡単にできるよ。
0805デフォルトの名無しさん
NGNGさせると起動はするんですが自分じゃなくてユーザーがSYSTEMになっており
プロセスは確認できますが画面が表示されません。
実際はRuntime.getRuntime().execからclassファイルを動作させたいんですが
何が悪いんでしょうか?又大丈夫なんでしょうか?
0806デフォルトの名無しさん
NGNGSimpleDateFormat formatter = new SimpleDateFormat ("MMM dd yyyy hh:mm", Locale.US);
これで駄目だ理由を教えてくれ。
0807デフォルトの名無しさん
NGNG説明不足ですみません。
String sDate = "2004/12/21 10:56:30";
DateFormat sdtFormat = DateFormat.getDateInstance();
java.util.Date sdate = dtFormat.parse(stDate);
SimpleDateFormat formatter = new SimpleDateFormat ("MMM dd yyyy hh:mm", Locale.US);
sDate = formatter.format(sdate);
System.out.println(stDate);
こういう感じでStringでとったものをdate型に変換して実行してみたのですが、
これでは時間が正常に表示されないので困っています。
0808797
NGNG>>794が月を出力したい形式が
MMMでフォーマットしたものをtoUpperCase()で大文字にしたものでよければ
それでいけるなあと思ってたらそれでOKっぽいですね。
>>794
DateFormat sdtFormat = DateFormat.getDateInstance();
↓
DateFormat sdtFormat = new SimpleDateFormat( "yyyy/MM/dd hh:mm:ss" );
これでいけます。
0810デフォルトの名無しさん
NGNGRuntime.getRuntime().execに渡すパラメータを"start notepad.exe"
にしてやってみたら?
0811デフォルトの名無しさん
NGNG試してみましたが駄目でした^^;
0812デフォルトの名無しさん
NGNGうちの環境(Tomcat3.2.4)では
Runtime.getRuntime().exec( "notepad.exe" );
で普通にメモ帳のウィンドウが開いてます。
0813デフォルトの名無しさん
NGNGcmd.exe /c start /MIN ほげほげ
とか。
0814デフォルトの名無しさん
NGNGCSVファイル(カンマ区切り)を読み込み、
StringTokenizer(String,String)を使用し、
各フィールドを配列に入れるのですが、
なにも無いフィールドに遭遇した場合、
配列に入りません。
どのようにすれば、入力のないフィールドも配列に入るのでしょうか?
例:
1,山田太郎,2003/05/08,,,,
配列には、
1
山田太郎
2003/05/08
となっています。
以降の4つが、欠落します。
0816デフォルトの名無しさん
NGNGchar separator = ',';
StringTokenizer st = new StringTokenizer(String, "" + separator , true);
int i = 0;
while (st.hasMoreTokens()) {
String str = st.nextToken();
if (str.equals("" + separator)) {
i++;
} else {
array[i] = str;
}
}
初期化も忘れずに。
0817814
NGNGそのメソッドを教えていただけませんか?
0818デフォルトの名無しさん
NGNGJSPでいけました?
失礼ですが当方OSはWinXPなんですけど違うのでしょうか?
又、動作した時のプロセスのユーザーはSYSTEMでしょうか?もしくは自分に
なっていますでしょうか?
すみませんがお教えいただけないでしょうか?^^;
0819デフォルトの名無しさん
NGNGそうなんですか・・・。
用はJSPから印刷プログラムであるclassファイルを起動させようと
したいんですが皆さんはどのようにされているのでしょうか?
TomcatはSYSTEMで自動起動させたいのでできれば変更したくないのですが・・
0820812
NGNGただ私はTomcatをバッチ叩いて起動しているので
Tomcat,Notepadともにユーザ権限で動いています。
ところで疑問なんですが、
Javaのclassだったらわざわざプロセス立ち上げなくても呼び出せませんか?
0821デフォルトの名無しさん
NGNG未熟なものでとりあえず外部ファイルを動作させるには
皆さんRuntimeを使ってそうでしたのでこれでしようかと思っただけです^^;
beansとして呼び出せばいいということでしょうか?
もしくは他に方法があるのでしょうか?
あるのでしたら是非教えていただきたいのでよろしくお願いします。
0822デフォルトの名無しさん
NGNGそのクラスに引数を与えたいんですがどうしたらいいのでしょう?
0823デフォルトの名無しさん
NGNG意味が分からんが
public class a
{
public a(int x)
{
}
}
0824デフォルトの名無しさん
NGNGあ、すいません曖昧で・・。
あるClassファイルで取得した引数をそのファイル内で作成する
classA B=new classA();
新しいオブジェクトに渡したいということなんですが・・
書き方変なのでわかりますでしょうか?
0825デフォルトの名無しさん
NGNG全然わからん。
0826デフォルトの名無しさん
NGNGコンストラクタへの引数を、そのクラスのクラス変数なりインスタンス変数なりに設定すればいいんでは?
public class Age
{
private int x;
public Age(int x)
{
this.x = x;
}
public void hoge(){
Sage sage = new Sage(this.x);
}
}
意味違う?
0827デフォルトの名無しさん
NGNGデータがクオートされている場合を考えてないみたいだが
それで十分なCSVファイルなんだったら
String#split(String separator) でも使っとけ。
0828デフォルトの名無しさん
NGNGttp://www.wakhok.ac.jp/~tomoharu/Java/csv/
このライブラリ使ってみては。
ソースも色々と参考になるよ。
0829デフォルトの名無しさん
NGNGVMにクラスをロードするのは別な方法で行う。ちょっとだけヒント。
Class.forName("ほげほげ");
Runtimeクラスは、Win32環境であれば
Win32Processを取得し、それからサブプロセスの起動。という手順になる。
0830デフォルトの名無しさん
NGNGstringbufferクラスはなんでequals()メソッドをオーバーライドしてないんでしょう?
stirngはしてるのに
BUFFERとして使うべきであまり比較はしないからかな
0831デフォルトの名無しさん
NGNGStringをstringと表記する時点でスキルも説得力も零。
0832830
NGNGなんだかわかりませんが自分で考えてみる事にします
0833デフォルトの名無しさん
NGNG>BUFFERとして使うべきであまり比較はしないからかな
何と言いますか、物事を考えるときの「自分の中での前提」ってやつを信じ過ぎ。
0834デフォルトの名無しさん
NGNG> ?疑問にスキルと説得力が必要?大文字にしないだけで?
> なんだかわかりませんが自分で考えてみる事にします
必要に決まってるだろ。あんたの場合、自分の疑問を自分で理解できていない。
0835デフォルトの名無しさん
NGNG整理してから質問しろや
0836デフォルトの名無しさん
NGNGこれがわかってないんじゃ手のつけようがないな。
0837デフォルトの名無しさん
NGNG内容比較が出来て、プリミティブ型のように、値を代入出来るオブジェクト。
equals(内容の比較)は、javaではデフォルトでバリューオブジェクトのみに実装されている(はず)。
StringBufferはあくまで操作用のオブジェクトで、代入はサポートされてない。
0838デフォルトの名無しさん
NGNGはい、勉強しなおしておいで。
0839デフォルトの名無しさん
NGNG混乱を招く才能ありだな
0840デフォルトの名無しさん
NGNGミュータブル、イミュータブルオブジェクトの違いと使い分けに言及して
欲しいところだな。
0841830
NGNGStringクラスはequals()メソッドを「2つの文字列の内容が等しい」
かどうかを判断するようにオーバーライドしてるわけですが、
StringBufferクラスはなぜそのようにオーバーライドしていないのかと
StringBuffer sb1 = new StringBuffer("hoge");
StringBuffer sb2 = new StringBuffer("hoge");
sb1とsb2が同じと判断されない
こんなカンジですか
これでわからないなら無視してください
0842デフォルトの名無しさん
NGNGアナタ、完全独学の孤高の人ですね。
0843デフォルトの名無しさん
NGNG「間違ってるけど妙にその気にさせられる。(騙される)」こと言うよね。
0844デフォルトの名無しさん
NGNG0845デフォルトの名無しさん
NGNGStringは内部の文字列が変更不可能なので、equals()の結果は常に一定。
StringBufferは内部の文字列が常に変更可能であり、また積極的に変更
することを前提に作られているので、あるタイミングで中身が同じかど
うかを調べることに意味があるべきでないのですよ。比較がしたいなら
String使えと。
きちんとString(文字列定数)とStringBuffer(Stringを生成する為の短
時間のバッファというイメージで使って欲しい)を使い分けなさい、とい
うお話ですな。
0846デフォルトの名無しさん
NGNG大漁だな
0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNGauto-fill-modeで書いてるんだろ
0850デフォルトの名無しさん
NGNGそのまま例文をコピペで写したのですが
最初の宣言の
package sp.scoread.command_add_avg_find_del;
import common.Input;
の部分で、パッケージcommonは存在しませんと言われるのですが
原因として何が考えられますか?
多分全文載せる必要ないだろうと思ってこれしかとりあえず書きませんが、
もし書く必要があったらいってください。150行位ありますが。。
0851デフォルトの名無しさん
NGNGそのまんま。
0852デフォルトの名無しさん
NGNG0853850
NGNGいや、できれば解決策を教えてほしいのですが。。
0854デフォルトの名無しさん
NGNGクラスパスに入っていない
はい次
0855デフォルトの名無しさん
NGNGhttp://www.gimlay.org/~javafaq/S017.html
0856850
NGNGJDKとは別途でなんか入れなければいけないということですか?
これできないと先に進めないんでしつこくてすいません。。
0857デフォルトの名無しさん
NGNGこれくらいわからないと先に進んでも意味がないんでしつこくてすいません。。
0858デフォルトの名無しさん
NGNGどんなもんだか考えようよ・・・。
0859デフォルトの名無しさん
NGNG0860デフォルトの名無しさん
NGNG小学生にスマタ教えるような事すな。
0861850
NGNGつまり、プロンプトでjavaは認識されるようにクラスパスは通したのですが、
それとは別にパッケージのクラスパスを通す必要があるってことですか?
それとも、きちっとjavaのクラスパスを通してないってことですか?
0862デフォルトの名無しさん
NGNG0863デフォルトの名無しさん
NGNG0864デフォルトの名無しさん
NGNGおまえんとこの教授はキチガイか?
0865デフォルトの名無しさん
NGNG0866デフォルトの名無しさん
NGNG0867デフォルトの名無しさん
NGNGコンパイルだけでも今すぐ通したければ、とりあえずスタブのcommon.Input作って
明日教授によこせゴルァ!!しる。
0868デフォルトの名無しさん
NGNGhttp://www.mon.com/ に逝って共通入出力ライブラリを落としてくれば
問題ないのでは?
0869850
NGNG一応URLです。
http://www.crew.sfc.keio.ac.jp/lecture/2003objprog/note/04/index.html
でも、パッケージ落とせとかどこにも書いてないんですよね。。
一応Cはやってたんで、文法しらなくても内容とかくらいはほぼわかるんですが、
しょっぱなからつまづいてしまって。。
0870850
NGNG0871デフォルトの名無しさん
NGNG入 力 拾 う プ ロ グ ラ ム ぐ ら い
て め ぇ で 書 き や が れ
ゲッツ
0872デフォルトの名無しさん
NGNGちょっと気になった
>100人の成績を管理するということになれば、 プログラムを書くよりも手計算のほうが早いぐらいの作業量になるでしょう。
変数羅列より配列を使え。って意であることは容易に解るが、
プログラムを一回しか使わないかのように表現してあるのは問題あり。
システム化を解っちゃいないね。筆者。机上経験のみだね。
0873デフォルトの名無しさん
NGNGそうだな。
「プログラムを書くよりもエクセルにぶっこんだ方が早いでしょう」にすべきだな
0874デフォルトの名無しさん
NGNGKO卒でーすって入って来るのかよ...鬱。
0875デフォルトの名無しさん
NGNG大人数の成績を管理するにはエクセルにデータ入力し、
エクセルの計算機能を利用してデータを算出する。
必要とあらばマクロを作成する。
0876デフォルトの名無しさん
NGNGなんかワラタ(w
0877デフォルトの名無しさん
NGNGそれをCOMブリッジ経由でJavaから読み書きする。ってのがこのスレの趣旨に合う
0878デフォルトの名無しさん
NGNGそこまでやればなんかある意味合格点をもらえそうだ
0879デフォルトの名無しさん
NGNGやぶ遅くすみません。COMブリッジの話題が出たので、
最近、脇毛が長いと感じるのが悩みの種である私に1つ質問させてください。
COMブリッジで一般的な物は何ですか?どれが熱いですか?
その前に、COMブリッジの用途があまり思いつかないのですが・・・・
0880デフォルトの名無しさん
NGNGExcelをCOMで起動してExcelファイルをJavaで読むってのが
一番多いんじゃないの。他に使い道あるかねえ?
0881デフォルトの名無しさん
NGNGJDBC-ODBC ブリッジドライバでも良いかも
0882デフォルトの名無しさん
NGNGスレの趣旨的には、JakartaのPOIのほうが…
0883デフォルトの名無しさん
NGNG同様に成績データを取得し、エクセルで表示。
0884デフォルトの名無しさん
NGNGエクセルデータをわざわざJavaで読み込むメリットつーか、そこまでJava?
って俺は思うが。仕事でJava-Excelって言ったらCVSがいいとこでしょ?
0885884
NGNG0886デフォルトの名無しさん
NGNGJakartaのPOIとか、JExcelAPIとか、便利だよ。
Excelを使って入力インターフェイスの自作を手抜きしたり、
Excelを帳票出力として使ったり。Servlet上で、MS-Excelが
ない環境でそれが出来るって、スゴイ便利だと思うけど。
ExcelシートをServletで生成して、IEに配信して、IE側で
Excelをプラグイン起動してもらって、Excel上に受信した
ファイルを表示とか。ボタン押せばExcelのレイアウタ使って
印刷できる。
IEからfileUploadでExcelファイルを送ってもらって、Servlet
でソレを解析してDBに放り込める。
COMブリッジは、結局COMを動かせるプラットフォームが必要
だから、こういう用途ではいまいちだね。みんな、WindowsNT
Serverなんか使いたくないでしょ?
0887デフォルトの名無しさん
NGNG>Excelを使って入力インターフェイスの自作を手抜きしたり
Excel→Servletって解釈で間違ってないでつか?便利そう。
COMブリッジって、HTTP通信できるの??なんか理解できなくなってきた・・・・。
ブラウザじゃなくてExcelをクライアントにすることも可能なわけ?
0888デフォルトの名無しさん
NGNGエクセル入ってればいいってものじゃないんだ?
Win2kでJCOMのサンプル動かせた覚えがあるのだが。
0889デフォルトの名無しさん
NGNGいや、これはCOMブリッジを使わない方法の話。
>>886の例は、PureJavaでExcelファイルを解析、生成してしまう荒技を使え
るライブラリを、Servletで使うという話ですよ。
IEは、レスポンスのContentTypeがApplication/Excel(だったかな?)
だった場合、IEのView上にExcelを起動して、そこにレスポンスを貼り付
けてくれるのですよ。だから、Servletで単にExcelファイルを作ってレス
ポンスに流し込めばいいだけ。
COMブリッジは、Windows上でしか使えないという足枷があるので、サーバー
サイドでこういう使い方をするのは向いてない。サーバは大抵Unixとかだし。
0890デフォルトの名無しさん
NGNGWinなら普通動くでしょ。問題は、普通Windowsのサーバーなんて
使わないということ。
0891デフォルトの名無しさん
NGNGMIMEタイプでサーバ→クライアントにはExcel流せるけど、
漏れが気になったのは、Excel→COM→Servlet。リクエストできるのかどうか。
VBで言うIEコンポーネントか何か忘れたけど、VBAで突っ込んだらできるとかいう噂はないのかな。
0892bloom
NGNG0893デフォルトの名無しさん
NGNG普通に
ファイルをServletに渡す→Servletで解析。
でいいじゃん。CSVとかでもそうしてるんでしょ、あんた。
0894デフォルトの名無しさん
NGNG客には出せないけど、ツールとしてどこまで有用に使えるかなと思ったわけ。
エクセル内1クリックでエクセルからのXMLデータをサーバに送れば何かできそうな予感。
0895デフォルトの名無しさん
NGNGさっきから喪前はナニ言ってんの?
その案、俺が頂く。まじで商売できそうだ。
0896デフォルトの名無しさん
NGNG入力の形式を制限したいなら、そんな面倒なことを考えるより、
GUI普通に書くほうが楽でしょ。
0897デフォルトの名無しさん
NGNGどーせ世の中、企業で使われるOSと文書フォーマットの9割は
Excel(&Word)なわけだし。
0898デフォルトの名無しさん
NGNGGUI書いたら配布がめんどうなのです。
配布することは既に時代遅れであり、その後ブラウザが主流ってことで
Servlet等がもてはやされているのかと、半分推測。
次はExcelです。Excelもブラウザと同様、殆どのクライアントに入ってる状況ですし。
制限は入力規制+VBA制御。エクセルをある程度使える層がエンドユーザ。
VBAは配布するのではなく組み込みでレスポンス。
0899898
NGNGついに来ました。WebStartを使う時が。クライアントに強制インスコした後は、
RMIでぬっころす。
0900デフォルトの名無しさん
NGNGWebStartは便利ですが、FW越えの問題があるのでRMIはイカガナモノカト。
RMIでFW越えするときは、どうせhttp使っているので、RMIのメリットないよ。
0901デフォルトの名無しさん
NGNGRMI使うことのメリットはHTTP使わないことではないだろ。
漏れは>898のように奇抜なアイディア言う香具師は貴重だと思っているが。
0902デフォルトの名無しさん
NGNGキモイ、キモ過ぎ。大嫌いです。
0903デフォルトの名無しさん
NGNGString workに0から10、AからZ、aからzをループで値をとって、
最終的に出力結果が
work = [01234...abcd...ABCD...Z]
となるようにしたいんですが、どういう方法がいいでしょうか?
やはり配列を使ったやり方がいいんでしょうか??
0904デフォルトの名無しさん
NGNGいまいち意味が分かるような分からんような
つまり
String work;
//何か素敵な処理
System.out.println(work);
の結果が 012345678910abcd... になればいいのか?"[ ]"は要るの?
ついでに
>0から10、AからZ、aからzをループで値をとって、
>work = [01234...abcd...ABCD...Z]
ここの順番が矛盾してるよ。
0905デフォルトの名無しさん
NGNG>String work;
>//何か素敵な処理
>System.out.println(work);
>の結果が 012345678910abcd... になればいいのか?"[ ]"は要るの?
はい、そうです。
"[]"もいります。
>work = [01234...abcd...ABCD...Z]
>ここの順番が矛盾してるよ。
間違えてました。表示結果は、
work = [01234...ABCD...abcd...z]
です。
0906822
NGNGまさにそのとおりです。
ありがとうございました、助かりました^^
0907デフォルトの名無しさん
NGNGStringBuffer buf = new StringBuffer();
buf.append('[');
for(char c = '0' ; c <= '9' ; c++)
  buf.append(c);
/*
*後は↑と似たような処理につき省略
*/
buf.append(']');
String work = new String(buf);
System.out.println(work);
もし授業で習ってるとかでStringしか使っちゃ駄目なら
buf.append(c)とかの代わりに work += c; とかでもいいけど
0908デフォルトの名無しさん
NGNG0910デフォルトの名無しさん
NGNGいま、独学中でちょっとしたプログラムを書き終えてバグ取りしてるんですが、
int型の変数の入力を求めたときに、String型の入力をされると
型不正で終わってしまうのですが、数値しか入力できなくすることはできるでしょうか?
0911デフォルトの名無しさん
NGNGどんなプログラムかわからないけど
変数に設定するまえに数値がどうかチェックすれば?
0912デフォルトの名無しさん
NGNGどうしてなんでしょ?
classからclassを呼ぶ処理をしていますが
コンパイル時に認識できないエラーがでます。
0913デフォルトの名無しさん
NGNGclasspathの設定が間違っている
0914910
NGNGその方法も考えたんですが、今いろいろ調べてtry,catchをつかってエラー処理を
入れるのに取り組んでいるのですが、きちんと数値を入力されるまでwhileで
ループするようにしたら、取り込もうとしている変数が初期化されていないと言われてしまいますが
なぜでしょうか?わかりますか?
0915912
NGNGCLASSPATHには同じ階層.;は含めているんですが
他に何か必要なんでしょうか?
又、Packageにしないと同じ場所でも正常にコンパイルできます。
0916デフォルトの名無しさん
NGNGsrcというディレクトリにソースがあるとして
aaa.bbb.ccc というパッケージだったら
ディレクトリ構成は \src\aaa\bbb\ccc となっているはず。
この場合classpathはsrcディレクトリに通す。
912はcccに通してるでしょ?
0917デフォルトの名無しさん
NGNGごめんなさい。
カレントディレクトリだけでいけるのかと思ってたので
そこは通していませんでした。
今、javac -classpath .. hoge.java
とやったらいけましたので多分それが原因だと思います。
ありがとうございました。
0918デフォルトの名無しさん
NGNGtry catch部分を別メソッドにして中でループさせるとか。
数値取得に成功したら値を返す。
0919デフォルトの名無しさん
NGNGClass.forName("ほげ")
で試したのですが反応がありません、ただの屍のようです。
JSPの画面もエラーはいっさいですに表示されます。
これだけで本来はClassのメインメソッドが実行されるのでしょうか?
又、Beansとして試したんですが
(outパッケージ、Print.classのPrintメソッド実行)
org.apache.jasper.JasperException: out.Print.Print()V
なエラーが表示されて困っています。
後ろのVっていったい・・(;;)
0920ガコーウでもNIKIさん ◆v4/cherryA
NGNGImage value_img[]=new Image[13];
value_img[1] = getImage(getDocumentBase(),"1.jpg");
value_img[2] = getImage(getDocumentBase(),"2.jpg");
(以下略)
とかするのあまりにたるすぎるんですがこれってforでまわせねーの?
組み込み分を
value_img[counter] = getImage(getDocumentBase(),"counter.jpg")
とかしちゃうと延々とcounter.jpgを読み込みそうな悪寒がするんですが
0921デフォルトの名無しさん
NGNGはぁ?
counter + ".jpg"
0922デフォルトの名無しさん
NGNGvalue_img[counter] = getImage(getDocumentBase(),toString(counter)+".jpg");
hogehoge++;
}
0923デフォルトの名無しさん
NGNGString変数に格納されている文字列に、
全角文字が含まれているかを判定したいです。
私にはその方法が皆目見当もつきません。
どうでしょ??
0924デフォルトの名無しさん
NGNGchar c = 'あ';
if(c > 255) System.out.println("全角文字っぽいような気がする");
else System.out.println("たぶん全角じゃないぽ");
0925デフォルトの名無しさん
NGNGString.getBytes().length と String.length() で長さが違ったら
含まれている、同じだったら含まれていない、じゃだめ?
0926デフォルトの名無しさん
NGNGどうもありがとうございました。
助かりました。
>>294さんへ質問です「っぽい」&「たぶん」と記述しているので、
確実に判定は出来ないのでしょうか??
それとも、「っぽい」&「たぶん」は、ちょっとしたお茶目ですか?
(・∀・)つ
0927デフォルトの名無しさん
NGNG本体がSYSTEMで動作させていた場合、指定したプログラムもSYSTEMに
なってしまい印刷が行えません。
どうしたらいいのか教えてください。Web板の方がいいのかな?
0928デフォルトの名無しさん
NGNG>>924-925 の方法で完全にってのは無理でしょ。
>>924 では255以上でも半角カタカナやら ISO8859X のアルファベットやらもあるし。
>>925 でもSJISでは半角カタカナは1バイトだし。
完全にやりたければ 日本語用全角/半角テーブル使って判定するとかしないとだめ。
おまけに同じコードの文字でも全角/半角は日中韓で違うらしいし。
0929デフォルトの名無しさん
NGNG・SYSTEM権限で動いているからって印刷できないわけがない。
・Class.forName("ほげ")だけじゃあクラスのオブジェクトを
取得してるだけなので動くわけがない。
っつうか、普通にclasspath通してpackageインポートして
Print print = new Print();
print.Print();
とかで呼び出せないの?
0930デフォルトの名無しさん
NGNGクラスを動かしたら印刷できなかったかとか、Beanとして
どう動かしたら駄目だったかとか、その印刷プログラムは
GUIでユーザからの入力が必要なのかとか、答えるのに必要
な情報全然かいてないよ。頑張れとしかいいようがない。
正直、リフレクションを使うべきかどうかもわからん。
0931デフォルトの名無しさん
NGNGその印刷プログラムとやらをさらしたほうが早いんじゃないかと
おもったりして。どうせどっかのWebサイトから拾ってきたんだろ?
0932デフォルトの名無しさん
NGNGここ見るとDLLの移動とCLASSPATHの設定だけで出来そうなんですが、
なぜかサンプルも実行できないんです。
誰か助言お願いいたします。
「CLASSPATHの設定」
set CLASSPATH=C:\j2sdk1.4.1_02\jre\lib\ext\jsparrow.zip;.
「JSparrow」
http://home.att.ne.jp/red/aruga/jsparrow/installation-j.html
0933_
NGNG川o・-・)ノ <先生!こんなのがありました!
http://www.yoshiwara.susukino.com/hankaku/hankaku07.html
http://yoshiwara.susukino.com/hankaku/hankaku08.html
http://www.yoshiwara.susukino.com/hankaku/hankaku10.html
http://yoshiwara.susukino.com/hankaku/hankaku07.html
http://www.yoshiwara.susukino.com/hankaku/hankaku03.html
http://yoshiwara.susukino.com/hankaku/hankaku05.html
http://www.yoshiwara.susukino.com/hankaku/hankaku01.html
http://yoshiwara.susukino.com/hankaku/hankaku06.html
http://www.yoshiwara.susukino.com/hankaku/hankaku04.html
http://www.yamazaki.90.kg/hankaku/hankaku09.html
0934デフォルトの名無しさん
NGNGである「.(つまりカレントディレクトリ)」が上書きされる。だから、
932の設定だけだとカレントディレクトリが含まれなくなるので
java TeapotCanvasでは実行できなくなる。説明でも「追加」
とわざわざかいてあるやね。あと、JAVA_HOME\jre\lib\extは
拡張クラスパスといって、環境変数CLASSPATHや-cpオプションで
指定するユーザクラスパスの内容にかかわらず検索されるから
自分で設定する必要は無いよ。このあたり詳しくは、
http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/win32/classpath.html
を参照のこと。
0935934
NGNG0936デフォルトの名無しさん
NGNG文字や画像を消すにはどうしたらいいでしょうか?
オブジェクトは文字や画像を消去後も他の物を表示するために
廃棄は出来ないんですが、こういう場合どういった処理をすればいいですか?
0937デフォルトの名無しさん
NGNGエレガントなやり方思い浮かばないからパス
配列使うと、無理やり使うような変な解答しか思い浮かばん
0938デフォルトの名無しさん
NGNG背景色で塗りつぶしたら?
0939デフォルトの名無しさん
NGNGあと、宇宙みたいなバックにしたいのですが、サイズの小さな画像をいくつも並べて
全体に表示できるようにする方法はありますか?
0940デフォルトの名無しさん
NGNG>SJISでは半角カタカナは1バイトだし。
全角文字が含まれているかどうかだからいいんじゃないの?
日本語が含まれているかどうかじゃないでしょ?
0941デフォルトの名無しさん
NGNGsetOpaque()で、透明なJPanelとか作れるから、それ使いなされ。
バックにバック用の画像を張ったJPanelを張って、それに透明なフォア用の
JPanelを張ればよし。
>あと、宇宙みたいなバックにしたいのですが、サイズの小さな画像をいくつも並べて
全体に表示できるようにする方法はありますか?
JAVA2Dのjava.awt.TexturePaint使えばヨロシ。
0942932
NGNGいえ変な質問ですいませんでした。一応エラーみたいのは
JSparrow ver. 0.944 beta for evaluation or trial only
All Rights Reserved. Copyright(C) PFU LIMITED 1999-2000
java.lang.ExceptionInInitializerError
at jsparrow.gl.OGLCanvas.<init>(OGLCanvas.java:80)
at TeapotCanvas.<init>(TeapotCanvas.java:9)
at Teapot.init(Teapot.java:9)
at sun.applet.AppletPanel.run(AppletPanel.java:348)
at java.lang.Thread.run(Thread.java:536)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission loadLibrary.jsparrow)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
at java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.SecurityManager.checkLink(SecurityManager.java:834)
at java.lang.Runtime.loadLibrary0(Runtime.java:782)
at java.lang.System.loadLibrary(System.java:832)
at jsparrow.gl.OGL.<clinit>(OGL.java:179)
... 5 more
こんな感じでずらずらと…もう少し粘ってみます。
0943デフォルトの名無しさん
NGNGhttp://java.sun.com/j2se/1.3/ja/download.html にあるらしいんですが、JDK1.3って略称なんですか?
いったいどれがJDK1.3なのか教えて下さい。お願いします
0944デフォルトの名無しさん
NGNGJ2SEに読み替えてクレ。
0945デフォルトの名無しさん
NGNG0946デフォルトの名無しさん
NGNG×それに今から始めるならJ2SE 1.3だろ
○それに今から始めるならJ2SE 1.4だろ
0947デフォルトの名無しさん
NGNG0948デフォルトの名無しさん
NGNG0949927
NGNG>>929
print.Print();でやったところ
ページを読み込んでる状態で反応がありません。
ステータスバーの青のバーが徐々に長くなっていってるだけです。
>>930
Beansは <jsp:useBean id="test" scope="page" class="out.Print" />
test.Print();
としましたが>>919に書いたようなエラーが出ます。
ただし、TomcatをSYSTEMじゃなく自分で動かしていると正常に動作します。
入力が必要といいますか印刷時にプリンタのダイアログをだしたいんです。
>>931
ソースです。http://www.gihyo.co.jp/book/2002/225271/download/choko10.lzh
Print.classで起動します。
それとPrintクラスのmainメソッドをPrintと変えてやってます。
JSPから呼ぶのにMainメソッドではだめなのかなと思いまして(;;)
一応 Class cls = Class.forName("Print");
Method method = cls.getMethod("Print",null);
Object ret = method.invoke(cls.newInstance(),null);
ともやってみたのですがこっちは
org.apache.jasper.JasperException: Print.Print() とエラーがでます。
とりあえずJSPからソースプログラムが正しく動かせればいいので
よろしくお願いします。
0950デフォルトの名無しさん
NGNGそのリンク先、なんで俺のHDDにすでにファイルがあるのかと
おもったら、653なのか。927もそうなんだけど、一連の質問を
いちいちリセットしながらたずねるのは効率悪いなと思ったり。
0951927
NGNGせこくてすいません。
質問内容が全く違ったりまとめてすると(自分および皆さんが)
ややこしくてわかりにくいかなーって思ったもので。
俺って邪魔ですか?
0952デフォルトの名無しさん
NGNGああいう雑誌のサンプルプログラムはあくまでも機能の使い方を学ぶ
ものなんだから、そしゃくしてちゃんと自分でコード起こさないと駄目だよ。
0953デフォルトの名無しさん
NGNGそいでまずはブロックとボール動かすとこまでは来たわけ。
次はさ、マシーンみたいのをキーボードで操って
そっからボールが出てくるみたくしたいんだけど
キーボードからの入力がぜんぜんわからんくてさ
教えてください。
0954デフォルトの名無しさん
NGNGCで実装して、JNIで拾え
0955デフォルトの名無しさん
NGNGKeyEvent とか KeyListener とか。
0956デフォルトの名無しさん
NGNGpaintってどこでも呼び出せてないのに、どうしてちゃんとイメージが描写されるんでつか?
0957デフォルトの名無しさん
NGNGawtたんとかswingたんが呼んでまつ。
0958デフォルトの名無しさん
NGNGウィンドウ(Frame)の再描画イベントで呼び出されます。
0959デフォルトの名無しさん
NGNGん?どゆことでつか?
awtが呼ぶようになってるのはどうしてでつか?
Canvasを継承したらそういうふうになるの?
0960デフォルトの名無しさん
NGNGpaint()メソッドは Canvasが Componentから継承したメソッドです。
すべての JDKのコンポーネントは、再描画が必要になった時(
それを知らせるイベントが伝達された時)、
この paint()メソッドが自動的に呼び出される仕組みになっています。つまり描画処理のメソッド名はあらかじめ定められているわけです。また描画に必要となる Graphicsのオブジェクトは、 paint()の引数として与えられます。
原則として描画の処理はすべて
paint()のような描画専用のメソッド
(もしくはそこから間接的に呼び出される下請けのメソッド)
の内部にまとめて記述します。そうしておかないと、
再描画の処理が完全に実行できないからです。
0961デフォルトの名無しさん
NGNG0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNGどぞ。
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/index.html
0964デフォルトの名無しさん
NGNG知りたいのですが, どこで勉強できるのでしょうか?
最適なコードを見やすく書きたいのでよろしくお願い致します.
0965デフォルトの名無しさん
NGNG結構改善の動きが早いから昔の情報は役に立たないし、
http://www.gimlay.org/~andoh/hatena/JavaPerformanceTuning/
から関係ありそうな話題をピックアップしてくとかかなあ。
もちろん自分でバイトコードとかベンチマークを調べるのは当然として。
0966964
NGNGなるほど, 見てみます.
964 質問の追記.
# 私が知りたいことを簡単に書きますと,
2 つの連続したSystem.out.print() が
バイトコードに変換された際には1 つに結合される
と言ったことなんですけど.
0967デフォルトの名無しさん
NGNGまずはここからJDKのソースを入手する。
http://wwws.sun.com/software/java2/download.html
で、展開されたソースの hotspot/src/share/vm 以下とか
hotspot/src/cpu/i486/vm 以下を読んでみると良いんでない?
0968967
NGNG忘れてちょ。
0969デフォルトの名無しさん
NGNGインターフェイスってなんの為にあるんですか?
インターフェイスの宣言で、メソッドの中身って書かないじゃないですか。
じゃあ、なんで実装する必要があるの??
継承はメソッドの中身等も全て引き継ぐから分かるんですけど。
アホな質問スマソ。
0970デフォルトの名無しさん
NGNGオレも初心者だが、Javaでは多重継承(二つ以上継承すること)ができないため
インタフェイスがあると思われ。インタフェイスなら複数実装可能だから、
ほとんどすべてのクラスに共通するような変数とかまとめてインタにしておいて
全部で実装とかだと思ってるんだけど
合ってまつか?(((((( ;゚Д゚)))))ガクガクブルブル
0971デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNG↑ここに書いてあるとおりにjarファイルを作ってみたんですが、
ダブルクリックしても
Could not find the main class. Program will exit!
とか出て実行できないんです。
ちゃんとMain-Class: P1って指定してるのに。
なぜだかわかる人いませんか?
コマンドプロンプトでなら実行できるんですが、めんどいんです。
0974デフォルトの名無しさん
NGNGそのインターフェース実装してるクラスは、必ずそのインターフェースで定義されてるメソッドを実装している。
つまり窓口があらかじめ決められてるのと同じなので、他の人から見ても扱いやすくなる。
0975969
NGNGスレッドではRunnable、アクションイベントではActionListenerといった様に
実装させないといけないのは何故ですか?
「クラスを使う人が便利になる・扱いやすくなる」
っていうだけだったら、別に必要ないような気もするんですけど・・。
あぁ、なかなか理解できない・・。
0977デフォルトの名無しさん
NGNG別に Runnable を実装しなくても run() メソッドを書けばいいのでは?
と思っているのかもしれない。
言語によっては実際にこういうことも可能である。
しかし Java では人間が run() メソッドを書き忘れるという可能性をなくすために
スレッド処理では Runnable を実装して run() メソッドがあることを保証する
というアプローチになっている。
0978デフォルトの名無しさん
NGNG適切な Interface を実装しているかどうかコンパイル時にチェックできる。
0979969
NGNGよく参考書等に、「javaは多重継承を認めていないが、インターフェイスの
実装により、多重継承を可能にしている」みたいな文が書かれているが、
中身を引き継いでいないなら意味ないジャン!って思ってしまいます。
こんな超初心者に色々答えてくれてアリガトウございました。
0980デフォルトの名無しさん
NGNG気持ちはよくわかる。漏れも勉強したての頃は必要性がよくわからなかった。
0981デフォルトの名無しさん
NGNG要するに、「このインターフェースを継承してるクラスは、確実にこういうメソッドを実装していることを保証しますよ」ということだ。
0982デフォルトの名無しさん
NGNG個人的には、C++とOMTなんて時代の人間なので多重継承できなくて
モデリングで悩む事がしばしばあるが。
0983名無しさん@monalipse
NGNG中身を引き継がなくてもいい場合というのがある。例えば件のActionListenerなんてそう。
ActionListener.actionPerformed()にデフォルトの実装があったって誰も使わないでしょ。
だから、
>中身を引き継いでいないなら意味ないジャン!
ってことは無い。
インタフェースは役割を果たせるとか能力があるといったこと(英語が話せる)ことを示すもので、
実装を引き継ぐこと(アメリカ人である、とか、帰国子女である)とは区別します。
0984デフォルトの名無しさん
NGNGこれを読んでみ。
http://java-house.jp/~takagi/archive/fj.comp.lang.java-interface-Sep1998/000066.html#body
0985デフォルトの名無しさん
NGNGチーム開発の場合、インターフェースの威力は凄まじい。
変更に強いコードも作り易い。
インターフェースに対してプログラミングしろ!
0986デフォルトの名無しさん
NGNG0987デフォルトの名無しさん
NGNGpublic class test{
public static void main (String args[]){
Chart c = new Chart();
}
}
Chart.javaファイル
public class Chart{
public void Chart(){
System.out.println( "called" );
}
}
簡略化するとこんな感じのクラスを作りました。
しかし、コンストラクタが呼ばれていないようでなにも表示されません。
仕方がないので、コンストラクタは空っぽにして、メソッドで実行しています。
これはどこがマズいのでしょうか、ご指摘をお願いします。
0988続きです
NGNGまた、コンストラクタをChart(String name)として、
文字列を引数に取るコンストラクタにして、
インスタンス化のときも、Chart c = new Chart( "aaaa" );
のような感じにするとシンボルが解決できませんと
コンパイルエラーになってしまいます。
これについても、ご指摘をお願いします。
環境は
java version "1.4.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-39)
Java HotSpot(TM) Client VM (build 1.4.1_01-14, mixed mode)
となっています。
FAQのコンストラクタ編とか、過去ログを「コンストラクタ」で検索はしました。
0989デフォルトの名無しさん
NGNGそもそもこれがコンストラクタだと思っているのかと小一時間
0990デフォルトの名無しさん
NGNG1000直前で質問ってのはかなりきわどいぞ。
あ、あとエラーメッセージはちゃんとこぴぺしてね。
といいつつ、おれ、スレ立てられないから誰かよろしく。
じゃ、おやすみ。
0991デフォルトの名無しさん
NGNGワロタ
0992デフォルトの名無しさん
NGNGつまり、おまえさんのコードは、
常にデフォルトコンストラクタを呼び出す作りってことよ。
0993名無しさん@monalipse
NGNGSJC-Pの問題に出てきそうなネタだ。
0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。