【初心者】Java質問・相談スレッド81【大歓迎】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/02/11(土) 19:46:58質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals を使え。
・内部クラスから外部クラスのローカル変数は使えない。他の方法を考えろ。
前スレッド
【初心者】Java質問・相談スレッド80【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1138455638/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。
JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/
次スレは>>980あたりで。
0002デフォルトの名無しさん
2006/02/11(土) 19:48:350003デフォルトの名無しさん
2006/02/11(土) 19:51:39>内部クラスから外部クラスのローカル変数は使えない。
ふ〜ん、最近のJavaってそうなったんだ。
インナークラス実装当時は、インナークラスから外部クラスの
privateメンバや、無名クラスから外側のメソッドのローカル変数に
アクセスできてた(もちろんread only)んだけど。
逆コンパイルしてみると、外部クラス側にprivateメンバへの
アクセサが作られたり、無名クラスのメンバ変数にローカル変数を
コピーしたりしてた。
0004デフォルトの名無しさん
2006/02/11(土) 19:54:05>1はもはやコピペでっせ。
0005デフォルトの名無しさん
2006/02/11(土) 19:58:42たぶん匿名クラスや局所クラスから外側のローカル変数は(final つかないと)使えない
って書きたかったんだと思われ。
0006デフォルトの名無しさん
2006/02/11(土) 20:08:34有名無実(ちょっとちがうか)
指し示す言葉に説明が必要な文を>>1に書くのは無理があるのかなぁ
# 解釈が何通りもあるんじゃ、混乱を生むだけ
0007デフォルトの名無しさん
2006/02/11(土) 20:12:090008デフォルトの名無しさん
2006/02/11(土) 20:27:27public static void main( String[] args )
{
try{
// ファイル操作
}catch( IOException ex ){
System.out.println( ex.toString() )
}
}
こう書くべきだよな。
public static void main( String[] args ) throws Exception
{
// ファイル操作
}
0009デフォルトの名無しさん
2006/02/11(土) 20:30:08あ
0010デフォルトの名無しさん
2006/02/11(土) 20:32:230011デフォルトの名無しさん
2006/02/11(土) 20:34:400012デフォルトの名無しさん
2006/02/11(土) 21:02:25それを一旦消してから、インクリメントした後の値を元のindexに挿入するしかないのでしょうか?
0013デフォルトの名無しさん
2006/02/11(土) 21:05:11list.set(i, new Integer(((Integer)list.get(i)).intValue() + 1));
0014デフォルトの名無しさん
2006/02/11(土) 21:07:55あー、それがありましたね。ありがとうございました。
0015デフォルトの名無しさん
2006/02/11(土) 21:14:185.0 以降なら、java.util.concurrent.atomic.AtomicInteger がある。
Integer の代わりにはならないけれど。
0016デフォルトの名無しさん
2006/02/11(土) 21:55:41エラーなら System.out ではなく System.err に書き出すべき。
0017デフォルトの名無しさん
2006/02/11(土) 22:01:00ありがとうございます。使えそうです。
0018デフォルトの名無しさん
2006/02/11(土) 23:43:33コンカレントAPIはわからんやつがつかうものじゃない
0019デフォルトの名無しさん
2006/02/12(日) 00:40:05URI クラスの使用を避けているのは何でかクマ?
0020デフォルトの名無しさん
2006/02/12(日) 00:53:00002115
2006/02/12(日) 01:00:02そう言われると、確かに怪しいか。
コンカレントAPI自体は余り触れたくないけれど、
AtomicIntegerはNumberを継承している数値に近いクラスと認識して紹介しました。
int をインクリメントするだけの機能が必要で、Integerの機能が不要なら、
新しくクラスを作ることも、案外軽くてソースも見やすく、良いかもシレン。
0022デフォルトの名無しさん
2006/02/12(日) 01:06:23あれはハードウェアの力を借りて低コストでロック不要な単純なルーチンでのみつかえるわけで
0023デフォルトの名無しさん
2006/02/12(日) 01:14:16プログラム内で宣言されている変数や配列、オブジェクトは、
プログラム実行時に必要十分なだけメモリに確保されるのでしょうか?
ちょっと苦しいのですが次のようなプログラムがあるとします
public static void main(String args[]){
int lpArr[];
lpArr = new int[128]; //1
lpArr = new int[128]; //2
return;
}
この時//2の行を実行された場合、//1で実行された時に得られたメモリが参照できなくなると同時に
新たな領域へ参照できる事を意味します。
この場合//1で割り当てられたメモリは//2を実行時にシステムから解放されるのでしょうか?
それともプログラム終了時に解放されるのでしょうか?
すみません
0024デフォルトの名無しさん
2006/02/12(日) 01:14:58Number 継承しているのに、immutable じゃないのか。
まあ、どのみちここでコンカレントAPIを挙げるのは酷すぎクマー
0025デフォルトの名無しさん
2006/02/12(日) 01:17:39gc相手だから、適当に放置すればいつかそのうち消えるはず
…たぶん
0026デフォルトの名無しさん
2006/02/12(日) 01:18:20VM(実行環境)が最も適切だと判断したタイミングで、
回収作業を行うことを勝手にやってくれる。
0027デフォルトの名無しさん
2006/02/12(日) 01:22:29そうですか・・やはりVMや最適化状況によりけりなのですね
特に配列は慎重に扱う事にします
0028デフォルトの名無しさん
2006/02/12(日) 01:41:00逆。
自前で解放しなければならない場合は、うっかりメモリリークしないよう
目を皿のようにして慎重に確認する必要があるが、
GCが勝手にやってくれるので、基本的にどんどん使い捨てればいい。
もちろん、あまりにも大きな配列はメモリを圧迫するだろう。
また、GCが効くのは(当然ながら)どこからの参照も無くなったオブジェクトに対してだけだから、
自前でオブジェクト群を管理している場合は気をつける必要がある。
外部リソースを使用している場合なども、
基本的に自前で生存期間を管理する必要がある。
0029デフォルトの名無しさん
2006/02/12(日) 02:05:33http://www.jarhoo.com/
無料だった気がするのだが。。。
0030デフォルトの名無しさん
2006/02/12(日) 02:25:24気持ち悪い
0031デフォルトの名無しさん
2006/02/12(日) 07:49:350032デフォルトの名無しさん
2006/02/12(日) 08:17:43方法がわからりません。どなたか教えてください。よろしくおねがいします。
0033デフォルトの名無しさん
2006/02/12(日) 08:21:220034デフォルトの名無しさん
2006/02/12(日) 08:29:240035デフォルトの名無しさん
2006/02/12(日) 08:32:09003632
2006/02/12(日) 08:33:460037デフォルトの名無しさん
2006/02/12(日) 10:34:18Javaプログラムを実行したコンピュータと
同一のWindowsネットワークにおけるワークグループ内に存在する
他のコンピュータのIPアドレスを検索したいのですが、
その方法が全く分かりません。
一行目はこんな感じだろうか。
# あの仕組みの固有名詞が出てこなくて困るのだが…
# これだと、だらだら長すぎだなぁ…
0038デフォルトの名無しさん
2006/02/12(日) 10:37:46Windowsネットワークが NetBIOS over TCP/IP 使ってないとダメだったような気がするけど。
0039デフォルトの名無しさん
2006/02/12(日) 12:20:49手持ちのmp3ファイルのプロパティ(タイトルとかアーティストとか)を
変更するプログラムを作りたいんですが、ファイルの取得方法、
mp3のプロパティの取得方法はどうやるんでしょうか?
検索したときのキーワードも教えていただけるとありがたいです。
0040デフォルトの名無しさん
2006/02/12(日) 12:40:47http://www.cdwavmp3.com/mp3/player/id3tag.html
ほい
MP3ファイルの末尾128byteの部分らしいよ、調べてないけど。
004139
2006/02/12(日) 13:30:26ありがとうございます。調べてたら初心者には結構きつそう。
とりあえず表示から頑張ってみます。英語読めないと厳しいですね。
以下参考資料。
ttp://www1.cds.ne.jp/~takaaki/ID3/
ttp://www.geocities.jp/zzuketta/mp3index.html
0042デフォルトの名無しさん
2006/02/12(日) 13:32:45http://www.id3.org/implement.html
0043デフォルトの名無しさん
2006/02/12(日) 14:03:05おースゲー
Java class MP3
使えば全部解決じゃん。
タグいじるコマンドラインのソフト作りたくなってきた。
だが時間がない!!!
0044デフォルトの名無しさん
2006/02/12(日) 14:04:48↓ここで神が登場↓
0045デフォルトの名無しさん
2006/02/12(日) 14:10:12神はやっぱり>>47じゃないとw
0046デフォルトの名無しさん
2006/02/12(日) 14:39:14ジャバ、ジャワ、アバ、グァバ。
考え出すと夜も眠れません。
0047デフォルトの名無しさん
2006/02/12(日) 14:51:04ここに書いてあるとおりやったんですが、
javac Helloというコマンドを実行したら、
「javac: Hello は無効なフラグです」って表示されます。
なんで出来ないんでしょうか?
書いてあるとおりにやってるのに。
0048デフォルトの名無しさん
2006/02/12(日) 14:53:13javac Hello.java
これがコンパイルで、
java Hello
これが実行だ
0049デフォルトの名無しさん
2006/02/12(日) 14:58:19http://dictionary.goo.ne.jp/voice/j/02050588.wav
0050デフォルトの名無しさん
2006/02/12(日) 15:00:38じゃあなと聞こえちゃいます;;
0051デフォルトの名無しさん
2006/02/12(日) 16:51:07Frameを使わずにHTML上にじかにアプレットを貼った状態で
ボタン押下等のイベントで同一HTML上で別のアプレットに遷移させるようなことはできますか?
こんな感じ。
sample.html
---
<html><body>
<applet code="Applet1.class" ></applet>
</body></html>
---
Applet1のボタンを押すとsample.html上でApplet2.classを表示したい。
サンプルなんかあると最高です。
0052デフォルトの名無しさん
2006/02/12(日) 18:53:01$java Main
Exception in thread "main" java.lang.NoClassDefFoundError: BookShelfIterator
at BookShelf.iterator(BookShelf.java:33)
at Main.main(Main.java:22)
0053デフォルトの名無しさん
2006/02/12(日) 19:03:46>>1嫁
0054デフォルトの名無しさん
2006/02/12(日) 19:10:240055デフォルトの名無しさん
2006/02/12(日) 19:17:52BookShelf.java の33行目あたりを調べろ。
0056デフォルトの名無しさん
2006/02/12(日) 19:23:41AppletContext
0057デフォルトの名無しさん
2006/02/12(日) 19:25:49Applet#showDocument() で Applet2 の埋め込んである HTML へ飛ばす。
同一ページ内の Applet 本体の入れ替えは多分無理 (JScript 経由で Applet の
CODE 値とか変更出来たっけ?)。やるならアプレット内で CardLayout 等使って
自前で切り替えること。
005852
2006/02/12(日) 19:27:02CLASSPATH=.
の行があるのでクラスパスは大丈夫だと思うのですが。
ソース貼付けてもいいんですかね。長いんですが。全部で130行くらいっす。
0059デフォルトの名無しさん
2006/02/12(日) 19:39:28カレントディレクトリに BookShelfIterator.class はあるんか?
006052
2006/02/12(日) 19:43:21あるわけないわな。コンパイルしてないもんな。
Main.javaだけコンパイルすればいいと思ってた。
ほんと恥ずかしい。でもなぜか他の〜.javaはMain.javaを
コンパイルしたら自動的にコンパイルされたんだよね。
なんでだろうね。不思議です。
0061デフォルトの名無しさん
2006/02/12(日) 19:45:13長いのは↓あたり使え
http://sourcepost.sytes.net/
006251
2006/02/12(日) 20:54:19ありがとうございます。大変そうですね。
Frameでパタパタ切り替える方が現実的でしょうか。
0063デフォルトの名無しさん
2006/02/12(日) 20:57:29$java main
Exception in thread "main" java.lang.NoClassDefFoundError: main (wrong name: Main)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
0064デフォルトの名無しさん
2006/02/12(日) 20:58:06>>1
0065デフォルトの名無しさん
2006/02/12(日) 22:02:32> java.lang.NoClassDefFoundError: main (wrong name: Main)
0066デフォルトの名無しさん
2006/02/12(日) 22:26:12私だったら、wrong name に注目します。
NoClassDefFoundError wrong-name でぐぐる
オプションで site:java.sun.com や -tomcat を付けたり…
# このエラーって、こんなにスタック深かったかなぁ…
0067デフォルトの名無しさん
2006/02/12(日) 23:55:18$javac Main.java
Main.java:8: パッケージ framework は存在しません。
import framework.*;
^
Main.java:9: パッケージ idcard は存在しません。
import idcard.*;
^
./Factory.java:11: シンボルを解決できません。
シンボル: クラス Product
場所 : framework.Factory の クラス
public final Product creat(String owner){
^
./Factory.java:16: シンボルを解決できません。
シンボル: クラス Product
場所 : framework.Factory の クラス
protected abstract Product creatProduct(String owner);
^
./Factory.java:17: シンボルを解決できません。
シンボル: クラス Product
場所 : framework.Factory の クラス
protected abstract void registerProduct(Product product);
^
Main.java:13: Factory にアクセスできません。
クラスファイル ./Factory.java は不正です。
ファイルにクラス Factory が含まれていません。
削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。
Factory factory = new IDCardFactory();
^
エラー 6 個
0068デフォルトの名無しさん
2006/02/12(日) 23:57:16> ファイルにクラス Factory が含まれていません。
> 削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。
ちょw親切すぎだろ。
0069デフォルトの名無しさん
2006/02/12(日) 23:58:40クラスが入った JAR ファイルをクラスパスに指定してないだけ。
$ javac -cp $CLASSPATH:hoge.jar Main.java
~~~~~~~~
0070デフォルトの名無しさん
2006/02/13(月) 00:00:17ちょっとはエラー内容みた?
どう見ても、Main.javaのあるフォルダに「framework」とか「idcard」とかいうフォルダ
(=パッケージ)がないし、Factoryクラスなんか存在もしないぞこら、おれにどうしろ
っちゅうんじゃ、と言ってるように見えるが。
007167
2006/02/13(月) 00:23:33同じパッケージのは同じディレクトリに入れなきゃいけないんですか?
0072デフォルトの名無しさん
2006/02/13(月) 00:28:400073デフォルトの名無しさん
2006/02/13(月) 00:28:450074デフォルトの名無しさん
2006/02/13(月) 00:32:38思ったとおりやってみると良い。
想像と違っていたら、その方法はどこかが間違っているのだろう
# いくつかの単語が省略されているので、思考を読み取れないのだが…
0076デフォルトの名無しさん
2006/02/13(月) 00:54:48場所はどこでもいいが、少なくともソースパスが通っている必要がある。
で、パスが通っているフォルダから、パッケージ名に併せたフォルダ階層に
なっている必要がある。
myproject.factory.MyFactory
というクラスなら、コンパイル用ソースがあるフォルダから、
myproject/factory/MyFactory.java
というふうになってないといけない。
0077デフォルトの名無しさん
2006/02/13(月) 01:36:02文字列型で表現された数式と、変数の値を入力すれば値が返ってくるようなライブラリはありませんでしょうか?
次の様な形で呼び出したいです。
double func(string exp, int x);
0078デフォルトの名無しさん
2006/02/13(月) 01:40:11>>77
んー、windows限定ならwindows host scriptingでevalメソッド呼ぶとか?
0079デフォルトの名無しさん
2006/02/13(月) 01:42:050080デフォルトの名無しさん
2006/02/13(月) 01:43:05アプレットなら JavaScript の数式を評価可能。アプレットから JavaScript を呼ぶ方法参照。
昔 Mozilla に Java 上で JavaScript を動かすライブラリが落ちてたが今どうなってるか知らん。
0081デフォルトの名無しさん
2006/02/13(月) 01:46:09ちゃんと設計したこと書けよ・・
008277
2006/02/13(月) 01:52:22数式は
整数、実数、()、+、-、*、/、三角関数、累乗、log
が使えるようにと考えてます。
0083デフォルトの名無しさん
2006/02/13(月) 01:56:11http://www.mozilla-japan.org/rhino/scriptjava.html
008477
2006/02/13(月) 02:04:41でも、どうやって使うかよくわかりません
0085デフォルトの名無しさん
2006/02/13(月) 02:08:44数式中の変数部分はどう表すの?
+と-は2項演算子のみなの?
0086デフォルトの名無しさん
2006/02/13(月) 02:08:48iiiiiiiillllllllllllllllllllllllllllllllllllllll| ゙゙!lllllllllllllir .,,,iilllllllllllllll!゙゙′
.llllllllllllllllllllllllll!!!!!!!!!!!!!!!!!″ ゙゙!!ll!゙",,,iilllllllllllll!!゙゙゜
.゙゙゙゙゙゙”゛ llllllllllliiiiiiii,,,,,,,、 ,,,iillllllllllll!!゙゙゜ ___,,,,,
,,,iiillllllllllllllllllllllllllllllliii,, ,,,,,,,,,iiiiiiilllllllllllllllllllllllllllllllllllllllll
.,,illlllllllllllllllllll゙゙゙゙゙゙!!llllllllllllli, .,,,,,iiiiiiiiiiiiiiiiiii,,,、 .llllllllllllllllllllllllllllllllllllllllllllllll!!!!!!l
,illllllllll!゙゙llllllllll| ,illlllllllllllllll, liilllllllllllllllllllllllllllllllli,, lllllllllll!!lllllllllllllll!!゙゙゙”`
,llllllllll゙ .lllllllllll .,,illlllllllllllllllllll、 ゙llllll!!゙゙゙’ ゚゙llllllllll ゙゙”`.,illllllllll!l゙’
: llllllllll° .llllllllllll,illllllllll!゙`lllllllllll .゙゙゜ ,llllllllll! ,llllllllllll°
: llllllllll, lllllllllllllllllll!゙゜ ,lllllllllll ,,,illllllllll!゜ .llllllllllllli,_ ,,,,,,,,iiiiiii、
: 'lllllllllllliiilllllllllllllll!!゙’ ,lllllllllll° .,,,,iiillllllllllll!゙゜ ゙!llllllllllllllllliillllllllllllllllllllllll,、
.゙!!lllllllllllllllll!!!゙゙` .l!!llllllll° .゙!lllllll!!!゙° ゙゙!!llllllllllllllllllllllllllllll
0087デフォルトの名無しさん
2006/02/13(月) 02:11:03変数はxとy、+と-は2項演算子のみです。
0088デフォルトの名無しさん
2006/02/13(月) 02:19:02> >>85さん
> 変数はxとy
そのわりに
>>77
> double func(string exp, int x);
と、評価時には数式expの他には値は1つだけしか与えていないわけだが
評価結果は部分的に評価を実行した式でいいのか?
それとも変数xとyの両方にint xで渡した値を適用するのか?
はたまたdouble func(string exp, Integer... args);のつもりだっのか?
0089デフォルトの名無しさん
2006/02/13(月) 02:21:41追加
なのでもう少し仕様を整理してみたほうがいいと思われ。
expの構文を決めさえすれば自力でparserを書くのも大変じゃないと思う。
0090デフォルトの名無しさん
2006/02/13(月) 02:22:04そこを掘り下げても意味ねぇ。興味で聞いてんの?
009177
2006/02/13(月) 02:30:08>>77の方は正確には
double func(string exp, double x, double y);
です。
変数の数は2つです。
実際に数式を解析して何がしたいかというと、下のサイトの
ttp://codezine.jp/a/article.aspx?aid=116
//関数のメソッド
private double function(double x,double y){
return 50*Math.cos(Math.sqrt(x*x+y*y)/10.0);
}
の部分をテキストボックスなどを用いて、関数を指定したいのです。
0092デフォルトの名無しさん
2006/02/13(月) 02:39:21ははあ、なるほど。
http://www.japisoft.com/formula/ (※有償ソフト)みたいなことをしたいわけね。
すまんが、俺は寝るよ。
0093デフォルトの名無しさん
2006/02/13(月) 04:03:50Stringで表現されたIPアドレスをsplitを使って
こんな感じに String "192.168.0.1" → String[] {192,168,0,1}
8ビットづつ抜き出したいのですが、使う正規表現がわかりません。
split(".")でいけると思ったのですが、うまくいきません。
わかる方がいらっしゃったらお願いします。
0094デフォルトの名無しさん
2006/02/13(月) 04:05:070095デフォルトの名無しさん
2006/02/13(月) 04:21:420096デフォルトの名無しさん
2006/02/13(月) 04:36:45WindowListenerって何ですか?
わけわかめです。
0097デフォルトの名無しさん
2006/02/13(月) 04:57:14http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/event/WindowListener.html
0098デフォルトの名無しさん
2006/02/13(月) 06:37:46クラスメソッドはインスタンスからは呼べないって
言ってる人がいたけどインスタンスからでも
呼べますよね?例えば
インスタンス.クラスメソッド
って感じで。
もちろん
クラス名.クラスメソッド
も可。
0099デフォルトの名無しさん
2006/02/13(月) 06:48:560100デフォルトの名無しさん
2006/02/13(月) 10:44:59> クラスメソッドはインスタンスからは呼べない
そんな妄言、スルーしてたとは…
0101デフォルトの名無しさん
2006/02/13(月) 10:51:08インスタンスからクラスメソッドを実行することは、混乱と間違った認識を招くので
「出来るけど絶対やら無いこと」であることは確かだから。
0102デフォルトの名無しさん
2006/02/13(月) 10:59:01やってはいけないとみんないってたような
0103デフォルトの名無しさん
2006/02/13(月) 11:16:10byte a[] = { 0,231,234,1 };
では符号有のせいかエラーが出ます。
byte a[] = { 0,(byte)231,(byte)234,1 };
キャストすればエラーは出ないのですが、他に良い方法はないでしょうか?
0104デフォルトの名無しさん
2006/02/13(月) 11:27:200105デフォルトの名無しさん
2006/02/13(月) 14:07:390106デフォルトの名無しさん
2006/02/13(月) 14:09:43やればいいじゃん
0107デフォルトの名無しさん
2006/02/13(月) 14:12:170108デフォルトの名無しさん
2006/02/13(月) 14:16:29普通にコーディングしてコンパイル&実行すればいいと思うが・・・?
何聞きたいの?
0109デフォルトの名無しさん
2006/02/13(月) 14:16:350110デフォルトの名無しさん
2006/02/13(月) 14:18:20馬鹿?
0111デフォルトの名無しさん
2006/02/13(月) 14:21:34gcc-javaなんてのがあるけど、重いよ。
0112デフォルトの名無しさん
2006/02/13(月) 14:21:520113デフォルトの名無しさん
2006/02/13(月) 14:25:08ぐぐればいくらでもあるだろ。
0114デフォルトの名無しさん
2006/02/13(月) 14:28:15( ゚,_ゝ゚)バカジャネーノ
0115デフォルトの名無しさん
2006/02/13(月) 14:37:440116デフォルトの名無しさん
2006/02/13(月) 15:06:24それ以前の阿呆は失せろ
0117デフォルトの名無しさん
2006/02/13(月) 15:06:32を実行した瞬間に終了してしまうのですが、これを終了させないためには
どうすればよいですか?
0118デフォルトの名無しさん
2006/02/13(月) 15:22:14質問がわからん。exec が外部プロセスが終了する前に返る事をいってるのか、
外部プロセスの呼び出し方を間違ってて即座に終了してるのか、
そもそも外部プロセスは即座に終了するものを呼び出しているのに、
無理やり終了させないようにしたいのか、とかわからん。
3番目は普通は無いだろうけど、>>117 の書き方だと、その辺まで考えられるって事。
0119デフォルトの名無しさん
2006/02/13(月) 15:33:55インタプリタを呼び出すんですが、起動パラメタを渡して呼び出しても
肝心のスクリプトを渡す前にインタプリタが終了してしまうので、
これを終了させないようにしたいのです。
わかりにくくてすいません。
0120デフォルトの名無しさん
2006/02/13(月) 15:38:17発生してるんだろ。起動した Process から InputStream/ErrorStream 取って
取り出したメッセージを確認するのが先では。
0121デフォルトの名無しさん
2006/02/13(月) 15:45:30Cの
printf( "%x", value )
↑コレ
0122デフォルトの名無しさん
2006/02/13(月) 15:46:480123デフォルトの名無しさん
2006/02/13(月) 15:48:300124デフォルトの名無しさん
2006/02/13(月) 15:51:500125デフォルトの名無しさん
2006/02/13(月) 15:52:00InputStream is = process.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
これでしょうか?でもこれだと外部プロセスの出力しかとれません。
入力はどうすればよいのでしょう。
0126デフォルトの名無しさん
2006/02/13(月) 15:53:26「やれば」
は基本だな。 質問する方がバカ
0127デフォルトの名無しさん
2006/02/13(月) 15:54:01printf( "%04x", value )
↑コレは?
0128デフォルトの名無しさん
2006/02/13(月) 15:54:09出力されてるものは想定の範囲内か?
0129デフォルトの名無しさん
2006/02/13(月) 15:55:14while(buffer.length() < 0) buffer.insert(0, '0');
String hex = buffer.toString();
0130デフォルトの名無しさん
2006/02/13(月) 15:57:560131デフォルトの名無しさん
2006/02/13(月) 15:58:48while(buffer.length() < 4)
0132デフォルトの名無しさん
2006/02/13(月) 15:58:491.5使え。
0133デフォルトの名無しさん
2006/02/13(月) 16:00:31http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/Process.html
> 特定のネイティブなプラットフォーム上の特殊なプロセスではうまく動作しない場合があります。
> たとえば、ネイティブなウィンドウ処理プロセス、デーモンプロセス、
> Microsoft Windows 環境での Win16/DOS プロセス、あるいはシェルスクリプトといったプロセスです。
って書いてあるからダメかも。
0134デフォルトの名無しさん
2006/02/13(月) 16:00:560135デフォルトの名無しさん
2006/02/13(月) 16:03:04原文みるとWin16/DOSプロセスまでみたいなんだけど。
0136デフォルトの名無しさん
2006/02/13(月) 16:05:030137デフォルトの名無しさん
2006/02/13(月) 16:07:17ですか?
どのようにしてコマンド文字列を渡せばよいのでしょう。
0138デフォルトの名無しさん
2006/02/13(月) 16:09:22Win32 で標準入出力 (Cで言う stdin, stdout、ファイルディスクリプタで言うなら 0 とか 1 とか) 使ってりゃ
たいてい大丈夫。MS-DOS みたいに直接コンソールデバイス叩いてる類のはだめかもしれない。
>>137
OutputStream os = process.getOutputStream();
PrintWriter out = new PrintWriter(os);
out.println("print \"hello, world\");
out.flush();
0139デフォルトの名無しさん
2006/02/13(月) 16:11:40なんと親切な・・・
ありがとうございます、本当に助かりました。
0140デフォルトの名無しさん
2006/02/13(月) 16:13:17今日は集中力欠いてるな。
0141デフォルトの名無しさん
2006/02/13(月) 18:45:21DefaultTableModelのaddRowみたいなのです。
TableModelのgetRowCount()の中で一つインクリメントしても行が増えないのですが。
0142デフォルトの名無しさん
2006/02/13(月) 18:55:03変更が分かりません。addTableModelListener() で追加された TableModelListener の
tableChanged() を呼んでやれ。AbstractTableModel のサブクラスなら fireTableXXX()
でも良い。
0143デフォルトの名無しさん
2006/02/13(月) 19:04:27即レスありがとうございます。
やってみます。
0144141
2006/02/13(月) 19:24:56これはなにを記述すれば良いのでしょうか?
空だと更新されないみたいなのです。
0145141
2006/02/13(月) 19:31:59myTableModelListener implements TablemodelListener{
public void tableChanged(TableModelEvent e){/*空*/}
}
myTableModelListener tl = new myTableModelListener()
(myTableモデル).addTableModelListener(tl)
tttt.tableChanged(new TableModelEvent(mmm,6,7,TableModelEvent.ALL_COLUMNS,TableModelEvent.DELETE));
0146141
2006/02/13(月) 19:34:23tl.tableChanged(new TableModelEvent(mmm,6,7,TableModelEvent.ALL_COLUMNS,TableModelEvent.INSERT));
0147デフォルトの名無しさん
2006/02/13(月) 19:37:32いや違う。TableModel の変更時に TableModel の中から TableModelListener の
tableChanged() を呼んでやれ。AbstractTableModel を extend してるならこんな感じ
// 2行挿入...
fireTableRowInserted(1, 1);
TableModel を直接 implement してるならこんな感じだ。
private List listener = new ArrayList();
public void addTableModelListener(TableModelListener l){
listener.add(l);
}
public void removeTableModelListener(TableModelListener l){
listener.remove(l);
}
public void someMethod(){
// 2行目に挿入...
TableModelEvent e = new TableModelEvent(source, 1, 1, ALL_COLUMNS, INSERT);
for(int i=0; i<listener.size(); i++){
((TableModelListener)listener.get(i)).tableChanged(e);
}
}
0148デフォルトの名無しさん
2006/02/13(月) 19:48:091回目"モード"が表示された後、'1'を入力すると普通に処理が
実行されるのですがその後なぜか"モード"が3回表示されます。
どなたか原因・解決法が分かる方いらっしゃいますか?
public class test {
static int mode;
public static void main(String args[]) {
do {
System.out.println("モード");
switch (mode = System.in.read()) {
case '1':
処理1
break;
case '2':
処理2
break;
default:
break;
}
} while (mode != '2');
0149デフォルトの名無しさん
2006/02/13(月) 19:51:21'1' の後に改行文字がくっついてくるから。Windows だと CRLF、つまり "1\r\n" の 3 文字が
連続して入力されたのと同じ動きをする。
0150デフォルトの名無しさん
2006/02/13(月) 19:53:28サンプルコードありがとうございます。
いま頂いて試してみたところ、まだうまくいかないようですが、これ参考にしてなんとか頑張ってみます。
0151デフォルトの名無しさん
2006/02/13(月) 19:53:320152デフォルトの名無しさん
2006/02/13(月) 19:59:42がんばれ。
TableModel の中から TableModel に add されてる TableModelListener を呼んでやるんだぞ。
自分で作った TableModelListener を add して呼ぶんじゃない。
0153デフォルトの名無しさん
2006/02/13(月) 21:03:50そもそもその方法と、配列を分解して間にコンマを挟むやり方で、どっちが速く出力できるんでしょうか
0154デフォルトの名無しさん
2006/02/13(月) 21:13:28ない。for で回せ。
0155デフォルトの名無しさん
2006/02/13(月) 21:18:35あ、無いんですか・・・
速さ云々の問題じゃないですね
ありがとうございました
0156デフォルトの名無しさん
2006/02/13(月) 23:39:10ちなみに↓のように問題の箇所をコメントアウトしてやると直列化復元ができました。
import java.awt.event.ActionEvent;
import javax.swing.*;
public class ThmMarkup extends JMenu {
private static final long serialVersionUID = -7741431003723696257L;
/* [Markup]
* Markup
*/
public ThmMarkup() {
super("Markup");
setMnemonic('M');
JMenuItem tmp1 = new JMenuItem(/*new Ts()*/);
tmp1.setText("Markup");
add(tmp1);
}
}
class Ts extends AbstractAction {
private static final long serialVersionUID = -7802062679011228602L;
public void actionPerformed(ActionEvent e) {
}
}
0157156
2006/02/13(月) 23:44:14すみません..文章が疑問形になってないですね。
156の直列化復元が失敗する理由が分かるかた教えて下さい。おねがいします。
0158デフォルトの名無しさん
2006/02/14(火) 01:04:20クラスを入れ子にしてみたらどうだろう
0159デフォルトの名無しさん
2006/02/14(火) 02:16:01if (xxx) { throw new AssertionError(); }相当の普通のバイトコードが挿入されるのでしょうか。
0160デフォルトの名無しさん
2006/02/14(火) 02:21:180161デフォルトの名無しさん
2006/02/14(火) 08:02:03if (xxx) { throw new AssertionError(); }相当のコードが挿入されます。
0162デフォルトの名無しさん
2006/02/14(火) 11:19:03なるほど。ありがとうございました。
0163sage
2006/02/14(火) 14:36:07プログラムBで受け取ることができません。
プログラムAから値を送信するところまでは確認できたのですが
プログラムBで値を取得する良い方法はないでしょうか?
0164デフォルトの名無しさん
2006/02/14(火) 14:37:290165デフォルトの名無しさん
2006/02/14(火) 14:43:37その文章で問題解決できる人がいると思うのか?
0166デフォルトの名無しさん
2006/02/14(火) 14:44:45シリアライズでソケット通信かな?
RMIかな?
SOAPかな?
XMLRPCかな?
エスパー募集!
0167デフォルトの名無しさん
2006/02/14(火) 14:59:320168163
2006/02/14(火) 15:08:05リストボックスのSERECTタグから拾った値を別のプログラムのJavaのプログラムに渡したいのです
0169デフォルトの名無しさん
2006/02/14(火) 15:11:05俺にはわからん・・・歳食ったなぁ
0170デフォルトの名無しさん
2006/02/14(火) 15:14:260171デフォルトの名無しさん
2006/02/14(火) 15:16:43SERECTあたりかと
0172デフォルトの名無しさん
2006/02/14(火) 15:17:36大丈夫、ここでたたいておけば>>163みたいなやつがプログラマにならずに済む。
彼の日本語からすると、できる人間じゃないので
きっと土方とか交通整理とかそういうことをやって下から我々を支えてくれるよ。
0173デフォルトの名無しさん
2006/02/14(火) 15:26:480174デフォルトの名無しさん
2006/02/14(火) 15:27:470175デフォルトの名無しさん
2006/02/14(火) 15:28:490176デフォルトの名無しさん
2006/02/14(火) 15:29:30それから、種別や所属を表す修飾語をもっと使ってください。
# フレームでも Swing のフレームなら、JFrame クラスのことだな、って分かるわけですよ。
0177デフォルトの名無しさん
2006/02/14(火) 16:13:380178デフォルトの名無しさん
2006/02/14(火) 17:13:090179デフォルトの名無しさん
2006/02/14(火) 17:31:490180デフォルトの名無しさん
2006/02/14(火) 17:36:170181デフォルトの名無しさん
2006/02/14(火) 17:46:31>プログラマにならずにすむ
↓
>土方や交通整理で我々を下から(ry
プログラマも土方も>>172も目くそ鼻くそだろうと
0182デフォルトの名無しさん
2006/02/14(火) 17:47:22Componentで利用できる
setBackground , setFonメソッドなどと
Graphicsで利用できる
setColor , setFontメソッドなどの関係が判りません
Graphicsクラスは所謂デバイスコンテキストに当るクラスという事なのですが
Componentで設定されている背景色やフォントを参考に、このコンテキストにカプセル化されてる
各種プロパティが設定される・・・という感じでしょうか
0183デフォルトの名無しさん
2006/02/14(火) 17:49:56もう JavaScript 認定でいいよ。エスパーいらね
# プログラムのプログラムなんて、UTMかっ
0184デフォルトの名無しさん
2006/02/14(火) 18:03:06ドキュメントに関係があると記述されて無いなら無関係。
0185デフォルトの名無しさん
2006/02/14(火) 18:03:22解らなければ黙ってた方がいいよ
0186デフォルトの名無しさん
2006/02/14(火) 18:06:060187デフォルトの名無しさん
2006/02/14(火) 18:23:48例えば、JComponent の getImputMap(); メソッドを実行すると InputMap の戻り値が返って来るんですが、InputMap には何が入っているのでしょうか?
API ドキュメントを見るとインスタンスフィールドもスタティックフィールドも無いんですけど、この型は何をしているのでしょう?
ついでにマップの概念も分らないんです。
0188デフォルトの名無しさん
2006/02/14(火) 18:33:20paint(Graphics g)メソッド中で
setForeground(new Color(0xFF0000));
と前景色を赤255に設定し、g.fillRect(0,0,100,100);などと矩形を描画しますと赤色の矩形が描画されます。
(init()メソッドでsetForeground(0)と一応初期化しました);
ですからGraphicsクラスがComponentクラス乃至そのサブクラスのプロパティを参照してると思うのですが
0189デフォルトの名無しさん
2006/02/14(火) 18:39:46君がいってるのは、例えば C言語で(たしか)不定とされている動作
int i = 0; i = i++; printf("%d", i); に関して、特定のコンパイラで 0 と表示されたってレベルの話。
だからといって C言語の仕様で上記は 0 と表示されるべきであるか、ってのとは別の話だって言う事。
0190デフォルトの名無しさん
2006/02/14(火) 18:43:17デフォルトの動作を覚えておくもの
たとえばタブ押せばフォーカスがどんどん次のコンポーネントへ移動するでしょ?
ああいうのを実装しているわけだ
だから汎用的に使いたい場合、たとえばリターンキー押したら
次のコンポーネントへ移動するとかが簡単に実装可能
基本的にはすでに作成したコンポーネントからInputMapを取得して
それに対して変更箇所だけ設定するのが普通
0191デフォルトの名無しさん
2006/02/14(火) 18:45:12よく理解できません
int i=0;i = i++;printf("%d",i)
についてはちゃんと評価されると思いますが
iがインクリメントされ、その値をiに代入ですから問題ないと思いますが
期待された処理を行わないコンパイラもあるのですか?
それはともかくとして
きっとアレなんで1から勉強しなおしてきます
0192デフォルトの名無しさん
2006/02/14(火) 18:46:30違うんだよなあ。数パターン考えられるんよ。
0193デフォルトの名無しさん
2006/02/14(火) 18:46:340194デフォルトの名無しさん
2006/02/14(火) 18:46:57Graphics の初期値を Component に設定するという程度の認識で良い。
御託並べてるバカは無視。
0195デフォルトの名無しさん
2006/02/14(火) 18:49:11同じ C/C++ 使いとしておまえの文調から プンプン 臭う自慢臭が ハズイ から芯でくれ
0196デフォルトの名無しさん
2006/02/14(火) 18:49:36どう勘違いするんだ
0197デフォルトの名無しさん
2006/02/14(火) 18:51:53192 デフォルトの名無しさん sage 2006/02/14(火) 18:46:30
>>191
違うんだよなあ。数パターン考えられるんよ。
0198デフォルトの名無しさん
2006/02/14(火) 19:00:56女の子に説明してる系の痛い人が思い浮かびました。
0199デフォルトの名無しさん
2006/02/14(火) 19:01:11ありがとうございます。
getInputMap(); を実行すると、既にあるコンポーネントのデフォルトの動作が入った InputMap が取得できると言う事でしょうか?
馬鹿な事を言うと思うかも知れませんが、InputMapにはフィールドが無いのでどうやって覚えているんだろうって不思議です。
いろいろあるメソッドも、どこにどんな操作をしているのか、、さっぱり分りません。
すみません。
0200デフォルトの名無しさん
2006/02/14(火) 19:05:10# そのうちソースを見ないと安心できなくなりそうだな。
0201デフォルトの名無しさん
2006/02/14(火) 19:11:03++が後ろにあるだろ。式の評価後にインクリメントされるわけだ。
じゃ、代入後のiがインクリメントされるのか、
代入前のiがインクリメントされるのかどっち?
0202デフォルトの名無しさん
2006/02/14(火) 19:14:290203デフォルトの名無しさん
2006/02/14(火) 19:14:30わざわざ蒸し返さなくていい。
0204デフォルトの名無しさん
2006/02/14(火) 19:15:18まさにソーッス。。(寒
どう理解したらいいのでしょう?
と言うか心構えの問題でしょうか?・・・ ツカレマシタ
0205デフォルトの名無しさん
2006/02/14(火) 19:30:37お前馬鹿か?
0206デフォルトの名無しさん
2006/02/14(火) 19:33:30そういうこと
0207デフォルトの名無しさん
2006/02/14(火) 19:34:45ttp://www.javaroad.jp/java_operator7.htm
0208デフォルトの名無しさん
2006/02/14(火) 19:39:28あまり深く考えないようにします。
本当にありがとうございました。
0209デフォルトの名無しさん
2006/02/14(火) 19:42:43そりゃ演算子の結合の優先順位だ。
知らない奴はこれ見て勉強して来い。帰ってくるな。スレ違いだしな。
http://www.kouno.jp/home/c_faq/c3.html
0210デフォルトの名無しさん
2006/02/14(火) 19:45:23209 デフォルトの名無しさん sage New! 2006/02/14(火) 19:42:43
>>205
そりゃ演算子の結合の優先順位だ。
知らない奴はこれ見て勉強して来い。帰ってくるな。スレ違いだしな。
http://www.kouno.jp/home/c_faq/c3.html
0211141
2006/02/14(火) 19:48:29ありがとうございます。ほぼ>>147のコードのママで出来ました。別の部分にうっかりミスが
あり、昨日はうまくいかなかったのでした。
要はaddTableModelListener()の中で(何処からか送られてくる)TableModelListenerを保持しておいて
その登録されたListenerのtableChanged()を呼ぶということですね。
addTableModelListener()をオーバーライドして、この処理を書いてないため、>>145のようなやり方では駄目だったということだと思います。
(addTableModelListener()をオーバーライドしない場合は、AbstructTableModelのlistenerListフィールドをどうにかして使うのかな?)
0212デフォルトの名無しさん
2006/02/14(火) 19:53:26勉強になったぞ
0213142
2006/02/14(火) 19:54:19つまり、おとなしくfireTableRowInserted()を使えという結論になりました。
0214デフォルトの名無しさん
2006/02/14(火) 19:55:380215デフォルトの名無しさん
2006/02/14(火) 20:00:58そうでした。DefaultTableModelのようなaddRow()が出来ないから質問したのですが、そもそもなんでDefaultTableModel使わなかったんだろうか自分でも思い出せないorz
0216デフォルトの名無しさん
2006/02/14(火) 20:12:04だからさー、そんな基本的な薀蓄をいちいち Java のスレ来て高説ぶるの
見てて痛々しいからやめてくんない? Java では定義されてる動作だって
のも知らないの?
質問者置いてけぼりで自慢したい空気が行間からプンプン臭うよw
0217デフォルトの名無しさん
2006/02/14(火) 20:13:210218デフォルトの名無しさん
2006/02/14(火) 20:16:260219デフォルトの名無しさん
2006/02/14(火) 20:18:150220デフォルトの名無しさん
2006/02/14(火) 20:21:220221156
2006/02/14(火) 20:21:40http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4966168
MenuItemPropertyChangeListenerのバグな気が。
0222デフォルトの名無しさん
2006/02/14(火) 20:29:39「同一人物じゃなかったことにしたい人」っていっても、不特定多数なわけだけど具体的に誰のこと?
あと、実際に「じゃなかったことにした」くない人の書き込みがないってどうしてわかるの?
0223デフォルトの名無しさん
2006/02/14(火) 20:32:280224デフォルトの名無しさん
2006/02/14(火) 20:32:560225デフォルトの名無しさん
2006/02/14(火) 20:34:100226デフォルトの名無しさん
2006/02/14(火) 20:35:040227デフォルトの名無しさん
2006/02/14(火) 20:35:370228デフォルトの名無しさん
2006/02/14(火) 20:37:320229デフォルトの名無しさん
2006/02/14(火) 20:38:11これが最終勧告です
0230デフォルトの名無しさん
2006/02/14(火) 20:42:240231デフォルトの名無しさん
2006/02/14(火) 20:50:09ローカルで試そうとしたまま忘れてたがバグ?
次からちゃんとスタックトレースの内容も貼ってくれ。IOException だけじゃわからん。
0232156
2006/02/14(火) 21:00:26すみません。本当に初心者なんでデバッグのときにIOExceptionを受け取ったらprintln("IOException")とかやっていたのでIOExceptionなんだとか思ってました。
今日スタックトレースをやってみてMenuItemPropertyChangeListenerに気づきました。
0233デフォルトの名無しさん
2006/02/14(火) 21:03:43会社で齷齪してる奴らは管理職を肥やすためにご苦労様です
>>376
取りあえず木あたりに今年一番の勝負賭けてみる
狙い目はM関連で
0234デフォルトの名無しさん
2006/02/14(火) 21:34:330235デフォルトの名無しさん
2006/02/14(火) 21:36:102chでんなこと書いてて恥ずかしくないの?
0236デフォルトの名無しさん
2006/02/14(火) 21:39:05>>235
ハズカチー(笑)
0237デフォルトの名無しさん
2006/02/14(火) 21:43:00意味:誤爆に見せかけた別スレッドへの意図的な誤書き込み。主に見栄を張りたい厨房が行う。
0238デフォルトの名無しさん
2006/02/14(火) 21:43:470239デフォルトの名無しさん
2006/02/14(火) 21:44:420240デフォルトの名無しさん
2006/02/14(火) 21:46:21意味:誤爆に見せかけた別スレッドへの意図的な誤書き込み。主に見栄を張りたい厨房が行う。
虚偽をバレナイと思い慣行する痛いアホが往々にしている。
0242デフォルトの名無しさん
2006/02/14(火) 21:58:370243デフォルトの名無しさん
2006/02/14(火) 21:59:270244デフォルトの名無しさん
2006/02/14(火) 21:59:590245デフォルトの名無しさん
2006/02/14(火) 22:01:550246デフォルトの名無しさん
2006/02/14(火) 22:02:410247デフォルトの名無しさん
2006/02/14(火) 22:04:040248デフォルトの名無しさん
2006/02/14(火) 22:08:110249デフォルトの名無しさん
2006/02/14(火) 22:11:1914匹めはお前だろ
0250デフォルトの名無しさん
2006/02/14(火) 22:13:010251デフォルトの名無しさん
2006/02/14(火) 22:14:12計算できたない
0252デフォルトの名無しさん
2006/02/14(火) 22:20:12int count = 0;
while(s.getLength() < 1000) {
int tmp = s.getLength();
while(tmp == s.getLength());
if(s.getレス(s.getLength()).is釣られた())
count++;
}
0253デフォルトの名無しさん
2006/02/14(火) 22:23:370254デフォルトの名無しさん
2006/02/14(火) 22:26:05これはまた随分汎用性に欠けるインタフェイスですね
0255デフォルトの名無しさん
2006/02/14(火) 22:31:15int count = 0;
int tmp;
while((tmp = s.getLength()) < 1000) {
if(s.getレス(tmp).is釣られた())
count++;
}
これではどうだ
0256デフォルトの名無しさん
2006/02/14(火) 22:35:190257デフォルトの名無しさん
2006/02/14(火) 22:36:390258デフォルトの名無しさん
2006/02/14(火) 23:08:53catch(糞レスOverflowError e){
System.out.println("IloveYou");
}
0259デフォルトの名無しさん
2006/02/14(火) 23:16:100260デフォルトの名無しさん
2006/02/14(火) 23:19:07それだと、is釣れた()でtrueが返ってきたときに、次のレスが付くまで延々とカウントし続ける気がする。
0261デフォルトの名無しさん
2006/02/14(火) 23:21:26初めてゲームプログラムを作っています。
ゲームクラスとタイマークラスに分けて作りました。
タイマークラスにスレッドを使い、
ゲームクラスのスタートボタンを押すとタイマーがスタートし、
時間切れになるとゲームが終わるようにしました。
ゲームを再スタートしたいのですが、
タイマークラスが動きません。
スレッドは一度しか動かないのですか??
ご教授お願い致します。
0262デフォルトの名無しさん
2006/02/14(火) 23:22:120263デフォルトの名無しさん
2006/02/14(火) 23:22:58終了した (run メソッドを抜けた) スレッドのインスタンスは再利用できません。
新しく new してください。
0264261
2006/02/14(火) 23:25:29ありがとうございます。
0266デフォルトの名無しさん
2006/02/14(火) 23:44:41eclipse使わずにvim+screen+antでやってるんですが、
これってどうなんでしょうか?
0267デフォルトの名無しさん
2006/02/14(火) 23:51:54つーか設計見直すべきじゃね?
ゲーム内の時間管理にスレッドつかうっておかしくないか?
0268デフォルトの名無しさん
2006/02/14(火) 23:57:520269デフォルトの名無しさん
2006/02/14(火) 23:57:53詳細きぼん
0270デフォルトの名無しさん
2006/02/14(火) 23:58:480271261
2006/02/14(火) 23:59:05タイマーをスクロールバーと言うか、
バーが少しずつ減っていくようにしたかったので、
スレッドを使って、t.sleep(100)で、バーを描いて
いたのですが。。
0272デフォルトの名無しさん
2006/02/15(水) 00:08:380273デフォルトの名無しさん
2006/02/15(水) 00:10:540274デフォルトの名無しさん
2006/02/15(水) 00:13:46int count = 0;
while((tmp = s.getLength()) <= 1000) {
while(tmp == s.getLength());
if(s.getレス(s.getLength()).is釣られた())
count++;
}
0275デフォルトの名無しさん
2006/02/15(水) 00:23:03最近始めた自分はcygwin(コマンドプロンプト)+bash+vim
jdk日本語版落としてしまって、文字化けするんでscreenは使えない。
0276デフォルトの名無しさん
2006/02/15(水) 00:31:48Eclipseでもショートカットを使って結構マウスなしでがんばれますが、vi派にはつらいかも。
でも、型参照とかリファクタリングとか、特にクィックフィックスが便利です。
私もemacs + JDEE 派でしたがずいぶん前にEclipseに乗り換えました。
ってemacs派の意見は無視ですかそうですか。
詳しい話はEclipseスレに行くといいんじゃないでしょうか。
0277デフォルトの名無しさん
2006/02/15(水) 01:11:47「材質は銅じゃないよ」と楽器板風なレスが欲しいのか?
0278デフォルトの名無しさん
2006/02/15(水) 01:13:080279デフォルトの名無しさん
2006/02/15(水) 01:22:01色々と考え込む前にCodeZineの「★★★★本格的なシューティングゲームを実現するタスクシステム」を読んで来い
0280デフォルトの名無しさん
2006/02/15(水) 01:52:22eclipse使わないでやってるのって、もう時代錯誤なのかなぁとか
思ったりしてしまい、、、同業他社の人を見ると確実にeclipseなので。
>私もemacs + JDEE 派でしたがずいぶん前にEclipseに乗り換えました。
やっぱ慣れるとすごくイイですか?
0281デフォルトの名無しさん
2006/02/15(水) 01:58:55>>276も言ってるが、コードアシストとクイックフィックスが便利。
これ使わないなら乗り換える意義がないと言ってしまいたいくらい。
0282デフォルトの名無しさん
2006/02/15(水) 02:08:07リファクタリングとお手軽ソースフォーマッタも有るよ
0283デフォルトの名無しさん
2006/02/15(水) 02:13:21MS-DOS, C の時からずっとコマンドラインコンパイラ+テキストエディタだったが Eclipse スレ
Part1 で試しに使ってみたらハマった。
0284デフォルトの名無しさん
2006/02/15(水) 03:03:01arraylistのtoArrayだとオブジェクトの配列しか手にはいんねっす。
list中に入ってるのはbyteをオートボクシングで入れたByteです。
0285デフォルトの名無しさん
2006/02/15(水) 03:05:33っ [設計の見直し]
じゃなきゃ、for文でこつこつやらせてください。
出し入れ箇所が多いならユーティリティクラスでも作ってください。
0286デフォルトの名無しさん
2006/02/15(水) 03:09:39toByteArray() で byte 配列になる。
0287デフォルトの名無しさん
2006/02/15(水) 10:20:231を000001
11を000011
のように桁数指定(フォーマット指定)で簡単に変換する方法は
0288287
2006/02/15(水) 10:21:14数字を文字列として扱いたいときの質問です
1を000001
11を000011
のように桁数指定(フォーマット指定)で簡単に変換する方法は
ありますか?
0289デフォルトの名無しさん
2006/02/15(水) 10:27:39投稿してしましました
0290デフォルトの名無しさん
2006/02/15(水) 10:36:11つhttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/text/DecimalFormat.html
0292デフォルトの名無しさん
2006/02/15(水) 14:11:11ありがとうです。
0293156
2006/02/15(水) 20:13:56しかし、直列化復元をなんとしてでも成功させたいです。
そこで質問があります例えば次のコードのnew Ivent()をコメントアウトせずに直列化復元をさせる方法はないでしょうか?
0294156
2006/02/15(水) 20:15:32package main;
import java.awt.event.ActionEvent;
import java.io.*;
import javax.swing.*;
public class Main {
public static void main(String[] args) {
JFrame f;
try {
File file = new File("save.dat");
if(file.canRead()) {
FileInputStream fin = new FileInputStream(file);
ObjectInput s = new ObjectInputStream(fin);
f = (JFrame)s.readObject();
s.close();
fin.close();
} else {
0295156
2006/02/15(水) 20:16:27JMenuBar mb = new JMenuBar();
JMenu tmp1 = new JMenu("tpm1");
JMenuItem tmp2 = new JMenuItem(new Ivent());←ここが問題の箇所
tmp2.setText("tmp2");
tmp1.add(tmp2);
mb.add(tmp1);
f.setTitle("Srialize");
f.setJMenuBar(mb);
f.setSize(200, 200);
f.setVisible(true);
FileOutputStream fout = new FileOutputStream(file);
ObjectOutput s = new ObjectOutputStream(fout);
s.writeObject(f);
s.flush();
s.close();
fout.close();
}
} catch(ArrayIndexOutOfBoundsException err) {
err.printStackTrace();
} catch(IOException err) {
err.printStackTrace();
} catch(ClassNotFoundException err) {
err.printStackTrace();
}
}
}
0296156
2006/02/15(水) 20:17:35private static final long serialVersionUID = 368883942614563503L;
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
JOptionPane.showMessageDialog(
null, "Playing tmp2.", "tmp2",
JOptionPane.PLAIN_MESSAGE
);
}
}
0297デフォルトの名無しさん
2006/02/15(水) 21:40:280298デフォルトの名無しさん
2006/02/15(水) 22:02:340299156
2006/02/15(水) 22:05:570300デフォルトの名無しさん
2006/02/15(水) 22:09:00じゃあやってみせる
0301デフォルトの名無しさん
2006/02/15(水) 22:18:410302デフォルトの名無しさん
2006/02/15(水) 22:22:40ありがちなネタかと
0303デフォルトの名無しさん
2006/02/15(水) 22:36:42普通に考えてできるわけねーだろボケが
Javaを舐めてんじゅあねーよ
0304デフォルトの名無しさん
2006/02/15(水) 22:42:210305デフォルトの名無しさん
2006/02/15(水) 23:27:44javaの言語システムなら3週間くらい
応用はプライスレス
0306デフォルトの名無しさん
2006/02/16(木) 00:53:51sunのリファレンス読んでもでも良く解らない仕様って多くないですか?
クラスのソース読んだりするのがいいのかな?といってもHDDの容量がそれを許さないし、時間がかかりそうだし。
すべてのクラスを網羅したサンプルを置いてあるようなサイトとかあれば良いんですが。
0307デフォルトの名無しさん
2006/02/16(木) 01:01:16ネットワーク回りくみたいとおもったらjava.netやjava.ioみればいいし
グラフィック回りならJava2D
まずはsunのドキュメントに目を通してからいってくだされ
0308デフォルトの名無しさん
2006/02/16(木) 01:05:200309デフォルトの名無しさん
2006/02/16(木) 01:07:09必要なときに見るだけ。
0310デフォルトの名無しさん
2006/02/16(木) 01:08:02質問のこたえになってないじゃん。馬鹿?
0311デフォルトの名無しさん
2006/02/16(木) 01:09:32おまえの発言って情報量少ないよな
人生の絞りカスはだまって腐っててください^^;;;;;
0312デフォルトの名無しさん
2006/02/16(木) 01:11:320313デフォルトの名無しさん
2006/02/16(木) 01:11:54情報量だってよ
0314デフォルトの名無しさん
2006/02/16(木) 01:12:53ハズかちい
0315デフォルトの名無しさん
2006/02/16(木) 01:13:270316デフォルトの名無しさん
2006/02/16(木) 01:13:49でもこういう香具師ってほんとそこらへんにいるよね。
何なんだろ
0317 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄
2006/02/16(木) 01:13:58く へ, V、_,/
(⌒ヽ\ノ,〉 >'、\/⌒j
{ ヽ、 テ彡⌒ ⌒} ノ |
| } 丶 . .,,___ノ、ノ/{ i
|. { ミ } |
⊆ニゝ ● ヽニ⊇
||. .\\ \ ∧_∧.
. \\ \ ( ) ゴルァ
. \∧_∧ \|__./ ./
( )ちょっ! .∧_∧
. _/ ヽ \| ( )なにやってんだ!
0318デフォルトの名無しさん
2006/02/16(木) 01:14:220319デフォルトの名無しさん
2006/02/16(木) 01:15:120320デフォルトの名無しさん
2006/02/16(木) 01:16:440321デフォルトの名無しさん
2006/02/16(木) 01:18:340322デフォルトの名無しさん
2006/02/16(木) 01:22:550323デフォルトの名無しさん
2006/02/16(木) 01:24:14情報量が少ないのです
まったく2chのカスは絞りたてで困る
0324デフォルトの名無しさん
2006/02/16(木) 01:47:52情報量が求められるのは回答の方なんじゃないのかな。
それが出来ない回答者はカス。
0325デフォルトの名無しさん
2006/02/16(木) 01:47:52サイトを読みまくって、おおまかな動かし方(初歩的なAPI)分かってきたら、
言語仕様だってネットで公開されてるし、いざとなったらAPIドキュメントみれば
いいわけで、正直、どこに問題があるかさっぱりわからん。
おれ仕事中は全部ネットで検索するので、本は見ないけどな。
0326デフォルトの名無しさん
2006/02/16(木) 01:48:350327デフォルトの名無しさん
2006/02/16(木) 01:50:09>sunのリファレンス読んでもでも良く解らない仕様って多くないですか?
0328デフォルトの名無しさん
2006/02/16(木) 01:51:31それは回答者がカスだから明確じゃないと思うんだろうよw
0329デフォルトの名無しさん
2006/02/16(木) 01:51:42そこまでいったら使ってみてどう動くか試すのがプログラマだろ?
0330デフォルトの名無しさん
2006/02/16(木) 01:52:240331デフォルトの名無しさん
2006/02/16(木) 01:53:56だからさ、それよりいい効率良い方法がないか検討してるんだよ。
0332デフォルトの名無しさん
2006/02/16(木) 01:56:05>どこに問題があるかさっぱりわからん
そもそも「なにが問題だ」という性質の質問ではない。
0333デフォルトの名無しさん
2006/02/16(木) 02:05:13でもAPIマニュアル見ながらどう動くかやっていけないとプログラマ失格だろ?
0334デフォルトの名無しさん
2006/02/16(木) 02:06:030335デフォルトの名無しさん
2006/02/16(木) 02:08:49一応初心者スレなんだし、失格とか言うのはよそうよ。
0336デフォルトの名無しさん
2006/02/16(木) 02:09:54職業プログラマじゃないし、APIマニュアルから習得しなきゃならない必然性はないよ。少なくとも自分は、より効率性の高い方法があればそちらを選ぶね。
自然語が殆どで占められるAPIリファレンスよりサンプルがあったほうが解りやすいし、ソースを見ながらのほうが良いかもしれない。
0337デフォルトの名無しさん
2006/02/16(木) 02:10:290338デフォルトの名無しさん
2006/02/16(木) 02:11:370339デフォルトの名無しさん
2006/02/16(木) 02:15:26おまえあれだ、昨夜、土方よりプログラマの方が云々言ってた痛い香具師>>172だよなw
172 名前:デフォルトの名無しさん[sage] 投稿日:2006/02/14(火) 15:17:36
>>170
大丈夫、ここでたたいておけば>>163みたいなやつがプログラマにならずに済む。
彼の日本語からすると、できる人間じゃないので
きっと土方とか交通整理とかそういうことをやって下から我々を支えてくれるよ。
181 名前:デフォルトの名無しさん[sage] 投稿日:2006/02/14(火) 17:46:31
>>172の笑いどころてこれだろ
>プログラマにならずにすむ
↓
>土方や交通整理で我々を下から(ry
プログラマも土方も>>172も目くそ鼻くそだろうと
0340デフォルトの名無しさん
2006/02/16(木) 02:17:190341デフォルトの名無しさん
2006/02/16(木) 02:17:490342デフォルトの名無しさん
2006/02/16(木) 02:19:28>>172 の書き込みで >>339 の心が深く傷付いたのはよく分かったがw
0343デフォルトの名無しさん
2006/02/16(木) 02:23:27とてもじゃないがやっていけないだろう。たった一つのしょぼい不具合に
8時間もかかった俺が着ましたよ('A`)。PG向いてないな。
0344デフォルトの名無しさん
2006/02/16(木) 02:23:460345デフォルトの名無しさん
2006/02/16(木) 02:23:580346デフォルトの名無しさん
2006/02/16(木) 02:24:550347デフォルトの名無しさん
2006/02/16(木) 02:27:40な、>>342w
0348デフォルトの名無しさん
2006/02/16(木) 02:28:54こんどはどんな反応くるかな?
172 名前:デフォルトの名無しさん[sage] 投稿日:2006/02/14(火) 15:17:36
>>170
大丈夫、ここでたたいておけば>>163みたいなやつがプログラマにならずに済む。
彼の日本語からすると、できる人間じゃないので
きっと土方とか交通整理とかそういうことをやって下から我々を支えてくれるよ。
181 名前:デフォルトの名無しさん[sage] 投稿日:2006/02/14(火) 17:46:31
>>172の笑いどころてこれだろ
>プログラマにならずにすむ
↓
>土方や交通整理で我々を下から(ry
プログラマも土方も>>172も目くそ鼻くそだろうと
0349デフォルトの名無しさん
2006/02/16(木) 02:29:390350デフォルトの名無しさん
2006/02/16(木) 02:29:54する。あれは辞書なんだから、分からなくなったときみりゃいいのに。
概略つかむのに、パッケージ単位のドキュメントを読むとなんとなく分かったり
することもあったり。
0351デフォルトの名無しさん
2006/02/16(木) 02:30:570352デフォルトの名無しさん
2006/02/16(木) 02:32:19もっと日本語教えんかい。英語だけしゃべれて国際人とかなれるわけねえだろ」
とかいう話を読んだなあ。
0353306
2006/02/16(木) 02:33:52>大量のAPIを一通り網羅するより、
>>306はそういうことを言ってるんじゃないんだわ。
むしろあなたの言う、
>必要なときに取り出すようにしないととてもじゃないがやっていけないだろう。
という方法について問題にしてるんだ。
0354デフォルトの名無しさん
2006/02/16(木) 02:35:28全パッケージについてあればいいんじゃない?
いやジョークじゃなくて、「JavaでHello World」ってサイト、なにげに
すごいと思うよ。
0355デフォルトの名無しさん
2006/02/16(木) 02:38:00オライリーから一通り網羅した本が出てると思ったけど
それを辞書にするんじゃだめ?
0356デフォルトの名無しさん
2006/02/16(木) 02:38:24おまえよほどそれが気に触ったらしいなw 言っておくがマジで俺は >>172 じゃないぞ。
まぁ高卒の判断力なんてそんなもんだろうけどw
0357306
2006/02/16(木) 02:46:38>それを辞書にするんじゃだめ?
駄目じゃないです。質問の離れて、個人的には本気でやるなら良いかもしれないです(オライリーって高いですよね)。
とりあえず質問の趣旨から言えば、ネットで情報が得られるのが良いのですが。
>>354さんの言う通り、実際のコードが説明してあるサイト(リンク集でも)とかあれば良いのに。
0358デフォルトの名無しさん
2006/02/16(木) 02:48:53そうなんか。
そりゃすまん買った。
こんな板で学歴ネタやる奴も珍しいと思ったから同一人物だと思ったんだわ。
0359デフォルトの名無しさん
2006/02/16(木) 02:49:05ソース内のコメント読めよ。
0360デフォルトの名無しさん
2006/02/16(木) 02:50:15なにまだ高卒とか言ってんの?痛い奴だ。馬鹿は死んでも(ry
0361デフォルトの名無しさん
2006/02/16(木) 02:51:46そんな必死になって、別人だって言わなくていいよw
0362デフォルトの名無しさん
2006/02/16(木) 02:52:380363デフォルトの名無しさん
2006/02/16(木) 02:54:09所詮低学歴の部類だって気が付かないのか……
0364デフォルトの名無しさん
2006/02/16(木) 02:54:240365デフォルトの名無しさん
2006/02/16(木) 02:56:45/ /⌒)ノ ペタン
∧_∧ \ (( ∧_∧
(; ´Д`))' ))(・∀・ ;) <まぁおまいら、もちつけよw
/ ⌒ノ ( ⌒ヽ⊂⌒ヽ
.(O ノ ) ̄ ̄ ̄()__ )
)_)_) (;;;;;;;;;;;;;;;;;;;)(_(
0366デフォルトの名無しさん
2006/02/16(木) 02:59:29きみはなにをそんなにひっしにまもろうとしているのかwwwwwwwwwwwwww
0367デフォルトの名無しさん
2006/02/16(木) 02:59:540368デフォルトの名無しさん
2006/02/16(木) 03:00:29おまえは何を必死にそんなにwを連ねてるのか?
0369デフォルトの名無しさん
2006/02/16(木) 03:01:30と、釣られた本人が述べております。
0370デフォルトの名無しさん
2006/02/16(木) 03:02:04そういうのはマイノリティだと思いたいとか。
0371デフォルトの名無しさん
2006/02/16(木) 03:02:440372デフォルトの名無しさん
2006/02/16(木) 03:05:34もはや誰も追及してないじゃん。
そんなに別人だって主張しなくていいと思うよ。
0373デフォルトの名無しさん
2006/02/16(木) 03:06:46んと、解説が簡単に引き出せたらいいなぁってことだよね?
サンプルコードを検索できるサイトなら3つ知ってるよ。
http://www.javarss.com/hp/joogle/
http://koders.com/
http://www.jarhoo.com/
jarhooは会員登録しなくちゃならなくなったようだけど。
個人的には、クラスの使い方がたくさん載ってるページを
いくつか捕まえて、それで解決していくしかないと思ってる。
自分もSunのAPIやリファレンスがよく分からないクチだから。
0374デフォルトの名無しさん
2006/02/16(木) 03:07:32ワロタ
0375デフォルトの名無しさん
2006/02/16(木) 03:07:340376デフォルトの名無しさん
2006/02/16(木) 03:12:47>個人的には、クラスの使い方がたくさん載ってるページを
>いくつか捕まえて、それで解決していくしかないと思ってる。
>自分もSunのAPIやリファレンスがよく分からないクチだから。
Java以外もやるようにするといいよ。
別言語の考え方に触れることでJavaに関する視野も広がる。
0377デフォルトの名無しさん
2006/02/16(木) 03:14:13これも釣りか。すぐ上の >>366 辺りが見えないわけないもんなw
なにが 「もはや」 だ、意味分かって使ってんのか ヴァカ 高卒
0378デフォルトの名無しさん
2006/02/16(木) 03:15:33確かにJavaしかふれたことがないよ(そしてJava初心者)。
分かる人には分かるのかな?
どうもありがとう。Cでもさわってみようかな。
0379デフォルトの名無しさん
2006/02/16(木) 03:17:43ベタな手法だな。
0380デフォルトの名無しさん
2006/02/16(木) 03:19:46追求の意味を覚えてからおいで。
0381デフォルトの名無しさん
2006/02/16(木) 03:20:390382デフォルトの名無しさん
2006/02/16(木) 03:21:46そこ便利ですね。kodersてとこ使ってみたらjavaのソースも見れるし。参考になりました。ありがとう。
次回テンプレに入れると良くない?
0383デフォルトの名無しさん
2006/02/16(木) 03:25:02遅すぎ。
>>377おまえはそうやっていつも時代に取り残されてきたんだな。同情するよw
0384デフォルトの名無しさん
2006/02/16(木) 03:27:320385デフォルトの名無しさん
2006/02/16(木) 03:31:570386デフォルトの名無しさん
2006/02/16(木) 03:34:05よく読んでおけ。
0387デフォルトの名無しさん
2006/02/16(木) 03:34:260388デフォルトの名無しさん
2006/02/16(木) 03:35:34馬鹿ほど無駄に接続詞を使いたがる典型。
0389デフォルトの名無しさん
2006/02/16(木) 03:36:06>「遅い」
捕捉しておこう。ここで問題にされているのはレスの速さではなく、5分が「もはや」かどうか。
>>377は、>>372から>>366を見たとき、「もはや」と表現できないと述べている点が「遅い」と言われている。
0390デフォルトの名無しさん
2006/02/16(木) 03:37:110391デフォルトの名無しさん
2006/02/16(木) 03:38:12>>377は感覚が劣化しきっているように見受けられる。
0392デフォルトの名無しさん
2006/02/16(木) 03:41:16誰だこんなことを言ったのは
364 名前:デフォルトの名無しさん[sage] 投稿日:2006/02/16(木) 02:54:24
根拠のない認定能力は半島民並だなw
0393デフォルトの名無しさん
2006/02/16(木) 03:41:250394デフォルトの名無しさん
2006/02/16(木) 03:43:17こんな感じかな?他にも書き換えてみた。どうだろう。
---------------------
前スレッド
【初心者】Java質問・相談スレッド80【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1138455638/
過去ログ、関連スレ、FAQなど
http://www.wikiroom.com/java/
サンプルコード検索
http://www.javarss.com/hp/joogle/
http://koders.com/
よくある質問
http://www.wikiroom.com/java/index.php?FAQ
・String に == は使うな。equals を使え。
・内部クラスから外部クラスのローカル変数は使えない。他の方法を考えろ。
・まずはwikiや過去ログなどを確認してください。
・回答をもらえたら、質問と答えをwikiに書き込んでおいてください。
・JavaScriptについての回答はできません。
Web製作板へ→http://pc5.2ch.net/hp/
次スレは>>980あたりで。
0395デフォルトの名無しさん
2006/02/16(木) 03:43:23381 名前:デフォルトの名無しさん[sage] 投稿日:2006/02/16(木) 03:20:39
揚げ足とって本題そらしもヴァカの定石
おや?
0396デフォルトの名無しさん
2006/02/16(木) 03:46:020397デフォルトの名無しさん
2006/02/16(木) 03:50:27始めに結論ありきみたいな小学生の感想文で意味不明な認定してるお前のことだ。
>>395
まさに自分の都合の良い情報しかキャッシュに残らないという典型だな。
0398デフォルトの名無しさん
2006/02/16(木) 03:51:27勝利宣言キターーーーーーーーーーーー プゥッ
0399デフォルトの名無しさん
2006/02/16(木) 03:53:19おっっっとこんどは揚げ足取られて蛇足説明始めたね。
そういうのは一体なんだっけ?x
0400デフォルトの名無しさん
2006/02/16(木) 03:55:28それは苦しくなって必死に過去レスあさり始めたお前だ。
0401デフォルトの名無しさん
2006/02/16(木) 03:55:370402デフォルトの名無しさん
2006/02/16(木) 03:57:070403デフォルトの名無しさん
2006/02/16(木) 03:58:02必死て言うけど数レス前にお前が言ったことを返してあげてるだけなんだが。
数レス前だから必死になる必要がないよな?もはやじゃないんだろ?w
0404デフォルトの名無しさん
2006/02/16(木) 04:00:51もはや子供の喧嘩モードだな ┐( ´ー`)┌
0405デフォルトの名無しさん
2006/02/16(木) 04:01:07テンプレ用意して頂いたのですか。ご苦労さまです。
0406デフォルトの名無しさん
2006/02/16(木) 04:03:50まさに子供の喧嘩モードであしらわれとるのに気づかんのかw
言ってることがころころかわっとるね。
0407デフォルトの名無しさん
2006/02/16(木) 04:08:49揚げ足取りが口癖のようだが、自分で「揚げ足取り宣言」しておいて、
あとになって相手を揚げ足取りだって批難したりね。
なにを言っても説得力がなくなる。
0408デフォルトの名無しさん
2006/02/16(木) 04:09:560409デフォルトの名無しさん
2006/02/16(木) 04:10:150410デフォルトの名無しさん
2006/02/16(木) 04:12:530411デフォルトの名無しさん
2006/02/16(木) 04:12:580412デフォルトの名無しさん
2006/02/16(木) 04:15:320413デフォルトの名無しさん
2006/02/16(木) 04:19:100414デフォルトの名無しさん
2006/02/16(木) 04:21:42プッ 眠いなら早く寝ろよ ハゲ
0415デフォルトの名無しさん
2006/02/16(木) 04:23:100416デフォルトの名無しさん
2006/02/16(木) 04:24:28↓
0417デフォルトの名無しさん
2006/02/16(木) 04:26:240418デフォルトの名無しさん
2006/02/16(木) 04:26:590419デフォルトの名無しさん
2006/02/16(木) 04:28:440420デフォルトの名無しさん
2006/02/16(木) 04:29:530421デフォルトの名無しさん
2006/02/16(木) 04:35:50↓以後418が勝利宣言して、水を得た魚のように大ぼら始めます(藁
0422デフォルトの名無しさん
2006/02/16(木) 04:41:17ハァ? 認定するのが好きな人ですね。
脳内キャッシュがフラッシュされてしまったみたいなのでもう一度貼っておきますね。
415 デフォルトの名無しさん sage 2006/02/16(木) 04:23:10
ほらほら、また自分の過去の発言が跳ね返って来てるよw
>>421
> ↓以後418が勝利宣言して、水を得た魚のように大ぼら始めます(藁
専ブラ使ってるから丸見えw そんなに自信の無さをアピールしなくてもさっさと寝りゃ良いのにw
0423デフォルトの名無しさん
2006/02/16(木) 05:21:32>>394
http://www.java2s.com/
他にもここなんかどうよ?いやむしろ入れるならこっちかw
http://www.google.co.jp/
ちょっと検索かければサンプルコードなんかいくらでも見つかるからテンプレに入れる必要ないと思う。
わからないことがあったらまずAPIドキュメントを読むとか、ネット検索かけてサンプルコードをあさるとか、
そういう手順を踏むように誘導する内容があってもいいかなと思うけど、しょーもない質問するやつは大抵
テンプレも読まないから、気休めにしかならないだろうな。
Javaは資料や情報が多い言語なんだから、よっぽどかわった事したいんでもなきゃネット検索で自己解決
出来ると思うんだけど。本なんか買わなくても本に載ってるくらいの内容なら大抵ヒットするし。
0424デフォルトの名無しさん
2006/02/16(木) 05:29:58現在自作MVCモデルを作っているのですが、Jspでhtml生成などのView、
Servletでsql発行などの主動作、Beansは複数のServletで重複する処理
を共通クラスとしてまとめて主に書いています。
Servletでほとんどの処理を行っていますがこれはMVCモデルといえるのでしょうか?
0425デフォルトの名無しさん
2006/02/16(木) 05:31:490426デフォルトの名無しさん
2006/02/16(木) 05:31:580427デフォルトの名無しさん
2006/02/16(木) 05:33:15>>425
システムコール (って DOS 時代の呼び方だぞ) 使うなら JNI 使ってください。
0428424
2006/02/16(木) 05:33:26なぜいえないのでしょうか?
0429デフォルトの名無しさん
2006/02/16(木) 05:36:11ああ、FileってなんでrenameTo()あるのにcopyTo()無いんだろうね、という話です。
既出っぽいですが・・・。
0430424
2006/02/16(木) 05:37:52MVCモデルといえるのではないでしょうか?
0431デフォルトの名無しさん
2006/02/16(木) 05:40:35概念が入ってないのが分かるから。あと、SQL 発行を伴う大抵の処理はモデルの
世界でやること。画面遷移制御以外の目的でサーブレットが SQL を多発してるなら
それはもう C (コントローラー) の役割ではない。V はまぁ HTML 出してるだけだろう
からその通り。
0432424
2006/02/16(木) 05:40:560433デフォルトの名無しさん
2006/02/16(木) 05:41:35それならバグパレードに理由が載ってる。検索しる。
0434424
2006/02/16(木) 05:44:45Servletを使った開発で私のような作り方もありなのでしょうか?
0435424
2006/02/16(木) 05:51:550436デフォルトの名無しさん
2006/02/16(木) 05:55:18Servlet+JSP 開発のさきがけ時代はそんな感じ。サーブレットが主な処理をして JSP が表示する、
共通機能や JSP に渡すデータなんかは Beans にまとめる、みたいな。そのうちどっかの雑誌が
Bean=M、JSP=V、サーブレット=C に無理やりこじつけて MVC とかでっち上げるようになった
(だが実質は以前と同じ)。でもまぁ Sun も MVC だとか言い始めて EJB などが出たり、設計・
開発側が慣れてきたおかげで 3 年もたつとそれが MVC として定着した。
ここらへんは単なる歴史的な話。
>>435
オリンピック期間とはいえこんな時間誰もいねぇよヴォケ
0437424
2006/02/16(木) 06:02:26なるほどとてもよく分かりました
初期時代は私が今やっているような書き方をしていたのですね
現在ソースを見て少し長いなと思っていますので慣れてきたら
部品化してMVCにしていきたいと思います
現在の書き方はMVモデルといった感じなのですねw
0438デフォルトの名無しさん
2006/02/16(木) 06:07:22検索してみましたが、環境に依存するからだめぽ、という事だと理解しました。
ありがとうございます。
0439デフォルトの名無しさん
2006/02/16(木) 06:32:32そういうこと。誰でも最初は画面関係の制御処理と業務そのものの処理 (業務処理) の
区別が出来なくてそうなるし、テーブルの内容表示して入力値を格納する程度のものなら
それで十分。ぶっちゃけ Struts で十分まかなえる設計なんて全部 MV (というか CV)
モデルだよ。
システムがでかくなれば C に全処理をぶち込むことも出来なくなって C と M を分離する
必要が出てくる。まぁ業務分析で出てくるルールがすさまじいので必然的に M は M で
独立設計するようになるだろう。さらに大きくなると M を階層化して分析・設計しないと
収集が付かなくなる。まぁそこらへんまできっちり設計出来るようになったら職業アーキ
テクトでやってゆけるよ。
0440デフォルトの名無しさん
2006/02/16(木) 06:40:14まぁちょっと言い訳臭いがな。汎用的で作っても簡単なものならコアに入れろよ、という
機能はいくつかあるが、ごねてもしょうがないのでそういうものとして受け止めろ。
そういうのが低い優先度で扱われるのは仕方がないし、将来はどうか分からん。
現に初期の段階で否定的だった機能が 1.4、1.5 でいきなり肯定的に追加されることも
あったし。
0441デフォルトの名無しさん
2006/02/16(木) 06:51:01java.nio.channels.FileChannel#transferToというメソッドを見つけたのですが、
ググってもあまり言及がないようです。何か理由があるのでしょうか?
0442デフォルトの名無しさん
2006/02/16(木) 06:54:38以上!
0443デフォルトの名無しさん
2006/02/16(木) 06:58:142倍くらい遅くて使い物にならなかったんですよ。
標準で提供されているものを利用できるなら、それにこしたことはないなと思いまして。
0444デフォルトの名無しさん
2006/02/16(木) 07:03:26New I/O は未だに使ったことないけど計測比較できるならしてみる価値あると思うよ。
abstract 宣言されてるんで環境によっては native になってるかも分からんし。
結果よろしく。
0445デフォルトの名無しさん
2006/02/16(木) 07:04:000446デフォルトの名無しさん
2006/02/16(木) 07:06:33そりゃどうやっても Java で自作よりそっちのほうが早いわな。
0447デフォルトの名無しさん
2006/02/16(木) 07:09:12標準ではないがjakarta Commons IOでも使ってみれば?
0448デフォルトの名無しさん
2006/02/16(木) 07:15:23そこんとこどうなんだろうね
0449デフォルトの名無しさん
2006/02/16(木) 07:18:40cp コマンド起動したほうが速いし効率的。Win だと内部コマンドだから cmd 経由かな。
0450デフォルトの名無しさん
2006/02/16(木) 07:24:22Commons は native メソッドはないから所詮はループでくるくる回してるんだろ。
せいぜいファイルサイズ見てバッファの大きさ決めてる程度と思われ。
と思ってソース見たらこんな程度。
public static int copy(InputStream input,
OutputStream output) throws IOException {
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
int count = 0;
int n = 0;
while (-1 != (n = input.read(buffer))) {
output.write(buffer, 0, n);
count += n;
}
return count;
}
0451デフォルトの名無しさん
2006/02/16(木) 07:25:46今計測してみますので少しお待ちを。
環境はWindows XP SP2です。
>>449
時間計測のためにcmd /c copyはやってみたんですけど、挙動が怪しいんですよね。
0452デフォルトの名無しさん
2006/02/16(木) 07:59:26HttpServletRequest.getSession(boolean)と
HttpServletRequest.getSession()で取得できるSessionオブジェクトの
違いは何でしょうか?
0453デフォルトの名無しさん
2006/02/16(木) 08:02:46http://www.ingrid.org/jajakarta/servletapi/servletapi-4.0/docs-ja/javax/servlet/http/HttpServletRequest.html#getSession(boolean)
0454デフォルトの名無しさん
2006/02/16(木) 08:06:20同じだけどもセッションが存在しない場合はgetSession(true)と同じ動作をするってことですね。
0455デフォルトの名無しさん
2006/02/16(木) 08:11:15とりあえず計測結果を。普通のぶん回しは>>450を拝借しました。
・11.8MB
Copy(BUFFER_SIZE=1KB): 160 msec
Copy(BUFFER_SIZE=1MB): 741 msec
NIO Copy: 631 msec
・121MB
Copy(BUFFER_SIZE=1KB): 31956 msec
Copy(BUFFER_SIZE=1MB): 10595 msec
NIO Copy: 9344 msec
結論としては、早いといえば早いのですが、微妙なところですね・・・。
ただ、バッファサイズの微調整をしなくても安定動作するのは有利な気がします。
0456デフォルトの名無しさん
2006/02/16(木) 08:20:110457デフォルトの名無しさん
2006/02/16(木) 08:28:05お疲れさん。前スレか前々スレあたりの copy 機能ないですかってのは自分で作れ、
Commons 使え、がスレの総評だったのだが、良い情報もらいました。俺もいい加減
New I/O 使うようにせにゃ…
C コンパイラ持ってるならシステムコール (つうか Windows API) 使ったのとは比較
できんかえ? CopyFile(LPCTSTR, LPCTSTR, BOOL) 使うだけだけど。まぁ暇があったら
やってみるか。
0458デフォルトの名無しさん
2006/02/16(木) 08:35:370459デフォルトの名無しさん
2006/02/16(木) 08:41:430460デフォルトの名無しさん
2006/02/16(木) 08:49:150461デフォルトの名無しさん
2006/02/16(木) 08:56:27public class NIOCopyFile {
public static void main(String args[]){
File fi = new File(args[0]);
File fo = new File(args[1]);
FileChannel srcCh = null;
FileChannel dstCh = null;
long startTime = System.currentTimeMillis();
try{
srcCh = new FileInputStream(fi).getChannel();
dstCh = new FileOutputStream(fo).getChannel();
dstCh.transferFrom(srcCh,0,srcCh.size());
} catch(IOException e) {
e.printStackTrace();
} finally {
try {
srcCh.close(); dstCh.close();
} catch(IOException e) {
e.printStackTrace();
}
}
long endTime = System.currentTimeMillis();
System.err.println((endTime-startTime)+" msec");
}
}
0462デフォルトの名無しさん
2006/02/16(木) 09:01:06以下の様にシンクロナイズドを付けとけばOKでしょうか?
public class ServletMona extends HttpServlet {
toPost(....){gikoneko()}
syncronized gikoneko(){...}
}
0463デフォルトの名無しさん
2006/02/16(木) 09:05:49そこのブロック待機スレッド数 (同時受付リクエスト数に相当?) がほぼ 0 なら良いけど。
0464デフォルトの名無しさん
2006/02/16(木) 10:03:23環境が違うけどやってみた
fread, fwrite でバッファサイズを変えた場合と、CloneFile API を利用した場合
・11.8MB
Copy(BUFFER_SIZE=1KB): 520ms
Copy(BUFFER_SIZE=1MB): 921ms
CopyFile API: 430ms
・121MB
Copy(BUFFER_SIZE=1KB): 14540ms
Copy(BUFFER_SIZE=1MB): 13749ms
CopyFile API: 12287ms
ソースは
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1645.txt
なんか間違ってるかもしれんが勘弁して
0465デフォルトの名無しさん
2006/02/16(木) 10:18:03漠然と勉強が分かりません、どうしたらいいですか?
というのはお話にならん
やってみて、ここが分からなかった
ではどうしたらいいでしょうか?ならみんな親切に回答するとおもわれ
言語以外の勉強もまず形から入る人なのかな
「数学を勉強するにはどうしたらいいでしょうか?」
なんて質問されてるのとまったく同じだし
0466デフォルトの名無しさん
2006/02/16(木) 10:24:28bccでコンパイルしてやってみました。最適化オプションは特に無し。
・11.8MB
Copy(BUFFER_SIZE=1KB): 120ms
Copy(BUFFER_SIZE=1MB): 830ms
CopyFile API: 49ms
・121MB
Copy(BUFFER_SIZE=1KB): 53065ms
Copy(BUFFER_SIZE=1MB): 12236ms
CopyFile API: 10155ms
あと、121MBの方はcopyコマンドをストップウオッチで計ってみましたが
(「cmd /c copy」を他のプロセスから呼ぶとエラーが出る)、10〜11秒程度のようです。
OS提供とほぼ同等の性能と考えて良さそうですね。
0467デフォルトの名無しさん
2006/02/16(木) 11:08:17ソースとデータもあるがこのうpろーだがZIP受け付けないので希望があれば晒す。
俺が考察始めると長くなるのでそれぞれ見て判断してくれw
http://www.jt200x.com/uploder/src/up7049.png
0468デフォルトの名無しさん
2006/02/16(木) 11:19:540469デフォルトの名無しさん
2006/02/16(木) 11:28:040470デフォルトの名無しさん
2006/02/16(木) 11:36:42(build 1.5.0_05-b05, mixed mode, sharing)、ThinkPad X31 内臓ドライブ、
暗号化ディレクトリ使ってるので相対的な評価でおながい。
テストした範囲では 1kB のバッファでぶん回すくらいなら New I/O 使ったほうが
速い。1MB でぶん回したのと同等程度。Commons の copy はバッファサイズ
4kB なので、大抵の場合 New I/O のほうが速いんだろうな。Win32 の CopyFile() には
及ばない場合もあるけど、これならおおむね「使っときゃ間違いねんじゃね?」 だろう。
関係ないがループでやる場合はバッファサイズがファイルサイズを超えると
指数関数的に時間食うといった動きも見てとれる。
>>469
試行回数は各1回。標準誤差出すのマンドクサ。その分細かめにファイルサイズ切ったんで
前後との目視平均(wで勘弁して (対数でプロットするために 0ms は 1ms に変更してる)。
0471デフォルトの名無しさん
2006/02/16(木) 12:49:04これをモデルに含めたら、
例えば保存先の形態を変更したらモデルを弄らないとあかん。
これはあたかもモデルがビューに依存しているかのようになる。
0472デフォルトの名無しさん
2006/02/16(木) 13:11:02もともとのMVCモデル(Smalltalk発祥の)はそういうものだったような。
保存先(モデルのロジック)が変わってもコントローラもビューも変更しなくていいですよっていう。
ただWebアプリだと保存先が変わるってのはざら(DBを変更したとか)なので、
その度にモデルに手を入れるのは面倒だよね、って話になって、
→じゃあモデルとは別にData Access Object(DAO)って作ればいいじゃん、
→DAOの切り替えどうするよ?その度にモデル直さなきゃいけないよ?
→DAOのファクトリ作ろうぜ。
ってことになって、J2EEだのHibernateだのが生まれてるのがJava EE界隈の歴史。
永続化のロジックは、旧来のMVCモデルのCにもMにも入れるのは不都合なので
MでもCでもないものに分かれたっていうのが私の認識です。
0473デフォルトの名無しさん
2006/02/16(木) 13:13:21データストアはビューじゃない。モデルをそれらに依存させたくなければ、モデルの
後ろ側にデータアクセス層を作れ。まぁレガシーシステムからオープン系へ移行する
前提とかならともかく、普通は DB の変更なんてあらゆる方面に飛び火するような
馬鹿なことはしないけどな。コスト抑えるために最初にわざわざ製品選定するんだし。
0474デフォルトの名無しさん
2006/02/16(木) 13:24:58すげー。そういうことだったのかよくわかった。
でも、だからJavaは重いっていわれるんだね。
MVCとかやめたほうがいいのに。
0475デフォルトの名無しさん
2006/02/16(木) 13:27:22全てを無にして同じものを1から作り直す
これこそスクラッチ&ビルドの醍醐味!!
0476デフォルトの名無しさん
2006/02/16(木) 13:30:48恥も糞もねぇな肉桂
0477デフォルトの名無しさん
2006/02/16(木) 13:40:09リッチで十分ですよ、リッチで。わかってくださいよ。
0478デフォルトの名無しさん
2006/02/16(木) 13:42:51ぐぐってみると、Image#getGraphics()をして新しく描画しなおすという解決法
しか見つからなかったのですが、サーバサイドで実行したいのでGraphicsを使い
たくありません。
他の方法で何か良い案はないでしょうか。
どうぞよろしくお願いします。
環境:J2SE 1.4
0479デフォルトの名無しさん
2006/02/16(木) 13:42:55以上
0480デフォルトの名無しさん
2006/02/16(木) 13:47:14途方もない苦労をしたくなければ普通に AWT の機能を使っておけ。コンソールのみの
サーバでも Xvfb 起動しとけばグラフィック機能は使える。
Graphics 使う程度ならイベントディスパッチループが始まったりすることもないから。
0481478
2006/02/16(木) 13:54:00お客さんの環境が不定なので、Xvfbを必須ともいえず……苦労してもいいのでなんとかGraphicsなしでどうにかなりませんかねぇ
0482デフォルトの名無しさん
2006/02/16(木) 13:58:44つPJA
つ-Djava.headless=true
0483デフォルトの名無しさん
2006/02/16(木) 14:57:13nio版に比べると多少劣るようだが、まあ悪くはない気がする。
static final int BUFF_SIZE = 1024 * 1024;
static final byte[] buffer = new byte[BUFF_SIZE];
public static void main(String[] args) {
File fi = new File(args[0]); File fo = new File(args[1]);
InputStream in = null; OutputStream out = null;
long startTime = System.currentTimeMillis();
try {
in = new FileInputStream(fi);
out = new FileOutputStream(fo);
while (true) {
synchronized (buffer) {
int i = in.read(buffer);
if (i == -1)
break;
out.write(buffer, 0, i);
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
in.close();out.close();
} catch(IOException e) {
e.printStackTrace();
}
}
long endTime = System.currentTimeMillis();
System.err.println((endTime-startTime)+" msec");
}
0484デフォルトの名無しさん
2006/02/16(木) 15:05:220485483
2006/02/16(木) 15:05:55CopyFile: 10835ms
>>483: 11977 msec
nio: 11076 msec
262MB
CopyFile: 36632ms
>>483: 41771 msec
nio: 36373 msec
262MB だとさすがに差が出るか。
0486デフォルトの名無しさん
2006/02/16(木) 15:06:55100KBでも意外と変わらなかった気もする。
0487483=486
2006/02/16(木) 15:12:050488478
2006/02/16(木) 15:26:33感動しました。
ありがとう。
0489483
2006/02/16(木) 15:36:220490デフォルトの名無しさん
2006/02/16(木) 18:25:37Javaアプリケーションを実行させようと思っています。
AntのJavaタスクで実行させようとしたのですが、
ant ターゲット名 &
で、キー入力がもどってきたタイミングでプロセスが
ストップしてしまいます。
この方法ではバックグラウンドで実行することができないんでしょうか?
0491デフォルトの名無しさん
2006/02/16(木) 18:25:48文字列中の特定の文字を取り除きたいのですが
string.replace('-','');
などと書くと空の文字だぞとエラーになります。
文字列より特定の文字の削除したい場合の文法を教えて下さい。
0492デフォルトの名無しさん
2006/02/16(木) 18:37:090493デフォルトの名無しさん
2006/02/16(木) 18:52:06一瞬AAに見えた件について
0494デフォルトの名無しさん
2006/02/16(木) 19:17:23>>>333は間違ってないな
もういちど読み返してみるといいよ。
>>306質問(相談)は結局参考になるサイト求むという内容だと言える。
君の肯定している>>333はそれに対しての答えになってない。
つまり、
「経験者が薦めるAPIマニュより便利なサイトを教えてくれ」
という「APIマニュアルより」と限定してある今回の質問に対して
「apiマニュアル見ながらどう動くかやっていけないとプログラマ失格」は答えになってない(apiマニュアルが最高という答えならありえるわけだが)
こういう質問には、特定の答えがあるわけではないが、経験者それぞれにお勧めの方法は有るものだ。
現に>>373のような有効な回答があるのが見えてないのだろうか。
#この点、(検索時にsunのAPIサイトがトップに占められることの多い)「googleでOK」という答えはあまり有効とは思えない。
その意味で
>漠然と勉強が分かりません、どうしたらいいですか?
>「数学を勉強するにはどうしたらいいでしょうか?」
こういう漠然とした内容の例えが出ること自体そもそも読み違えている。
これは君の日本語の読解能力の問題だろう。
0495デフォルトの名無しさん
2006/02/16(木) 19:28:49上のサイトすごくいい。お気に入りに入れた。
Google使わないのは、結果にゴミが入るのが鬱陶しいからかと。
0496デフォルトの名無しさん
2006/02/16(木) 19:43:240497デフォルトの名無しさん
2006/02/16(木) 20:59:52アプリ一つのために40MB占有というのは、少々シチュエーションが限られますね。
まぁ、一つの方法としてはありでしょうか。
0498デフォルトの名無しさん
2006/02/16(木) 21:43:08>保存先(モデルのロジック)が変わってもコントローラもビューも変更しなくていいですよっていう。
MVCって、M が V や C に依存しないことが肝じゃなかったっけ。
V や C は M を表現するための単なる一断面であり、他にも切り口がある
という考えじゃなかったっけ。
データの保存先は、読み込んだりできることを考えると確かにビューじゃないな。
でも、SQL発行の操作はモデルから分離した方がいいような希ガス
ロジックが DB とかにも及ぶと、
概念的にカプセル化可能なモジュールの単位が大きくなりそう。
当方、頭悪いので3つ以上同時にモノを考えられません
0499デフォルトの名無しさん
2006/02/16(木) 21:52:58別に永続化ロジックがコントローラにあったと考えてもいいよ。
で、そうすると、ビューとモデルの仲立ちをするロジックは同じなのに、
永続化ロジックが違うだけで別のコントローラを実装し直す必要がでてくる。そこで
→永続化ロジックだけ別クラスにしようぜ→Data Access Object
→DAOの取得はどうするよ?永続化ロジックごとに違うぜ?→Factory
となって、J2EEや、アンチJ2EEフレームワークになるわけだ。
0500デフォルトの名無しさん
2006/02/16(木) 21:57:10このJava房どもが
0501デフォルトの名無しさん
2006/02/16(木) 22:05:07∩___∩ アピョピョ
(ヽ | ノ ヽ /)
(((i ) / (゜) (゜) | ( i)))
/∠彡 ( _●_) |_ゝ \
( ___、 |∪| ,__ )
| ヽノ /´
| /
0502デフォルトの名無しさん
2006/02/16(木) 22:05:48mainのあるクラスはJFrameをextendsして更にActionListenerをimplementsしています。
その中にJPanel jp = new JPanel()、更にJScrollPane sp = new JScrollPane(jp)としています。
そのjpに更にJPanel j1をaddして、そのj1にpaint(Graphics g)を使って描画をしました。
しかしながら、手動でスクロールさせるとViewportから外れた部分の描画が消え、おかしなことになってしまいます。
スクロールさせてもj1の描画に影響が出ない方法は何か無いでしょうか?
0503デフォルトの名無しさん
2006/02/16(木) 22:33:150504デフォルトの名無しさん
2006/02/16(木) 22:45:51なってインストールできないか書かなきゃだれも助けてくれないだろうに
0505デフォルトの名無しさん
2006/02/16(木) 22:47:11ありがとう。
だけど、1.3だったので利用できずorz
SQL作成で使うところなので
SQL側でreplaceする方向で検討中。
0506デフォルトの名無しさん
2006/02/16(木) 22:51:57Sorry!In order to download this product, you must select"Accept License Agreement"
on this page or on the Review License Agreement page.
ってなる
0507デフォルトの名無しさん
2006/02/16(木) 23:01:050508デフォルトの名無しさん
2006/02/16(木) 23:04:32ワロタ
お前の目は節穴かw
0509デフォルトの名無しさん
2006/02/16(木) 23:13:25衰退許諾契約って何?
0510デフォルトの名無しさん
2006/02/16(木) 23:18:05インストールじゃなくダウンロードできないんでしょ?
>Accept License Agreement
をクリックすればいい
>>507-506
なにが面白いんだろう。。。よくあることじゃん。
たしかに簡単な英語だけど、それが解らない人はこの板ではいくらでもいるよ。
なんでそんな馬鹿にしたような言い方すんだろ。
なんか程度の低い板に来て見下せる奴探してるんだろうか?
また、あの高卒がどうの言ってた痛い奴か?w
0511デフォルトの名無しさん
2006/02/16(木) 23:20:28レスアンカーぐらいキチンとつけれ
0512デフォルトの名無しさん
2006/02/16(木) 23:22:13Javaの初心者のスレだから、webダウンロード、英語わからんどうにかしてな
というスレじゃない。変に取る方が痛いぞ。
0513デフォルトの名無しさん
2006/02/16(木) 23:22:44でも、508みたいな馬鹿にわざわざ言ってやる必要はないから訂正はしない。
0514デフォルトの名無しさん
2006/02/16(木) 23:23:19脳内コンパイラが素晴らしい人でつね
0515デフォルトの名無しさん
2006/02/16(木) 23:23:490516デフォルトの名無しさん
2006/02/16(木) 23:24:05親切にトンクス
こいうところは、叩かれるのわかってるし駄目元で聞いてるからおk
0517デフォルトの名無しさん
2006/02/16(木) 23:24:15どうでもいいが、見下す相手が高卒な方が痛いのは確かだね
0518デフォルトの名無しさん
2006/02/16(木) 23:35:49安価するのはたしかに簡単なことだけど、それが解らない人はこの板ではいくらでもいるよ。
ってことか?
0519デフォルトの名無しさん
2006/02/16(木) 23:37:490520デフォルトの名無しさん
2006/02/16(木) 23:43:38正面から反対できないからと言って安価の付け方を貶しても反論にはならない。
0521デフォルトの名無しさん
2006/02/17(金) 02:08:100522デフォルトの名無しさん
2006/02/17(金) 02:16:420523デフォルトの名無しさん
2006/02/17(金) 03:05:43Usage: java [-options] class [args...]
(to execute a class)
or java -jar [-options] jarfile [args...]
(to execute a jar file)
where options include:
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is client.
-cp -classpath <directories and zip/jar files separated by ;>
set search path for application classes and resources
-D<name>=<value>
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print product version and exit
-showversion print product version and continue
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
となって困ってます。
0524デフォルトの名無しさん
2006/02/17(金) 03:15:08つか、Cpadって知らんスマン。
0525デフォルトの名無しさん
2006/02/17(金) 03:46:55{
public static void main (String[] args)
{
System.out.println("うんこ");
}
}
を作って
java HelloWorld
で実行した
ファイル名もあってるし、cd でちゃんと移動してるし
0526デフォルトの名無しさん
2006/02/17(金) 03:48:460527525
2006/02/17(金) 03:49:22Cpadって テキストエディタ お勧め
CPad for Java2 SDK
0528デフォルトの名無しさん
2006/02/17(金) 03:50:20うんしてある。
jdkインストールしなおしたらできた
0529デフォルトの名無しさん
2006/02/17(金) 03:52:17donna error?
0530デフォルトの名無しさん
2006/02/17(金) 03:56:57正直よくわからんが
Java言語で開発されたソフトを実行するのに必要なランタイムセットってのを入れ忘れたと思う。
でも、CPadでは動くからよくわからん。
CPadが特殊なんかな?
0531デフォルトの名無しさん
2006/02/17(金) 06:42:44CPad for java2 って便利なんですか。。DLしてみます。。
今 Eclipse 使っているけど、小さいプログラムだけを作っているので、そんなに高機能はいらないので。。
0532デフォルトの名無しさん
2006/02/17(金) 10:36:09イベントリスナーのメソッドの引数は、必ずEventObjectを継承したクラスでなければ
いけないのでしょうか。
マウスのリスナーなどを見ると、メソッドの引数はすべてEventObjectになっているようなのですが、
そのような規則があるんでしょうか。
0533デフォルトの名無しさん
2006/02/17(金) 10:56:30ソースが必要としないイベントならなくてもいい
EventListenerにしてもただのタグインターフェースだが
こっちは影響ないしつけといたほうがいいかもね
0534デフォルトの名無しさん
2006/02/17(金) 11:53:20通常は自動的に水平方向にタブが作成されてしまうのですが、垂直方向にタブを
作成する場合はどうしたらいいのでしょうか?
0535デフォルトの名無しさん
2006/02/17(金) 11:58:380536デフォルトの名無しさん
2006/02/17(金) 12:44:000537デフォルトの名無しさん
2006/02/17(金) 12:48:19JDKのダウンロードしたならドキュメントも
ダウンロードしろよ。
0538デフォルトの名無しさん
2006/02/17(金) 12:53:00ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/index.html
さらにその中の
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/swing/JTabbedPane.html
今回は特別におまけして
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/swing/JTabbedPane.html#setTabPlacement(int)
不覚にも今初めて知った。
0540デフォルトの名無しさん
2006/02/17(金) 14:55:24fusianasanでもしておけw
0541デフォルトの名無しさん
2006/02/17(金) 14:57:06で、CpadってEclipseとどっちが使いいい?
0542デフォルトの名無しさん
2006/02/17(金) 14:59:462003年で開発がとまってるんかい。
やっぱ開発が迅速でJava5対応も迅速なEclipseのほうがよさげな予感がするな。
0543デフォルトの名無しさん
2006/02/17(金) 15:27:340544デフォルトの名無しさん
2006/02/17(金) 16:17:56DevBoosterというのもあるが。
これも開発止まってるけどね。便利だよ。
ペンギンかわいいし。
0545デフォルトの名無しさん
2006/02/17(金) 18:41:01Eclipse と NetBeans の違いについて伺おうと思ったんですが..
それぞれの特徴,対象ユーザー,設計思想などの概略を説明して頂けませんか?
将来,個人での大規模な(?)開発も視野に入れているのですがどっちが使いやすいのでしょうか?
Cpad は..ぅーん,どうなんでしょうか?
0546デフォルトの名無しさん
2006/02/17(金) 19:08:340547デフォルトの名無しさん
2006/02/17(金) 19:19:16一応,覗いてみることはしたんですが両者の機能比較しているところは皆無で悩んでいるのです.
ググっても見たんですがかゆい所に手が届かなくてもどかしいんです..
両者の解説サイトにも他者との踏み込んだ比較はなされていないみたいなので..
おおまかな印象だけでもいいのでお教えくださいませんか?
0548デフォルトの名無しさん
2006/02/17(金) 19:44:575.0の対応すんごいおそかったでそ
0549デフォルトの名無しさん
2006/02/17(金) 19:54:37・最低限欲しいの機能はすべて込み。JBuilderエンタープライズみたいなもん。
・5.0対応が早かったりするのはバックがSunでJDKのコンパイラを使うため。いわゆる純正。
・Swingによる動作のためにクロスプラットフォーム対応が早い。LAFかえれるのが面白いかも。
Eclipse
・素の状態だと機能が最も少ないIDE。プラグインによる拡張がメイン。
・JNI多用により昔は高速性を売りにしていたが、Javaの高速化でJNIの速度がネックになってきた。
・プラグインに頼るため安定性や操作性はピンキリ。商用プラグインが豊富。IBM関係はさすがに多い。
初心者にEclipseは勧めにくいと思われ。分かる人は分かる、分からない人は分からないといった感じ。
適当にソース作ってコンパイル、実行がAntの知識とかjarの知識とかなくても出来る点で
NetBeansを俺は推す。
すべてが完璧なIDEはなくてそれぞれ得意な部分と不得手な部分があるので慣れてきたら
いろいろと試すといいと思われ。
昔はJava自体の動作が遅かったのでEclipseの快適動作が売りだった。2.0時代が全盛と思ってるけど。
3.0でプラグインは互換性の問題が割と大きく。
NetBeansはLAFを気分で変えるといいかもしれない。
http://www.netbeans.org/competition/look-and-feel.html
0550デフォルトの名無しさん
2006/02/17(金) 20:04:31詳しい解説ありがとうございます.
Java の世界は C,C++ とはまた違った雰囲気がありますよね..
しばらく慣れるまでは NetBeans でいきます.
丁寧に説明してくださり,どうもありがとうございました. :- )
0551デフォルトの名無しさん
2006/02/17(金) 22:39:47AクラスからJFrameを作ってJFrameに配置した
ボタンを押したらAクラスのメソッドを使いたいのですが
JFrameを作るときにAクラスを教えてやらないと駄目なんでしょうか?
0552デフォルトの名無しさん
2006/02/17(金) 22:45:05…
JButton button = new JButton("押せ");
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
execute();
}
});
JFrame f = new JFrame("うんこ");
f.add(button);
…
private void execute(){
// ボタンが押されたときの処理
}
}
0553551
2006/02/17(金) 23:02:39その中でボタンを配置しています。
ClassA{
ClassB B = new ClassB();
ClassB.setVisible(true);
private 呼びたいメソッド()
{
Bクラスからここのメソッドを呼びたい。
}
}
ClassB extends JFrame implements ActionLis...{
button.addActionListener();
this.add(button)
public void actionPerformed()
{
ボタン押したよ。
}
}
今こんな状態なんですが根本的に作りが悪いんでしょうか。
0554デフォルトの名無しさん
2006/02/17(金) 23:12:110555デフォルトの名無しさん
2006/02/17(金) 23:12:20Eclipseは他の人が言うだろうから、Netbeansのことを。
・最新Netbeans 5のGUIエディタが神。
・素の状態でいきなりウェブアプリ開発可能。JSPエディタやXMLエディタも標準装備。プラグインをフル装備
したEclipseに近い。
・リファクタリング機能はまだEclipseのほうが上。
・CVS機能がかなり良い感じ。
0556デフォルトの名無しさん
2006/02/17(金) 23:18:02そりゃ、ClassBのなかにClassAのインスタンス( A a = new A()とかで作られるもん)が
ないと、ClassBのなかで「a.呼びたいメソッド()」って出来ないでしょ。
オブジェクト指向なんだから、メソッド呼び出し先がないのに摩訶不思議にもメソッドを
呼べたりはしないよ。AのインスタンスがないとAのメソッドは呼べない。
0557デフォルトの名無しさん
2006/02/17(金) 23:22:22ありがとう。教えることにします。
0558デフォルトの名無しさん
2006/02/17(金) 23:22:33VRAM8M時代のものでも恩恵受けられる?
最低スペックの参考にさせて。
0559デフォルトの名無しさん
2006/02/18(土) 00:15:12ノートで古い専用のビデオチップより新しいUMAのほうが恩恵ちゃんと得られるよ
915からはオンボードが大幅に早くなってるけど
基本的に855GM以降が大丈夫だと思っていい
まずはCPUとメモリの恩恵が大きいのは他のWindowsアプリと同じ
ちなみにNetBurstアーキテクチャはJavaがすごく遅いのが特徴です
0560デフォルトの名無しさん
2006/02/18(土) 00:16:08イベントってしってる?
0561デフォルトの名無しさん
2006/02/18(土) 00:49:39ありがとう、参考になりました
0562デフォルトの名無しさん
2006/02/18(土) 00:52:090563デフォルトの名無しさん
2006/02/18(土) 01:02:09equals()とcompareTo()どっちでやるのが正解なんでしょうか
0564デフォルトの名無しさん
2006/02/18(土) 01:06:01C出身ならcompareToのが好みかも知れんが耐えろ
0565デフォルトの名無しさん
2006/02/18(土) 01:46:16取得したいんですができますかね。
クラスローダさんに探させるメソッドがありそうだなと思っとるんですが
0566デフォルトの名無しさん
2006/02/18(土) 02:40:11クラス名から完全修飾クラス名を取得することなんて
「原理的に」不可能。
起動時のクラスパス上にあるクラスだけでいいなら
自前でクラスパス上の class ファイルを探してやれ。
0567デフォルトの名無しさん
2006/02/18(土) 08:55:05ActionListenerのことですか?
あと今、
メインクラス
↓
↓ クラスAの作成、ファイル読み取りクラス(読み取ったデータも保持するクラス)作成
↓
ClassA extends JFrame
↓
↓ ClassAに貼り付けたボタンを押す→ファイル読み取りクラスでファイル読み取りし、ClassBを作成
↓
ClassB extends JFrame //ファイル内容表示、編集クラス
という処理でメインクラスからClassBまで、ファイル読み取りクラスの参照を
ずっと渡して行っているんですが、どういう方法が好まれるんでしょうか。
0568デフォルトの名無しさん
2006/02/18(土) 10:11:54そこで質問があります。
今の状態だとファイル名だけ指定して保存しています。例:new FileWriter("data/demo.html");
このアプリをjar圧縮してから、.jarのアイコンをダブルクリックしてWindowsXPで実行してみたところ、望みどおり.jarと同じディレクトリにデータファイルを保存できました。
しかし、VineLinuxで実行してみたところデータファイルは/home/ユーザー名に保存されてしまいます。
VineLinuxでも.jarが置いてあるディレクトリにデータファイルを保存する方法はないでしょうか?
0569デフォルトの名無しさん
2006/02/18(土) 10:22:29getClass().getPackage().getName()
>>566
パッケージ内の全クラスの取得と勘違いしてない?
0570デフォルトの名無しさん
2006/02/18(土) 11:12:14Windowsで.jarのあるディレクトリに保存されたのはたまたまそうなっただけ
と考えておいた方が良い気がする。Windowsでもショートカットを作って
起動したら、起動ディレクトリはいくらでも変えられるわけだし。
また、.jarのあるディレクトリに必ず書き込みが出来るとも限らない。
0571デフォルトの名無しさん
2006/02/18(土) 11:23:45イベントってのがどういう風に実装されてるかというお話
オブザーバーパターンとかさっと見てみるのがいいよ
0572デフォルトの名無しさん
2006/02/18(土) 12:29:32多分、おまいさんは勘違いしている。
"クラス名から"といってることから入力はString。
"フルパッケージ名を取得したい"ということから入力はFQCNではない。
さて、入力として"Date"が与えられた時に返すべきパッケージ名は何かな?
0573デフォルトの名無しさん
2006/02/18(土) 12:48:31どうやるんですか?
0574デフォルトの名無しさん
2006/02/18(土) 13:00:31自分でUIを作るか、
paintComponent(Graphics g)をオーバーライド(AWTならpaintをオーバーライド)
よく知らんが、SynthLookAndFeelというのもあるらしい。
0575デフォルトの名無しさん
2006/02/18(土) 13:38:53サーブレット/WEB-INF/classes/B/Test02.classから利用したいのですが
どのような方法がスマートでしょうか?
どなたかよろしくお願いします。
現在はTest02.javaの中にTest01.classをコピペして利用していますが
無駄に長い気がします。
0576デフォルトの名無しさん
2006/02/18(土) 14:54:21いかんせんシェアが低い・・・
情報量やノウハウが少ないのがEclipseと比較する上での欠点といえば欠点。
個人プログラマ・趣味プログラマならいいが、
職業プログラマならEclipseを使えた方が使う機会は多いだろう。
0577デフォルトの名無しさん
2006/02/18(土) 15:01:54リッチクライアント案件がふえてるからだな
WEBアプリはどんどん減ってる
0578デフォルトの名無しさん
2006/02/18(土) 15:08:10インストール自体は楽、使い方もすぐに分かる
あんまきくことはねーな
Eclipse本いまだにプラグインのインストールで終わってる本大量にでてるけど
その先の説明しなくていいなかなぁという気はする
どっちにしろ今じゃ本よりネットで探したほうが早いけどね
0579デフォルトの名無しさん
2006/02/18(土) 15:09:24いい傾向だと思うよ
俺ずっとWebアプリに懐疑的だったしね
1ページ全部をJavaAppletが埋め尽くす拡張子を用意して欲しいよw
0580デフォルトの名無しさん
2006/02/18(土) 15:16:14アプレットとアプレット同士が通信してチャットを行うようなアプレットを
作成しています。java.net.Socketを用いて、IPアドレスを指定して通信を
実現しようと考えています。
しかし、調査してみると、アプレットはcodebase属性が示すホスト以外とは
通信できない、という制限があるということが分りました。
この制限は未だに存在しているのでしょうか?
なお、JDKに付属のアプレットビューア上で実行してみると、
アプレット間の通信は正常に行われました。
しかし、ブラウザ (firefox, IE) 上でアプレットを起動すると、アプレット間の
通信が上手くいきませんでした。
よろしくお願いします。
0581デフォルトの名無しさん
2006/02/18(土) 15:25:53アプレットをダウンロードしたサーバーしか信用しない
大いに結構では?
勝手に他のサーバーに情報ばらまいたりされるよりはいいっしょ
署名すればサンドボックスははずせる
0582デフォルトの名無しさん
2006/02/18(土) 15:29:19出来ないよ
サンドボックスというセキュリティ対策のひとつだね
あのFlashも同様の対策のため
同一ドメイン及びサブドメインでしか通信は出来ない
P2Pで鯖のコストを下げたいならアプリにしよう
0583デフォルトの名無しさん
2006/02/18(土) 15:33:47ご返答ありがとうございます。
確かに、セキュリティ上必要な仕様ですね。
アプレットビューア上では、通信は実現できたため、これはつまり
「ブラウザ上で実行されるアプレットは、アプレット間通信できない」
という仕様ということでしょうか?
0584デフォルトの名無しさん
2006/02/18(土) 15:40:36通常鯖経由が必須とおぼえときなされ
ブラウザ開いて勝手にポート開いて穴あけてたらしゃれにならん
0585デフォルトの名無しさん
2006/02/18(土) 15:44:56署名付きアプレットにすれば、ユーザへの確認があった上でで制限は外せる。
アプレットビューアは、アプレットの動作確認ツールみたいなものだから、
あまり気にしなくてもいいかと。
0586デフォルトの名無しさん
2006/02/18(土) 16:03:51デモがわりにJavaWebStartを使ってみた
滑らかなもんだなSwingもWebStartも
重くても俺はLive2chを使うけど
0587デフォルトの名無しさん
2006/02/18(土) 20:36:26を作成しています。
JavaアプリからDBへ接続する必要があるのですが、
「プログラム起動時に1つコネクションを作成し、
それをずっとクローズせずに使いまわせば?」といわれました。
*DBに対する負荷はできるだけ少なくしたいそうです
いまのところ、DataSourceを自分でバインドして使用しています。
いままでWeb系のアプリばかり作ってたんで、コネクションを閉めないで
使いまわす発想が信じられないのですが、実際にDBへの負荷を
気にする場合はいい方法なのでしょうか?
条件
・DBは他のシステムからも使用される
・DBへ対する負荷(接続時にかかる負荷)は少なくしたい
この条件で、
・DataSourceを使用した場合、負荷的にはコネクション1つを
使いまわすのと同じ程度か?
・このアプリケーションで1つのコネクションを使いまわした場合と
DataSourceを使った場合、それぞれメリット・デメリットは?
よろしくお願いします。
0588デフォルトの名無しさん
2006/02/18(土) 20:40:23コネクション自体は裏で張りっぱなしだと思うんだが。
0589デフォルトの名無しさん
2006/02/18(土) 20:41:16というか本来クライアントというのは一度つないだらアプリを終了するまでつなぎっぱなしが基本
WEBアプリが特殊なのだよ
だからコネクションプーリングが存在する
もし毎回切断したいのならプール数1でコネクションプールすればいい
0590デフォルトの名無しさん
2006/02/18(土) 21:00:22例えば、
String str = "あい(id:1)うえおか(id:7)きくけこさ(id:26)しすせそ";
のような文字列があり、(id:?)をそれぞれ対応する文字列で置換したいのですが、
replaceを繰り返す以外の方法というのはありませんでしょうか
文字列strに含まれる(id:?)の?には、1から100までの数値が入り
また、文字列strの中身は完全に未知です。
replaceを繰り返す方法の場合、
上記例の場合のみであれば、3回のreplaceをすればいいだけなのですが
strの中身が未知であるために、100回replaceしなければなりません。
これではあまりにも無駄すぎるので、どうにかしたいのです
何か上手い方法がありませんでしょうか
0591デフォルトの名無しさん
2006/02/18(土) 21:04:490592デフォルトの名無しさん
2006/02/18(土) 21:41:040593590
2006/02/18(土) 21:47:22正規表現を使えば、(id:?)という形式の文字列が含まれているかどうかは
わかっても、?の数値によった置換が出来ないと考えました。
splitしたら(id:?)は消えてしまいますし・・・
0594デフォルトの名無しさん
2006/02/18(土) 21:47:54>>591の言ってる内容だとそれでこと足りそうだけどね
0595590
2006/02/18(土) 22:12:21今あわててリファレンスのMessageFormatを見てきました。
複雑そうなので、もう少し調べてみます。
ただ、(id:?)を{?}に変換するとき
(id: を { に置換し、) を } に置換するという方法になるんだと思いますが
これだと、関係無い ) まで置換されてしいます。
(id:? に続 ) だけを置換するようにするのは可能なのでしょうか
0596デフォルトの名無しさん
2006/02/18(土) 22:15:070597デフォルトの名無しさん
2006/02/18(土) 22:59:040598デフォルトの名無しさん
2006/02/18(土) 23:06:46クリックするだけで起動できる実行ファイルにすることはできますか?
0599デフォルトの名無しさん
2006/02/18(土) 23:12:08ShellExecuteExだったかな・・・WinAPIの話ね
0600デフォルトの名無しさん
2006/02/18(土) 23:15:32jarファイルならダブルクリックでWindows上で実行できるはずだが
アイコンつけたいとかやるなら>>599のように
実際のところアプリケーションは各種オプションでチューニングするので
jarだけで配布というのはまずありえん
JavaSE6ではLinuxとかもダブルクリックで起動するようにするんだっけ
0601デフォルトの名無しさん
2006/02/18(土) 23:22:14機能は-Xmxをデフォルトかメモリ最大の75%かを設定できるくらいでいい
てかないのか?こんなランチャ、ある気がしてきた
0602デフォルトの名無しさん
2006/02/18(土) 23:22:510603デフォルトの名無しさん
2006/02/18(土) 23:22:58ServerSocket#accept()をボタン押下のイベントで中断させることはできますか?
0604デフォルトの名無しさん
2006/02/18(土) 23:27:29API ドキュメント見ればこれくらい書けるでしょ…かなり適当だが
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("1", "一");
map.put("7", "七");
map.put("26", "二十六");
String str = "あい(id:1)うえおか(id:7)きくけこさ(id:26)しすせそ";
Pattern p = Pattern.compile("\\(id:(\\d+)\\)");
Matcher m = p.matcher(str);
StringBuffer sb = new StringBuffer();
while(m.find()) m.appendReplacement(sb, map.get(m.group(1)));
m.appendTail(sb);
System.out.println(sb.toString());
}
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/regex/Pattern.html
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/regex/Matcher.html#appendReplacement(java.lang.StringBuffer, java.lang.String)
0605デフォルトの名無しさん
2006/02/18(土) 23:29:07タイムアウトを10msくらいに設定して回すという手もある
クリックイベントでループ抜けるフラグをセット
>>604
やさしいな
0606デフォルトの名無しさん
2006/02/18(土) 23:31:35なんでマニフェストファイルにそういうオプションつけられるようにしなかったのか理解に苦しむ
0607603
2006/02/18(土) 23:32:15なるほど。それならできそうな気がします。
0608デフォルトの名無しさん
2006/02/18(土) 23:35:15ショートカット使えばいいのでは?
0609デフォルトの名無しさん
2006/02/18(土) 23:39:26おすすめ教えてくださいな
>>608
ショートカットは絶対パスだったような
0610デフォルトの名無しさん
2006/02/18(土) 23:44:290611デフォルトの名無しさん
2006/02/18(土) 23:45:450612デフォルトの名無しさん
2006/02/18(土) 23:57:47java未経験者なのですが
初心者がjavaをある程度理解するにはおよそどれくらいの時間がかかりますか?
目標としては、GA(遺伝的アルゴリズム)を用いたNクイーン問題のプログラムの作成および応用です
プログラム暦としてはCをほんの少しかじった程度なんですが、どうでしょうか?
0613デフォルトの名無しさん
2006/02/19(日) 00:00:000614デフォルトの名無しさん
2006/02/19(日) 00:01:24> 初心者がjavaをある程度理解するにはおよそどれくらいの時間がかかりますか?
個人による
1ヶ月もあれば十分じゃないかな
0615デフォルトの名無しさん
2006/02/19(日) 00:01:310616デフォルトの名無しさん
2006/02/19(日) 00:01:56君の頭が良ければ一瞬。馬鹿なら一生無理。
0617デフォルトの名無しさん
2006/02/19(日) 00:02:000618デフォルトの名無しさん
2006/02/19(日) 00:09:21別スレッドでServerSocket#close()呼ぶと、
accept()しているスレッドはaccept()を中断してSocketExceptionをスローする。
前にSocket使ったC/Sアプリ作ったときはそうやって中断させた。
>>605みたいなビジーループはどうかと思うが、普通そうするの?
0619デフォルトの名無しさん
2006/02/19(日) 00:09:33Javaが未経験なのか。
それとも、プログラミングが未経験なのか。
0620デフォルトの名無しさん
2006/02/19(日) 00:09:5114桁であらわしたいのですが、どのようにしたらいいのでしょうか。
DateFormatというクラスがあるのですが、どのメソッドにどのような引数を
あたえたらよいのかが分かりません。
0621デフォルトの名無しさん
2006/02/19(日) 00:15:240622デフォルトの名無しさん
2006/02/19(日) 00:15:32SimpleDateFormatのコンストラクタにフォーマットを記述して
formatter.format(new Date());かな
0623デフォルトの名無しさん
2006/02/19(日) 00:17:15環境によってそれ動作がおかしかったはず
ユーザーが多いWindowsですらもね
>>605が普通のコード
0624620
2006/02/19(日) 00:17:47SimpleDateFormatに"yyyyMMddHHmmss"という形式を与えてできそうです。
0625デフォルトの名無しさん
2006/02/19(日) 00:18:17String now = String.format("%tY%td%tm" , Calendar.getInstance());
みたいなかんじでかけばおけ
0626デフォルトの名無しさん
2006/02/19(日) 00:33:38C言語でそのプログラムが組めるなら、javaでもすぐできそうな
気がする。
0627デフォルトの名無しさん
2006/02/19(日) 00:36:33でもマニュアル読まなきゃlibにjarを入れる所だった
こういう仕様はやばいからマジ止めて欲しいw
0628デフォルトの名無しさん
2006/02/19(日) 00:47:30例えば
void hogehoge();メソッドがあるとしまして
このメソッド内でint n[] = new int[128];と宣言しているとします。
普通C/C++ではメソッド内の変数(自動変数)宣言はメソッドが実行されますと物理メモリが確保され、
そのスコープを抜けると(つまりメソッドから零れると)確保した物理メモリは開放されます。
Java(主にJVM)では自動変数についてどの様な処理を施しているのでしょうか? お願いします
0629デフォルトの名無しさん
2006/02/19(日) 00:48:46JAVAでは配列はオブジェクトと同じ扱い。
つまりガベージコレクションがはたらく。
0630デフォルトの名無しさん
2006/02/19(日) 00:51:23すみません書いてから気がつきました
JAVAのnew演算子は技術的に動的メモリ確保してるんでした
ではこうします
void hogehoge();が定義されているとして
このメソッド内で int n; と宣言されているとします。
この場合変数nはどうなのでしょうか
すみませんorz
0631デフォルトの名無しさん
2006/02/19(日) 00:51:26ローカル内で完結するリソースは開放されるんじゃなかったかな
プリミティブ型だけだと思うから、配列は微妙
てかGCって印象より速いですよ
0632デフォルトの名無しさん
2006/02/19(日) 00:51:48こういう仕様って?
あと、ワープじゃなくてラップな。
0633デフォルトの名無しさん
2006/02/19(日) 00:53:56Java には自動的に外部ライブラリ(JAR)を読み込むための仕組み(Extension Framework)があります。
既定では、JRE をインストールしたディレクトリの lib\ext が拡張ディレクトリとなります。
拡張ディレクトリに配置された外部ライブラリ(JAR)は、クラスパスに明示的に指定することなく使用できます。
exewrap で作成されたアプリケーションは、アプリケーションファイル(EXE)のあるディレクトリに、
lib ディレクトリが存在する場合、lib ディレクトリを自動的に拡張ディレクトリに追加します。
JDBC ドライバなどの外部ライブラリは、アプリケーションファイル(EXE)と同じところに lib ディレクトリを作成し、
そのディレクトリ内に配置することができます。
0634デフォルトの名無しさん
2006/02/19(日) 00:54:19すみません
プリミティブ型は開放されるのですね。ありがとうございます。
>>629さん、>>631さんお手数かけました(;´д`)
0635デフォルトの名無しさん
2006/02/19(日) 00:58:27オブジェクト参照型でもそれにnullを代入すれば出来るという話もあるが検証したことないからわからない
0636612
2006/02/19(日) 00:59:25Java初心者の分際でGAに魅力を感じ、ついこの道を選んでしまいました
プログラミングは私にとってとても難しいものなのですが、完成したときのあの達成感はやっぱりいいですね
早速明日からJavaの勉強を開始します
それでは失礼致しました
0637デフォルトの名無しさん
2006/02/19(日) 01:09:57それに何か問題が?
0638デフォルトの名無しさん
2006/02/19(日) 01:11:29普通libにjarを置くし俺は大問題だな
0639デフォルトの名無しさん
2006/02/19(日) 01:34:03何がそんなに問題なのか分からない。
0640デフォルトの名無しさん
2006/02/19(日) 01:36:42exewrap経由で起動するアプリが使うJARを入れるだけでしょ?
0641デフォルトの名無しさん
2006/02/19(日) 01:42:25アンインストーラも無いのにレジストリ汚すようなもんだ
0642デフォルトの名無しさん
2006/02/19(日) 01:44:220643デフォルトの名無しさん
2006/02/19(日) 01:45:490644642
2006/02/19(日) 01:46:24ごめん、追加するのか…?
0645デフォルトの名無しさん
2006/02/19(日) 01:48:21クラスパス通すことをそう表現してるだけのようだが。
0646デフォルトの名無しさん
2006/02/19(日) 02:06:390647646
2006/02/19(日) 02:10:37jre/lib/extが指定からハズレるからJCEとか使ってるとはまるだろうな。
0648デフォルトの名無しさん
2006/02/19(日) 02:19:23疑って悪かったなexewrap
0649デフォルトの名無しさん
2006/02/19(日) 12:39:56JFreeChartなるものに興味があります。
http://www.atmarkit.co.jp/fjava/javatips/092jspservlet036.html
これについて何か知ってる人、いませんか?
また書籍やホームページも探してるのですが、
なかなか情報がすくないようなのです。
0650デフォルトの名無しさん
2006/02/19(日) 13:17:340651デフォルトの名無しさん
2006/02/19(日) 13:19:07漏れもそれに興味あって少し調べてみたけど、まず日本語の情報は皆無。あってもかなり
昔のバージョンについて述べてるので、役に立たなかった。
そもそもJFreeChart 1.0がリリースされたのがつい最近だから、書籍なりが出てくるのは
もっと待たないとダメかと。
で、本体にもまともなドキュメントはついていないので、独学もムズそう。
JFreeChartプロジェクトが有償で開発者向けのドキュメント(英文だけど)とサンプルのソー
スコードを売ってるので、これを素直に買うべきだと思う。
http://www.object-refinery.com/jfreechart/guide.html
まぁ$40だから、許せる範囲かと。(漏れは買ってないけどww)
0652デフォルトの名無しさん
2006/02/19(日) 14:40:240653デフォルトの名無しさん
2006/02/19(日) 14:43:45重複しない値の集合を、ランダムにシャッフルする(トランプ的に)
0654デフォルトの名無しさん
2006/02/19(日) 18:01:54どのような制限が付くのでしょうか?
0655デフォルトの名無しさん
2006/02/19(日) 19:18:26再配布規定よまないでjre配布はだめだぞ
0656デフォルトの名無しさん
2006/02/19(日) 19:24:04>プリミティブ型は開放されるのですね。ありがとうございます。
というか、普通に、ヒープにとるかスタックにとるかの違いじゃないのか?
0657デフォルトの名無しさん
2006/02/19(日) 19:49:05そこはかまうな
とみんなおもってるはずだ
0658デフォルトの名無しさん
2006/02/19(日) 19:59:400659デフォルトの名無しさん
2006/02/19(日) 20:13:14getClass().getResource("").toString()で何かが見えた気がしたのですが..
良い方法ないですか?
0660デフォルトの名無しさん
2006/02/19(日) 20:16:00ヒント:比較対象が分かってないから何を行っても無駄
0661デフォルトの名無しさん
2006/02/19(日) 20:20:00ネットワーク上においてあるかも知れないのに置かれてるディレクトリも糞も
ないだろう。強いて言えばカレントディレクトリか?
System.getProperty("user.dir")
0664デフォルトの名無しさん
2006/02/19(日) 20:56:210665デフォルトの名無しさん
2006/02/19(日) 21:02:150666デフォルトの名無しさん
2006/02/19(日) 21:51:28スペルミスじゃね?
0667デフォルトの名無しさん
2006/02/19(日) 21:53:520668デフォルトの名無しさん
2006/02/19(日) 22:14:030669デフォルトの名無しさん
2006/02/19(日) 22:19:030670デフォルトの名無しさん
2006/02/19(日) 23:11:030671618
2006/02/20(月) 00:44:22>>623
動作がおかしいって、ServerSocket#accept()がclose()で中断されないってこと?
だとしたらこのバグが原因じゃない?
ttp://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4386498
> Synopsis: ServerSocket.accept does not detect interrup or close
> Reported Against: 1.3 , kest-linux-fcs
もうずいぶん前にcloseしてるじゃねーか。
0672デフォルトの名無しさん
2006/02/20(月) 07:01:30ある変数が特定のプリミティブ型、例えばbooleanか判定する方法はありますか。
instanceof演算子を使い
xxx instanceof Booleanでは上手くいかないです。
今は応急で
getClass().getName().equals("java.lang.Boolean")
などとしていますが、これで良いのですか?
0673デフォルトの名無しさん
2006/02/20(月) 07:13:00Boolean.TYPE
0674デフォルトの名無しさん
2006/02/20(月) 07:32:23回答ありがとう。
boolean xxx = true;
として、
if(Boolean.TYPE == xxx) ;
では、Booleanとbooleanは比較できませんと言われたので、
if(Boolean.TYPE == (Object)xxx) ;
のようにしたのですが、falseと返ってしまいます。つまり判定
こうやって使うんじゃないのですか?
何度もすいません。
0675デフォルトの名無しさん
2006/02/20(月) 08:19:430676デフォルトの名無しさん
2006/02/20(月) 08:38:550677デフォルトの名無しさん
2006/02/20(月) 09:53:47コーディング時に型が決定しないプリミティブ型を書く方法がないからな
0678デフォルトの名無しさん
2006/02/20(月) 10:30:16"mona" にならない理由をおしえてもらえませんか?
public static void main(String args[]){
String a="gikoneko";
StringTest(a);
System.out.println("a="+a);
}
public static void StringTest(String test){
test="mona";
return;
}
0679デフォルトの名無しさん
2006/02/20(月) 10:37:22main()内は
String Test(a)を
a = Test() ;
Test()内は
return ; を return test ;
注)引数はこの場合いらない。
0680デフォルトの名無しさん
2006/02/20(月) 10:40:49わからないのは、String型はクラス型なのになぜ呼び出したメソッド中での変更が反映されないのか
っていうことなんです。
0681デフォルトの名無しさん
2006/02/20(月) 10:44:20メソッドの引数に与えるのは、オブジェクトを特定する背番号だけ。
与えられた側のメソッドでは、背番号を格納する場所を、新たに確保する。
この新たに確保した場所は、メソッドの終了とともに破棄される。
よって、メソッド内で幾らこの背番号を変えたとしても、メソッド外には反映されない。
0682デフォルトの名無しさん
2006/02/20(月) 10:47:02ポインタは理解しとかないとだめだなーと思うな。
StringはImmutableだし、第一メソッド内でポインタ値を書き換えても何にもならない。
(testはStringTest内のローカル変数だからそれを変更したって意味がない。つまりこの関数は何もしていない。)
0683デフォルトの名無しさん
2006/02/20(月) 10:52:09Java ではダブルクォーテーションで括った文字列は
それそのものが String クラスのインスタンスです。
C/C++ のように char 配列の先頭を指すポインタだったり
それを入れるクラスや構造体が別にあるわけではありません。
(だから "abc".charAt(1) のような書き方もできます)。
ついでに言うと、String クラスは内容を書き換えられる
ように作られていません。定数用に作られたクラスです。
渡した先のメソッドでどうしても内容を書き換えたいなら
StringBuffer を使うか char 配列にして渡すか、あるいは
あるいは内容の変更された新たな String のインスタンスを
リターン値として受け取るしかありません。
0684デフォルトの名無しさん
2006/02/20(月) 10:55:41//1
public static void StringTest(StringBuffer test){
test.delete(0,test.length());
test.append("mona");
return;
}
//2
public static void StingTest2(StringBuffer tset){
tset = new StringBuffer("mona");
return;
}
0685デフォルトの名無しさん
2006/02/20(月) 10:58:06それにC/C++では文字列リテラルはポインタ型じゃない。
ま、仮にポインタ型だとしてもC"abc"[1]のような書き方は可能だがな
0686デフォルトの名無しさん
2006/02/20(月) 12:37:00public static String conv2UB(String pText) {
String text = pText;
if (text == null) {
text = "";
}
text = text.replaceAll("_", "\\_");
return text;
}
上記のメソッドで"_"→"\_"にしたいのですが、なぜか置換できません。
例:"te_st"→"te_st"
何か使い方間違ってるんでしょうか。
0687デフォルトの名無しさん
2006/02/20(月) 12:52:06Javaの正規表現は、正規表現のエスケープと、
Javaの文字列におけるエスケープが混在するからややこしい。
正規表現で、\を表現するためには、\\と書く。
さらにそれをJavaの文字列リテラルで書くと、\1つをあらわすのに\\と書くから、\\\\になる。
0688デフォルトの名無しさん
2006/02/20(月) 13:35:31いや、replaceAll()の第二パラメータは正規表現じゃないし。
0689デフォルトの名無しさん
2006/02/20(月) 13:41:57正規表現じゃないんだけど、>>687の言うとおり "\\\\_" にする必要が
あります。
0690686
2006/02/20(月) 14:42:13ありがとうございます。
"\\\\_"でいけました。まさか2回エスケープされてるとは思わなかったよ。
ちなみに"_"→"\_"にしたかったのは、PostgreSQLのLikeにかける時、"_"が
任意の一文字として扱われるのをエスケープするためです。
0691デフォルトの名無しさん
2006/02/20(月) 15:48:21がありませんってでるんだけど。
0692デフォルトの名無しさん
2006/02/20(月) 15:50:090693デフォルトの名無しさん
2006/02/20(月) 22:11:12このメソッドの手前で波カッコを閉じすぎてるか
0694デフォルトの名無しさん
2006/02/20(月) 22:59:44thx
0695デフォルトの名無しさん
2006/02/20(月) 23:17:292、ResultSetを一行読む。
3、2で読み込んだ値をprepareStatement(UPDATE文)にセット。
4、UPDATE実行
5、COMMIT
6、2へ戻る(ResultSetが終わりまで来たら終了)
こういう感じのロジックなんですが、何か問題はあるでしょうか。
2、3週ループした後で、デッドロックが起こったみたいにCOMMITの後で処理が停止してしまいます。
ちなみに使用しているコネクションは一つです。
0696デフォルトの名無しさん
2006/02/20(月) 23:51:200697デフォルトの名無しさん
2006/02/21(火) 00:06:430698デフォルトの名無しさん
2006/02/21(火) 00:09:43int lpArr[] = new int[12];
と宣言されているint配列があるとします。
例えば文中でこのlpArrの要素の数を12個から13個以上へと拡張(Cに当たるrealloc関数の動作)するには
int __lpArr = new int[13];
for(int i=0;i<12;i++)
_lpArr[i] = lpArr[i];
lpArr = _lpArr;
とするしか無いのでしょうか
0699デフォルトの名無しさん
2006/02/21(火) 00:40:07その通りだが、配列のコピーはSystem.arraycopy()を使うと楽。
int __lpArr = new int[13];
System.arraycopy(plArr, 0, __lpArr, 0, lpArr.length);
0700デフォルトの名無しさん
2006/02/21(火) 01:20:32それJava以前のお話
まずDBを勉強してくだされ
ものにもよるがそもそもループ内でcommitって何のためのトランザクションだとかおもっちまう
0701デフォルトの名無しさん
2006/02/21(火) 01:40:16たしかに1年待たされたw
Eclipse3.2からはさらに5.0対応機能が強化されるので
非常に期待している。アノテーションやGenericsのリファクタリングや
コードアシスト、警告が強化されるからな。
0702デフォルトの名無しさん
2006/02/21(火) 02:01:13ありがとうございます
無事解決できました
0703デフォルトの名無しさん
2006/02/21(火) 04:17:24再度ここでお尋ねしたいと思います。どなたかよろしければ教えてください。
BeanShellのようなインタプリタをサーブレット上で動作させて、
ユーザがポストした任意のアプリを実行させたいのですが、
たとえば、こんなプログラムがポストされたときに発生してしまう
OutOfMemoryErrorをうまくハンドリングしたいのです。
buf = new StringBuffer("ULY");
while(true) buf.append("Y");
なにもしないままでは、同時に複数のユーザがプログラムをポストしたときに
「悪いプログラムを投稿したユーザ」のリクエストを処理するスレッドで
OutOfMemoryErrorが発生するとは限らないので、他のユーザに迷惑がかかってしまいます。
なお、サーバ側のセキュリティはこの際考えないものとします。
実行環境はあまり関係ないと思いますが、一応Linuxです。
@ITに投稿したときのスレッドはこれです。
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=28331&forum=12&6
よろしくお願いします。
0704703
2006/02/21(火) 04:25:55やりたいことは、
(1) 悪いプログラムを投稿したユーザを特定したい
(ということは、OutOfMemoryErrorが発生したスレッドを
特定できなくてはならないと思います)
(2) (1)が無理なら、せめて、悪いプログラムが投稿されても
他のユーザの実行結果に影響が出ないようにしたい
この際、OutOfMemoryErrorが発生するくらいヒープが消費されることによる
サーバのスローダウンは許容するとします。
やっぱり無理なんでしょうか…
0705703
2006/02/21(火) 04:33:11704の(1)はマチガイでした。OutOfMemoryErrorが発生したスレッドは特定できますね。
それに、スレッドを特定できても、ユーザは特定できないですね。
0706デフォルトの名無しさん
2006/02/21(火) 04:40:38荒療治だけど
1)投稿を全部独自形式でどこかにダンプして
OutOfMemoryErrorを見つけたらSystem.exit
2)それと同時にサーバ(Tomcat?)が
起動していることを監視するデーモンプログラムを書いて
停止していたら起動させるようにする
3)1)のログの一番最後の行付近の投稿を実際に行ってみて(HTTPUrlConnectionなど使って)、
同様のエラーを返す投稿を書き込み不可として登録する
かなり汎用性はないけど、
もともと案件が汎用性がないからこんな感じ?
0707デフォルトの名無しさん
2006/02/21(火) 05:11:230708703
2006/02/21(火) 06:12:29>>706
お金がないので今のところtomcatを使っています。
OutOfMemoryErrorをcatchして何か処理を行なうことは可能なので、
どこかにダンプする必要はなく、catchして直接System.exitするということになりますね。
ですが、無停止で運用しなくてはならないので、基本的にはSystem.exitは使えないのです…残念ですが。
>>707
別プロセスにする、というのは一番ストレートな回避策だと思いますが、
リクエスト毎にプロセスを起動するのでは処理が遅すぎるので、
プロセスプーリングやリクエストキューの管理などが必要になってきますね。
tomcatをシングルスレッドモデルで動かば、確実にユーザ特定できるのですが、
マルチユーザに対応しなくてはならないので、その選択もできません。
やはり、現実的な線としては
(1)現在処理中のリクエストをポストしたユーザの情報を、どこかに書いておく
(2)別プロセスとしてリクエストを処理し、OutOfMemoryErrorが起きたらそのユーザをbanする
というところでしょうか。
どうにかtomcatのプロセスだけで全部まかなえないか、あれこれ考えたのですが、
やっぱり無理ですよね…残念です。
0709デフォルトの名無しさん
2006/02/21(火) 06:37:09参照型の値refを調べたいなら
if (boolean.class.equals(ref.getClass())) {
//なんか処理
}
0710デフォルトの名無しさん
2006/02/21(火) 06:41:21Class type; //調べたい変数の型
if (Boolean.TYPE.equals(type)) {
//プリミティブ型
} else if(Boolean.class.equals(type)) {
//参照型
}
0711デフォルトの名無しさん
2006/02/21(火) 09:49:05ライセンス形態のSCSLとJRLってどう違うんですか?
0712デフォルトの名無しさん
2006/02/21(火) 10:00:06スレッドが特定できるなら、名前をつけて実行すればよい?
new Thread(new Runnable() { public void run() { throw new Error(); }}, "hoge").start();
以下は、スタックトレースの一行目。
Exception in thread "hoge" java.lang.Error
0713デフォルトの名無しさん
2006/02/21(火) 10:16:42インタプリタなんでしょ?
ならJavaのヒープでとめるんじゃなくて
自前でメモリ管理すればいいだけじゃないの?
0714デフォルトの名無しさん
2006/02/21(火) 10:23:41703ではないが、質問を。
インタプリタ=自前でメモリ管理ができる、になりますか?
自前というのは、誰でしょうか?
0715デフォルトの名無しさん
2006/02/21(火) 10:25:30インタプリタ分けて、インタプリタごとにスレッドグループ設定して
例外ハンドラを追加、でできそうなきがする。
0716デフォルトの名無しさん
2006/02/21(火) 10:31:14普通インタプリタ作るといったらメモリ領域を先に制限してから実行するものじゃない?
最近はメモリが多いから何も考えずにくむ人多いのかなぁ
0717デフォルトの名無しさん
2006/02/21(火) 10:40:42VM上で仮想メモリ空間を作成する、ということ?
0718デフォルトの名無しさん
2006/02/21(火) 10:47:30どのようにすればよいでしょうか?
0719デフォルトの名無しさん
2006/02/21(火) 10:55:06VMだろうがVMじゃなかろうが制限をつけるのは当たり前
それをしてないというのはアップロードサイズ制限してないコードとかとおなじ
0720デフォルトの名無しさん
2006/02/21(火) 11:09:270721デフォルトの名無しさん
2006/02/21(火) 11:12:36初心者以前の話
出直して来い
0722デフォルトの名無しさん
2006/02/21(火) 11:14:02経験者は経験してきたことを言っちゃいなよー
0723デフォルトの名無しさん
2006/02/21(火) 11:15:25やるかやらないか、じゃなくて、
できるかできないか、を知りたいんだが…
0724デフォルトの名無しさん
2006/02/21(火) 11:17:47お前は参考書を10冊10日ずつ読破しろ
0725デフォルトの名無しさん
2006/02/21(火) 11:17:59Javadocを読む
0726デフォルトの名無しさん
2006/02/21(火) 11:19:06setDefaultCloseOperation(int)
じゃないよね?
0727デフォルトの名無しさん
2006/02/21(火) 11:20:08それはクローズアイコンの動作指定ね。(メソッド名そのままだな)
0728デフォルトの名無しさん
2006/02/21(火) 11:22:02やっぱり・・・
breakじゃないし・・・。
すいませんマジで混乱しています教えてください。
0729デフォルトの名無しさん
2006/02/21(火) 11:24:43初歩の初歩だググれば?
ググっても分らないならPGに向いてない諦めろ
0730デフォルトの名無しさん
2006/02/21(火) 11:26:18日本語の不自由な方には(ry
で、大体何を見て勉強しているんだ?
0731703
2006/02/21(火) 12:07:08>>712
>>715
基本的には、「OutOfMemoryErrorがthrowされるタイミングおよび
どのスレッドにおいてthrowされるか」は予測不可能なため、
一人でも悪いユーザがいれば全部台無しになってしまうのです。
例外ハンドラでキャッチするだけでは、せいぜいmainスレッドが停止するのを
防ぐことがやっとだと思われます。残念ですが…
>>713
>>719
確かにおっしゃるとおりで、本来ならばスクリプトエンジン側で
メモリをきちんと管理するべきだと思います。
しかし、オブジェクトごとのメモリサイズが取得できないjavaでは、
(スクリプトの)実行コンテキスト毎のメモリ消費量を特定するのは、
相当困難であるかと思われます。
正直なところ、javaで動いて、キチンとメモリ管理もするスクリプトエンジンを
0から作る、という方針はイバラの道のような気がして、あまり選びたくないです。
やりたいことはほぼ全てBeanShellモドキが提供してくれているので、
あとは「無茶なスクリプトが実行されても、その悪影響を抑え込める」
さえどうにかなれば、というところなのですが…
そもそも、そんな用途でjavaを使うな、と言われたら返す言葉もないですが。
0732デフォルトの名無しさん
2006/02/21(火) 12:18:02マルチうざ
>>731
使用量をコントロールするのならメモリ管理を一から作るしかないけど
難しく考えすぎじゃない?
1Mのコードエリアと1Mのヒープ&スタック用意しておわりでは?
まさかオブジェクトってことはスクリプトからJavaのオブジェクト管理したいのか?
コントロールできないコードをユーザーに自由なコードをアップロードして
実行させる危険性はわかってるの?
メモリコントロールが完璧でもwhile(true)だけでCPU100%使うとかあるでしょ
0733703
2006/02/21(火) 12:27:32無限ループやスタックオーバーフローに関しては、
内部プログラムカウンタを使って、
一度に実行できるステップ数を制限しているので大丈夫です。
スクリプトからJavaオブジェクトを操作する、
それがまさにやりたいことなんです。
しかし、危険なAPIは一切実行できないないように制限しているため、
セキュリティはあまり問題にはならないと考えています。
(インポートできるクラスを制限したり、
java.lang.Classなどの危険なクラスも操作できないようにしています)
0734デフォルトの名無しさん
2006/02/21(火) 12:40:090735デフォルトの名無しさん
2006/02/21(火) 12:49:34使うオブジェクトが汎用的じゃないのであればかなりコントロール可能でしょ
どのクラスがどの程度使うかはわかるわけだし
0736703
2006/02/21(火) 12:55:03汎用的なライブラリも使うんです、すいません…(commons.langの一部とか)
メソッドコール一つ一つを精査して、危険っぽいメソッドコールならば
エラーにして返す、というのも少し前に考えましたが
現実的でないので無理という結論になりました。
(「危険っぽいメソッドコール」の基準を決めるのが困難なので)
0737デフォルトの名無しさん
2006/02/21(火) 13:37:29JPanelを重ねたときに、常に片方を最前面にこさせる方法はないでしょうか?
0738デフォルトの名無しさん
2006/02/21(火) 14:02:160739デフォルトの名無しさん
2006/02/21(火) 14:08:550740デフォルトの名無しさん
2006/02/21(火) 14:20:17みたいなメソッドはないかということですか?
標準APIには無いので、>>737の方法で作るのがベターだと思いますよ。
0741デフォルトの名無しさん
2006/02/21(火) 14:23:030742デフォルトの名無しさん
2006/02/21(火) 14:23:390743737
2006/02/21(火) 14:31:59ありがとうございます
フォーカスイベントの存在をしらんかったorz
0744739
2006/02/21(火) 14:37:18いえ、そんな大それた事ではないです…。
try-catch〜のJavaの宿題をやっているのですが、
3つのクラスを又にかけてなにやらやったりするので分けが分からなくなっています。
0745デフォルトの名無しさん
2006/02/21(火) 14:58:540746デフォルトの名無しさん
2006/02/21(火) 15:07:07宿題スレに池
0747デフォルトの名無しさん
2006/02/21(火) 15:32:58思ったけどこれってすごく危険じゃね?
どこの誰ともわからないユーザにプログラム実行させるの?
そこがそもそも間違ってると思うんだけど・・・
0748デフォルトの名無しさん
2006/02/21(火) 15:36:240749デフォルトの名無しさん
2006/02/21(火) 15:51:140750デフォルトの名無しさん
2006/02/21(火) 16:02:39でかつのりさんという方が最後におっしゃってるようにするのが一番いいじゃん。
しかしその直後に
>どうやら、手段はなさそうですね。
テラワロスwwwwwww
VMを起動するオーバヘッドとか言ってるけど、
そんな稀有な案件にどんだけたくさんのリクエストがあるっていうんだか。
ていうか小出しにしないで、どんな案件なのかを出さないと
無理だわな。
0751デフォルトの名無しさん
2006/02/21(火) 16:09:21>エラーにして返す、というのも少し前に考えましたが
>現実的でないので無理という結論になりました。
鯖のファイルすべて消すとかできそうだな
0752デフォルトの名無しさん
2006/02/21(火) 16:12:18◆第1話「終わりなき反日」
歪んだ社会が生み出す「反日無罪」
◆第2話「世界で嫌われる韓国人」 ←注目
共存できない民族による深刻な被害
◆第3話「在日特権の真相」 ←注目
「差封ハ」を武器に君覧ユする新特権階給
◆第4話「日本海を汚す韓国」
領海侵犯と日本海呼称問題
◆第5話「教科書採択問題と日教組」
反日勢力による教育汚染の実態
◆第6話「人権擁護法案と反日マスコミ」 ←注目
反日日本人と朝鮮半島をつなぐ線
◆第7話「差別大国 韓国」 ←注目
あらゆる差別が詰まった人権無視国家
◆第8話「歴史を捏造する韓国」 ←注目
偽りの歴史と改竄された民族の記憶
あなたが少しでも日本に愛着を持つのであれば、
この本を読んで正しい歴史を理解しましょう。
そして、無礼極まりない隣国に抗議しましょう。
0753デフォルトの名無しさん
2006/02/21(火) 16:19:48単にいっぱいあるjarライブラリを全部classpathに設定するのがめんどくさいって理由なんですが。
0754デフォルトの名無しさん
2006/02/21(火) 16:29:13> 単にいっぱいあるjarライブラリを全部classpathに設定するのがめんどくさいって理由なんですが。
この考え方、何か間違ってないか???
0755デフォルトの名無しさん
2006/02/21(火) 16:32:04JBuilderあたりこのへんうまくやってくれてたなぁ
GPLに注意しなされ
0756デフォルトの名無しさん
2006/02/21(火) 16:36:23シェルスクリプトでやれば良いんですけどそれでも長くて美しくなかったもので。
コマンドラインでもwarみたいに固めることができれば良いんですけどね。まぁwarとは目的がちょと違うような気もするけど。
一つのjarにまとめるのがメジャーではないって事は邪道って事でシェルスクリプトに逃げることにします。
ありがとうございました。
0757デフォルトの名無しさん
2006/02/21(火) 16:40:02それでjavaを選らんだのは凄いと思う
0758デフォルトの名無しさん
2006/02/21(火) 16:43:41そうですか?研究所なんですけど割とJava使ってる人多いですよ。
あとGUIアプリだと人によってデスクトップマシンがWin,Mac,Linux混在しててもちゃんと動くのでJavaは重宝してます。
0759デフォルトの名無しさん
2006/02/21(火) 17:06:23私、現在、javaでjacobを使って自作のActiveXのメソッドを呼び出そうとしております。
ここで、以下のエラーの原因がわからず途方にくれています。
com.jacob.com.ComFailException: A COM exception has been encountered:
At Invoke of: Start
Description: ?v???I??G???[??・?B
at com.jacob.com.Dispatch.invokev(Native Method)
at com.jacob.com.Dispatch.invokev(Dispatch.java:888)
at com.jacob.com.Dispatch.callN(Dispatch.java:524)
at com.jacob.com.Dispatch.call(Dispatch.java:604)
at com.jacob.activeX.ActiveXComponent.invoke(ActiveXComponent.java:425)
at jacobtest.AmiTest.runTest(AmiTest.java:60)
at jacobtest.AmiTest.main(AmiTest.java:12)
呼び出し側のソースは単純に以下のようになっています。
ActiveXComponent amiEx = new ActiveXComponent("MyActiveX.MyActiveXCtrl");
amiEx.invoke("Start","");
ActiveXはVC6で作成しています。
材料が少なくて判断が難しいかと思いますが、このエラーがどんな場合に
発生するのか、というだけでも教えていただけると幸いです。
ちなみに、バージョンに関しては、javaは1.3、1.4、1.5、jacobは
1.6,1.7,1.8,1.9,1.10を試しましたがいずれも同じでした。
ActiveX側に何か足りないものがあるのでしょうか。
ご存知の方いらっしゃいましたら、お願いします。
0760デフォルトの名無しさん
2006/02/21(火) 17:16:44Linux、Unix限定なら
java -classpath .:`ls *.jar|xargs|sed 'y/ /:/'` foo.bar.Main
でいいじゃん。
0761デフォルトの名無しさん
2006/02/21(火) 17:53:30おおっ、Linux使いらしいすばらしい解答ですね。
参考にしてみます。
0762デフォルトの名無しさん
2006/02/21(火) 18:29:29やったことないけど、JARファイルのマニフェストファイルに、Class-Path:を記述して列挙するとかは?
で、実行時には、それの1つのJARを指定するとかどうだろうか。
0763デフォルトの名無しさん
2006/02/21(火) 18:31:550764デフォルトの名無しさん
2006/02/21(火) 19:30:36クライアントに、ファイル保存のダイアログボックスを出して保存
してもらう処理を作りたいのです。
今、サーバの方にCSVファイルを保存し、それをJavaScriptでwindow.openで
指定しているのですが、ブラウザで開いてしまいます。
ファイル保存のダイアログを出すにはどんな方法があるのでしょうか?
0765デフォルトの名無しさん
2006/02/21(火) 19:38:52Content-Type, Content-Disposition
0766デフォルトの名無しさん
2006/02/21(火) 20:26:36そんな設定があるんですね。明日、試してみます。
ありがとうございます。
0767デフォルトの名無しさん
2006/02/21(火) 20:37:40WEB(AP)鯖を指すのが分かるからまだいいが
何のサーバーなのかとかちゃんと状況を説明しよう
0768デフォルトの名無しさん
2006/02/21(火) 23:45:13クライアント環境によってはどうあっても意図しない動作になる場合があるから、
エンドユーザときちんと打ち合わせしたほうがいいですよ。
inlineとかattachmentあたり。
>>766
>765の方法はJavaScript使わないから、調べ方間違わないようにね。
0769デフォルトの名無しさん
2006/02/22(水) 00:05:320770デフォルトの名無しさん
2006/02/22(水) 00:19:05Mustang(Java SE 6)まで待て。
0771デフォルトの名無しさん
2006/02/22(水) 00:27:19マルチスレッドの場合(WEBアプリは特に)
static なメソッドって、シンクロナイズドしないと危ないの?
基本はさ、フィールドまったくないクラスだったら全部staticメソッドにしていいんだよね?
メソッドの引数に何かをインスタンス参照して、メソッドの中で、その引数でもらったインスタンスの内容を書き換える処理があると、
書き換わる(書き換えよう)ときに、別スレッドがそれ使おうとして危ない。
って感じなのかな?
なんか噛み砕いて説明してほしい。。。
0772デフォルトの名無しさん
2006/02/22(水) 00:35:02普通はそのインスタンスのメソッドを使うんじゃない?
で、そっちで排他制御するものだと思う
0773デフォルトの名無しさん
2006/02/22(水) 00:36:16>基本はさ、フィールドまったくないクラスだったら全部staticメソッドにしていいんだよね?
できるかできないかじゃ、そうできるけど、オブジェクト指向から外れてますよ。
ユーティリティでそういうメソッドの集合としてだけクラス定義することもあるけど、例外的な状況だと思う。
で、質問の件に関してですが。synchronizedはインスタンスの中身について排他制御するって考えてみては。
だから複数スレッドから利用するインスタンスの内容を書き換えるところで排他かけるわけで、staticとかは
関係ないかと。
でもstaticメソッドだけのクラスで、インスタンスはスレッドで共有…って、すごく限定された状況ですよね。
0774デフォルトの名無しさん
2006/02/22(水) 00:39:26System sys = System;
↑右辺のSystemが解決できないと起こられる
出来ない?書き方が違う?
名前省略して使いたくて。。。
0775デフォルトの名無しさん
2006/02/22(水) 00:44:15J2SE 5 の static import 使えよ
J2SE 1.4 以下は出来ないで FA
0776デフォルトの名無しさん
2006/02/22(水) 00:45:13素敵な構文ですね
0777デフォルトの名無しさん
2006/02/22(水) 00:47:45Systemはクラス名で、さらにインスタンス生成できないクラス。
0778771
2006/02/22(水) 00:48:13>参照を受け取ったインスタンスの属性なりを書き換えるとき
>普通はそのインスタンスのメソッドを使うんじゃない?
>で、そっちで排他制御するものだと思う
確かにそうです。普通そうですね。なんか変な考えしてました。すいませんでした。
>>773
>だから複数スレッドから利用するインスタンスの内容を書き換えるところで排他かけるわけで、staticとかは
staticかはカンケイない・・・なるほど。
わたしの言葉も変でしたが、”インスタンスの内容を書き換える”ってのは、フィールドの内容を書き換える
ってことですよね。
誰か忘れちゃったんですけど、staticなメソッド作らないほうがいいよスレッド理解してないなら。
staticメソッドは排他されなくなるからマジやめろーインスタンス化して使えよ
って言われて、こんな疑問が出来ちゃいました。
解答くれた人のおかげで少しは認識が変わりましたが、もう一個質問・・・・
class A { void test(){} } ってクラスがあったら、こいつのtest()てメソッドは、
インスタンス化されるごとに、メソッドの処理が書かれたメモリ位置は違ってて、
マルチスレッドカンケイなく排他制御かかるんですか?
(排他制御がかかるというか、、、スレッドで共有していないからそもそもが安全)
ってことでいいんです?
お願いします
0779デフォルトの名無しさん
2006/02/22(水) 01:04:35共有してなければインスタンスごとに別とかんがえていい
逆に複数のスレッドからのアクセスがある場合は排他制御が必須
たぶん、Javaの基礎から勉強するのが一番の近道だと思うぞ
0780デフォルトの名無しさん
2006/02/22(水) 01:19:58解答ありがとうございます。
>たぶん、Javaの基礎から勉強するのが一番の近道だと思うぞ
ですね。VMから学びなおします。
ただ、ひとつ。。。Cでlinuxのgnu使って開発してたときはあまり疑問でなかったのですが
>共有してなければインスタンスごとに別とかんがえていい
>逆に複数のスレッドからのアクセスがある場合は排他制御が必須
正確でなくてやさしく解説されましたけど、これが一番イメージしにくいです。。。。
forkやexit使った排他は、Cのコード上イメージできて、実験しつつ理解を深めていけたのですが、
(あー壊れちゃった。お、ロックかかってる時間も計測できた。などなど。。。)
javaはなんかコードのイメージが出来ない。。。
共通していれば排他が必要。ってのは言葉上OKですが、共有したインスタンスを操作するためのコードが
なんか書きづらい。というかかけないのです。
スレッドって、、、、Threadクラスの継承とrunメソッドオーバーライドの二つしかないんですよね?
これが裏でどう動けばスレッドに共有のメモリを扱えるのかわからないです。。。
今思うと、ソースコード見ちゃえばいいのかな。
わたしはいろんなところを掻い摘んで並行して学習しているので、微妙な知識のままスレッド勉強してるから
変な理解しか出来ないのかもしれません。
まだCのコードも途中ですし。。。
今日は寝ます、ネット環境なくなるのでもしかしたら1ヶ月ぐらい見れないかもしれませんが、ありがとうございました。
0781774
2006/02/22(水) 01:20:25勝手に出来ると思い込んでました。
ちゃんと勉強しなきゃですね。。。
0782デフォルトの名無しさん
2006/02/22(水) 01:32:27もち迷信だけど、どこで広まったんだろう。
排他されなかったらInteger.parseIntも使えないんだがな。
0783デフォルトの名無しさん
2006/02/22(水) 01:33:380784デフォルトの名無しさん
2006/02/22(水) 01:38:02つーかなんでそこで Immutable?
0785デフォルトの名無しさん
2006/02/22(水) 01:46:29> forkやexit使った排他は
それは並行処理なだけであって排他処理ではないな。
Cでも排他についてわかってなかったんじゃないか?
0786デフォルトの名無しさん
2006/02/22(水) 01:50:570787デフォルトの名無しさん
2006/02/22(水) 01:51:49> 排他されなかったらInteger.parseIntも使えないんだがな。
Integer.parseInt が排他されているとでも思ってるのか、ボケ。
0788デフォルトの名無しさん
2006/02/22(水) 01:58:00>>逆に複数のスレッドからのアクセスがある場合は排他制御が必須
>正確でなくてやさしく解説されましたけど、これが一番イメージしにくいです。。。。
正確な解説だと思うが....
そもそも何に対して排他制御してるのか考えてくれ。プログラムならなんかの変数値だろう。
読み込みと書き込みが両方可能な場合、その変数値にアクセスするメソッドは、すべて排他
制御されてないと、スレッドセーフではない。
だからある変数aにアクセスするgetA()やらsetA()やらperformA()やらなんやらは全部排他を
かける。
変数が分かりにくかったら、物理ファイルだと思え。
たとえばfork()した複数のプロセスがすべて、同一のファイルを読み書きする場合、そのファイ
ルにアクセスする部分はすべて排他制御がかかるだろ(ロックファイルの作成とかチェックとか)。
同じように、複数のスレッドが同一の変数にアクセスするなら、そのためのメソッド類ではすべて
なんらかの排他制御を考えないといけないということ。
あとはチューニングとして排他のかけ方を工夫していく。書き込みと読み込みのロックをわける
とかいろいろ。でもそれは、まずは基本の排他をやってからの話だろう。
0789デフォルトの名無しさん
2006/02/22(水) 02:13:51>synchronized つけなきゃ static でも同期化されないわけだが、何か毒情報出してないか?
静的な synchronized なメソッドにアクセスしているのに、
なんで、別スレッドがインスタンスの synchronized なメソッドにアクセスできちゃんだよ!
とか、思ってるおバカさんを想像してみた。
0790デフォルトの名無しさん
2006/02/22(水) 02:17:33勝手に捏造すんな。誰もインスタンスメソッドとの絡みなんか言及してない。
0791789
2006/02/22(水) 02:24:59>static は排他されないって俺もよく聞いたな。
>もち迷信だけど、どこで広まったんだろう。
ああ、こっちの話の流れなアンカー不適切でスマソ
0792デフォルトの名無しさん
2006/02/22(水) 02:31:210793デフォルトの名無しさん
2006/02/22(水) 05:14:48for(i=0;i<5;i++){
int x=0;
←ここでxにiをどんどん入れる様な式が知りたいんです
System.out.println(x);
}
表示結果は
1
3
6
10
みたいな感じです
0794デフォルトの名無しさん
2006/02/22(水) 05:16:45for(int i=0; i<5; i++){
x += i;
System.out.println(x);
}
0796デフォルトの名無しさん
2006/02/22(水) 05:36:11自作のクラスでマウスアダプタを覆ってみようとして起こったエラー。
public class MiniApp extends Applet{
mouse m = new mouse();
public void init(){ addMouseListener(m.mouse()); ...}
public class Mouse extends MouseControl{
public MouseControl Mouse(){ return super(this);}
public void PushedObject(){repaint();}//オーバーライド
}
}
class MouseControl extends MouseAdapter{
public void mouseClicked(MouseEvent me){...PushedObject();}
public void PushedObject(){}
}
なんでsuperが先頭文じゃないというエラーが出るんだ…
returnやthis抜いても出るし、そもそも先頭文の判別基準は何なのだろう?
0797デフォルトの名無しさん
2006/02/22(水) 05:43:400798796
2006/02/22(水) 05:53:03thisだけで良い理由は自分で考えます。ありがとうございました。
0799デフォルトの名無しさん
2006/02/22(水) 07:01:38もしメモリアドレス的なものが格納されてるのでしたら
それをlong型変数(64bitならば)乃至int型変数(32bitならば)にその数値を代入して標準エラーに出力したいのですが
どうすれば実現できるでしょうか
0800デフォルトの名無しさん
2006/02/22(水) 07:31:03無理。言語規定でも、VM規定でも参照は参照としか扱えない。
VM規定では参照をintとして扱うようなバイトコードを見つけたら
バイトコードベリファイアがエラー吐けって書いてあるし。
0801デフォルトの名無しさん
2006/02/22(水) 07:53:45if-elseによるinstanceof演算子が美しくないので、
アドレス数値として扱えればより簡略化できると考えたのですが
素直に従来の方法で場合分けしていきます
0802デフォルトの名無しさん
2006/02/22(水) 08:11:31アドレス数値がわかってもそのクラスのインスタンスかどうかわからない。
0803デフォルトの名無しさん
2006/02/22(水) 08:21:25どうしても知りたければ、
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/Object.html#hashCode()
>できるかぎり、Object クラスで定義される hashCode メソッドは、異なるオブジェクトについては異なる整数値を返します。
>通常、これはオブジェクトの内部アドレスを整数値に変換する形で実装されますが、
>そのような実装テクニックは JavaTM プログラミング言語では不要です。
このメソッドは文字列Stringや、Integer, Doubleなどのラッパークラスでオーバーライドされているので注意が必要。
0804デフォルトの名無しさん
2006/02/22(水) 09:18:16どうせ使うなら、System.identityHashCode()
まあ、結局 int で表現できる数以上のオブジェクトを作ったら、
絶対重複が出てくるだろうけど
0805デフォルトの名無しさん
2006/02/22(水) 11:15:06ソケットのaccept()で待っているスレッドがあるんですが
それ以外の外のメソッドで、プログラムを終了させたいんですが
accept()で例外が出るようです。
ソケットをclose()してからexit()すればいいと思っているんですが
うまくいきません。
なにかいい方法ありませんか?
0806デフォルトの名無しさん
2006/02/22(水) 11:41:02例外をcatchする。
0807デフォルトの名無しさん
2006/02/22(水) 12:39:03g.drawImage(image,AffineTransform.newimage.getWidth()/image.getWidth(),newimage.getHeight()/image.getHeight()),null);
で、描画した画像が拡大されてないのですが
どこを修正すればいいのかわかりません。
ちなみに、imageとnewimageは大きさは縦横共に違います。
0808807
2006/02/22(水) 12:55:50縦imageの縦幅*整数、横imageの横幅*整数
としたら拡大されました。
整数の部分を小数にしてintに丸めるとダメな模様。
もっと細かく拡大したいのですが、どうすればよいのでしょうか?
0809デフォルトの名無しさん
2006/02/22(水) 13:00:40AffineTransform.getScaleInstance(
newimage.getWidth()/image.getWidth(),
newimage.getHeight()/image.getHeight()
),
null);
0810デフォルトの名無しさん
2006/02/22(水) 13:03:27AffineTransform.getScaleInstance(
((double)newimage.getWidth())/image.getWidth(),
((double)newimage.getHeight())/image.getHeight()
),
null);
だった
0811デフォルトの名無しさん
2006/02/22(水) 13:40:52うまくいきました。ありがとうございます。
0812デフォルトの名無しさん
2006/02/22(水) 14:51:59どうしてもやりたいなら native メソッドを作ってそこで自作すればいい。
0813デフォルトの名無しさん
2006/02/22(水) 14:53:50public static void main(String[] args) {
System.out.println("test");
}
}
このソースをコマンドラインからコンパイルさせたんですが
コンパイルは通るものの、以下のようなメッセージが出て、実行できません。
d:\java\java Soc
Exception in thread "main" java.lang.NoClassDefFoundError: Soc
お助け下さい。
0815デフォルトの名無しさん
2006/02/22(水) 15:19:58解決しました
0816デフォルトの名無しさん
2006/02/22(水) 17:01:07どうしたらいいのでしょうか?
0817デフォルトの名無しさん
2006/02/22(水) 17:05:360818デフォルトの名無しさん
2006/02/22(水) 17:13:33そうですか・・。
J tabbed pane のタブの文字を縦文字にする方法はないんですかね?
0819デフォルトの名無しさん
2006/02/22(水) 17:25:20出来るか知らんがこれでどうだ。
0820デフォルトの名無しさん
2006/02/22(水) 17:49:04エクスポート、JARで
いけるが
おすすめはFatJAR
ただしこれを使うとテストするたびにJARの生成にものすごく
時間がかかるという諸刃の剣
0821デフォルトの名無しさん
2006/02/22(水) 19:04:46諸刃どころか一方的に切られる剣のような。
テストのたびに時間かかるって致命的っしょ。
0822デフォルトの名無しさん
2006/02/22(水) 19:32:04覚えたところですが、本屋でGUIプログラミングの本を見つけて買ってきたんですが、
Swingでした。
Awtはすっとばして勉強しても問題ありませんかね?
0823デフォルトの名無しさん
2006/02/22(水) 19:33:400824822
2006/02/22(水) 19:34:50いきなりSwingから入ってる入門書で
勉強してよろしいんですかね?
0825デフォルトの名無しさん
2006/02/22(水) 19:41:330826デフォルトの名無しさん
2006/02/22(水) 19:43:250827デフォルトの名無しさん
2006/02/22(水) 19:43:390828デフォルトの名無しさん
2006/02/22(水) 19:59:36その本が〜2とか言う名前で、実は1でAWT説明しました、というのでなければいいよ。
他の人も言ってる通り、必要なところではAWT使うだけだろうし。
0830デフォルトの名無しさん
2006/02/22(水) 22:25:20int[] tmp; と書くのと int tmp[];と書くものを見かけるけど
これって意味としては両方同じなんですか?
0831デフォルトの名無しさん
2006/02/22(水) 22:32:290832デフォルトの名無しさん
2006/02/22(水) 22:39:00サーバー側を
server = new ServerSocket(10000);
server.accept();
としているところに、自分でクライアントも起動して
socket = new Socket("localhost",10000);
でやると繋がるのですが
友人にグローバルアドレスで試してもらうと繋がらないのですが
これはどうにかなるのでしょうか?
0833デフォルトの名無しさん
2006/02/22(水) 22:42:26なるほど、C言語ね。自分はC言語から入ったから、意味は分かったのだが
なんかいくつかの参考書を見ると、両方のタイプを見かけたんで
何か大きな違いがあるか気にはなったもので
そのある本には
main(String args[]) と書かれているけど int[] tmp;って書かれていたりするのだが
型によって違うんかなぁとか思っちゃったり
0834デフォルトの名無しさん
2006/02/22(水) 22:45:02ついうっかりC風に書いちゃった、に一票
0835デフォルトの名無しさん
2006/02/22(水) 22:47:45CSVファイル5個から1つのDBに登録するので、どこかにCSVのデータを
保存しておきたいのです。
件数は数十万件になるので、メモリはおいておくのは厳しいかなと
思ってるのですが、何かいい方法はありますか?
0836デフォルトの名無しさん
2006/02/22(水) 22:57:46なる
>>835
ある
0837デフォルトの名無しさん
2006/02/22(水) 23:17:01ネットワーク環境が分からないからエスパー回答するけど、
NAT or ファイアウォールのどっちかが影響してるんじゃない?
DMZ とか 静的NAT とかでぐぐってみたら。
0838デフォルトの名無しさん
2006/02/22(水) 23:44:46件数がそれだけ多いんだったらオンラインじゃなくてバッチでやったほうが
いいんじゃないかと思ってしまうんだけど。。
0839デフォルトの名無しさん
2006/02/22(水) 23:46:24SJC-Pではその辺の問題が出るよ。
int[][] a, b[][];
でそれぞれの次元数を聞かれたりとか。
0840デフォルトの名無しさん
2006/02/23(木) 00:42:08s.getInetAddress().getHostAddress()
は、
ソケットsのメソッドgetInetAddress()のメソッドgetHostAddress()
ってことですか?
こんな書き方ありなんですか?
0841デフォルトの名無しさん
2006/02/23(木) 00:52:51String host = addr.getHostAddress();
↓
String host = s.getInetAddress().getHostAddress();
0842デフォルトの名無しさん
2006/02/23(木) 01:16:01一体どのようなときに使うのですか。
0843デフォルトの名無しさん
2006/02/23(木) 01:25:26よくメモリアドレスをどうのこうのって話が出てくるけど、
JavaではGCがメモリ上でオブジェクトを動かしまくるから
普通に考えればそんなものはとれるはずがないし
とれたとしてもまったく意味がない。
0844デフォルトの名無しさん
2006/02/23(木) 01:44:01Collectionに突っ込むときや、Object[]な配列に突っ込むとき。
「突っ込むとき」と覚えればよい
0845デフォルトの名無しさん
2006/02/23(木) 01:46:13答えになっていないけど、使い道を気にするようになったら負けだと思う。
0847デフォルトの名無しさん
2006/02/23(木) 02:11:25そういえばIntegerとかCollectionに突っ込みますね。
Booleanでやらない理由がなかった。
Object[]に至ってはオートボクシングの恩恵を忘れていました。
>>845
確かに。
精進します。
0848デフォルトの名無しさん
2006/02/23(木) 03:13:29Boolean.TRUE.toString()で文字列"true"を取るとき。
Boolean.getBooleanValue(String str)で文字列をbooleanに変換するとき。
0849デフォルトの名無しさん
2006/02/23(木) 04:39:38以下のような簡単なRMIクライアントを作成しました。
javaコマンドでmain()を実行するとgetValue()の値が取得できるのですが
VC++アプリからJNIを使用してgetServerValue()を呼ぶと
lookupでUnmarshalExceptionが発生してしまいます。
なぜ同じ関数なのにJNIでVC++アプリから呼ぶとエラーになるのか
原因わかる方いたら教えていただきたいです。
public class HelloRMI {
public static int getServerValue() {
HelloRMI obj = (HelloRMI)Naming.lookup("rmi://localhost:1234/hoge");
return obj.getValue();
}
public static void main(String args[]) {
HelloRMI hrmi = new HelloRMI();
int rtn = hrmi.getServerValue();
}
}
0850デフォルトの名無しさん
2006/02/23(木) 04:49:360851デフォルトの名無しさん
2006/02/23(木) 07:20:13編集中のコードが読みやすいから、という理由だけで、
長い文字列を + 演算子で結合して宣言するのは、よくないことですか?
たとえば、
String str = "ある朝、グレゴール・ザムザがなにか胸騒ぎのする夢からさめると、\nベッドのなかの自分が一匹のばかでかい毒虫に変わってしまってい\nるのに気がついた。"
のような宣言を
String str = "ある朝、グレゴール・ザムザがなにか胸騒ぎのする夢からさめると、\n +
ベッドのなかの自分が一匹のばかでかい毒虫に変わってしまってい\n +
るのに気がついた。\n";
みたいにしたらあとで読みやすいかな、と。
あと、Stringの宣言には最大どれくらいの長さの文字列を入れられるんでしょうか。
相当長い文字列を読み込むときは、String を使わずにこうやれみたいな、定石があるんでしょうか。
0852デフォルトの名無しさん
2006/02/23(木) 07:36:07String str = "ある朝、グレゴール・ザムザがなにか胸騒ぎのする夢からさめると、\n" +
"ベッドのなかの自分が一匹のばかでかい毒虫に変わってしまってい\n" +
"るのに気がついた。\n";
(リテラル閉じようね。)
この場合
String str = "ある朝、グレゴール・ザムザがなにか胸騒ぎのする夢からさめると、\nベッドのなかの自分が一匹のばかでかい毒虫に変わってしまってい\nるのに気がついた。"
と同じようにコンパイルされる。
0853デフォルトの名無しさん
2006/02/23(木) 07:37:320854デフォルトの名無しさん
2006/02/23(木) 09:06:56http://blogs.sun.com/roller/page/okazaki?entry=performance_myth_string_plus_string
0855デフォルトの名無しさん
2006/02/23(木) 10:02:35でも、まだ1.4使ってるんだよなあ・・・
次のプロジェクトから1.5にしてみるか
0856デフォルトの名無しさん
2006/02/23(木) 10:18:09今、ログイン、ログアウト機構を持ったシステムを作っています。
ログアウトやタイムアウトの際に一定の処理(一時ファイルの削除)を
行いたいと思っています。
HttpSessionBindingListener の valueUnbound を使ってセッションが無効になる
タイミングを得ることができそうなのですがわからない点があります。
session.invalidate();を行った場合はvalUnboundに処理が飛んできてくれて予期した通りでした。
次の自分の予想では、ログインしてそのままほっといてタイムアウト時間経過した時点
でvalUnboundに処理が飛んでくると思ってました。ところがそのような動作はしません。
セッションタイムアウトとvalUnboundの関係を教えてもらえないでしょうか。
0857デフォルトの名無しさん
2006/02/23(木) 10:50:55セッションタイムアウトはどうやって判別してるの?
0858デフォルトの名無しさん
2006/02/23(木) 11:05:22-------
HttpSession session = request.getSession(false);
if(session==null){
「セッションがタイムアウトしましたログインしなおしてください」画面に飛ばす
return;
}
通常の遷移先の画面に飛ばす。
--------
っていう風にやってます。そもそもこの手法が間違い?
0859デフォルトの名無しさん
2006/02/23(木) 12:09:26ありがとうございました。よくわかりました。
0860デフォルトの名無しさん
2006/02/23(木) 12:57:22JIS補助文字をIE等のブラウザから受け取り
それをcsv形式のファイルに書き出すプログラムを
作成しているのですが、エンコードを
かけても文字化けしてしまします。。
コレについては対処はないのでしょうか
例
杝と言う字をブラウザから
受け取ると&#26461;
と言う文字列がcsvファイルに出力される。
どなたか分かる方がいらっしゃいましたら
教えてくださいお願いします。。
0861デフォルトの名無しさん
2006/02/23(木) 13:02:220862デフォルトの名無しさん
2006/02/23(木) 13:09:26デフォルトのデバイスで鳴らすと音が非常におかしくて使い物にならず
外部デバイスで鳴らしたいのですが、
MidiSystem#getMidiDevice で取得したGS音源デバイスから
getReceiver() メソッドで、そのレシーバを取得して
MidiSystem#getSequecerで取得したデフォルトのシーケンサに
getTransmitter().setReceiver()で、その外部デバイスのレシーバを
設定したのですが、
相変わらず元のデフォルトデバイスで演奏されてしまいます。
シーケンスからMidiメッセージを取り出して、自分で外部デバイスに
送る手法はかなり面倒で避けたいので、何とかデフォルトシーケンサで
外部デバイス音源を使いたいのですが、誰かやり方をしってる人がいたら
教えてください。
0863デフォルトの名無しさん
2006/02/23(木) 13:16:20レスありがとうございます。
JSP側では、Windows-31Jでエンコードをして
値を渡しています。
値を受け取ったJava側でも
下記のコードのようにWindows-31Jでエンコードを
行っています。
new FileOutputStream(FilePass + "Rpf06.csv"),"Windows-31J");
ですが、文字化けをしてしまうようです。
ただHTMLソースでみると
杝と言う字が、&#26461;
と言う風に表示されているのが
ちょっと気になっています。。
0864デフォルトの名無しさん
2006/02/23(木) 13:27:40その文字、Unicodeにしかないぞ
文字コードを変えるしかないな
0865デフォルトの名無しさん
2006/02/23(木) 13:31:05UTF-8,UTF16等で
エンコードすれば良いと
言う事でしょうか?
0866デフォルトの名無しさん
2006/02/23(木) 13:35:01そういうことだな
0867デフォルトの名無しさん
2006/02/23(木) 13:36:52ありがとうございます。
それでは試してみます。。。
0868デフォルトの名無しさん
2006/02/23(木) 20:11:08言われていますが、この値ってOSの時間を変更しちゃうと連動して変わってしまいますよね?
Windows APIのGetTickCountのような「システム起動時からの経過時間」に相当
するJavaのメソッドってないのでしょうか?
Javaアプレットで使用したいのでGetTickCountを呼び出すことができなくて困っています。
0869デフォルトの名無しさん
2006/02/23(木) 20:41:07たとえば「ニュース速報」をEUC-JP、UTF-8でエンコードしてみます、
[EUC-JPの場合] %A5%CB%A5%E5%A1%BC%A5%B9%C2%AE%CA%F3
[UTF-8の場合] %E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9%E9%80%9F%E5%A0%B1
この%A5%C…などといった文字コード不明の任意の与えられた文字列から文字コードを判別したいのです。
良い方法、もしくはヒントをいただけたら幸いです。
0870デフォルトの名無しさん
2006/02/23(木) 20:50:02文字コード 判別
などでぐぐってから再質問? すでにJavaの領域じゃない気もするが
0871デフォルトの名無しさん
2006/02/23(木) 20:56:01はい、Googleでいろいろ検索してみましたが解決には至りませんでした。
>すでにJavaの領域じゃない気もするが
やはりそうですよね・・・。お返事ありがとうございました。
0872デフォルトの名無しさん
2006/02/23(木) 21:12:03最初 utf8 でやってみて駄目なら JISAutoDetect をやってみるとか。
(完璧ではないが、だいたいはできそうな気がする)
String[] encs = {"utf8", "JISAutoDetect"}; // 試してみるエンコード
String u = "(URLエンコードされた文字列)";
String s = null;
for (int i = 0; i < encs.length; i++) {
try {
s = URLDecoder.decode(u, "utf8");
break;
} catch (UnsupportedEncodingException e) {
}
}
0873デフォルトの名無しさん
2006/02/23(木) 21:12:55間違えた個所分かるよな? >>872の間違い部分は適当に読みかえてくれ。
0874デフォルトの名無しさん
2006/02/23(木) 21:23:39どういうことだ?
5.0でも+連結はもちろん重いぞ
かなりの回数ループする中で連結するなら+は使わないほうが
逆にネックになりそうにない場所でStringBuilder使って可読性下げるのもタコ
0875デフォルトの名無しさん
2006/02/23(木) 22:04:04下記のプログラムを組んだのですが、strとstr2に入っている文字は同じなのに
elseへ抜けてしまいます・・・どうすれば、charAtを使い、同じ文字にすることができますか?
class test1{
public static void main(String args[]){
String str = new String("あいうえおX");
String str2 = new String();
int a=0;
while(true){
str2 = str2+str.charAt(a);
if(str.charAt(a)=='X')break;
a++;
}
if(str==str2){System.out.println("おなじか");
System.out.println(str);
System.out.println(str2);}
else {System.out.println("同じじゃない・・・");
System.out.println(str);
System.out.println(str2);}
}
}
0876デフォルトの名無しさん
2006/02/23(木) 22:10:01equals
0877デフォルトの名無しさん
2006/02/23(木) 22:42:46>>855 は、>>854 を受けての一発連結のお話じゃない?
0878デフォルトの名無しさん
2006/02/23(木) 22:57:385.0でそれが解決されたわけではなくStringBufferよりスピードが出る可能性のある
StringBuilderが導入されたというだけ
0879デフォルトの名無しさん
2006/02/23(木) 22:58:00居なさそうだけど、ぐぐれば文字コードの話がいくつか載ってるし
コードの重なり具合を図にしたものもあるというのに
# 根本的解決になってないですね、はい
0880デフォルトの名無しさん
2006/02/23(木) 23:00:29表れるようなパフォーマンスの向上は見たことないけどなー
0881デフォルトの名無しさん
2006/02/23(木) 23:08:02いんだけど。
0882デフォルトの名無しさん
2006/02/23(木) 23:38:360883デフォルトの名無しさん
2006/02/23(木) 23:40:35バイト列に直してからenc&decで元に戻ればおk
0884881
2006/02/24(金) 00:10:510885デフォルトの名無しさん
2006/02/24(金) 00:14:050886デフォルトの名無しさん
2006/02/24(金) 00:15:56現在のノイマン型PCには無理
0887デフォルトの名無しさん
2006/02/24(金) 00:48:022枚の画像には2つの画像用パラメータが必要。
動作用のパラメーターを一つ用意する。
動作用から、それぞれの画像用パラメータへの変動値を調整しておく。
この状態で、動作用のパラメータをいじくると、それぞれの画像用パラメータが変わって、
擬似的に別々に動いているように見える。
0888デフォルトの名無しさん
2006/02/24(金) 02:57:37『UTF-8 としてデコードしようとして失敗』は
UnsupportedEncodingException じゃない。
『UTF-8 というエンコーディングをデコード用に使用出来なかった』が
UnsupportedEncodungException だ。
100% 例外が起きないだけで文字は表示しようとする時に化ける可能性が充分あるぞ。
0889デフォルトの名無しさん
2006/02/24(金) 03:22:05次は何やれば良い?
0890デフォルトの名無しさん
2006/02/24(金) 03:25:080891デフォルトの名無しさん
2006/02/24(金) 03:26:13package宣言してHello World!か、簡単な計算(値固定)して結果を表示する。
というかお前、入門を全部スレで済まそうというのではあるまいな。
0892デフォルトの名無しさん
2006/02/24(金) 03:33:22>package宣言してHello World!か、簡単な計算(値固定)して結果を表示する。
ふむ、やってみる。ってかな、一応C言語でshort double とか
char string とか経験あり。関数の定義とかもね。
だからCでは出来ないが Java で出来るものを追求していきたいってところ
0893デフォルトの名無しさん
2006/02/24(金) 05:02:230894デフォルトの名無しさん
2006/02/24(金) 05:05:570895デフォルトの名無しさん
2006/02/24(金) 05:13:28Cったって、コマンドラインで文字を表示するくらいのCUIじゃ
やれることが限られてくるわけよ、そこから脱しようとしているだけで
基本的なアルゴリズムは一通りやったよ
最終的に問われるのは、各々の言語の特質をしっかり理解して
それに応じた効率の良い処理を行うソースの記述だと思うがね
いくら見た目が派手でも、中身がぐちゃぐちゃじゃどうしようもないしね
0896デフォルトの名無しさん
2006/02/24(金) 05:18:26一つでいいから、どんな言語でも良いから
他人に見せられるプログラム作ってみそ。
そこが始まりだから。
0897デフォルトの名無しさん
2006/02/24(金) 05:20:21特に C/C++ を引き合いに出すのは馬鹿が荒らしに来るので御法度です。
0898伝説新人タクシ
2006/02/24(金) 05:37:35GUIのほうが不便になることもある。
やるかどうかは別にして、Cでできないものはないと考えるべき。
UNIX系だとCUI画面だけでなんでもできるしな。
とある処理でWindowsのGUIに悩まされたこともあるな。
0899デフォルトの名無しさん
2006/02/24(金) 06:21:55CUI たって、入力された数値から出力された結果を文字で表しているだけであって
GUIにしたってそれがグラフィカルに表現できるもので表されているものがあって
ソースの中身、アルゴリズムは共通する部分が多いよ
ただ、文字列だけでの表現は、複雑な表現をする場合は不向きだけど
なんなら、4行4列の15パズルをCUIでやれないことはないが
数字を動かすたびに動かした後の結果を新しく画面がスクロールされて
表示されるってのは、ユーザにとっては煩わしさを感じるかなw
0900デフォルトの名無しさん
2006/02/24(金) 08:08:470901デフォルトの名無しさん
2006/02/24(金) 09:08:32なるほど。
基本今まで通りで、StringBufferをStringBuilderにすればいいんだな。
0902デフォルトの名無しさん
2006/02/24(金) 09:12:190903881
2006/02/24(金) 09:58:090904デフォルトの名無しさん
2006/02/24(金) 09:58:59っ [C++とかC#とか間違ってる]
>>903
> 参考書に2次元配列とか書いてあったんだけど?
なにか問題でも?
0905デフォルトの名無しさん
2006/02/24(金) 11:17:43JavaVM起動時に画面がぐちゃぐちゃになる現象が起きてるんだけど
他に同じことになった人いる?
JavaランタイムをアンインスコしてMS VMにすると問題ない。
でもこれだとSunJavaの動作テストにならいんだよね。
0906デフォルトの名無しさん
2006/02/24(金) 13:06:53OSとそれぞれのバージョンを書いてくれないと。
うちはWinXP HomeでNVIDIAのドライバ81.98のやつ、Sun J2SE 1.4.2_09/10, 1.5.0_06でいずれもまったく無問題。
Linux環境はNVIDIAのドライバ入れてないので未確認。
他OSはなし。
0907デフォルトの名無しさん
2006/02/24(金) 14:06:19int[x][y]
int[y][x]
普通はどっちを使うんですか?
0908デフォルトの名無しさん
2006/02/24(金) 14:11:250909デフォルトの名無しさん
2006/02/24(金) 14:19:140910デフォルトの名無しさん
2006/02/24(金) 14:19:390911デフォルトの名無しさん
2006/02/24(金) 14:42:42どっちでも良いのだけど、CPUのキャッシュのヒット率を考えて、連続
アクセスされる方の軸を右に持っていきます。
for (int y=0;y<Y;y++)
for (int x=0;x<X;x++)
array[y][x] = ...;
or
for (int x=0;x<X;X++)
for (int y=0;y<Y;y++)
array[x][y] = ...;
0912デフォルトの名無しさん
2006/02/24(金) 15:42:54XP Pro SP1、nVidia81.98、JRE1.5.0_06
JRE1.4.2_**のときでも、VM起動時に画面が数秒間ブラックアウトするっていう現象があって、
それでJRE1.5.0_06を入れてみたら画面が崩れて戻らなくなっちゃったんだよね。
OSそのものはフリーズしてるわけじゃなくて、VNCで繋いで画面のプロパティ更新すると
正常な画面に戻るっていう謎現象・・・。
自作のアプレットはまだそれで回復するけど、studio-radishの速度調査のサイトの
アプレットだと回復もしないでそのままあぼーんするから、コーディングの問題ではなさそうなんだけど。
ttp://netspeed.studio-radish.com/
0913デフォルトの名無しさん
2006/02/24(金) 15:47:10File.delete()を使ってファイルを削除しようとしても
他のアプリケーションが使用してるなどの場合でファイルが削除できない場合があると思うんですが。
こういう場合でも強制的にファイルを削除する方法をはありますか?
0914デフォルトの名無しさん
2006/02/24(金) 15:53:460915デフォルトの名無しさん
2006/02/24(金) 15:54:50方法はあると思うが、Javaからつーのはめちゃくちゃ大変そう。
0916デフォルトの名無しさん
2006/02/24(金) 15:56:000917デフォルトの名無しさん
2006/02/24(金) 16:24:50C:\java>java hello
Exception in thread "main" java.lang.NoSuchMethodError: main
CLASSPATHがいけないのかと思い調べてみると
実際には存在しない.zipが設定されてました。
OSはWindowsで1.5.0_06です
0918デフォルトの名無しさん
2006/02/24(金) 16:27:07報告乙
0919デフォルトの名無しさん
2006/02/24(金) 16:33:15すいません。
ソースを見直してみたらどうみても(ry
0920917
2006/02/24(金) 16:33:450921デフォルトの名無しさん
2006/02/24(金) 17:22:16どうおかしいのかは想像つくが、どう解決したかは書け。
オマエのレベルの初心者が見るかも知れないからだ。
結果を書かなければそういうやつがまた同じ質問をしてきて
無駄な書き込みが増える。
0922デフォルトの名無しさん
2006/02/24(金) 17:33:00つまり、ここをちゃんと目を通しながらやっていけってことですね
0923デフォルトの名無しさん
2006/02/24(金) 17:35:390924デフォルトの名無しさん
2006/02/24(金) 17:37:080925デフォルトの名無しさん
2006/02/24(金) 18:22:440926875
2006/02/24(金) 19:16:22テキストに入力する、フォントの大きさを変えたいのですが
どうすればできますか?
0927デフォルトの名無しさん
2006/02/24(金) 19:19:080928デフォルトの名無しさん
2006/02/24(金) 20:56:38ちょwwwやたらデカスwwwwww
>926
しかしSwingはJTextAreaだぞ。細かい話だけど。
0929デフォルトの名無しさん
2006/02/24(金) 21:33:24writeObjectでファイルに書き込んで、
readObjectで読み込んでJFrameだとかにペタッと貼り付けたりしたら
普通に表示はされるんだが
クリックしたときの処理だとかが利かない。
クリックしたときの処理はJPanelを継承したクラスに書かれてる。
なんかこの症状の心当たりありませんか。
0930デフォルトの名無しさん
2006/02/24(金) 21:39:520931デフォルトの名無しさん
2006/02/24(金) 21:43:30オオ! サンクス!
でもスクロールバーは動くのよね。
ワケワカメw
0932デフォルトの名無しさん
2006/02/24(金) 22:54:40それイベントで動かしてないだろ
0933デフォルトの名無しさん
2006/02/24(金) 23:17:05クリックした時の動作をどのように記述したかによる
無名クラスはシリアライズされませんよ?
0934933
2006/02/24(金) 23:27:370935デフォルトの名無しさん
2006/02/24(金) 23:28:08触りあえるよな?
これって、よく本に書いてあるカプセル化とか情報隠蔽ってヤツを
実現してないだろ?
privateのフィールドは、インスタンス自分自身のみが触れるのが、
正解でないかい?
0936デフォルトの名無しさん
2006/02/24(金) 23:32:35一行目は正解。
二行目以降は設計の問題。
自分で作るクラスに責任を持てば、問題ない話。
0937デフォルトの名無しさん
2006/02/24(金) 23:33:12クラス自身のインスタンスならどういう動きになってるか分かるから
さほど問題ない、ということなんだろうね
場合によっては手間も減るし
0938デフォルトの名無しさん
2006/02/24(金) 23:51:37clone のオーバーライドでフィールドいじる必要がある時とか、
compareTo を実装するときに相手のprivateフィールドが必要なときとか。
いずれにしても
> 自分で作るクラスに責任を持てば、問題ない話。
だし。
0939デフォルトの名無しさん
2006/02/25(土) 01:15:120940デフォルトの名無しさん
2006/02/25(土) 01:18:250941デフォルトの名無しさん
2006/02/25(土) 01:19:01できたら Canvasとかを取り扱ってる 勉強サイトとかあったら 是非おしえてください
お願いしますw
0942デフォルトの名無しさん
2006/02/25(土) 01:21:26自機の位置とは別に、自機アタリ座標(上下左右)を用意。
アタリになる対象の物体がこの座標内に入れば、どかーん。
毎回の描画直前にアタリ判定すればヨロシ
0943デフォルトの名無しさん
2006/02/25(土) 01:23:580944デフォルトの名無しさん
2006/02/25(土) 01:27:38何言ってるか分からないけど、いいと思う
0945デフォルトの名無しさん
2006/02/25(土) 01:29:400946デフォルトの名無しさん
2006/02/25(土) 01:30:54いや、出来なくても、自分困らないし
出来たら、もうけものじゃん
0947デフォルトの名無しさん
2006/02/25(土) 01:39:400948デフォルトの名無しさん
2006/02/25(土) 03:23:07で読み込んだ最後の行が、
ファイル上では改行で終わっているかどうかを判断する方法を教えてください。
A(ファイルの終わり)
と
A(改行)(ファイルの終わり)
を区別する方法です。
0949デフォルトの名無しさん
2006/02/25(土) 03:27:30「ファイル内の空行は無視する」 という仕様でロジック組むのが無難。
0950デフォルトの名無しさん
2006/02/25(土) 03:38:38ファイルの一番最後のバイトを取ってきて、
readLine で取得した文字列の一番最後と比較。
seek(ファイルの長さ - 1);
read()
0951デフォルトの名無しさん
2006/02/25(土) 03:59:03> 次の readLine() が null を返すかどうかで判定するしかない。
それでは判定できません。
0952デフォルトの名無しさん
2006/02/25(土) 04:02:21StreamTokenizer でも使えば? (まだあったっけ?)
0953デフォルトの名無しさん
2006/02/25(土) 04:08:560954デフォルトの名無しさん
2006/02/25(土) 04:11:080955デフォルトの名無しさん
2006/02/25(土) 04:12:04そんな怪しげな仕様にするぐらいなら、readLine() 使わずに
新しいクラス作ったら?
0956デフォルトの名無しさん
2006/02/25(土) 05:08:47C++の方が一段落したんで次にJavaの勉強始めようと思うんだけど
JavaとC++ってコードの記述とかあんまり変わらないよね?
0957デフォルトの名無しさん
2006/02/25(土) 05:10:58最近 C/C++ 絡めた質問が多いけど Borland からの難民か?
0958デフォルトの名無しさん
2006/02/25(土) 05:25:47ある程度C系に慣れたBorland製コンパイラ使いならまずVisualExpress無料版の方に走ると思う
0959デフォルトの名無しさん
2006/02/25(土) 05:32:37そんな言い方するなんて、あんまりだ!
0960デフォルトの名無しさん
2006/02/25(土) 05:33:130961デフォルトの名無しさん
2006/02/25(土) 05:33:43構文よりも C/C++ で神経尖らせてたところが適当で良いのに最初は激しく
違和感・不安感を覚えるかもしれない。特にヒープ・スタック・参照(ポインタ)の
扱いあたり。
0962デフォルトの名無しさん
2006/02/25(土) 05:37:05大事にCを勉強してきた人は、基本からJavaの勉強をすれば、
全く心配ないと思います。
概念を表す用語も使い方が違うかも知れませんし、
基になってる思想も違うところがあると思いますので、
手を抜いてもいいところは無いと思います。
理解しやすいとは思いますので、安心して勉強してください。
0963デフォルトの名無しさん
2006/02/25(土) 05:40:13ありがと、十分分かった
メモリ関係の扱い方が一番大きな違いか
開放し忘れの多い自分にとってはうれしい限り
>>962
そう言ってもらえると安心
今度書店に行って入門書でも買って来る
0964デフォルトの名無しさん
2006/02/25(土) 05:56:41とりあえずここを参照してみ
0965964
2006/02/25(土) 05:59:51うわぁ、俺ナニ間違ったURLはりつけてんねん OTL
0966デフォルトの名無しさん
2006/02/25(土) 06:06:30正直なんてレス付けるか迷ったwww
結構量があるなぁ。今の段階では見ただけで吐き気が・・
困ったときに見れるようにブックマークしとく、ありがとう
0967964
2006/02/25(土) 06:08:520968デフォルトの名無しさん
2006/02/25(土) 06:09:010969デフォルトの名無しさん
2006/02/25(土) 07:41:32PCソフト館なのにエロゲばっかり(・∀・)
0970デフォルトの名無しさん
2006/02/25(土) 10:16:33>964(・∀・)ニヤニヤ
0971デフォルトの名無しさん
2006/02/25(土) 15:46:140972964
2006/02/25(土) 21:39:54何かとエロは付きもんだぞ!
0973デフォルトの名無しさん
2006/02/25(土) 22:08:57さっき、エラーの原因がわからなくて時間を無駄にしました。
0974デフォルトの名無しさん
2006/02/25(土) 22:11:51中には中括弧で条件や繰り返しするコードを記述するわけだし
0975きちがい
2006/02/25(土) 22:16:25計算する文だと認識されないんではないでしょうか
良く分かりませんが
0976デフォルトの名無しさん
2006/02/25(土) 22:46:330977973
2006/02/25(土) 22:49:20道理でreturn null; が通らないわけだ。
public MenuItem[] getItem(int menu){
if(menu==0){
MenuItem[] item=new MenuItem[FILEMENU];
for(int i=0;i<FILEMENU;i++){
item[i]=mi[menu][i];
}
return item;
}else if(menu==1){
MenuItem[] item=new MenuItem[EDITMENU];
for(int i=0;i<EDITMENU;i++){
item[i]=mi[menu][i];
}
return item;
}else{
return null;
}
}
さっきまでELSEのところに空の配列を作って、無理やり?コンパイルしてました。
0978デフォルトの名無しさん
2006/02/25(土) 22:50:08それは、間違い探しです。
言語規定で決められていることは、白なモノは黒だと思っても白なのです。
if文という言葉は、ある範囲を示す言葉なので、見当違いなのかもしれませんが、
条件文は、一般的な文とは違いますので、今後とも注意してください。
0979デフォルトの名無しさん
2006/02/25(土) 22:53:09配列の戻り値にnullを入れるのは感心しませんね。
0980デフォルトの名無しさん
2006/02/25(土) 23:01:100981デフォルトの名無しさん
2006/02/25(土) 23:05:080982デフォルトの名無しさん
2006/02/25(土) 23:10:13普通にありえるぞ
0983デフォルトの名無しさん
2006/02/25(土) 23:10:34設計ミス
0984983
2006/02/25(土) 23:13:470985デフォルトの名無しさん
2006/02/25(土) 23:15:29以降自粛で。
0986980
2006/02/25(土) 23:18:40俺はここの住人じゃないし、立たなくてもどーでも良い感覚だし
無責任ですんません
0987デフォルトの名無しさん
2006/02/25(土) 23:23:200988デフォルトの名無しさん
2006/02/25(土) 23:28:35仕様が明確ならどっちでも良い。
0989デフォルトの名無しさん
2006/02/25(土) 23:31:450990デフォルトの名無しさん
2006/02/25(土) 23:35:580991デフォルトの名無しさん
2006/02/25(土) 23:36:44Effective Java に載ってるくらい自明な原則を一般論化するなと言われても…。
ありうるかありえないか、という話じゃなく、
むしろnullを返したほうがいい状況が、一般的でないって話だろ。
仕様が明確ならどっちでも良い、などと自分仕様を押し付けてくるなっつーの。
0992デフォルトの名無しさん
2006/02/25(土) 23:39:21【初心者】Java質問・相談スレッド82【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1140878286/
0993デフォルトの名無しさん
2006/02/25(土) 23:40:270994デフォルトの名無しさん
2006/02/25(土) 23:43:48最初は俺も空配列を返してたんだけど、
俺一人が悪いことしてるみたいなので悲しくてやめた。
0995デフォルトの名無しさん
2006/02/25(土) 23:53:11机上のお勉強だけじゃなく実世界へ飛び込んでみような。
0996デフォルトの名無しさん
2006/02/25(土) 23:58:010997デフォルトの名無しさん
2006/02/25(土) 23:59:040998デフォルトの名無しさん
2006/02/26(日) 00:02:54空の要素とは区別したいときはある
0999デフォルトの名無しさん
2006/02/26(日) 00:05:101000デフォルトの名無しさん
2006/02/26(日) 00:05:1910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。