【初心者】Java質問・相談スレッド98【大歓迎】
ずるしてらくしてかれいに2げっとかしらかしら〜
3 :
デフォルトの名無しさん :2007/02/18(日) 17:35:24
小 面 童 / ,、r'";;;;;;;;;;;;;;;;;;;;;;;;;;;;;`';,、 ,r';;r" _ノ わ が 貞 L_ /;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\ ,';;/ ) 何 っ .許 が //;;/´ `' 、;;;;;;;;,,l;;' /ヽ と と ぱ さ. /.,';/ ヽ;;;;,l;L_ .,,、,--ュ、 ';;;;;;;;;i な 童 ま れ l |;|┌--‐フ ┌----、、 |;ヾr''‐ヽ, ,、ィ'r-‐''''''‐ヽ ';;;;;;く !! 貞 で る i |l ~~__´ 、 ``'__''''┘ |;;;;;l rO:、; ´ ィ○ヽ 'i;;;;;厶, じ の l _|. <,,O,> 〉 <,,O,,> |;;;;;| `'''"/ `'''''"´ !;;;;;;;;ヽ ゃ は ._ゝ'|. / 、 |; ,' / 、 |;;;;;;;;;;;;;レ、⌒Y⌒ヽ ぞ 「 | | ( ) .ソ l ,:' _ ヽ .|;;;;;;;//-'ノ ヽヽ | _,ニ ニ,,,,,_ ', ゞ,' '"'` '" i;;;;;i, `' / ⌒レ'⌒ヽ厂 ̄ `| ,、ィ-‐''__'''‐-`,、 '' ', i、-----.、 `''"i`'''l 人_,、ノL_,iノ! ', :i゙''''''''''`l' ` _人__人ノ_ヽ ヾ゙゙゙゙ニニ'\ ,' ト、, / ヽ. L__」 「 止 笑 L_ ヽ〈 i| Vi゙、 ハ ワ {. ヽ. -、、、、 ' ノ ま い 了゙, ,ヽ===-'゙ ,' , // ヽ ハ ハ ヽ. ハ ) ら が | ',.' ,  ̄ , ' ノ /./ ヽ, ハ ハ > /|ヽヽ、___,,,,、 'く ん > ヽ.  ̄´ / ,、 ' / / \ ハ ハ / ノ. | ヽ フ / ノ:lゝt-,-‐''" / ,.ィ゙ /
,/.゙゙゙ ゙.";;ヽゞ゙''-、、、 ,..-'"´ ̄\
/___, -一ァソ;ゞ-;:ii>;,,,,,゙ 、 _」 ,/´ ヽ
,-‐¬  ̄---┘'7ノ" ヾミ! <. `i´ ,.-''´ ヽ
, -‐ ''" し' '´_ /,ィ!ヘー' iミ;! `r‐ヘ. 〈 ,.-''" ヽ
,r/ __ ,イソ iミ;! ヽ `''ヽ_〈 r┬ |
/ ||ヽ -' / ̄ ) ,.==、、_ ,__,,,..、、、 i;;リ ヽ、__ゝ-' ノ
>>1 乙であります!
,r ' ヾ、 ,-、____ , ノiト´ _ィェァ了 (ェoヮ、 /!7 / /
/ ヽ `ー−ソ Yl.| ´!| |!` ! ! } / /
. / \_ / レl /u__,ゝ i:l‐' / /
 ̄/ li / _二' _、〉 i l / /
/ ヽ ´  ̄ ` i/ ,/ゝ____/
/ __/\ゝ、 , ノ/ト、\:./井井井井;;/
/ J |:井\ー --''"/井ヽ ヽ井井井井/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|::|. |井井\ . /井井 | |井井井;;:/
\___________):| |井井井\/井井井| |井井井/
/::| |井井 井井 井井井| |井井/
/ 井| |井井,ノー-'-ー---‐'--'ー'´
/井井 | |井/
/\井井 .| |;;'"
/ \井.|::/
| \<
ヽ \
`ヽ、 \_
`ヽ、 !
`ヽ、 ノ
) (
_ _ _ノ )
(_(_(_(_(_ノ
5 :
デフォルトの名無しさん :2007/02/18(日) 17:37:35
☆ チン マチクタビレタ〜 マチクタビレタ〜 ☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ヽ ___\(\・∀・) < 新スレまだ〜? \_/⊂ ⊂_ ) \_____________ / ̄ ̄ ̄ ̄ ̄ ̄ /| | ̄ ̄ ̄ ̄ ̄ ̄ ̄| | | D B |/
∧_∧ ピュ.ー ( ^3^) <エェー これからも僕を応援して下さいNE(^3^)。 =〔~∪java~〕 = ◎――◎ 山崎&サン
7 :
デフォルトの名無しさん :2007/02/18(日) 18:34:58
DBパフォ厨UZEEEEEEEEEEEEEE!!!!!!!!!!!!!!!!!
8 :
デフォルトの名無しさん :2007/02/18(日) 18:52:18
エロい人、面白いソースあpして!
9 :
デフォルトの名無しさん :2007/02/18(日) 19:00:07
クソスレか!
/ ̄ ̄ ̄\ ミ ,、 ____
/ _ノ \ // _ノ ヽ_\
. | ( ●)(●) /っ( >) (<)\
| ,. ヽ (__人__)_/ /:::::⌒(__人__)⌒::::: \ ←
>>1 . | / / ` ⌒´ノ__ノ |r┬-/ |
/ / } ノ ` ̄'´ ノ、
〈 < }__//| /\\__
iヽヽ.__,、 /=u' ヽ ノ `u=
ヽ.ヽ < __ノ \ __ /
`ヽ\_>、 // \\
) ) )) \\ //
(´  ̄`ヽ`ヽ / ̄ ) (  ̄\
 ̄ ̄ ̄  ̄  ̄ ̄ ̄  ̄ ̄ ̄
10 :
デフォルトの名無しさん :2007/02/18(日) 19:09:16
会社の研修で課題を出されており、困っています。 どなたか、教えていただけると有難いです。 [課題] 入力した整数値をもとに1から入力した値の合計を求めて出力するプログラムを作成 *整数値以外(文字含)を入力した場合はメッセージを出力し、再度、整数値の入力を求めること。 *合計の出力の後に処理を終了するかメッセージを表示し、入力を求めること。 (「1」が入力されたら処理を終了し、「1」以外が入力されたら再度、整数値の入力を求めること。) *入力される整数値は、6ケタまでとする。それ以上は、エラーメッセージを表示し、再度入力を求めること。 という上記課題を、会社の研修で渡されました。 try〜catchを使わず、mainメソッドのみでソースをつくることは可能でしょうか? 私、Javaの研修を始めて2週間程度でして、全然わかっていません・・・。 何をどうすればどうなるかも良く分からないので、出来れば詳しい解説等教えていただけると幸いです。 宜しく御願いします。
>>10 > 会社の研修で課題を出されており、困っています。
お願いだから就職辞退してください。
13 :
デフォルトの名無しさん :2007/02/18(日) 19:17:53
マルチか!
/ ̄ ̄ ̄\ ミ ,、 ____
/ _ノ \ // _ノ ヽ_\
. | ( ●)(●) /っ( >) (<)\
| ,. ヽ (__人__)_/ /:::::⌒(__人__)⌒::::: \ ←
>>10 . | / / ` ⌒´ノ__ノ |r┬-/ |
/ / } ノ ` ̄'´ ノ、
〈 < }__//| /\\__
iヽヽ.__,、 /=u' ヽ ノ `u=
ヽ.ヽ < __ノ \ __ /
`ヽ\_>、 // \\
) ) )) \\ //
(´  ̄`ヽ`ヽ / ̄ ) (  ̄\
>>10 >try〜catchを使わず、mainメソッドのみでソースをつくることは可能でしょうか?
可能。
コンパイルが通るかどうかまでみとらん。 あとは自分で考えれ。 main() { int i = 1; int add = 0; int xxx = 0; // 任意入力値は自分で考えろ for ( i = 1 ; i < xxx ; i++ ) { add = add + i; } // ここでadd変数を出力 // 出力方法も自分で調べろ }
正規表現でマッチさせて、Integer.parseInt で良いような希ガス。throws 使えば OK。
そのレベルはまだ無理だろな
初めてJavaを勉強するのですが、JDK1.5と1.6では、やはり最新の1.6を入れるべきですか? 本屋でざっと見た感じではまだ1.6についての本があまりなく1.5が中心なのですが。
iアプリを作っているんですが、ソースをアップロードしてわからない行などを 指定すればご解答いただけますでしょうか?
22 :
19 :2007/02/18(日) 21:39:50
23 :
19 :2007/02/18(日) 21:41:22
あ、そうですか? どうしましょう。 20番さんと21番さんは同じ方でしょうか? もし違う方で20番さんもそうおっしゃるならそういたします。
24 :
19 :2007/02/18(日) 21:45:32
HelloUniverse.javaっていうファイルを起動させたいのですが、(SunMicroSystemsのオープンソース) j2sdkとjava3Dをインストールしても起動しません。 他に何か必要でしょうか? (XP SP2使用です)
27 :
19 :2007/02/18(日) 22:39:11
誘導されたほうで新たに質問してきます。 こちらでの質問は終了します。 ありがとうございました。
>>25 echo %PATH%をここに貼り付けろ
29 :
デフォルトの名無しさん :2007/02/18(日) 22:51:55
Javaで作られたアプリケーションソフトウェアは LimeWireとオラクルのインストーラー以外で何があるのでしょうか?
31 :
デフォルトの名無しさん :2007/02/18(日) 22:57:14
∧_∧ ピュ.ー ( ^3^) <エェー これからも僕を応援して下さいNE(^3^)。 =〔~∪java~〕 = ◎――◎ java&サン
32 :
デフォルトの名無しさん :2007/02/18(日) 23:15:30
コンパイル時に、JDBCで使用しているSQLの構文チェックをかけることができる LIBなりjarありませんか??
コンパイル時ってjavacに食わせたときってこと? ライブラリが登場するタイミングじゃないと思うが。
これはまたバカな人が現れました
>>26 eclipse3.2です
>>28 すみません、意味がわかりません orz
なんだってー(AA略
37 :
デフォルトの名無しさん :2007/02/18(日) 23:34:51
javaで書かれたSQL構文チェッカーということです。
>>35 Eclipseを使っているならecho %PATH%はいらないな。
だが、Eclipse上でプログラムを起動したのか、
それとも、コマンドプロンプト上で起動したのかはっきりしないことでは
回答しづらい。
>>40 あ、すみません。
eclipse上で実行しようとしています
Java3Dをインストールしているならなぜそのライブラリをパスに通さない!
44 :
デフォルトの名無しさん :2007/02/19(月) 00:57:18
Java初心者ではありませんが、ム板初心者というとこで御容赦を。 どーもJ2EEのWebアプリのチューニングをやらされるらしいのだが、JMater関連の書籍とかありませんかね? いちおー、今は無きJavaWorldの2005/12と2006/10、JavaPressのVol.43とWEB+DB PRESSのVol.34は抑えてありますが、これ一通り読んであとはドキュメント読んで手を動かすのが一番でしょうかね? アプリケーションのアーキテクチャに関しては、大体ドコを弄ればいいかは検討ついてるんだけどね。ちゃんとベンチマークとって性能評価したことは無いんですよ(^^;
>>44 JMeterね。古い本なら、技術評論社だったかな、雑誌タイプの本で
Jakarta Projectっていう本に載ってたと思う。
46 :
デフォルトの名無しさん :2007/02/19(月) 02:46:18
perl内でJAVAを使うにはJavaというCPANモジュールを使えば使えるのですが JAVA内でperlを使うにはどうやればいいでしょうか?
>>45 typoスマソ(^^;
だいぶ古いなぁ……3年くらい前の本?(^^;
買った覚えはあるんだけど、何処にしまったかな?
まずは探してみますが、一冊の本として纏まった形ではなさそうですね。
あのあとAmazonでも探したのですが、やはりなさそうです。
>>46 外部コマンドとしてPerlスクリプトを呼び出したいのか、
Perlで定義したサブルーティンやパッケージを直に使いたいのか、
どっちだ。
49 :
デフォルトの名無しさん :2007/02/19(月) 15:15:46
JWindowをフルスクリーンで表示 「alt」+「tab」で切り替えて他のアプリを表示 「alt」+「tab」で切り替えてJWindowをフルスクリーンに復旧 この復旧した時のイベントを拾いたいのですが どうやって拾えばいいのかがよく分かりません。 FocusListenerのfocusGainedではなさそうだし・・・。
>>49 試してないけど、WindowStateEventは来ない?
あああ、WindowEventのWINDOW_ACTIVATED とか、_DEICONIFIED あたりかもー。 試して報告よろしくー。
>>49 WindowListener の windowActivated
53 :
49 :2007/02/19(月) 15:35:42
まだ事象をまとめきれてはいないのですが JWindowでnew JWindow(Frame owner)のコンストラクタを使用しています JWindowにWindowListener,WindowFocusListener, WindowStateListenerを実装して実行したところイベントは何も拾えず・・・。 コンストラクタで渡したFrame ownerにもWindowListener,WindowFocusListener, WindowStateListenerを実装したところ Frame owner側で windowStateChanged windowGainedFocus windowStateChanged windowLostFocus の順に呼ばれるという結果になりました。 ありがとうございました。 もう少しソースを見直して理解を深めます。
54 :
デフォルトの名無しさん :2007/02/19(月) 15:58:01
∧_∧ ピュ.ー ( ^3^) <エェー これからも僕を応援して下さいね(^3^)。 =〔~∪java~〕 = ◎――◎ java&サン
>>47 そんなにむずいかあれ?
とりあえず使ってみなよ。
そっから判断すべき
56 :
44 :2007/02/19(月) 16:34:07
>>55 らぢゃ。まぁ、とりあえず動かすなら、Windows+Tomcat単体でもいいんだしね。
まずは動かしてみまする。
>>56 あれってマウスで簡単に扱えるソフトウェアだったと思うけどな。
Classにある変数と値の一覧を取得したいのですが、どうやればできるのでしょうか? public class dataClass { private String valueA; private int valueB; public String getValueA() { return valueA; } public void setValueA(String valA) { this.valueA = valA; } valueBのSet/Get } Eclipseの変数見たいな感じで取得できないものかと悩んでいます。 ご存知の方が居られましたら、御教授のほどよろしくお願いします。
テキストファイルを参照して、その中にある一定の文字列がある場合に なにか処理を行うにはどうすればいいのでしょうか? ファイルから文字列を探す方法が分からなくて悩んでいます
ファイルの最後に到達するまで、1行ずつ文字列に読む。
>>65 ということはBufferedReaderを使えばいいんでしょうか?
原理的にはそういうこと。 対象テキストが、フォーマットの定まった設定ファイルのたぐいなら、 作業を簡略化する何らかのライブラリがあるかもしれないけど。
JDK6のweeklyビルドで出てた問題だね。 そのときは、ロケールの問題だったはず。 インストーラに引数を渡して解決できたはずだけど・・・ というか、JDKを試してみるというのは?
>>63 あからさまにわざとまわりくどいことを教え込んで
>>62 を苛めるところが凄いなw
>>67 分かりました
教えていただきありがとうございます
Jakarta Commons I/Oを使いたくなってくるねえ
74 :
デフォルトの名無しさん :2007/02/19(月) 23:19:52
ArrayListやHashMapをnewする時に、ArrayList list = new ArrayList(); ではなく、 List list = new ArrayList(); というようにインターフェースで宣言するのは何故なのでしょうか? メソッドの引数ならば分かるのですが、ローカル変数でやる意味が感じられません。 何か違いが分かる良い例は無いでしょうか?
>>74 ArrayListで組んで見たが、結局remove多用するので遅くて仕方がない
という状況になった時、Listで宣言していれば、この行を
List list = new LinkedList();
とするだけで改良できる訳で
76 :
デフォルトの名無しさん :2007/02/19(月) 23:47:37
すいません・・・他の板で質問したら誰も答えてくれず、このスレで聞けば天才多いから教えてくれるって聞いてやってきますた。 ほんと素人でくだらない質問なんですけど質問していいですか?
>>76 ここでも答えが得られないかもしれないけど、どーぞ。
断り入れずに最初から書いてれば1回で済んだのに。
78 :
デフォルトの名無しさん :2007/02/20(火) 00:08:07
>>77 ありがとうございまつ( ;∀;)
いや、あまりにも初心者で低レベル質問しにくくて・・・。
カレンダーオブジェクト.gettime()ってやるとそのカレンダーオブジェクトにセットされた値でDateオブジェクト生成されるんでしょうか?
>>78 小 面 童 / ,、r'";;;;;;;;;;;;;;;;;;;;;;;;;;;;;`';,、 ,r';;r" _ノ
わ が 貞 L_ /;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\ ,';;/ ) 何
っ .許 が //;;/´ `' 、;;;;;;;;,,l;;' /ヽ と と
ぱ さ. /.,';/ ヽ;;;;,l;L_ .,,、,--ュ、 ';;;;;;;;;i な 童
ま れ l |;|┌--‐フ ┌----、、 |;ヾr''‐ヽ, ,、ィ'r-‐''''''‐ヽ ';;;;;;く !! 貞
で る i |l ~~__´ 、 ``'__''''┘ |;;;;;l rO:、; ´ ィ○ヽ 'i;;;;;厶,
じ の l _|. <,,O,> 〉 <,,O,,> |;;;;;| `'''"/ `'''''"´ !;;;;;;;;ヽ
ゃ は ._ゝ'|. / 、 |; ,' / 、 |;;;;;;;;;;;;;レ、⌒Y⌒ヽ
ぞ 「 | | ( ) .ソ l ,:' _ ヽ .|;;;;;;;//-'ノ
ヽヽ | _,ニ ニ,,,,,_ ', ゞ,' '"'` '" i;;;;;i, `' /
⌒レ'⌒ヽ厂 ̄ `| ,、ィ-‐''__'''‐-`,、 '' ', i、-----.、 `''"i`'''l
人_,、ノL_,iノ! ', :i゙''''''''''`l' ` _人__人ノ_ヽ ヾ゙゙゙゙ニニ'\ ,' ト、,
/ ヽ. L__」 「 止 笑 L_ ヽ〈 i| Vi゙、
ハ ワ {. ヽ. -、、、、 ' ノ ま い 了゙, ,ヽ===-'゙ ,' , // ヽ
ハ ハ ヽ. ハ ) ら が | ',.' ,  ̄ , ' ノ /./ ヽ,
ハ ハ > /|ヽヽ、___,,,,、 'く ん > ヽ.  ̄´ / ,、 ' / / \
ハ ハ / ノ. | ヽ フ / ノ:lゝt-,-‐''" / ,.ィ゙ /
>>78 getTime()な。
APIリファレンスにもそう書いてあるし、
Calendar c = Calendar.getInstance();
c.set(2015, 1, 20, 0, 0, 0);
System.out.println(c.getTime().getClass() + ":" + c.getTime());
みたいなテストプログラム書けばすぐ分かることじゃないか。
初心者だからこそ、ちょっとした疑問は面倒がらずテストプログラムを自分で書いて確かめるんだ。
>>74-75 用途はそんなもんじゃないな。
メソッド抽出というリファクタリングを
するとき、あとからListのところがメソッドの引数に
なるかもしれんだろう。そういうときにも役立つ。
わかってるかもしれないけど、これも見るといい。
http://javafaq.jp/S014.html#S014-01 ほかにもメリットとしては、何かのときに、ListからArrayListへと
ダウンキャストする必要がないということだね。
どれもこれもリファクタリングやコード拡張、訂正のときに
大きな意味をもつ、だから、よって型はArrayListではなく、Listのほうがいいということ。
「インタフェースに対してプログラミングをする」という言葉の意味もそこにある。
>>78 Dateというのは、java.util.Dateとjava.sql.Dateのどっちのことかな?
前者のDateはお勧めしないな。
Calendarインスタンスは内部的に「とある時」を保持している。 その「とある時」を暦法に従って進めたり戻したりして変化させ、 変化した結果を得る日付計算機だと思うといい。
>>81 いや、俺もそうは思ってるんだが
>>74 はローカル変数に限定して言っている。
俺もローカル変数ならどっちでもいいかなと思う。
どこにも渡さないならArrayListのほうがわかりやすい気が。
だがコードを分割するときに備えて(ry
>>82 あんたがお勧めじゃなくても標準のクラスライブラリのCalendar#getTime()はjava.util.Dateしか返さん
>>82 ,, -──- 、._
.-"´ \.
:/ _ノ ヽ、_ ヽ.:
:/ o゚((●)) ((●))゚oヽ:
:| (__人__) |:
:l ) ( l:
:` 、 `ー' /:
:, -‐ (_). /
:l_j_j_j と)丶─‐┬.''´
:ヽ :i |:
:/ :⊂ノ|:
DQのモンスターみたいなAAだな…
>>74 おまいが作った高貴なビジネスロジックが
たかがListの実装クラスごときに依存するのは我慢ならないだろ
詳細が全体に依存するのが、オブジェクト指向プログラミング 全体が詳細に依存するのが、構造化プログラミング
>>62 値や変数のリスト?
既存クラスなら
>>63 とかになるかもだけど
自作クラスならHashmap使ってみるとか
93 :
デフォルトの名無しさん :2007/02/20(火) 06:39:56
ある文字列から、 ファイル名には使えない文字(\ / : * 等) を全て消す(""に変換する)にはどうしたらよいのでしょうか?
使えない文字の集合が分かっているなら正規表現でreplaceAll でいいんじゃない? WindowsだといろいろあるけどMac(OSX)やUNIXでは / と NUL 以外の文字はすべて使える。
95 :
デフォルトの名無しさん :2007/02/20(火) 09:49:22
ジャバって洗浄剤だよね。なにがプログラミングと関係あるのですか?教えて下り
97 :
62 :2007/02/20(火) 14:36:23
>>63 レスありがとうございます。
参考にやってみたのですが、どうもprivateだと取得できないようです。
dataClassにgetVariableList()というメソッドをつくって取得したいのですが、
public String[] getVariableList(){
String[] rtn;
String[0] = "valueA=" + valueA;
String[1] = "valueB=" + valueB;
return rtn;
}
の様に書いていかなければならないのでしょうか?
変数が増えてもgetVariableList()を変更しないで良い方法はないものでしょうか?
>>97 List<String> list = new ArrayList<String>();
for(Field field : this.getClass().getDeclaredFields()){
list.add( field.getName() + "=" + field.get(this) );
}
return list.toArray(new String[list.size()]);
クラスフィールド抜かしたい場合は field.getModifiers() でなんとかする。
継承したフィールドを扱いたい場合は 親クラスまで辿れ。
99 :
387 :2007/02/20(火) 14:48:42
自分が作ったプログラムを、自分が作ったインターフェース上で動かすのは、 どのようにすればいいのでしょうか。 たとえば、System.out〜でコンソールに何か文字を表示させるプログラムを、 そのまま自分が作ったインターフェースに表示するように組み合わせるって 感じです。 なんか説明へたで申し訳ありませんが、よろしければ、意見等お願いします。
> たとえば、System.out〜でコンソールに何か文字を表示させるプログラムを、 > そのまま自分が作ったインターフェースに表示するように組み合わせるって > 感じです。 何が言いたいのかわからん。
インターフェースっつーのは Java の interface のことなのか、UIのことなのか。
102 :
387 :2007/02/20(火) 14:56:39
ウィンドウです。 すいません変な言い方して。
>意見等お願いします。 死ねばいいと思うよ
>>102 Runtime.exec で実行して、getInputStream() やら
getErrorStream() やらから得たデータを TextArea に垂れ流す、って感じか?
System.out の出力を TextArea に垂れ流すようにしておいてから、
reflection で main 呼んでもいいけど、複数扱うのとかが面倒くさい。
javaでマクロを作成しようと頑張ってるんだが 特定のウィンドウの座標を求めるにはどのようにすれば… ご指南願います
106 :
デフォルトの名無しさん :2007/02/20(火) 15:06:04
<pack> L__ <pack_a>→ a.class L__ <pack_b>→ b.class 質問です、上図のようなフォルダ構成で <pack_a>フォルダのクラスaから <pack_b>フォルダのクラスbをインポートさせたいのですが それぞれ、package、inportの記述はどのようにすればよいのでしょうか?
107 :
387 :2007/02/20(火) 15:09:25
>>102 なるほど・・・
単純なものではなかったんですね・・・
勉強不足でした。
>>99 コンソールに流すプログラムの方を修正する。
具体的には入出力部分を抽象化した、コアモジュールにしてしまう。
あとはそのモジュールを使うプログラムを二つ作る。
(画面から使う版とコンソールで使う版。)
>>105 getLocation() もしくは getLocationOnScreen() じゃなくて?
>>106 package pack_a;
import pack_b.b;
>>97 >
>>63 > レスありがとうございます。
> 参考にやってみたのですが、どうもprivateだと取得できないようです。
ばか、getterメソッド作れば取得できるだろ。
valueBはgetterメソッドを作っていないから取得できないが。
111 :
デフォルトの名無しさん :2007/02/20(火) 15:32:29
106です。 おっしゃるとおりにやりましたが 読み込んでくれませんでした。 この場合クラスa側もパッケージ宣言がいるのでしょうか? クラスパスの設定とかも必要なのでしょうか?
>>98 わざわざtoArray使うくらいなら
シグニチャをpublic List<String> getVariableLit()
にしたほうがいい
113 :
デフォルトの名無しさん :2007/02/20(火) 15:32:02
質問です コマンドプロンプトを起動&コマンドラインを引数として渡し 実行したいのですが、 try { Runtime rt = Runtime.getRuntime(); rt.exec(cmd.exe); } catch (IOException ex) { ex.printStackTrace(); } としてもコマンドプロンプトを起動できません。どうしてでしょうか?
>>111 ためしにやってみればわかることだろう。
なぜ実行しない?
>>113 起動できなかったときのメッセージには
何と書いてあった?
>>111 ちゃんとパッケージルートから javac しないと見つけてくれなかったような。
ひょっとして、
package pack.pack_a;
import pack.pack_b.b;
なんだろか?
119 :
デフォルトの名無しさん :2007/02/20(火) 15:39:11
>114さん >111ですが、ためしにとはどのようなことですか? コンパイルしたら パッケージ pack_b は存在しません。 というエラーがでました。 おねがいします。
121 :
113 :2007/02/20(火) 15:41:15
>>115 何もメッセージが無く、何も起こりませんでした。
NotePad.exe は起動出来たので、NotePad.exe が置いてあるフォルダに
cmd.exeをコピーしてみたのですが、やはり何も起こりませんでした
>>119 > >114さん
> >111ですが、ためしにとはどのようなことですか?
悪いが気にしないで呉。
>この場合クラスa側もパッケージ宣言がいるのでしょうか?
このことについて言いたかっただけ。
クラスパスには カレントディレクトリを意味する.(ドット)を入れているか?
もしいれていなければ試してみて
>>119 プログラムを実行するとき、どのディレクトリで実行している?
packのひとつ上で実行しているか?
>>121 おれのコマンドプロンプトでcmdと入力するとこう出力されるぞ。
こんなのとは違わないか?
>cmd
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
>>113 つーかそれコンパイル通るのかよ。
rt.exec( "cmd.exe" );
>>121 絶対パスを用いて、
%SystemRoot%\system32\cmd.exe
のようにしてみてはどうだろうか?
>>113 IOExceptionだけでなくExceptionも最後にきゃっちしておこう
投げやりな回答者が一人いる
129 :
デフォルトの名無しさん :2007/02/20(火) 15:48:48
>>122 >>119 です。
.はクラスパスに入っていました。
ソース見てください。
<class a>
package pack_a;
import pack_b.*;
public class a{
int a;
}
<class b>
package pack_b;
public class b{
System.out.println("クラスBです。");
}
130 :
デフォルトの名無しさん :2007/02/20(火) 15:50:43
>>123 実行は<pack_a>
でやってます。
>>129 なんだ、パッケージ名にpackが入ってないじゃないか。
ディレクトリ構成をもう一回確認すべき。
packディレクトリ上でプログラムを実行するならそれでもかまわないけど
packの親ディレクトリで実行するならエラーがでて当然
>>130 ハイ駄目。却下。もしpack_aで実行したければ、クラスパスに../pack_aを
追加城って話になってしまう。いますぐに
cd ../../を実行しろ
winでは/を\に変更するように
134 :
デフォルトの名無しさん :2007/02/20(火) 15:57:38
>132 今回は<pack_a>内で実行をさせたいのですが、 その場合はクラスパスを../pack_a にすればいいのですか? いまからやってみます
135 :
デフォルトの名無しさん :2007/02/20(火) 16:01:48
クラスパスに../packを設定しましたが パッケージ pack_b は存在しません となりました。 XPですから再起動はしなくてもいいんですよね? ちなみに <pack>は<pack_a><pack_b>の親になります。
>>134 だからそれはお勧めしない。
もうそれ以上クラスパスを追加しないほうがいい。
クラスパスは ドット(.)だけにすべき。
だからディレクトリを移動しろ
>>135 どこでクラスパスを設定しているのか?
コマンドプロンプト上でやってるのかそれとも他でやっているのか?
というかクラスパス設定するな。
ディレクトリ移動しろ
>>129 > public class b{
> System.out.println("クラスBです。");
> }
コンパイルエラーだな。
>>135 そうしたければパッケージ名を
pack_aではなく pack.pack_aと変えろ。
ついでにbのほうも
>>138 そういえばそうだ、
コンパイルエラーがでているから見つからないと
言っているのかも知れないし。
141 :
デフォルトの名無しさん :2007/02/20(火) 16:07:41
結論としては、<pack_a>からは class bのインポートは不可なのですか? クラスパスの設定はシステムのプロパティより 環境変数の設定項目よりやってます。
>>141 キミには無理だったって事でFAにしたいんだが。
パッケージなんて長くやってりゃ慣れるのになぜいまそこでハマる必要あるのか
いや、普通の頭があれば、入門者でもハマったりしないから。
eclipse なり netbeans なり使えよもう
>>141 だからクラスパスは無視して人の話を聞いて、
ディレクトリを移動してから実行し直せと言っているんだよ。
まったく、こういう融通が効かない奴は頭に来るな。
>>129 > package pack_a;
> import pack_b.*;
そもそここの時点で間違えているといっているのに
package pack.pack_a;
import pack.pack_b;
こう書き直せと何度言ったらわかる、このクソガキは。
クラスパスを弄らなくても ディレクトリを変えるだけで済むものを コンパイルするときに、どうせクラスbもコンパイルしていないんだろ その時点で終わってる。 そもそもclass aと class bとの間には一体どんな依存関係があるのか。 どちらかがどちらかのクラスをちゃんと参照しているとでもいうのか?
149 :
デフォルトの名無しさん :2007/02/20(火) 16:31:01
>>147 やってみましたが
-------------------------------------
a.java:2: シンボルを見つけられません。
シンボル: クラス pack_b
場所 : pack の パッケージ
import pack.pack_b;
-------------------------------------
こうなります。
ディレクトリを移動させたらうまくいくのは
わかるのですが、
これを<pack_a>内で実行させたいんです。。。
>>149 >ディレクトリを移動させたらうまくいくのは
>わかるのですが、
ほんとかよw
問題の切り分けの意味でディレクトリを移動してやってみろ
現状を総合すると移動してもたぶんうまくいかない
それが解決してからやりたいようにやったほうが早いね
>>149 ディレクトリ移動方法わかっているのか?
「カレントディレクトリ」の意味わかってるか?
cdコマンドがどういうものかわかっているか?
..(ドット二つ)や.(ドット)の意味わかってるか?
>>149 なぜpack_a(正確にはパッケージ名はpack.pack_a)で実行させたいことに拘るのか理解できない。
mainメソッドを持ったクラスがそのパッケージ内にあるというならわかるが。
とりあえず、ディレクトリ移動についてはコマンドプロンプトで
cd
と入力して
エンターして
その内容をここに貼り付けてみろ。
諦めろ 106は他人の言葉に聞いて理解する適性を欠いている こんな詰まらないことで何時間やり取りしてんだ
154 :
デフォルトの名無しさん :2007/02/20(火) 17:47:44
まわりくどいこと言ってないで早く解決策を教えてください。
何を考えているのかはっきりしないやつにいわれてもな
かなり基礎的な質問だと思いますが、すみません 今file.txtを読み込んで、abcという文字列があればそれを表示する、 というものを作っているのですが、どうにも上手くいきません。 どなたか間違いを指摘してください import java.io.*; class BufferedReaderTest { public static void main(String[] args) { try { FileReader in = new FileReader("file.txt"); BufferedReader br = new BufferedReader(in); String line; while (line == "abc") { System.out.println(line); } br.close(); in.close(); } catch (IOException e) { System.out.println(e); } } }
それじゃあ1行目がabcじゃなかったら終了するじゃんか while( ( line=br.readLine() ) != null ){ if( line.indexOf( "abc" ) > -1 ) { System.out.println(line); } }
そのコードだと1行も読んでないし、lineが初期化されないから コンパイル通らない。
JavaScriptには、以下のように置き換え処理の途中でマッチした文字(文字列)を 次々と拾い、各自処理する方法があるのですが、同様の処理はJAVAでも 可能でしょうか。 function test1(str1){ return str1.replace(/[abc]/g,test2); } function test2(str2){ if(str2=="a") return "{"+str2+"}"; if(str2=="b") return "("+str2+")"; else return "["+str2+"]"; } alert(test1("qwertyuiopasdfghjklzxcvbnm"));
160 :
156 :2007/02/20(火) 20:37:10
>>157 ,158
ありがとうございます
やっぱり基本的なことができてませんね・・・
またしっかりと学んでみます
>>159 とりあえずString型のAPI仕様読んでもっと複雑なことがやりたかったらjava.util.regexを見ろ
163 :
デフォルトの名無しさん :2007/02/20(火) 21:09:31
すいません。クラスパスが通ってません。 ありがとうございます。
164 :
デフォルトの名無しさん :2007/02/20(火) 21:31:18
質問です。 String 型の変数に以下の文字列がはいっています。 C:\Documents and Settings\Administrator\workspace\dat.xml dat.xml の部分を削除したいのですがどのようにしたらよいでしょうか。
>>164 String s="C:\Documents and Settings\Administrator\workspace"
166 :
164 :2007/02/20(火) 21:39:16
>>165 ファイルパスが毎回固定では無いのでその方法は出来ないです
じゃFileにしてディレクトリ名とれよハゲ
169 :
164 :2007/02/20(火) 21:42:27
たぶん、
>>168 がやりたいことなんだろうなぁ・・・
質問小出しにすんなやハゲ
この馬鹿質問者め!
173 :
164 :2007/02/20(火) 21:46:16
自己解決しました!
>>168 を参考にした場合も自己解決っていうのか?
175 :
164 :2007/02/20(火) 22:04:53
>>150 ですが、解決しました。"$0"ですか。
ありがとうございました。
じゃあどう解決したかソース貼ってみろよw
178 :
164 :2007/02/20(火) 22:07:20
本当に初心者なので、168を読んでメソッドを調べ ようやく解決しました。ありがとうございました。
180 :
68 :2007/02/20(火) 22:19:24
>>69 のリンク先からたどってjre-1_5_0_11-windows-i586-p.exe
(jre-1_5_0_11-windows-i586-p-s.exeではない)をダウンロードして実行
したらうまくインストールできました。
ありがとうございました。
やさしいJAVAの次におススメな本教えて
Effective Java
質問させてください。 特定のサイズのデータが入っていない(?)ファイルを作る方法はありますでしょうか? XPでいう「fsutil file createnew ファイルパス サイズ」です。 よろしくお願いします。
先程までコンパイル出来ていたファイルが、 突然コンパイル出来なくなってしまいました。 コンパイル済みのclassファイルをjadを使って逆コンパイルし、 それを再びコンパイルしようとしても、 「シンボルを見つけられません。」と出て全く作業ができません。どうしたらいいのでしょう?
>>183 Windows特有のブツをWindows以外のOSでも利用可能はJavaに
期待することは間違ってる。
どうしてもやりたければRuntimeクラスを使え
>>184 絶対にお前のやり方が悪い。
パス間違えてるだろ。
さっきのパッケージがどうこうと質問してる奴と同じ。
188 :
185 :2007/02/21(水) 00:18:50
自己解決しました!
ひたすらゼロで埋まってるということはsparseファイルでなくてもいいのか。
191 :
184 :2007/02/21(水) 00:55:19
javaの入門系サイトにあったプログラムです ファイル名:BufferedReaderTest.java import java.io.*; class BufferedReaderTest { public static void main(String[] args) { try { FileReader in = new FileReader("file.txt"); BufferedReader br = new BufferedReader(in); String line; while ((line = br.readLine()) != null) { System.out.println(line); } br.close(); in.close(); } catch (IOException e) { System.out.println(e); } } } これでも「シンボルを見つけられません。」と出て全く作業が出来ません。 ファイルは C:\java の中にあり、コマンドプロンプトにも C:\java> と出ています。
みつかんないシンボルは何行目の何? 大抵は綴りミス。
194 :
184 :2007/02/21(水) 01:20:10
>>192 BufferedReaderTest.java:7: シンボルを見つけられません。
シンボル: コンストラクタ BufferedReader(java.io.FileReader)
場所 : BufferedReader の クラス
BufferedReader br = new BufferedReader(in);
^
BufferedReaderTest.java:9: シンボルを見つけられません。
シンボル: メソッド readLine()
場所 : BufferedReader の クラス
while ((line = br.readLine()) != null) {
^
BufferedReaderTest.java:12: シンボルを見つけられません。
シンボル: メソッド close()
場所 : BufferedReader の クラス
br.close();
^
.\BufferedReader.java:7: シンボルを見つけられません。
シンボル: コンストラクタ BufferedReader(java.io.FileReader)
場所 : BufferedReader の クラス
BufferedReader br = new BufferedReader(in);
^
.\BufferedReader.java:9: シンボルを見つけられません。
シンボル: メソッド readLine()
場所 : BufferedReader の クラス
while ((line = br.readLine()) != null) {
^
.\BufferedReader.java:13: シンボルを見つけられません。
シンボル: メソッド close()
場所 : BufferedReader の クラス
br.close();
^
というように出ます。数時間前まではうまく言ったんですが・・・
>>194 PCも疲れてるんだよ。PCをリブートしろ。
それでも直らなければJDKを再インストール。
>>194 ありがとうございます、わかりました
長々とした質問すみませんでした
197 :
196 :2007/02/21(水) 01:33:35
ちなみに191に貼られたコードをコピペしてコンパイルしたら 問題なくできた。 ReaderはJDK1.1以降だが、まさかJDK1.0だったりはしねーよな。
>>198 エラーメッセージを見る限り、
FileReaderはちゃんとjava.ioパッケージだってことを認識してるので、
JDK1.0ではないと思うよ。FileReaderも1.1からだ。
なにかのはずみにJVM環境が狂ったんじゃないかい?
>java -versiom
ソースコードに全角文字
クラスがpublicでない
わかった。これだ。 > .\BufferedReader.java:7: シンボルを見つけられません。 BufferedReaderTest.javaじゃなくてBufferedReader.javaってファイルが作られてる。 たぶん、まちがって、BufferedReader.javaも作ったんだろう。 java.io.BufferedReaderじゃなくて、デフォルトパッケージのBufferedReaderを見てるからエラーに。
java -versionヲ、ニュウリョクセヨ
単にBufferedReaderTest.javaをBufferedReader.javaにコピーしただけでは
>>194 は再現しない。
わざわざ、BufferedReader.javaの方のクラス名をBufferedReaderにすると再現した。
これが原因だな。解決方法は単にBufferedReader.javaを削除するだけだ。
質問です。 Javaを使って、Internet Explorerや Outlook Expressといったアプリケーションを自動で起動させることは出来るでしょうか?
>>207 自動っていうのがどの程度自動なのか分からないけど、
単にjavaから起動したいってことなら、
Runtime#execかProcessBuilder#startを使えば起動させられる。
詳細はAPIドキュメント参照のこと。
209 :
208 :2007/02/21(水) 02:10:32
あと、JDK6ならjava.awt.Desktopも有用。
>>208 おお、有り難うございます。
ちなみにJavaをつかってOutlook Expressを自動で起動させて、
さらにメールを検索させるといったAppleScriptみたいなことは出来ないでしょうか?
任意のアプリケーションなら
>>208 最新のJavaにはjava.awt.Desktopというクラスもあって
mail(URI), mail()
browse(URL)
edit(File)
open(File)
print(File)
なんていう限定的なことなら出来たりする。
>>210 そこまでいくとOEをWSHとかで操作(出来る?)しないといかんのかな。
うをー、みなさん有り難うございます。 勉強してきます。
>>210 それは起動したアプリケーションとのインタフェース次第じゃないかな。
外部のプログラムからコントロールするインタフェースをOEが持っているなら、
それをJavaから呼び出すことができるなら可能だけど。
JDK6のDesktopでも、起動するだけなら当然可能だけど、
複雑な操作になると、メール関係はメール作成ウインドウを表示させるのが精一杯っぽい。
215 :
210 :2007/02/21(水) 02:31:15
javaって駄目ですね。。
各環境を抽象化して公約数的な機能から実装されてきてるから仕方ない。 得手不得手はどんな言語でもあるし、全てをJavaでやる必要はないよ。
218 :
184 :2007/02/21(水) 18:40:29
皆さんありがとうございます! ようやくコンパイルに成功して先へ進めます。 本当にありがとうございました
ちょっとスレ違いかもしれんが聞いてみたくなった パスワードの生成ボタンがついたテキストエディタ(メモ帳) お前らなら何時間で作れる? 生成ボタンを押すとプロント画面にアルファベットだけの8桁のパスワードが 10行表示され、プロントに表示されたパスワードをエディタに入力して名前をつけて保存する だけプログラム。何故こんな質問をするのかは聞かないでくれ・・・。
メモ帳としての機能はどの程度なのよ? JTextAreaそのものの機能+ファイル読み書きだけなら1時間かからんと思うけど。 あと、プロントって何? prompt? front?
>>220 普通のメモ帳にパスワード生成ボタンだけがついたもの
機能といっても文字の保存しかできない・・・。
あとコマンドプロントの画面な
なんでエディタが必要なんだよ。 コマンドラインから直接ファイルを生成するコンソールアプリでいいじゃん。
>>222 俺に聞くな俺に
なんでメモ帳に生成ボタンつけてしかもアルファベットで8文字足らずのパスワードを
わざわざプロント画面に表示させてそこから手入力でメモ帳に保存なんて・・・
学校で一番重要な単位でこんなプログラムを作品として提出した人がいるらしい・・・。
>>223 > 俺に聞くな俺に
じゃあ誰に聞けっていうんだよ。住所氏名電話番号晒せ。
>学校で一番重要な単位でこんなプログラム
汁かボケ。テメエがそいつに聞いてこいよ。
ちゃんと結果報告しろよ?
>手入力でメモ帳に保存 まて。自動挿入じゃなく、画面見ながら手動で打ち込むのか?全くもって意味不明なんだが。 つーかそれで単位取れるのか? #ところでプロントじゃ無くてプロンプトじゃね?
226 :
デフォルトの名無しさん :2007/02/21(水) 19:54:21
俺に聞くな俺に
>>224 >>225 先輩から聞いた話しなんでこれ以上詳しく話せと言われても無理だし
その人とは面識もない、ただ来年俺も同じ単位とらなくちゃいけないから
実際どの程度の時間で作れるのか知りたかっただけだスマン
この板を参考にしつつ勉強に励むよノシ
>>227 たぶんその人はプログラムだけじゃなくて美味しいカレーのレシピも添えて提出したんだと思われ。
罵声の途中に失礼します。 サーブレット関連のパッケージが存在しないらしいのですが、何が原因なのでしょうか?非常に困っております。エロい人よろしくお願いいたします。
>>229 おまえのインストール方法が問題に決まってる
来期の履修科目の選択中に、ある科目の単位取得の難易度を先輩に 尋ねたところ、「こうやってパスした」といわれたのだが、それは どの程度の難易度なのかを知りたい、ということなのね。
>>231 違う、ダメと思われるそのプログラムですら作れないから
1年前の今のうちから必死に勉強しようってことです(´・ω・`)
>>232 ここで作業工数聞いても『回答者のレベル』と『君のレベル』が違うから参考にならないんじゃないかな?
234 :
デフォルトの名無しさん :2007/02/21(水) 20:34:07
>230悔しいがテメーの言う通りだ!再インスコしたらコンパイルできたぜ。だが、今度はトムキャットが動かない…カカロットめッ・∀・)
>235 再インスコじゃなくて新しくXPからVisteを導入してもいいの?
さきにトムキャットが動かない理由を突き止めろハゲ!
バレンタインデーにチョコあげたのに、その言い草はなんだ!それに、ハゲじゃない、M剃りいれてるんだよ・∀・)ノ
239 :
デフォルトの名無しさん :2007/02/21(水) 21:22:27
トムとキャットがStartServiceしなひ…トランクスめッ!
>>232 必死に勉強すればあんなもん半年くらいで作れるようになるよ。
今まで他の処理系でプログラミング経験あるなら多分1ヶ月もかからん。
>>219 犯罪の匂いがする。
そういうのはJavaよりもC/C++屋のほうが
お得意で大好きな分野だろう。
>>227 なんだ。そういうことか。犯罪かと思った。
だが、お前の勘違いかも知れないし、
評価方法が違うだけかも知れん。
>>229 環境を明示しないやつの
質問にはいちいち答えていられないので却下
>>232 もしかすると、駄目プログラムを作った香具師を
評価した教官は、ろくいにソースコードを読めなかった可能性がある。
>>239 ジョークではなく本気で言ってるなら、
まずはTomcatのバージョンや環境を明示すべきだ
文字列の比較でindexOfを使っているのですが、 比較するときに大文字と小文字の区別を無くすにはどうしたらいいのでしょうか?
toLowerCase toUpperCase
248 :
デフォルトの名無しさん :2007/02/22(木) 01:06:08
ある文字列の最後の文字を消すにはどうしたらいいのでしょうか。
Javaの文字列(String)は変更できない(immutable)ので、 「先頭から末尾の1文字の手前まで」の部分文字列(substring)を 作る。
JToolTipを改行するやり方をここで聞く前にググッてたけど 日本語ページだと解決方法がひとつも見つからないのに、 Web全体だとあっさりみつかるのな。 日本の使えなさは異常。
251 :
246 :2007/02/22(木) 01:07:54
>>250 ぐぐってないけど、<html> <br> でいいんだよな。
>>246 Stringの辞書的順序の大小比較ならcompareToIgnoreCase、
二つのStringが等しいかどうかの判定だけならequalsIgnoreCaseで、
大文字小文字の区別なしで比較できる。
もし比較に独自の基準を使っていて、indexOfで比較を実装しているということなら、どちらも使えないけど。
254 :
246 :2007/02/22(木) 01:41:55
255 :
246 :2007/02/22(木) 01:51:38
>>254 これ自分じゃないです
>>247 どうも、上手くいきました
>>253 試してみましたが、うまくいきません。
String str = line;
if(str.equalsIgnoreCase( "aaa" ) ){
System.out.println(line);
のようにしているのですが、何も表示されずに終了してしまいます。
String str = line.toUpperCase();
if(str.indexOf( "aaa" ) != -1){
System.out.println(line);
このようにすれば上手くいくのですが・・・
256 :
255 :2007/02/22(木) 01:55:30
すみません、下のほうは if(str.indexOf( "aaa" ) != -1){ ではなく if(str.indexOf( "AAA" ) != -1){ です
>>246 Jakarta Commons LangのStringUtilsクラスを使うというてもあるぞ
Windowsでjarでかためたアプリケーションをダブルクリックで起動すると Could not find the main classのエラーがでるけど、 コマンドプロンプトから起動するとエラーがでない場合ってどんな原因が考えられますか?
// toUpperCaseのとこ、toLowerCaseのような気がする。 つまり、 "aaa"に一致するか? は成り立たず、 "aaa"を含んでいるか、は成り立つってことだよね。 前か後に余計な文字が付いてるのではない? 改行とか。(readLineだと付かないはずだけど)
最近
>>254 みたいな態度でかくて生意気な奴多いよな。
2chだけでなくリアルにこういう無礼な馬鹿がいる。
こういうやつは、恩知らずだからあとから仕返しされて泣く馬鹿だが名
>>258 たぶん、コマンドプロンプトから
> java クラス名
なら起動できるんだよな?
jarのダブルクリックがダメなら、コマンドプロンプトから
> java -jar そのjar
でもたぶん起動できないはず。
jarの中のMANIFEST.MFにMain-Class: エントリがないんだろうね。
>>258 マニフェスト以外に、JNLPファイルがない
264 :
246 :2007/02/22(木) 02:02:32
すみません、質問が悪かったです 表示する文字列は"abcaaabbb"のようなものです だからequalsIgnoreCaseを使ってもできなかったんですよね お騒がせしました
いや間違えてなかった
268 :
258 :2007/02/22(木) 02:07:51
なぜか java -jar Hoge.jar ではちゃんと起動できるんですよ。 いままでこんなことなかったから不思議。 1.6にしたことにかんけいあるとか? JNLPってはじめて聞きましたがWeb系? ローカルで使うアプリなのでたぶん関係ないです。
>>268 ならMANIFESTはあるわけね。
クラスファイルのバージョン違いとかありそうな気がするんだけど、
*.jarに関連づけられているjava vmと
コマンドプロンプトで使われるjava vmは同じなのかね。
>>269 今JDK, JREともに1.6しか入ってないですし、1.6でしか作成していないので一緒のはずですが。
271 :
デフォルトの名無しさん :2007/02/22(木) 02:30:13
>>260 べろべろばー うほほほほ
おチンチンびろーん ∩___∩
∩___∩ | ノ ○─○ヽ_∩__∩ おばびげぶがべべべ
| ノ ヽ/⌒) / /3 3 | ヽ
/⌒) (゜) (゜) | .| | ( _●_) |o⌒ ⌒o|
/ / ( _●_) ミ/∩―−、 |∪| /⌒(_●_)⌒ ミ
.( ヽ |∪| / / (゜) 、_ `ヽ ヽノ | |∪| /
\ ヽノ / / ( ● (゜) |つ ∩. ヽノ∩
/ / | /(入__ノ ミ | ノ⌒ ⌒ヽ
| _つ / 、 (_/ ノ / (。)(゜)|
| /UJ\ \ \___ ノ゛ ─ー| (⌒_●⌒)ミ
| / ) ) \ _彡、/ |U UU_/
∪ ( \ \ \ | | ||
\_) あびゃばばばだーん . .| |nn _nn|| あひゃひゃひゃひゃひゃ
272 :
デフォルトの名無しさん :2007/02/22(木) 02:58:02
じゃばっておもしろいよねーー ここの回答者の皆さんくらいのレベルになれば、 もっと面白くなるのかな。がんばろーっと
>>270 関連付けの設定はどうなってる?
コマンドプロンプトのjava -version で出てくる文字列は何?
275 :
デフォルトの名無しさん :2007/02/22(木) 10:10:53
googleの検索結果を取得したくて、下みたいに書いてみたけど
なぜだかgetInputStream()するときにサーバから403を返されてしまう。
ほかのサイトは大丈夫なんだけど、なぜ?
URL objURL = new URL("
http://www.google.co.jp/search?hl=ja&q=java&lr= ");
URLConnection objURLCnn = objURL.openConnection();
InputStream inputStream = objURLCnn.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream, "JISAutoDetect"));
そんなことはgoogleに聞いてください
>>271 F U C K ' i n C h o n !
Google APIを使わないやつはお断りってことじゃない?
>>275 URLエンコードしていないということはないかね?
&や=記号などが混ざっているのがもの凄く気になるし
ユーザーエージェントを登録してからアクセスすればうまくいくってことはないかね?
>>270 JARの中に入ってるクラスパスはどうなっている?
マニフェストファイルの中身はどうなってる?
JARはちゃんとJARコマンドなどで圧縮したか?
>>268 Java Web Startはローカルでも使える。
ただのJavaアプリダウンローダーみたいなものだと思えばわかりやすい。
XML形式でJNLPファイルを書き、そこにSwingアプリファイルのリンクとJVMのバージョンなどを
記述しておけばいい
エクスプローラなどで「ファイルの関連づけ」設定を見るべきだな
>>281 コマンドプロンプトからは起動できると書いたでしょ。
あなたバカですか
>>258 > Could not find the main classのエラーがでるけど、
それ、どこに出てるの?
ダブルクリックって javaw 使うはずだからコンソールに出ないと思うし。
>>275 >>280 が正解。Googleは、User-Agent 要求ヘッダを見てアクセスをはじいている。
システムプロパティ http.agent を、IEなどのよく知られたブラウザのそれに合わせて
設定するといい。システムプロパティの設定は、
java.lang.System#setProperty(String, String)で可能。
そういえば、2年くらい前にも同じ質問があったのを思い出した。
286 :
275 :2007/02/22(木) 11:28:07
>>283 しかし、万が一のことを考えて慎重に!慎重に!分析しないと。
コマンドプロンプトで起動できるからといってJARの内部がまったく問題ない
とは限りませんよ。
あなたはせっかちですか?
Could not find the main class と出た時点で、JARのマニフェストファイルが怪しいとは 思わないのか。
ディレクトリを変えて実行して駄目だったら クラスパスに頼りすぎていた可能性大。 マニフェストが怪しい可能性
290 :
デフォルトの名無しさん :2007/02/22(木) 12:17:40
今日javaはじめたクソな私から質問です。 テキストファイルの名前を ファイル名.java にしたのにJAVAファイルになってくれません ダレカタスケテ
意味不明です
>>290 コマンドプロンプトで拡張子が表示されるならば、気にすることではない。
というか、しゃらくせえ!
ちまちまいちいち百済ねえことを気にしてんじゃねえぞゴルァ!
java -jar Hoge.jar ではちゃんと起動できると書いたでしょ。 あなたたち「クラスパス」しか言えないんですか
Windowsの使い方の質問は受け付けてませんから。
296 :
290 :2007/02/22(木) 12:53:53
速レスありがd コマンドプロンプトでみたところ 「ファイル名.java.txt」 となっていてコンパイルエラーが起きます いわく、エラー ファイル名.javaを読み込めません エラー1個
ren ファイル名.java.txt ファイル名.java
>>294 コマンドラインから実行できてダブルクリックで実行できない場合は
>>282 が正しい
メニューのツール->フォルダオプション->ファイルタイプタブを選択->
拡張子JARを選択後、詳細設定->アクションの欄のopenを選択、編集ボタンをクリック。
アクションを実行するアプリケーションを
"C:\Program Files\Java\jre1.5.0_09\bin\javaw.exe" -jar "%1" %*
の用に書き換える jre1.5.0_09の部分はインストールしているJREで書き換える。
299 :
290 :2007/02/22(木) 13:06:50
またメモ帳でヘマしたか
コマンドラインからだろうと、 -jarオプション付きで動かすとCLASSPATHも-cpも見ないから クラスパスは関係なくなるよね。
テンプレ javaへのパスが通っていない。 .txt拡張子のせいでコンパイルできない。 これ以外の質問はgoogleをお使いください
304 :
デフォルトの名無しさん :2007/02/22(木) 15:29:33
javaファイルをコンパイルしてできたclassファイルを元のjavaファイルに戻す方法はあるのでしょうか? 教えてください。
>>303 ダイアログ以外のどこにでると出ると思ったのですか?お馬鹿さん
>>304 無い。
不完全でよければ judo とか jad とかみたいな逆コンパイラはあるけど。
>>301 JARの中にあるマニフェストはクラスパスを参照する事ができる機能がある。
JARの中のどのディレクトリにclassを置くかという指示をする。
>>304 public class Quine {
public static void main(String[] args) {
char c=34;
System.out.println(s+c+s+c+';'+'}');
}
static String s
="public class Quine { public static void main(String[] args) { char c=34;System.out.println(s+c+s+c+';'+'}');}static String s=";
}
まず上記をQuine.javaという名前のjavaファイルにする。
そしてjavaファイルをコンパイルしてできたクラスファイルを java Quine.java で実行。
そうすると元のjavaファイルとほぼ同じものが得られる。
もっと完全に元のjavaファイルに戻したければQuine.javaを1行で書く。
(2ちゃんの書き込み制限があるから上では適宜改行した)
これはつまらない。。。
キーン?
食いねえ。だろうな
寿司?
s+c+s+c かw
s〜c〜Quine〜 か。天才だな
JAVA始めて一ヶ月ぐらいの初心者なんですが、インターネットで文法がデータベース上に一杯あるサイトを探しています。しかし、どんだけ探してもそのようなサイトは見つかりません。 上級者の方々は、文法をどのようにして探していますか?やはりリファレンス本を買わなければいけませんか? 教えて下さい(___)
322 :
ぴゅあ :2007/02/22(木) 17:17:05
>>310 ウィラード・ヴァン・オーマン・クワイン という哲学者に関する問題か?
SourceForge
327 :
デフォルトの名無しさん :2007/02/22(木) 18:02:34
すいません、ちょっと教えてください String str = "aa"; str += "123"; str += "456"; ってやったときstrにはStringオブジェクトが三つ入ってますよね? このStrに入ってる三つのオブジェクトへの参照用IDを見るにはどうしたらいいんですか? outprintだとaa123456ってでるだけでわからなくて・・orz
リテラル...
>>327 > ってやったときstrにはStringオブジェクトが三つ入ってますよね?
入ってない。
330 :
デフォルトの名無しさん :2007/02/22(木) 18:45:46
>>329 入ってないんですかぁ。
じゃあオブジェクトは一つしか入ってないんですか?
str += "456";
の時、コンパイラが内部で、
str = new StringBuffer().append(str).append("456").toString();
ってやってますよね?
このtoString()の戻り値っていうのはchar型の文字なんですか?
それともストリングオブジェクトが返ってきてるんですか?
API読むと「文字列表現」を返すメソッド。 ってあるんですけど、どういう風に文字列表現かえしてるのかわからなくて。
>>330 リテラルで検索した上で言ってるんだろうな?
キーワード: リテラル、コンスタントプール
>>327 アホ。
+=の意味を勉強してから出直せ
>>332 最後がコンスタンティノーブル(現イスタンブール)かと思った
キーワード(オスマン)、リテラル(トルコ)に陥落されるコンスタンティノーブル
指定したテキストファイルの指定した行だけを 書き換えるにはどうしたらいいんですか?
>>337 Apache Antの<copy>タスクと<filter>タグ
339 :
330 :2007/02/22(木) 19:12:09
あーもしかして、new StringBuffer().appendの部分で新しいstrの中のstringオブジェクトの値を引数にして、StringBufferオブジェクト作って、appendしてその参照用IDをstrに上書きしてるってことなんでしょうか?
1行読む-->指定行なら書き換え-->1行書き出す をくりかえせばいんでね
>>339 append()は戻り値がvoidなので新たにオブジェクトを作らない。
よーく考えろ。
しかもstrはString型だがStringBufferじゃないし
Javaコンパイラが自動最適化を行ってるから コンパイラによってどうなってるかわからんぞ
toString()がどうやったらcharを返すのか知りたいものだ
>>330 > それともストリングオブジェクトが返ってきてるんですか?
> API読むと「文字列表現」を返すメソッド。 ってあるんですけど、どういう風に文字列表現かえしてるのかわからなくて。
JDKをインストールしたディレクトリのsrc.zipを開いて嫁
>>341 > append()は戻り値がvoidなので新たにオブジェクトを作らない。
ウソは良くない。
>>339 str = new StringBuffer().append(str).append("456").toString();
new StringBuffer() → ここでStringBufferオブジェクトができる
new StringBuffer().append(str) ここで strの内容がStringBufferオブジェクトに入る。
strが123であるなら StringBufferの中身の文字列は123
new StringBuffer().append(str).append("456")で 456がStringBufferの123と連結しStringBufferオブジェクトに123456が入る。
new StringBuffer().append(str).append("456").toString()
で123456がStringBuffer型からString型に変換されて strには123456という文字列が代入される。
350 :
330 :2007/02/22(木) 19:24:43
toString()はすべてのクラスが持つメソッド。 "" + オブジェクト とやると 暗黙の内に "" + オブジェクト.toString()に変換される。 print文などで調べてみればtoString()がなんたるかがわかるかもしれない。 とくにListやHashMapのtoString()を調べてみれば新たな発見があるかも知れない。
>>350 そう思い込みたければそう思っていればいい。
厳密には違うがな
ヒント Stringクラスは不変。 StringBufferクラスは可変
354 :
330 :2007/02/22(木) 19:31:46
>>349 >123456がStringBuffer型からString型に変換されて strには123456という文字列が代入される。
↑は結果、そうなるのは理解できるんですが、string型の変数には文字が直接入ってるわけではなく参照用のIDが入ってるんですよね?
str
↓
ID(xxっぁslkdk)→メモリ上のデータ
ですよね?
てことはこのIDは最初のStringオブジェクトを生成したときのIDなのか、
それともStringBuffer展開後はID書き換えられてるんでしょうか?
>>354 StringはIDというかchar[]配列を参照しているだけ
+演算子や+=演算子が動いたとき
StringBufferの引数に(参照を)渡される。
StringBufferオブジェクト → str : String → char[] → char
↑
append()で出力されたその他StringBufferオブジェクトなどなど
356 :
デフォルトの名無しさん :2007/02/22(木) 19:41:34
357 :
337 :2007/02/22(木) 19:42:20
>>340 1行読む-->指定行なら書き換え-->1行書き出す
の「指定行なら書き換え」という処理のやり方を教えて頂けないでしょうか?
BufferedReaderを使っているのですがうまくいかないので・・・
358 :
デフォルトの名無しさん :2007/02/22(木) 19:44:44
>>341 ,, -──- 、._
.-"´ \.
:/ _ノ ヽ、_ ヽ.:
:/ o゚((●)) ((●))゚oヽ:
:| (__人__) |:
:l ) ( l:
:` 、 `ー' /:
:, -‐ (_). /
:l_j_j_j と)丶─‐┬.''´
:ヽ :i |:
:/ :⊂ノ|:
StringBuffer生成後は、append()するたびに参照する文字列が変わるだけ
なにかあるとかならずAAを貼る奴w
>>354 ソースコードをよく見てみよう
/**
* Constructs a string buffer with no characters in it and an
* initial capacity of 16 characters.
*/
public StringBuffer() {
super(16);
}
まず、スーパークラスのコンストラクタにあ区セスしている。
スーパークラスはAbstractStringBuilder。
ここで、char[]型のvalueというフィールドにまず、サイズ16の配列が初期化される。
つまり、StringBufferクラスは生成した時点で、char[]へのポインタを持っているということになる。
AbstractStringBuilder(int capacity) {
value = new char[capacity];
}
class String { char[] buff; } という感じで、Stringクラスはbuffを書き換えられないが、 StringBufferは書き換えられるという感じだ。 ちなみに書き換えるというのは、 buff[0] = 'a'; ということができるかということだ。
そして、append(String)メソッドを見てみよう。 これもまた、superクラスのappend()メソッドに委譲している。 StringBuilderのように非同期ではないのでしっかりとsynchronizedが ついているのも興味深い。 public synchronized StringBuffer append(String str) { super.append(str); return this; }
そして、append(String)メソッドを見てみよう。 これもまた、superクラスのappend()メソッドに委譲している。 StringBuilderのように非同期ではないのでしっかりとsynchronizedが ついているのも興味深い。 public synchronized StringBuffer append(String str) { super.append(str); return this; }
そして、次が本番のAbstractStringBuilderクラスだ。 面白いのはAbstractStringBufferではなくAbstractStringBuilderになっていることだ。 StringBufferもStringBuilderクラスもどちらもこのクラスのサブクラスなのだ。 /** * Appends the specified string to this character sequence. * <p> * The characters of the <code>String</code> argument are appended, in * order, increasing the length of this sequence by the length of the * argument. If <code>str</code> is <code>null</code>, then the four * characters <code>"null"</code> are appended. * <p> * Let <i>n</i> be the length of this character sequence just prior to * execution of the <code>append</code> method. Then the character at * index <i>k</i> in the new character sequence is equal to the character * at index <i>k</i> in the old character sequence, if <i>k</i> is less * than <i>n</i>; otherwise, it is equal to the character at index * <i>k-n</i> in the argument <code>str</code>. * * @param str a string. * @return a reference to this object. */ public AbstractStringBuilder append(String str) { if (str == null) str = "null"; int len = str.length(); if (len == 0) return this; int newCount = count + len; if (newCount > value.length) expandCapacity(newCount); str.getChars(0, len, value, count); count = newCount; return this; }
Stringの+や+=の仕組みについて知りたければ、 GoFデザインパターンのひとつ、Flyweightパターン を知るべきだろう。あれで、彼も謎がとけるのではないだろうか
368 :
デフォルトの名無しさん :2007/02/22(木) 19:59:42
そんな解説いいから
>>341 _ ,--、l ノ . /_ノ ヽ、_\
,--、_ノ:: `ー':: 、ミー---‐,,l o゚((●)) ((●))゚o プギャアアアアアアアアアアアアアア
,/ ::: i ̄ ̄ | . /::::::⌒(__人__)⌒::::: \
/ l::: l::: ll | |r┬-| | (⌒)
l l . l !:: |::: l | | | | | ノ ~.レ-r┐、
| l l |:: l: l . | | | | | ノ__ | .| | |
/_ノ ヽ、_\ 丶 l ,--、 _
プギャアアアアアアアアアアアアアア o゚((●)) ((●))゚o l,,‐---ー彡, ::`ー' ::ゝ_,--、
/::::::⌒(__人__)⌒::::: \ |  ̄ ̄i ::: ヽ,
(⌒) | |r┬-| | ll :::l :::l ^ヽ
,┌、-、!.~〈 | | | | | l :::| ::! l l l
| | | | __ヽ、 | | | | | l ::l :::| l :l |
プギャアアアアアアアアアアアアアアアアアアアアアアアアアアアア!!!!!!!!!!!!!!!!!!!!!!!!!!!!
/ ̄ ̄^ヽ / ̄ ̄^ヽ
l l ____ l l
_ ,--、l ノ . /_ノ ヽ、_\ 丶 l ,--、 _
,--、_ノ:: `ー':: 、ミー---‐,,l o゚((●)) ((●))゚o l,,‐---ー彡, ::`ー' ::ゝ_,--、
,/ ::: i ̄ ̄ | . /::::::⌒(__人__)⌒::::: \ |  ̄ ̄i ::: ヽ,
/ l::: l::: ll | |r┬-| | ll :::l :::l ^ヽ
369 :
デフォルトの名無しさん :2007/02/22(木) 20:00:45
>>341 m9
ノ
プギャー! (^Д^)
( ( 9m
< \
370 :
デフォルトの名無しさん :2007/02/22(木) 20:01:23
>>341 / , -‐ (_) (_) ‐- ,
/ l_j_j_j と) (とi._i._i._l
/ / / \ \
/ / \ \ / /
/ / \ \(^Д^ )/ / プギャプギャプギャプギャーーーッ!!!!!
/ / ヽ /
/ ノ /
/ /
/ / \ \
― / ん、 \ \ | ヽヽ
―― (__ ( > ) | ヽヽ |\
⌒ヽ ’ ・`し' / / i 、、 | ヽヽ |\ | \
人, ’ ’, ( ̄ / ド ド |ヽ |\ | |
Y⌒ヽ)⌒ヽ、 ) |
\_つ
>>366 それってStringBuilderが出来て追加されたクラスじゃなかったっけ
public AbstractStringBuilder append(String str) { if (str == null) str = "null"; int len = str.length(); if (len == 0) return this; int newCount = count + len; if (newCount > value.length) expandCapacity(newCount); str.getChars(0, len, value, count); count = newCount; return this; } まずよくみると、append()したい文字列がnullであればnullという文字が代入される。 ここでappendするのは何かが入ったstrという文字列。よって無視される。 つぎに文字列の長さをlenに代入。 つぎに、文字列長がゼロであればそのまま自分自身を帰して終わる。 つまり、空文字列""をappend()しても特に何も変化が無いということ。 次にcountにappendしたい文字列の長さを加える。 countはゼロなのでlenが3だとするとcountは3になる。 ここでvalue.lengthとこの3とを比較する。 当然現在の配列の長さは初期値である16(value.length==16)なので何も変化は無し。 そしてStringクラスのgetCharメソッドを呼び出す。 このメソッドは、興味深いことにSystem.arrayCopy()を使ってchar[]配列を別の配列を コピーしていることがわかる。 public void getChars(int srcBegin, int srcEnd, char dst[], int dstBegin) { //例外処理を省略 System.arraycopy(value, offset + srcBegin, dst, dstBegin, srcEnd - srcBegin); }
>>371 /**
* A mutable sequence of characters.
* <p>
* Implements a modifiable string. At any point in time it contains some
* particular sequence of characters, but the length and content of the
* sequence can be changed through certain method calls.
*
* @author Michael McCloskey
* @version 1.15, 11/17/05
* @since 1.5
*/
1.5と書いてあるから確かにその通り
375 :
デフォルトの名無しさん :2007/02/22(木) 20:15:06
盛り上がってまいりますた
盛り下がってまいりますちゃ
自身のchar[] valueにコピーしてんだから「参照してる文字列が変わってる」んじゃないでしょ?
つまり str.getChars(0, len, value, count); ここで、valueの値が更新されることを意味する。 valueの中char配列の中身、たとえば123という文字列がそこに入ったわけだ。 しかし、これをみてもわかるように、配列の長さは変わらない。 しかし、文字列の長さは3だと認識している。 こうして新たに 文字列 123 文字列の長さcount=3 char配列の長さ16 という属性もつStringBufferというオブジェクトが作られる(参照し直される)ことになった。 さらにここでappend()すると、char配列の長さは16のままで 文字列が123から123456となり、それがchar[]配列に入る。 countの値は6となる。 そして再びStringBuilderというオブジェクトがそのような値を参照し直す。 そしてtoString()メソッド これは見てもわかるとおり、ただ単純にStringオブジェクトを新たに生成しているだけである。 public synchronized String toString() { return new String(value, 0, count); } つまり、文字列123456という値が入った新たなStringオブジェクトが作られ、それが strに代入し直され、上書きされるということである。 以前strに入っていた内容は参照から外れるということである。
>>378 文字列が16よりも小さいときはそう。
16を超えたときは変わる
381 :
デフォルトの名無しさん :2007/02/22(木) 20:25:09
>>359 =
>>376 m9 三 9m
ノノ ミ
m9 (^Д^) 9mプギャプギャプギャプギャーーーーーーーーーーーッ!!!!!!!!!!!!!!!!!!!!!!
ヾヽ 彡
m9 三 9m スバババ
382 :
デフォルトの名無しさん :2007/02/22(木) 20:25:49
>>359 =
>>376 9m
\\
∧∧|
(^Д^) プギャー
/´ ヽ
〈 〈) l m9
ヽm9 / ノ
//`ヽ \ プギャー (^Д^)
_// / / ( ( 9m
(_ノ (__,) < \
383 :
デフォルトの名無しさん :2007/02/22(木) 20:26:24
>>359 =
>>376 /⌒ヽ
m9( ^Д^)9m
| / プギャーーッ!
( ヽノ
ノ>ノ
三 レレ
384 :
330 :2007/02/22(木) 20:32:38
すいません・・・入門書を読み始めたばかりの初心者なので説明は大変ありがたいのですがあほなので中々イメージわきませんorz 難解すぎてレス遅いですが申し訳ないです。目を血走らせながら読ませていただいてます。 string str = "aa"; この時点ではstringクラスをnewでオブジェクト生成してStringクラスのコンストラクタに"aa"を引数として渡してchar型の配列に代入。 そのChar型配列へのポインタがstrに入る str += "123"; ここでコンパイラが自動でStringBufferのオブジェクト生成開始。 str = new StringBuffer() StringBufferメソッドがスーパークラスのAbstractStringBuilderへ仮引数int capacityへ16を実引数として渡して char[16]のメモリが確保。変数valueにchar配列へのポインタ代入 ここまではあってますか?
385 :
デフォルトの名無しさん :2007/02/22(木) 20:34:27
AAを1スレ10回以上貼ったら即灰汁禁なんだが知らないのかこのバカは
温暖化春厨各所で増殖中w
>>385 即灰汁禁
よめない・・・
はいじゅきん?
はいしるきん?
>>384 どうでもいいが、JAVAは大文字と小文字を区別するんだから、
string → String
Char → char
にしないとダメだぞ
灰汁→アク(鍋料理とかで水面に浮いてくるやつ)
>>384 > すいません・・・入門書を読み始めたばかりの初心者なので説明は大変ありがたいのですがあほなので中々イメージわきませんorz
> 難解すぎてレス遅いですが申し訳ないです。目を血走らせながら読ませていただいてます。
> string str = "aa";
> この時点ではstringクラスをnewでオブジェクト生成してStringクラスのコンストラクタに"aa"を引数として渡してchar型の配列に代入。
> そのChar型配列へのポインタがstrに入る
厳密にはnewで生成はしているとは限らないよ。毎回newしているわけではないね。
String srr = "aa";と
String str = new String("aa");
とでは全く意味が違うから。後者のほうは確実にnewして新たな参照を作っている。
それと、stringではなくString。Charでなはく、char。というか、strはchar[]オブジェクトを参照している。
(Javaでは配列も、Objectクラスを継承したクラスのオブジェクトと見なされる)
> str += "123";
> ここでコンパイラが自動でStringBufferのオブジェクト生成開始。
> str = new StringBuffer()
> StringBufferメソッドがスーパークラスのAbstractStringBuilderへ仮引数int capacityへ16を実引数として渡して
> char[16]のメモリが確保。変数valueにchar配列へのポインタ代入
> ここまではあってますか?
valueはchar[]型。ポインタ代入というより、「参照する」のほうがわかりやすいと思う。
それいがいはまあ間違っていない
>>389 なるほど。
まあ彼はサザエさんAA貼り付けてJava重複スレを
建てて荒らしていた人だよね
>char[16]のメモリが確保。変数valueにchar配列へのポインタ代入 cすらわかってないじゃん。
>>387 そんな字読めないほど常識無いくせによくJavaやってるね
394 :
330 :2007/02/22(木) 21:02:08
>>379 なんかすごく
↓
さらにここでappend()すると、char配列の長さは16のままで
文字列が123から123456となり、それがchar[]配列に入る。
countの値は6となる。
そして再びStringBuilderというオブジェクトがそのような値を参照し直す。
そしてtoString()メソッド
これは見てもわかるとおり、ただ単純にStringオブジェクトを新たに生成しているだけである。
public synchronized String toString() {
return new String(value, 0, count);
}
でtoStringメソッドが今までより少しわかりました。ありがとうございます。
結論は一言でいうとStringBufferクラスを介して新たなStringオブジェクトが作られ、str内の元あったchar型配列へのポインタへのポインタが上書きされるってことでいいんでしょうか?
>>392 すいません。プログラムやったことないので。
395 :
330 :2007/02/22(木) 21:03:28
×ポインタへのポインタが上書 ○ポインタが上書 ですorz
>>372 に配列のコピーってかいてあるやんけ。
ポインタの代入じゃなくmemcpyとかstrcpyだ
>>394 正確には上書きではなく、参照先を変えただけ。
>>396 arrayCopyはネイティブだからね
400 :
デフォルトの名無しさん :2007/02/22(木) 21:19:29
>>397 ということはまぁまぁそんな感じということでいんですよね?
あと
>>372 のexpandCapacity(newCount);がよくわかりらないのです。
どうゆうことなんでしょう?expandCapacityってのを初めて見ました。
403 :
デフォルトの名無しさん :2007/02/22(木) 21:35:48
>>401 そうですか、すいませんでした。
では、あまり質問しすぎるのも申し訳ないので落ちることにします。
みなさん、どうもありがとうございました!
教えてもらった事を忘れないようにもっと勉強にはげみたいと思います。
あと、
>>341 のような、低脳・・・いや、すいません!これでは語弊がありますね。
>>341 のような脳がかんばしくない人にはならないようにがんばります!
では、ありがとうございました。
もうわざとにしか思えないwwwww 十分笑わせてもらった。また縁があればどこかでw ちなみに、C# だと StringBuilder の Append は void を返すんだよな。 俺も時々間違える。
>>400 /**
* This implements the expansion semantics of ensureCapacity with no
* size check or synchronization.
*/
void expandCapacity(int minimumCapacity) {
int newCapacity = (value.length + 1) * 2;
if (newCapacity < 0) {
newCapacity = Integer.MAX_VALUE;
} else if (minimumCapacity > newCapacity) {
newCapacity = minimumCapacity;
}
value = Arrays.copyOf(value, newCapacity);
}
名前の通り、配列のサイズを拡張するもの。
407 :
デフォルトの名無しさん :2007/02/22(木) 21:43:04
>>406 _ ,--、l ノ . /_ノ ヽ、_\
,--、_ノ:: `ー':: 、ミー---‐,,l o゚((●)) ((●))゚o プギャアアアアアアアアアアアアアア
,/ ::: i ̄ ̄ | . /::::::⌒(__人__)⌒::::: \
/ l::: l::: ll | |r┬-| | (⌒)
l l . l !:: |::: l | | | | | ノ ~.レ-r┐、
| l l |:: l: l . | | | | | ノ__ | .| | |
/_ノ ヽ、_\ 丶 l ,--、 _
プギャアアアアアアアアアアアアアア o゚((●)) ((●))゚o l,,‐---ー彡, ::`ー' ::ゝ_,--、
/::::::⌒(__人__)⌒::::: \ |  ̄ ̄i ::: ヽ,
(⌒) | |r┬-| | ll :::l :::l ^ヽ
,┌、-、!.~〈 | | | | | l :::| ::! l l l
| | | | __ヽ、 | | | | | l ::l :::| l :l |
プギャアアアアアアアアアアアアアアアアアアアアアアアアアアアア!!!!!!!!!!!!!!!!!!!!!!!!!!!!
/ ̄ ̄^ヽ / ̄ ̄^ヽ
l l ____ l l
_ ,--、l ノ . /_ノ ヽ、_\ 丶 l ,--、 _
,--、_ノ:: `ー':: 、ミー---‐,,l o゚((●)) ((●))゚o l,,‐---ー彡, ::`ー' ::ゝ_,--、
,/ ::: i ̄ ̄ | . /::::::⌒(__人__)⌒::::: \ |  ̄ ̄i ::: ヽ,
/ l::: l::: ll | |r┬-| | ll :::l :::l ^ヽ
ソースべたべた貼んなやハゲ! 自分で読ませろハゲ!
409 :
デフォルトの名無しさん :2007/02/22(木) 21:56:39
410 :
デフォルトの名無しさん :2007/02/22(木) 21:57:20
>>404 むぅ
<⌒/ヽ-、___
/<_/____/
∧∧
(^Д^) プギャーーーッ
m9 ノ
(つ ノ
(ノ
___/(___
/ (____/
<⌒/ヽ-、___
/<_/____/
411 :
デフォルトの名無しさん :2007/02/22(木) 21:57:53
>>404 プ、プ、プギャープギャプギャプ♪
\ ププププギャプギャププギャプギャ/
♪ (^Д^) ♪
_m9 )>_ キュッキュ♪
/.◎。/◎。/|
| ̄ ̄ ̄ ̄ ̄|
AA厨のキチガイはどこまで暴れるのだろう。 頃す と書くたびに自動的暴れる仕組みになっているのだろうか?
ころころころ・・・・ぶっころころ頃すw
ぷぎゃーが貼られると自分宛だと思ってしまう
かわいそうな
>>341
415 :
デフォルトの名無しさん :2007/02/22(木) 22:02:49
AAが貯まってきたから一度運営に投げてみっかな
403 名前:デフォルトの名無しさん[] 投稿日:2007/02/22(木) 21:35:48
>>401 そうですか、すいませんでした。
では、あまり質問しすぎるのも申し訳ないので落ちることにします。
みなさん、どうもありがとうございました!
教えてもらった事を忘れないようにもっと勉強にはげみたいと思います。
あと、
>>341 のような、低脳・・・いや、すいません!これでは語弊がありますね。
>>341 のような脳がかんばしくない人にはならないようにがんばります!
では、ありがとうございました。
こいつが犯罪者か
400 名前:デフォルトの名無しさん[] 投稿日:2007/02/22(木) 21:19:29
>>397 ということはまぁまぁそんな感じということでいんですよね?
あと
>>372 のexpandCapacity(newCount);がよくわかりらないのです。
どうゆうことなんでしょう?expandCapacityってのを初めて見ました。
394 名前:330[] 投稿日:2007/02/22(木) 21:02:08
>>379 なんかすごく
↓
さらにここでappend()すると、char配列の長さは16のままで
文字列が123から123456となり、それがchar[]配列に入る。
countの値は6となる。
そして再びStringBuilderというオブジェクトがそのような値を参照し直す。
そしてtoString()メソッド
これは見てもわかるとおり、ただ単純にStringオブジェクトを新たに生成しているだけである。
public synchronized String toString() {
return new String(value, 0, count);
}
でtoStringメソッドが今までより少しわかりました。ありがとうございます。
結論は一言でいうとStringBufferクラスを介して新たなStringオブジェクトが作られ、str内の元あったchar型配列へのポインタへのポインタが上書きされるってことでいいんでしょうか?
>>392 すいません。プログラムやったことないので。
↑プログラムやったことがない奴が、ソフトウェア開発経験がある人間に「低脳」呼ばわりとは
しごく生意気な発言である。
384 名前:330[] 投稿日:2007/02/22(木) 20:32:38 すいません・・・入門書を読み始めたばかりの初心者なので説明は大変ありがたいのですがあほなので中々イメージわきませんorz 難解すぎてレス遅いですが申し訳ないです。目を血走らせながら読ませていただいてます。 string str = "aa"; この時点ではstringクラスをnewでオブジェクト生成してStringクラスのコンストラクタに"aa"を引数として渡してchar型の配列に代入。 そのChar型配列へのポインタがstrに入る str += "123"; ここでコンパイラが自動でStringBufferのオブジェクト生成開始。 str = new StringBuffer() StringBufferメソッドがスーパークラスのAbstractStringBuilderへ仮引数int capacityへ16を実引数として渡して char[16]のメモリが確保。変数valueにchar配列へのポインタ代入 ここまではあってますか? しかもこのように、C言語すらわかっていない奴が他人様を低脳? なに巫山戯たこと言ってるんだ。もう二度と教えないぞ
420 :
デフォルトの名無しさん :2007/02/22(木) 22:05:00
seito(生徒)というクラスを作り 中身の要素を String namae ;//名前 int tokuten ;//得点 にしました。 seitoの配列を宣言して生徒の人数分newして配列に繋げました。 得点の多い順でソートする場合。 例えば、普通のintの配列では Arrays.sort(data); がありますが、 こんな具合に一発でソートできるクラスJavaにありませんか。 よろしくお願いします<m(__)m>
384 名前:330[] 投稿日:2007/02/22(木) 20:32:38 すいません・・・入門書を読み始めたばかりの初心者なので説明は大変ありがたいのですがあほなので中々イメージわきませんorz 難解すぎてレス遅いですが申し訳ないです。目を血走らせながら読ませていただいてます。 string str = "aa"; この時点ではstringクラスをnewでオブジェクト生成してStringクラスのコンストラクタに"aa"を引数として渡してchar型の配列に代入。 そのChar型配列へのポインタがstrに入る str += "123"; ここでコンパイラが自動でStringBufferのオブジェクト生成開始。 str = new StringBuffer() StringBufferメソッドがスーパークラスのAbstractStringBuilderへ仮引数int capacityへ16を実引数として渡して char[16]のメモリが確保。変数valueにchar配列へのポインタ代入 ここまではあってますか? これもだ。まったくふざけている。 Stringをstringと下記、ポインタと参照との違いもわからないクズ。 死ねや
まあまあ。悔しいのは判るけどおちつけよアホの
>>341 。勉強になっただろ。
384 名前:330[] 投稿日:2007/02/22(木) 20:32:38 すいません・・・入門書を読み始めたばかりの初心者なので説明は大変ありがたいのですがあほなので中々イメージわきませんorz 難解すぎてレス遅いですが申し訳ないです。目を血走らせながら読ませていただいてます。 string str = "aa"; この時点ではstringクラスをnewでオブジェクト生成してStringクラスのコンストラクタに"aa"を引数として渡してchar型の配列に代入。 そのChar型配列へのポインタがstrに入る str += "123"; ここでコンパイラが自動でStringBufferのオブジェクト生成開始。 str = new StringBuffer() StringBufferメソッドがスーパークラスのAbstractStringBuilderへ仮引数int capacityへ16を実引数として渡して char[16]のメモリが確保。変数valueにchar配列へのポインタ代入 ここまではあってますか? 入門書レベルのくそがきのクズが生意気な口を叩くんじゃねえよボケ 殺されたいか? このクズ? 痛い目に遭わないとわからんのか。
354 名前:330[] 投稿日:2007/02/22(木) 19:31:46
>>349 >123456がStringBuffer型からString型に変換されて strには123456という文字列が代入される。
↑は結果、そうなるのは理解できるんですが、string型の変数には文字が直接入ってるわけではなく参照用のIDが入ってるんですよね?
str
↓
ID(xxっぁslkdk)→メモリ上のデータ
ですよね?
てことはこのIDは最初のStringオブジェクトを生成したときのIDなのか、
それともStringBuffer展開後はID書き換えられてるんでしょうか?
こんな質問してくる奴のほうがよっぽど低脳。
ということで、さっさと死ねや!
↓こんなこともわからんやつのほうがよっぽど低脳。
頃されなきゃわからないんだろうなこういう頭が悪いチョンは
330 名前:デフォルトの名無しさん[] 投稿日:2007/02/22(木) 18:45:46
>>329 入ってないんですかぁ。
じゃあオブジェクトは一つしか入ってないんですか?
str += "456";
の時、コンパイラが内部で、
str = new StringBuffer().append(str).append("456").toString();
ってやってますよね?
このtoString()の戻り値っていうのはchar型の文字なんですか?
それともストリングオブジェクトが返ってきてるんですか?
API読むと「文字列表現」を返すメソッド。 ってあるんですけど、どういう風に文字列表現かえしてるのかわからなくて。
427 :
デフォルトの名無しさん :2007/02/22(木) 22:08:43
必死だなw
↓もうこいつさっさと死ねよ 327 名前:デフォルトの名無しさん[] 投稿日:2007/02/22(木) 18:02:34 すいません、ちょっと教えてください String str = "aa"; str += "123"; str += "456"; ってやったときstrにはStringオブジェクトが三つ入ってますよね? このStrに入ってる三つのオブジェクトへの参照用IDを見るにはどうしたらいいんですか? outprintだとaa123456ってでるだけでわからなくて・・orz
AAの次はコピペか
433 :
デフォルトの名無しさん :2007/02/22(木) 22:11:13
連投きもいんですけどぉ
これはC#厨でしょ
戦いが始まったな
ただAA貼って相手の反応を見て楽しんで自己満足するのがかれの唯一の楽しみなのか。
つまり、質問が曖昧な奴には何も教えない方がいいってことだね。 恩を仇で返すような低脳だから。 朝鮮半島にすむ馬鹿民族みたいだ
440 :
デフォルトの名無しさん :2007/02/22(木) 22:14:43
442 :
デフォルトの名無しさん :2007/02/22(木) 22:17:28
? StringBuffer#append のリターンがvoidだと思ってるのは入門書レベルの低脳ではないのですかw
あれー? ほんとだ。C# の StringBuilder#Append も StringBuilder を返すやん。 俺はなにを間違えたんだ……?
445 :
デフォルトの名無しさん :2007/02/22(木) 22:23:43
なんか最近どっかのスレでこういう暴れ方するやつ見たことあるなあ。 マイクロソフトに罵詈雑言浴びせてた奴・・・
>>420 Seito(大文字にすべし)にComparableインターフェイスを実装するか、
Arrays.sortの第二引数に、大小を返すComparatorインスタンスを与える。
Comparatorの方がおすすめ。 Comparableだと違う並び方にするときに困る。
>>440-441 そんなことより、お前、自分の貼ったAAの削除依頼して来いカスw
すべてお前が同一人物だということはお見通しだw
>>446 この手のAA貼る奴は逆にM$に味方して非M$陣営に罵声雑言をするのが特徴だよ。
何年も前に見かけたあれだね。
よーし、じゃあ俺もこれから馬鹿な質問をする初心者には わざと嘘を教えちゃうぞー
455 :
デフォルトの名無しさん :2007/02/22(木) 22:56:42
俺javaは詳しいよ。 append()は戻り値がvoidなので新たにオブジェクトを作らない。 よーく考えろ。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\| ̄ ̄ ̄ ̄ ̄ ̄ _,,t-‐‐-、,-‐‐-、 三'::::::............... .....::::::`y,. ナ::::::::::::::::::::::::::::::::: :::::::::::::ヾ | ̄| V::::::::::::::::_{{ ({∫∬ノノjヾ:::::{ | ̄| | ̄| ナ::::::::::::::i`__,,,,,,,ァ_ _,,,,,_ t;;:ヌ | | | | イヘ::::::(ヾ~!,ャt、 !'''i ィtン )=f }f | | | | i {t)テ" ヘ' '___,イ ヽ_/ 介' | | | | _,rヘ_,j|!' /ー--''! |' |,.ィ―'''' ̄ /| | /二ク ! /;;:::'';;::''::;;:/ { ! 、 ヾニン ノ\ /'''::::;r|''':::;;;| | ! \ _,,./|::;;'''\ /:;;/ |;;;''::;;| 丶\ `__>-ー´ !;;;:'''::iヽ、 i/ |'::;;;;''| 三 ―''" !''::;;;;| /ヽ /⌒ヽ |;;''':::;| \ !;;::''|/ i / \{'';;;::''}  ̄二ニ= !::;;| | /ヘ |;;:::::;{ ‐- !/ | / i |:::;;;''! ー ! / | / l |;;'';イ } {、 〉、 ∧テ{ ヽ _ _,,,,;;;;;:::-==ニ;;;_ ノ __,イ´ / \_ //レ!  ̄  ̄ { ̄ |
456 :
デフォルトの名無しさん :2007/02/22(木) 22:59:27
>>341 も
>>403 もスレの趣旨と関係ないことで騒いでんじゃねーよカス。うざい。
>>403 の態度も気にいらないし、
>>341 も自分が低脳だからってギャーギャーわめくな。
おまえが偉そうに「void返すぞ、よく考えろ」とか調子こいたの原因じゃねーか。
まぁ
>>403 の「脳が芳しくない」は笑ったがw
ここまで飛ばし読み
パケ代に易しくないので最悪板にで行ってくれ…
携帯電話からアクセスしているのか 奴の病気はなおらんからなあ
やつのAA病を回避するには、2chのかわりにブログ + RSSで 情報収集した方が速いかもしれんぞ
どなたか、よろしければ
>>357 を教えてもらえると
助かります・・・
>>465 以下、行が尽きるまで繰り返す。
1. 1行読む。
2. その行が
→書き換えるべき行だったら、書き換えた内容を出力。
→書き換えるべき行でなかったら、そのまま出力。
指定行までループで回すじゃだめなの?
FireReaderつかってるか?
あー、出力をどこにすればいいかわからんのか。 適当な名前のとこに書き出しておいて、終わってから本来の名前に 改名。
470 :
465 :2007/02/22(木) 23:59:32
いろいろと指摘ありがとうございます。 とりあえずまた色々といじってみます。 教えていただきありがとうございました
FireReaderで読み込んでStringにツッコミ、 if文や正規表現で判定して別んとこに出力。 「別んとこ」ってのはStringWriterでもStringBuilderにするのか、 それともFileWriterで別ファイルに書くのかしらんが
>>471 StringBuilderのappendは使いますか?
473 :
デフォルトの名無しさん :2007/02/23(金) 01:07:34
はっきり言って俺はjavaは詳しいよ。 append()は戻り値がvoidなので新たにオブジェクトを作らない。 よーく考えろ。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\| ̄ ̄ ̄ ̄ ̄ ̄ _,,t-‐‐-、,-‐‐-、 三'::::::............... .....::::::`y,. ナ::::::::::::::::::::::::::::::::: :::::::::::::ヾ | ̄| V::::::::::::::::_{{ ({∫∬ノノjヾ:::::{ | ̄| | ̄| ナ::::::::::::::i`__,,,,,,,ァ_ _,,,,,_ t;;:ヌ | | | | イヘ::::::(ヾ~!,ャt、 !'''i ィtン )=f }f | | | | i {t)テ" ヘ' '___,イ ヽ_/ 介' | | | | _,rヘ_,j|!' /ー--''! |' |,.ィ―'''' ̄ /| | /二ク ! /;;:::'';;::''::;;:/ { ! 、 ヾニン ノ\ /'''::::;r|''':::;;;| | ! \ _,,./|::;;'''\ /:;;/ |;;;''::;;| 丶\ `__>-ー´ !;;;:'''::iヽ、 i/ |'::;;;;''| 三 ―''" !''::;;;;| /ヽ /⌒ヽ |;;''':::;| \ !;;::''|/ i / \{'';;;::''}  ̄二ニ= !::;;| | /ヘ |;;:::::;{ ‐- !/ | / i |:::;;;''! ー ! / | / l |;;'';イ } {、 〉、 ∧テ{ ヽ _ _,,,,;;;;;:::-==ニ;;;_ ノ __,イ´ / \_ //レ!  ̄  ̄ { ̄ |
>>473 おまえはそんなにでぶだったのかAA厨よ
>>472 わざと、「使える」と言っておいてやるよw
ちょっとしたテストをしてみることにしたw さて、彼はどんな反応をするかw
477 :
デフォルトの名無しさん :2007/02/23(金) 02:18:32
あるClassAというクラスが宣言されている。そのなかで public ClassA(String name) ・・・という コンストラクタが定義されている。 別のクラス(MainClass)のフィールドで以下のようなインスタンス変数を宣言し初期化する。 ClassA abc = new ClassA("英語"); このとき自分は変数abcが参照するインスタンスが生成されるものだと思っていたのですが 生成されないようです。それはMainClassのインスタンスが新たに生成されない以上、abcの インスタンスも生成されないというのです。 だとしたらMainClassのフィールドでインスタンス変数である基本データ型(たとえばint a = 100;) とした場合でも、MainClassのインスタンスが作られるまで、aは100で初期化されないのでしょうか。
そりゃあ「インスタンス変数」って言うぐらいだからねえ
はっきり言って俺はアスキーアート荒らしには詳しいよ。 スレを荒らせば荒らすほど俺は偉くなれるんだ。 よーく考えろ。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\| ̄ ̄ ̄ ̄ ̄ ̄ _,,t-‐‐-、,-‐‐-、 三'::::::............... .....::::::`y,. ナ::::::::::::::::::::::::::::::::: :::::::::::::ヾ | ̄| V::::::::::::::::_{{ ({∫∬ノノjヾ:::::{ | ̄| | ̄| ナ::::::::::::::i`__,,,,,,,ァ_ _,,,,,_ t;;:ヌ | | | | イヘ::::::(ヾ~!,ャt、 !'''i ィtン )=f }f | | | | i {t)テ" ヘ' '___,イ ヽ_/ 介' | | | | _,rヘ_,j|!' /ー--''! |' |,.ィ―'''' ̄ /| | /二ク ! /;;:::'';;::''::;;:/ { ! 、 ヾニン ノ\ /'''::::;r|''':::;;;| | ! \ _,,./|::;;'''\ /:;;/ |;;;''::;;| 丶\ `__>-ー´ !;;;:'''::iヽ、 i/ |'::;;;;''| 三 ―''" !''::;;;;| /ヽ /⌒ヽ |;;''':::;| \ !;;::''|/ i / \{'';;;::''}  ̄二ニ= !::;;| | /ヘ |;;:::::;{ ‐- !/ | / i |:::;;;''! ー ! / | / l |;;'';イ } {、 〉、 ∧テ{ ヽ _ _,,,,;;;;;:::-==ニ;;;_ ノ __,イ´ / \_ //レ!  ̄  ̄ { ̄ |
480 :
デフォルトの名無しさん :2007/02/23(金) 02:36:36
はっきり言って俺はアスキーアート荒らしには詳しいよ。 スレを荒らせば荒らすほど俺は偉くなれるんだ。 よーく考えろ。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\| ̄ ̄ ̄ ̄ ̄ ̄ _,,t-‐‐-、,-‐‐-、 三'::::::............... .....::::::`y,. ナ::::::::::::::::::::::::::::::::: :::::::::::::ヾ | ̄| V::::::::::::::::_{{ ({∫∬ノノjヾ:::::{ | ̄| | ̄| ナ::::::::::::::i`__,,,,,,,ァ_ _,,,,,_ t;;:ヌ | | | | イヘ::::::(ヾ~!,ャt、 !'''i ィtン )=f }f | | | | i {t)テ" ヘ' '___,イ ヽ_/ 介' | | | | _,rヘ_,j|!' /ー--''! |' |,.ィ―'''' ̄ /| | /二ク ! /;;:::'';;::''::;;:/ { ! 、 ヾニン ノ\ /'''::::;r|''':::;;;| | ! \ _,,./|::;;'''\ /:;;/ |;;;''::;;| 丶\ `__>-ー´ !;;;:'''::iヽ、 i/ |'::;;;;''| 三 ―''" !''::;;;;| /ヽ /⌒ヽ |;;''':::;| \ !;;::''|/ i / \{'';;;::''}  ̄二ニ= !::;;| | /ヘ |;;:::::;{ ‐- !/ | / i |:::;;;''! ー ! / | / l |;;'';イ } {、 〉、 ∧テ{ ヽ _ _,,,,;;;;;:::-==ニ;;;_ ノ __,イ´ / \_ //レ!  ̄  ̄ { ̄ |
481 :
デフォルトの名無しさん :2007/02/23(金) 02:37:29
はっきり言って俺はAA荒らしには詳しいよ。 スレを荒らせば荒らすほど俺は偉くなれるんだ。 よーく考えろ。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\| ̄ ̄ ̄ ̄ ̄ ̄ _,,t-‐‐-、,-‐‐-、 三'::::::............... .....::::::`y,. ナ::::::::::::::::::::::::::::::::: :::::::::::::ヾ | ̄| V::::::::::::::::_{{ ({∫∬ノノjヾ:::::{ | ̄| | ̄| ナ::::::::::::::i`__,,,,,,,ァ_ _,,,,,_ t;;:ヌ | | | | イヘ::::::(ヾ~!,ャt、 !'''i ィtン )=f }f | | | | i {t)テ" ヘ' '___,イ ヽ_/ 介' | | | | _,rヘ_,j|!' /ー--''! |' |,.ィ―'''' ̄ /| | /二ク ! /;;:::'';;::''::;;:/ { ! 、 ヾニン ノ\ /'''::::;r|''':::;;;| | ! \ _,,./|::;;'''\ /:;;/ |;;;''::;;| 丶\ `__>-ー´ !;;;:'''::iヽ、 i/ |'::;;;;''| 三 ―''" !''::;;;;| /ヽ /⌒ヽ |;;''':::;| \ !;;::''|/ i / \{'';;;::''}  ̄二ニ= !::;;| | /ヘ |;;:::::;{ ‐- !/ | / i |:::;;;''! ー ! / | / l |;;'';イ } {、 〉、 ∧テ{ ヽ _ _,,,,;;;;;:::-==ニ;;;_ ノ __,イ´ / \_ //レ!  ̄  ̄ { ̄ |
482 :
デフォルトの名無しさん :2007/02/23(金) 02:40:32
はっきり言って俺は荒らしには詳しいよ。 スレを荒らせば荒らすほど俺は偉くなれるんだ。 よーく考えろ。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\| ̄ ̄ ̄ ̄ ̄ ̄ _,,t-‐‐-、,-‐‐-、 三'::::::............... .....::::::`y,. ナ::::::::::::::::::::::::::::::::: :::::::::::::ヾ | ̄| V::::::::::::::::_{{ ({∫∬ノノjヾ:::::{ | ̄| | ̄| ナ::::::::::::::i`__,,,,,,,ァ_ _,,,,,_ t;;:ヌ | | | | イヘ::::::(ヾ~!,ャt、 !'''i ィtン )=f }f | | | | i {t)テ" ヘ' '___,イ ヽ_/ 介' | | | | _,rヘ_,j|!' /ー--''! |' |,.ィ―'''' ̄ /| | /二ク ! /;;:::'';;::''::;;:/ { ! 、 ヾニン ノ\ /'''::::;r|''':::;;;| | ! \ _,,./|::;;'''\ /:;;/ |;;;''::;;| 丶\ `__>-ー´ !;;;:'''::iヽ、 i/ |'::;;;;''| 三 ―''" !''::;;;;| /ヽ /⌒ヽ |;;''':::;| \ !;;::''|/ i / \{'';;;::''}  ̄二ニ= !::;;| | /ヘ |;;:::::;{ ‐- !/ | / i |:::;;;''! ー ! / | / l |;;'';イ } {、 〉、 ∧テ{ ヽ _ _,,,,;;;;;:::-==ニ;;;_ ノ __,イ´ / \_ //レ!  ̄  ̄ { ̄ |
やっぱし、AA厨はその程度なんだなw
485 :
デフォルトの名無しさん :2007/02/23(金) 02:44:08
コアJava応用を買ったんですが、 むずかしい。 どういった感じでよんでいけばよいですか?
いつ頃の本?
>>477 インスタンス化しないで使うなら static。
staticな奴はつまらん
489 :
デフォルトの名無しさん :2007/02/23(金) 02:55:01
Swingで作成したクラスをメインクラスのJScrollPanelで表示させたいのですが、よくわからんのです。 どうやったらいいのかご教授ください
NetBeansを起動してマウスでJScrollPaneを選んでドラッグする。
それ面白いとおもったの?
double型の値をラップする方法は Doubleクラスのコンストラクタを使用する方法と Dobule#valueOf(double)を使う方法と、二通りある。 Javadocには、valueOfを使うと、過去に使ったことがある値はキャッシュされるので new Double()ではなくvalueOf()使った方がいいのでそっちを使えと書いてある。 しかし、ソースコードを見ると、 valueOf(double)は タダ単に 内部でnew Double(double)を返しているだけ。 帰って遅くなるように見えてしまう。 これ本当に早い?
「likely」とあるから、valueOfにしといたほうが、使われる実装に よっては早くなるかもよ、って感じじゃない? Sunのはあくまでリファレンス実装だから馬鹿正直に作ってあるの かも。autoboxingではキャッシュ使ってた気がするが。
private static final long start = System.nanoTime(); public static void main(String[] args) { Double d = null; for (double i = -10000000.0; i < 10000000.0; i += 0.1) { d = new Double(i * i + 1 - (i / (2 * i))); } long end = System.nanoTime() - start; System.out.println("new Double() : " + (end / 1000000000.0)); } private static final long start = System.nanoTime(); public static void main(String[] args) { Double d = null; for (double i = -10000000.0; i < 10000000.0; i += 0.1) { d = Double.valueOf(i * i + 1 - (i / (2 * i))); } long end = System.nanoTime() - start; System.out.println("Double.valueOf() : " + (end / 1000000000.0)); } これでベンチマークした結果。どちらも、一方が遅くなったり早くなったりの繰り返し。 -serverオプションつけるとどちらも倍近く早くなってますます、どちらがパフォーマンスが 良いのかわからなくなってきた。
>>489 デモの Notepad.java でも眺めてみたら?
…ってあれ JScrollPane だっけ? 間違ってたら失礼した
497 :
デフォルトの名無しさん :2007/02/23(金) 06:53:08
1000行ぐらいのテキストファイルを読み取り、名前を変えて 新しく出力したのですが800行ほどしか出力されません なにか対処法はあるのでしょうか?
Closeしてる?
トムとキャットがスタートサービスしなひorz
502 :
デフォルトの名無しさん :2007/02/23(金) 13:24:30
>>494 ループの所を改造した結果。(-serverオプションあり)
for (double i = -10000000.0; i < 10000000.0; i += 0.1) {
for (double j = -100.0; i < 100.0; i += 0.1) {
d = new Double(i * i + 1 - (i / (2 * i)) + j * j * j);
}
}
new Double() : 10.5399189
Double.valueOf() : 11.008194338
valueOfのほうが若干遅い
>>502 その程度なら誤差の範囲内じゃね?
100倍とか 1000倍の差がついたってんなら話は別だけど。
ってか、i * i + 1 - (i / (2 * i)) + j * j * j の計算部分が時間食ってそうで、
valueOf と new Double の比較の意味が薄れてそうな気がしなくもない。
for (double j = -100.0; j < 100.0; j += 0.1) { のところがおかしいので訂正。 Double.valueOf() : 248.729385718 new Double() : 273.893847123
うーむ、もうちょっと調査した方がいいかも。
506 :
デフォルトの名無しさん :2007/02/23(金) 14:53:16
サーブレット関連のパッケージが存在しないんだけど、何が原因でしょうか?よろしくおねがいてぃーちゃー
質問の仕方に問題有りだな
$TOMCAT_HOME/common/lib/jsp-api.jar $TOMCAT_HOME/common/lib/servlet-api.jar をクラスパスに放り込む
質問の仕方に問題有りだな
$TOMCAT_HOME/common/lib/jsp-api.jar $TOMCAT_HOME/common/lib/servlet-api.jar をクラスパスに放り込む
なんか最近書込に失敗して連投になるぞ
Boolean, Character, byteは間違いなく -128〜127の範囲内であればShort, Integer, LongはvalueOf使った方が速いことがわかる。 しかし、Float, Doubleは? もうわからない。
>>513 そりゃ、インスタンス使い回ししてるからね。
これは、J2SE1.4にもバックポートしてほしいんだけどなぁ
ちなみにBigIntegerの場合 値が -17〜17の範囲内であれば、valueOfのほうがいい。 それ以外では、new BigInteger(long)でもかわらないかもしれない。 longに入らない値はnew BigInteger(String)などを使う。
EffectiveJavaを読んでいるとファクトリーメソッドに拘るようになってしまうよ
>>513 まぁ、実装依存なんだけどね。
言語仕様はBoxing変換で必ず valueOf() を使えとも書いてないし、
API仕様 でも valueOf で -128〜127 は必ずキャッシュしろとも書いてない。
Sunのはあくまでリファレンス実装だってこと、つい忘れてしまうな。
質問の仕方に問題有りだな
$TOMCAT_HOME/common/lib/jsp-api.jar $TOMCAT_HOME/common/lib/servlet-api.jar をクラスパスに放り込む
0のときはBigInteger.ZERO, BigDecimal.ZERO 1のときはBigInteger.ONE, BigDecimal.ONE 2のときはBigInteger.TWO 10のときはBigInteger.TEN, BigDecimal.TEN しかしなぜかTWOはprivate。せっかくなんだからpublicにして欲しかった。 (new BigDecimal(double)は10進2進変換誤差がでるので問題外。new BigDecimal(String)しかない)
>>514 それはさすがに無理だと思う。
新しいAPIの追加や大幅な変更はメジャーバージョンアップでないと
駄目なのでは
$TOMCAT_HOME/common/lib/jsp-api.jar $TOMCAT_HOME/common/lib/servlet-api.jar をクラスパスに放り込む 連投すんなハゲ!
>>524 そいつは、昨日ののAA厨の仕業だと思うよ。
他人のレスをコピペしているだけ
>>523 ああ、分かっている。言ってみただけなんだ・・・
結構、ioに効く効率化のはずだからな・・・
528 :
デフォルトの名無しさん :2007/02/23(金) 16:00:58
CLASSPATHが間違ってただけでした。ありがとぅ〜ん
>>525 実に的確な情報ありがとうございます。
まあ、公式じゃなくても良かったんですがw
530 :
524 :2007/02/23(金) 16:19:38
これは騙りかな? それとも自白かな?
おれが過去の質問コピペしてやんないと お前らやることなくなるだろ。
余計なお世話。 他のスレでは新しい情報はいくらでもある。 お前は荒らしの言い訳してないでC#スレで戯れていればいい。
いつもうれしそうに回答してるのに?
回答者がうれしそうに回答している姿をみるのが俺たちの一番の喜びだ
538 :
デフォルトの名無しさん :2007/02/23(金) 18:55:20
540 :
デフォルトの名無しさん :2007/02/23(金) 19:10:11
Java質問・相談スレッドに届けられたお客様の声の一部をご紹介します。 みなさまの声に支えられこれからも簡単な質問を提供していきますので、 ぜひ応援してくださいね!
541 :
499 :2007/02/23(金) 19:18:10
>>500 ありがとうございます!
closeしたら成功しました
542 :
デフォルトの名無しさん :2007/02/23(金) 19:18:14
>>341 へ(脳がかんばしくない方へ)
お客様から喜びの声が届いております。
↓
あと、
>>341 のような、低脳・・・いや、すいません!これでは語弊がありますね。
>>341 のような脳がかんばしくない人にはならないようにがんばります!
きみも一人で自作自演大変だね。 君の大好きなC#スレはどうしたの?
当社はjavaのスペシャリスト集団です。c#の案件はお断りしております。 とくにlangパッケージのStringBufferへの研究は他社の追従を許しません。
例えばテキストファイルの中に abc = abcdefg.txt という文字列があった場合、 abc = date/abcdefg.txt のように文字列を追加するにはどうしたらいいのでしょうか? ちなみにabc や = の両端の半角スペース、 abcdefg.txt などの文字列は 参照するテキストファイルによるので一定ではないです
>>544 何言ってんだこのチンカスは
今はStringBuilderの時代だろうが。
StringBuilderがStringBufferより優れている点を3つまで教えてください
548 :
ぴゅあ :2007/02/23(金) 21:41:04
やはりわちきがいないとこのスレは駄目ですね
>>545 Jakarta Commons IO FileUtils.writeLine()
552 :
ぴゅあ :2007/02/23(金) 21:56:55
このスレの回答の9割はわちきがしていると言っても過言ではないのですが。。
証拠が無い
>>552 AAの9割をあんたが投下してるってんなら証拠がなくても信じるけど。
お前らバカ? なんで相手してんの?
>>518 言語仕様には -128〜127 の場合は必ず同じインスタンスを
返さなければならないと書いてありますが。
最近このスレ流れ速すぎね?
>>556 知ってる。
で、言語仕様には、必ず同じインスタンスを返すために valueOf を使えとは書いてない、って事。
559 :
ぴゅあ :2007/02/23(金) 23:01:58
わちきはvalueOfをおすすめしますよ
BLIGHT
>>559 Double, Floatの場合はどうなのだ。
中身は単純に new Double() new Float()を読んでいるだけであろう
562 :
ぴゅあ :2007/02/23(金) 23:10:25
それはsunの実装がそうだというだけの話ですね。
>>545 そういう処理が必要なとき、自分は正規表現の前方参照?をよく使う。
ファイルから読み込む部分は割愛。テストはしてないから動作保証はしない。
String result = null;
final String str = "abc = abcdefg.txt";
Pattern pattern = Pattern.compile("(.+=\s*)(.+)");
Matcher matcher = pattern.matcher(str);
if(matcher.matches()) {
result = new StringBuffer()
.append( matcher.group(0) )
.append( "date/")
.append( matcher.group(1) )
.toString();
}
return result;
565 :
デフォルトの名無しさん :2007/02/23(金) 23:15:28
Tomcat5 Java で開発してます。 Tomcatのログにこういうエラーがたまに出るんですが、何かいけないのでしょうか。 2006/09/04 10:00:00 net.sf.hibernate.impl.SessionImpl finalize 警告: finalizing unclosed session with closed connection
Hibernateを勉強すべし
>>565 どうしてコネクションするオブジェクをcloseしてくれないのかしら…
ホント世話の焼ける…ちゃんとcloseしてよね!
って書いてあるようだが
>>567 取り下げ、
よく読むとどうやら違う雰囲気。
java.lang.Character public static int toCodePoint(char�high, char�low) の反対で、 public static char[] toChars(int�codePoint) があるのですが、 highだけlowだけに分解するメソッドが無いようで、 どうやって作るのでしょうか? 簡単に言えば、用意されてない public static char toHighSurrogate(int codePoint) public static char toLowSurrogate(int codePoint) の実装のことです。よろしくお願いします。
SSH接続を行うアプリを作りたいんだけどjava.net.Socketを使えばできるかな? 最終的には携帯アプリとして作りたいからJavaなんです。
public static char[] toChars(int�codePoint) か?
>>567 つまりはデータソースでのセッション数を調整すればいいのではてことでは
server.xmlの設定を弄るとか
>>570 つ Jsch
つ Jakarta Commons VFS
574 :
デフォルトの名無しさん :2007/02/24(土) 00:35:23
javaでランダムの数字を取り出すときにMath.random 使っているのですが、これを任意の数字のランダムに する方法はどうすればいいのでしょうか? 0を含まない21までのランダムの数とか 数が重複しないランダムの数がほしいです。
>>572 見当違いのレス乙。
HibernateのSessionがクローズされていないのが原因。
>>574 重複しないようにしたいなら List に要素を突っ込んで Collections.shuffle(List) で
適当に並べ替えて先頭から取り出していけばいい。
>>576 早速有難うございます。乱数っていやあ数学だから
Mathとかだろうと勝手に思ってました。
重複しないというのは同じ数を引かないということで
使ったのですがこれは別処理で対処できますね。
package pac.imp1; public class TestProgram1 { private int var1; private int var2; public void setMethod() { this.var1 = 10; this.var2 = 25; } public void show() { int x = this.var1 + this.var2; System.out.println(x); }} package pac.imp2; import pac.imp1.*; public class TestProgram2 { public static void main(String[] args) { 〜〜〜〜 } } パッケージの違うpac.imp1のshowメソッドをpac.imp2の〜〜〜で呼び出して中身を表示させたいのですが どのように記述すればいいのでしょうか?
>>577 Jakarta Commons Langにもにたようなもんがあるよ
>>575 server.xmlでデータソースを設定したとき、
セッション最大保持数を設定できるからね。
直接はHibernateとは関係なくても、もしかしたらとおもって書いてみた
>>578 TestProgram1 t = new TestProgram1();
t.setMethod();
t.show();
読み込んだ画像Imageを任意の四角形に貼り付けたいのですが Image型で読み込んだ画像を、Shapeに変換することって出来ます? 四角形の画像を、台形に貼り付けるようなものなのですが
3行目訂正。。。 読み込んだ画像を、任意のShapeの形に変換 です。すみません
>>580 釣りか?
かき混ぜるのもいいかげんに汁。
これで混乱する奴も正直どうしようもないと思うが、
一応「初心者大歓迎」スレなので。
585 :
デフォルトの名無しさん :2007/02/24(土) 03:07:35
初めまして、本日からJavaを勉強し始めました。 コンパイルができません、Wikiも見たのですが 何が原因でエラーが起きているのかわかりません エラー:HelloWorld.javaが読み込めません エラー1個 と出ています。改善方法を教えてください
587 :
585 :2007/02/24(土) 03:22:55
このエラーの前は 'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 が出ていたのですが、それは改善できたのですが、これが全くわかりません。 他のJavaファイルも試したのですが同じエラーがでました。
>>587 拡張子がtxtなんじゃないか?
フォルダオプションから拡張子の表示に関するところチェックするといいよ
589 :
585 :2007/02/24(土) 03:35:57
>>588 さんレスありがとうございます。
Javaファイルになっているのですが読み込めないのです
C:\java\jdk1.5.0_11\bin\javac HelloWorld.java
そのjavaファイルが置いてある場所で実行してる? コマンドラインで dir って打ち込んで、 自分の書いたファイルがあるかどうか確認してごらん。
C:\java\jdk1.5.0_11\bin\javac -d C:\test\java C:\test\java\HelloWorld.java
593 :
585 :2007/02/24(土) 03:57:27
>>590 さんレスありがとうございます。
指定されたパスがありません とでてきますバージョンの所は今使っている07
に変えてみたのですが
>>591 さんレスありがとうございます。
このままコマンドプロンプトに打ち込めばいいんですよね?
ドライブCのボリュームラベルがありません と出てきます
その後にずらずらとファイルの一覧が表示されるでしょ? その中に自分の書いたjavaファイルはある? dir *.java と入れて再チェック。
595 :
585 :2007/02/24(土) 04:09:26
>>594 さんレスありがとうございます。
dir*.javaと入れると内部コマンド外部コマンド、、、、、認識されていません
とでます。dirだけ入れると0個のファイルって、、、、これってファイルが
ないってことですか?
int tmp = 0; int[] seat = new int[25]; BingoGameParts bgp = new BingoGameParts(); for(int i = 0; i < 25; i++) { tmp = bgp.setBingo(); //tmpに数字を入れる。 for(int j = 0; j < 25; j++) { if(tmp == seat[j]) { i = i -1; } else { seat[i] = tmp; } //for j } //for i BingoGamePartsでのsetBingo()の働きは public int setBingo() { tmp = (int)((Math.random()*49)+1); return tmp; } //setBingo() となっております。 seat[i]に一度使った数字を使いたくないのでチェックとしてfor jを作ったのですが Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1 at BingoGame.main(BingoGame.java:19) という例外が発生してしまいます。 seat[i]に同じ数字を使いたくない場合はどのようにしたらよろしいでしょうか。 どうかご教授願います。
dir スペース *.java だ。
iが0でjも0なとき何が起こるか分かる?
(BingoGame.java:19) この19行目ってどこ? その行の[]の中身は何?
600 :
585 :2007/02/24(土) 04:14:59
スペース入れてみました。 ファイルが見つかりません と出てきます
>>595 つまり、そのjavaファイルが存在するのとは別のディレクトリに座って
「“ここ”にある***.javaってファイルをコンパイルしろ」と言ってるんで
エラーが出るの。
自分で書いたjavaファイルが入っているフォルダをエクスプローラで
開いて、表示(V)→ツールバー(T)→アドレスバー(A)で
アドレスバーを表示して、まずそのファイルがどこにあるのか確認。
それが例えば c:\neko\kawaii だとしたら、コマンドラインに
xxx> c: (しー、コロン、と打ち込む)
xxx> cd \neko\kawaii (cd以下を打ち込む、スペースを忘れずに)
で、後はそのままコンパイルできるはず
ディレクトリって表現は分かりづらいのか、「フォルダ」でも同じ。 あと、コマンドプロンプトではマウスの右クリックから クリップボードの貼り付けができるんで覚えておくと便利かもしれない。 DOS時代はもう完全に過去のものなんだなあ……
mainメソッドから他のメソッドを繰り返し処理で呼び出す場合に 他のメソッドのif判定がtrueになった場合のみbreak;するってことはできませんか? もしそうするのならばifがtrueになったと知らせるbooleanの変数作って main側でif判定trueならばbreak;? boolean fuga = false; int count = 0; int hoge[] = new int[10]; for(i = 0; i < hoge.length; i++) { hogehoge(count); if(count == 5) { fuga = ture; } if(fuga == true) { break; } } public void hogehoge(int i) { if(i == 5) { System.out.println("あいうえお"); } else { i++; } サッと書いたから変かもしれないけどifの条件を満たす場合に 文字列を表示してループを抜けるという動作を求めている。 1個のメソッドにまとめた方が簡単にできるのかな?
>>603 良く分からないんだけど、要はforループの途中で
ある条件が満たされた場合にbreakしたいんでしょ?
なら
for(...)
{
if( 条件判定文 )
break;
}
で全く問題ないように思えるんだけど。
606 :
585 :2007/02/24(土) 04:41:27
>>601 さんありがとうございます。
自分で書いたのを書くと
ディレクトリ名が無効ですとでます
拾ってきたものでやると
ファイル名、ディレクトリ名またはボリュームラベルの
構文が間違ってますとでます
さすがにコマンドプロンプトでの操作はJavaを教える以前の 話だと思うんだが。
609 :
585 :2007/02/24(土) 04:49:27
自分のだと c: cdあっコロン入れるの忘れてる、、、すみません 同じエラーがでました c: cd: \Easy Java\HelloWorld.java ファイル名、ディレクトリ名、またはボリュームラベルの構文が 間違っています。 と出ます
2番目のコロンいらね 文字を大きく表示してよく読み直してみてくれ
611 :
585 :2007/02/24(土) 04:56:40
ディレクトリ名が無効です と出ます。
良く見てなかったけど、最後の"HelloWorld.java"って何よ? cdに指定するのはディレクトリ名だから(「どこ」にあるのか、と書いたよね) その場合なら cd \easy java でok 寝る
613 :
585 :2007/02/24(土) 05:10:21
>>612 さん明け方までありがとうございました。
C:\Easy Java> に変わりました。
ここでJavac HelloWorld.javaを入れてみたら
C:\Easy Java> に、、、、
起きたらでいいので教えてください、お願いします。
cd "C:\Easy Java" C:\java\jdk1.5.0_07\bin\javac HelloWorld.java C:\java\jdk1.5.0_07\bin\java HelloWorld この3行をコマンドプロンプトに貼り付ければそれで終わりだ
コマンドプロンプト使えない奴は出直してきて欲しいな。
そうやって壁を作るのはよくない スレ的に
コマンドプロンプトは糞だからcygterm使え とか更にハードル上げるのもよくない
じゃあ、鯖立ててtelnetで使う方向で。
エクスプローラで使えるコンパイララッパだれか作ってやれよ
>>619 実はラッパなんて要らない。
フォルダオプションで拡張子「java」に対するアクション「コンパイル」を追加し、
そのアクションでjavac.exeを実行するようにすれば、
右クリックのメニューからコンパイルが実行できる。
じゃあそれをダブルクリック一発で設定できるツールを作ってやってくれw
>>605 なぜわからないのだ。
顔文字使って誤魔化すな
EclipseかNetBeansインストールして使え
>>603 つーかhogehogeの中でi++してるのがきにくわねー
public void hogehoge(int i)を
public boolean hogehoge(final int i) {
if(i == 5) {
System.out.println("あいうえお");
return true;
}
return false;
}
にすれば
for(int i = 0; i < hoge.length; i++) {
if( hogehoge(count) ) {
break;
} else {
count++;
}
}
でいい。
>>624 hogehogeのなかでsysoutするのも気にくわねー
public boolean isHogehoge(final int i){
return (i == 5);
}
にすれば
for(int i = 0; i < hoge.length; i++){
if( isHogehoge(count)){//終了条件
System.out.println("あいうえお");//終了処理
break;
} else {
count++;
}
}
でよくね?
まぁこの場合は極端に処理が短いからインライン化したほうがいいと思うけど(メソッドに分けないでそのまま書く) 割るとしたらなるべく副作用のないように分けたほうがいいと思う。
作るものによってどこでカウントアップするとか出力するとかも変わるしね この質問の仕方が悪すぎる
JAVAの3Dアニメーションの特徴(長所、短所、問題点とか) が詳しく載ってあるサイトはありますか? ぐぐったんですけどピンとくるサイトがなくて...
>>628 ググッタときに最初辺りに出てくるJavaDriveとかいうのでも入門レベルには丁度良いと思うけどな
631 :
デフォルトの名無しさん :2007/02/24(土) 19:57:33
JWindowをGraphicsDevice.setFullScreenWindowでフルスクリーン表示する フルスクリーン画面上にJDialogをモーダル、setAlwaysOnTop(true)で表示する JWindowをrepaintするとJDialogが画面上から消えてしまうのですが、 JDialogを表示したままJWindowをrepaintする方法はありますでしょうか。 JPopupMenu.setDefaultLightWeightPopupEnabledとか関係ありますでしょうか。 また、GraphicsDevice.setFullScreenWindowに関連して「フルスクリーン排他モード」 と記述されてる文面をよく見受けますが フルスクリーン画面上にダイアログを表示するような使い方(排他的ではない)はそもそも誤りなのでしょうか。
632 :
デフォルトの名無しさん :2007/02/24(土) 21:07:40
JAVAはVISTAでも動く?
動く。
とりあえず動く、でいいだろさ
最新版Eclipseは問題なく動く
はろーわーるどが表示できるかどうか←とりあえず動くの定義
639 :
デフォルトの名無しさん :2007/02/24(土) 22:03:57
質問なのですが、Tomcat6になってinvokerの機能なくなりました? <!-- -->をlibのweb.xml文章から外すとTomcat自体が起動しなくなるのですが… まぁ、その機能が無くなったら無くなったで、classesの方のweb.xmlに追加すれば 良いだけですけどねw
640 :
デフォルトの名無しさん :2007/02/24(土) 22:14:48
すみません、×:libのweb.xml、○:confのweb.xmlの誤りです。
641 :
デフォルトの名無しさん :2007/02/24(土) 22:21:28
>>632 uchiの初期不良で返品したvistaPCは、GUIのプログラム実行すると
画面が点灯するだけでコンテナが出てきませんでした。今は旧PCに戻ってますが
6月くらいにまたvistaPCを買う予定なので同じ事が起きないと良いなorz
642 :
デフォルトの名無しさん :2007/02/24(土) 22:29:28
どこに書き込めばいいか分からなかったのでここに書き込みます。 例えば、ホームページを見ていて、ページ内にいくつか選択肢があるとします。 例として、自分のプロフィールを作るページがあるとします。 1項目目(@20〜24歳A25〜29歳B30〜35歳)、2項目目(@関東在住A関西在住B東北在住)、3項目目(男、女、どちらかにチェック) ここで、1項目目でBを選択、2項目目でAを選択、3項目目で男の方にスペースキーでチェックを入れる。ページ下部にある“次のページへ”をクリック。 このような作業を一瞬で行うことができるフリーソフトをご存知の方いませんか? 詳しい方いましたら教えてください。よろしくお願いします。
>>642 HTMLっていうソフトっていうかマークアップ言語があるよ^^
>>631 JWindowじゃなくてJFrame使えばいいんじゃない?
DATE型をyyyyddhhmmssみたいに指定した形式の文字列に したくて悩んでます。 リファレンスにはtoStringを使えばいいように書いてあるのですが 使い方がわかりません こうかなと思ったけどダメでした。 Date time = new Date(dt); String strTime = time.toString("yyyyddhhmmss"); SimpleDateFormatを使えばいいのですが、MEつかってるのでtext が使えない上、スレッドセーフでないようですので、あまり使えないかなと。
スレッドセーフでないならsynchronizedでくるめばいいじゃない。 とはいえ、使えない以上諦めて自作するしかない。
>>645 Date#toString()には引数を取る形のものはない。
DateFormatが使えないならjava.util.Calendarを使って、
Calendar cal = Calendar.getInstance();
cal.setTime(time);
で、Calendar#get(int field)を使って、年や月などをそれぞれ取ってきて、
一つのStringにまとめればいい。
648 :
631 :2007/02/24(土) 23:31:55
>>644 お返事ありがとうございます。
JFrameでも駄目でした。
コンストラクタで親として渡しても渡さなくても駄目でした。
>>639 Tomcat6っていつのまに出ていたんだ。
どこのconf? 書くコンテキスト毎の自作conf?
web.xmlはXDocletで自作できるからねえ・・・
>>642 それをファイルに保存した、サーバのDBなどに保存したい、
それともメールで配信したいだけなのか、
どういう選択肢を通かで、Javaを使うか、
それとも単なるsendmailを使うか、JavaScriptを使うかが決まってくるよ。
お願いします! 今までコマンドプロンプトでコンパイル&実行してたのですが、 先日JBuilderをインストールして以来、コマンドプロンプトが使えません。 コンパイルは上手くいきますが、実行時に下のエラーが出ます。 誰か教えてください。 Registry key 'Software\JavaSoft\Java Runtime Environ has value '1.4', but '1.5' is required. Error: could not find java.dll Error: could not find Java 2 Runtime Environment.
いやそういうことじゃないだろうなあ。 リクエストを飛ばすことが目的ならHttpClient、 どうしてもその操作をしなければならないならキーボードマクロだろう。
653 :
デフォルトの名無しさん :2007/02/25(日) 00:13:29
654 :
545 :2007/02/25(日) 00:13:45
>>563 ありがとうございました。
教えていただいたおかげでだいぶ作業が進みました。
ただ、今度は
Pattern pattern = Pattern.compile("(.+=\s*)(.+)");
の部分で
エスケープ文字が不正です。
とエラーがでてしまいます。
他のエラーは自分なりに色々とやって見て直せたのですが、
ここだけはなかなか直りせせん。
どなたか教えていただけると助かります。
×¥ ○¥¥
657 :
545 :2007/02/25(日) 00:19:44
>>655 ありがとうございます
うまく行きました
658 :
デフォルトの名無しさん :2007/02/25(日) 00:20:38
hibernate で、フィールドとして持っているクラス(自作クラス)をプライマリキーの一部にすることはできないのでしょうか? そもそも、1つでプライマリとなるフィールドを必ず持つべきなのでしょうか?
659 :
デフォルトの名無しさん :2007/02/25(日) 00:33:51
>>656 使い方がまだうまくいかないですが、そうです、これがやりたかったんです。
感動しました。また何かあったら教えてください。
ありがとうございます。
>>651 英語読めるか?
echo %PATH%とやってみ?
java -versionの結果はどうなる?
>>653 それなら、HttpUnitを使うという手がある・。
>>658 よくわからないのだが、
データベーススキーマはすでにできているのか?
それとも、Javadocのコメントやアノテーションを
もとにこれからスキーマを自動生成するのか?
どっちだ?
663 :
デフォルトの名無しさん :2007/02/25(日) 02:32:49
>>661 追加で聞きたいんですけど、要は653のページを開き(ここからスタート)、“送信!”がクリックされるまでを最短の時間で済ませたいのです。キーボードマクロとどちらが速いですか?
また、キーボードマクロに記録させた入力作業を、右クリックメニューに追加させるにはどうしたらよいでしょうか?
お詳しい方、教えてください。
それはあなたのプログラミングスキルによる。
JTやらの組織票に使うんだな。
666 :
デフォルトの名無しさん :2007/02/25(日) 08:32:58
>>649 Tomcatダウンロードした時についてくる、デフォルトの奴です。
>>642 その程度ならホームページビルダーでできるはず
てかスレ違いじゃね?
668 :
639 :2007/02/25(日) 10:48:00
すみません、<servlet-mapping>の方の<!-- -->消すの忘れてました...orz
667 どう考えても不正行為での利用としか思えない。 (アンケートのたぐいのカウントかせぎとか) 方法として ・ セッションチェックされてないなら、HTTP偽装して直接情報送信。 (HTTPヘッダ送信ツールならベクタでうpされてる) ・ Webのテスターツール入手して、自動操作 ・ PC自体の自動操作ツール(マクロ)入手して、自動操作 あ、とりあえず思いついたもの書いちゃった。不正いくない!
670 :
デフォルトの名無しさん :2007/02/25(日) 11:32:18
public void jButton1_actionPerformed(ActionEvent e) { jPanel1.setLayout(new BorderLayout()); GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration(); Canvas3D canvas = new Canvas3D(config); jPanel1.add("Center", canvas); BranchGroup scene = createSceneGraph(); SimpleUniverse universe = new SimpleUniverse(canvas); universe.getViewingPlatform().setNominalViewingTransform(); universe.addBranchGraph(scene); jPanel1.setVisible(true); } JAVA3Dでボタン押したら、jPanel1に3Dの画像を表示させたいだけなのですが これでボタンを押しても、表示されません 御指導お願いします
>>648 Owner 設定してれば消えるはずないんだけどなあ。
いったいどういう使い方をしたんだい?JFrame。
それとJDKのバージョンは?
完結した動くコード貼ってくれないなら見ただけで言うけど、 ・JPanel単独だとそれなりのサイズを占めて表示されているの? (背景に色を付けるとか枠を付けるとかすれば分かる) ・JPanelの上にAWTコンポネント貼っていいんだっけ? 気をつけてればいいのかな。 ・Canvas3Dってサイズは明示的に指定しなくていいんだっけ? ・視点は妥当? setNominalViewingTansformしてるから大丈夫と 思っていいのかな。
やさしいJavaが終わり、デザインパターンの本を買って読んでるのですが フィールドにpackageFieldやpublicField等があります 今までprivateを使って数字を入れていたりしていたので、フィールドの概念が分からなくなってきました
なにがわからなくなったのかわからない。
675 :
デフォルトの名無しさん :2007/02/25(日) 12:20:43
>>671 バージョン:jdk1.6 俺の環境だけかな
public class DialogTest extends JFrame implements Runnable, MouseListener {
private Thread repaintThread = null;
private JDialog dialog = null;
public DialogTest() {
setUndecorated(true);setSize(800, 600);
GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
DisplayMode fullMode = new DisplayMode(800, 600, device.getDisplayMode().getBitDepth(), device.getDisplayMode().getRefreshRate());
device.setFullScreenWindow(this);
device.setDisplayMode(fullMode);
addMouseListener(this);setVisible(true);
if (repaintThread == null) {
repaintThread = new Thread(this);
repaintThread.start();}
//dialog = new JDialog((Frame) this, "TEST", true, GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration());
dialog = new JDialog((Frame) this, "TEST", true);
dialog.setAlwaysOnTop(true);
dialog.setVisible(false);
dialog.setSize(100, 100); }
public void run() {
while (repaintThread != null) {
System.out.println("repaint");repaint();
try {Thread.sleep(10000);} catch (Exception e) {}}}
public static void main(String[] args) throws Exception {new DialogTest();}
public void mouseClicked(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {if (e.getButton() == MouseEvent.BUTTON3) {dialog.setVisible(true);}}}
>>675 なるほどねえ。
JFrameのContentPaneをJDesktopPaneにして、
JDialogの代わりにJInternalFrameでゴニョゴニョすれば上手くいくかもしれん。
>>676 解答ありがとうございます。
JDesktopPaneのフルスクリーン化ですか、難易度高そうですが色々と調査してみます。
>>677 フルスクリーンにするのはJDesktopPaneじゃなくてJFrameだよ。
JFrame#setContentPaneでJDesktopPaneを貼り付ければおけ。
>>673 privateで困ったときだけ他のフィールドを使えばいいと思う
>>670 JPanelを表示している
上位のJPanelやJFrameでは
ちゃんとsetVisible(true)にしている?
>>670 とおもったら、それ、なにも3D物体表示していないじゃないか。
そりゃJPanelの長方形の枠の中が真っ暗になって現れるだけだと思うよ。
そのソースコードをベースにして、これから、ブランチに物体などをぶら下げて
表示してゆくわけだから。
2つ以上のString型の内容を、数値(文字コード)的に大小の判定はどう書くんでしょう? String str1 = "全角1"; String str2 = "全角2"; とあった場合に、str2のほうがstr1より文字コードで大きいといったような。
compareTo()
>>681 シーングラフは、たぶんcreateSceneGraph()の中で組み立ててるんだと想像。
685 :
デフォルトの名無しさん :2007/02/25(日) 15:40:59
>>669 不正のたぐいではないです。誓います。大量に送信するわけではなく、一度だけ短時間で送信したいのです。
挙げていただいた3つの方法はhttpアドレスがあらかじめ分かっている場合のみ可能ですか?
入力するページは、その時間きっかりにアップされるのです。なので、その時間まではhttpアドレスが不明なんです。
スレ違いかもしれませんが、教えてください。よろしくお願いします。
686 :
デフォルトの名無しさん :2007/02/25(日) 15:50:35
stepmaniaというC++で書かれたゲームを携帯に移植したいと思っているのですがやってくれる人募集中!
>>678 返信ありがとうございます。
実現できました。
JDesktopPaneやJLayeredPane等のLAYERに対する認識の甘さを痛感しました。
688 :
デフォルトの名無しさん :2007/02/25(日) 16:01:59
フォルダの中にあるファイル名をひとつずつ取得したいのですが どのようにしたらいいでしょうか?
691 :
689 :2007/02/25(日) 17:01:25
>>690 ありがとうございます
質問なのですが、フォルダからファイル名を読み取るときには
File abc = new File("C:\\java");
のようにFileオブジェクトを作りますよね?
このとき C:\java のフォルダが何も入っていない状態に
書き換えられると思うのですが、どのようにしたら元からあった
ファイルを読み込めるのでしょうか?
692 :
デフォルトの名無しさん :2007/02/25(日) 17:17:06
BufferedReaderで入力された全角数字を半角数字に直したものを int 半角 に入れたいんですがどうすればいいんでしょう? 文字コードを使って変換するらしいんですが調べてもよくわかりません
>>691 かきかえられる? んなこたあない。
javaディレクトリがそこに元から存在すれば
ディレクトリとみなしてくれる。
isDirectory()で確認すればいい。
ファイル一覧はlist()みたいなので拾えたはず。
Javadoc嫁
servletでvelocityを使って、ある文字列の置換を行いたいんだけど、 Velocity.init($プロパティファイルのパス名)を使う場合、 webappの直下にvelocity.propertiesを置くしか無いですか? 出来たら他のパッケージの中にプロパティファイルを置きたいので、 相対パスでvelocity.propertiesの場所を指定したいのですが上手く行きません。 ちなみに Velocity.init($Propertiesオブジェクト)でも可能なので、 Properties prop; prop.load(new FileInputStream(プロパティファイルのパス名)); 上記の時に相対パスで取得出来るならそれでもかまいません。 教えて!エロイ人!
>>694 んなこたあない。
クラスパスに置く、libにおく、絶対パス指定するなどで
対策を取れる。
めんどうなら、ソースコードに直接書くこともできる。
init()に引数にPropertiesオブジェクトを指定できたような記憶がある。
そこでPropertiesをニューして、設定情報をJavaソースコード上に
記述してゆけばいい。
とにかく絶対パスなら確実。
クラスパス関係はJakartaはどれもこれも不安定だな。
java.util.ResourceBundleをクラスパスを起点とする相対パスで呼び出して
そこにvelocity.propertiesのパスを記述する。そうすれば楽だ。
それと、VelocityはLog4jに依存している。もしかするとLog4jのlog4j.propertiesのパスも
どこかで設定しないと逝けないかも知れない。だが今は考えなくて良い。
>>629-630 どうもありがとうございます
なんでヒットしなかったんでしょう、見落としたのかもしれません
これから読んできます
Javaのバイトコードなんだが、今、Jasminを使用して バイトコードレベルで高速化作業してるのだが、 iload, bipush,iorなどの各命令の実行速度が一律おなじなら 単純に命令数を減らせば速くなるけど・・・。 ちがうよな? 極端に遅い命令とか極端に早い命令とか知っていれば教えていただけないでしょうか?
VMにもよるだろうしVMの載ってる環境にもよるんじゃね?
699 :
デフォルトの名無しさん :2007/02/25(日) 23:26:48
メソッドの中にグローバルな変数を宣言したりクラスを生成したりするにはどうしたらいいですか?
700 :
デフォルトの名無しさん :2007/02/25(日) 23:28:29
できるわけねーだろ
>>699 グローバルっていうスコープはよくわからないが、
それは多分無理。
クラスは
new Object() {
private Object hoge = null;
public Object getHoge(){ return this.hoge; }
};
とか,、書けるには書けるけど…
Static修飾子の使い方がいまいち分からないのですが 例えばprivate int x;と定義した場合フィールドにアクセスするには this.xを使わないといけないけど private static int x;の場合は xのみでアクセス出来るということですか? staticはクラスメソッドだからクラス内であればアクセスは自由ということかな
thisなんかつけなくてもアクセスできるよ
>>702 class Sample {
private static int x = 0;
private int y = 0;
private void inc() {
x++;
y++;
}
public static void main(String[] args) {
Sample a = new Sample(), b = new Sample(), c = new Sample();
a.inc();
b.inc();
c.inc();
System.out.println("a.x = " + a.x + " / a.y = " + a.y);
System.out.println("b.x = " + b.x + " / b.y = " + b.y);
System.out.println("c.x = " + c.x + " / c.y = " + c.y);
}
コンパイルは通してない。
}
javax.script.ScriptContext#setWriter 関連の話だけど、 例えばスクリプトから System.out.println を呼び出したときにも、setWriter で設定した Writer に出力せなあかんの?
質問なのですが『名前 商品名』と入力が入ってきて 名前ごとにオブジェクトを作るにはどうしたらいいんでしょうか 例えば、山田という名前が入力されると山田さん専用のオブジェクトができ、以後山田さんが入力されても同じオブジェクトを使う そして新しく花田という名前が入ってくれば、花田さん専用のオブジェクトを作るようにしたいのですが よろしくお願いします。
session.setAttribute( "yamada", new Shouhin( "shouhinmei" ) );
>>706 必要ないと思うけど。
そーゆー事したい場合は、ユーザーが自前で Bindings 弄るべきなんじゃないかと思う。
整数部の四捨五入したいんだけどどうやるの?(150→200とか140→100とか) 小数点以下なら以下のでできるんだけど BigDecimal bd = new BigDecimal(String.valueOf(kazu)); double val = bd.setScale(1,BigDecimal.ROUND_HALF_UP).doubleValue(); setScale()の第一引数に-1とかやると怒られるし・・・教えてくだしあ
712 :
デフォルトの名無しさん :2007/02/26(月) 15:34:32
もの凄く初歩な質問なのですが、どなたか教えてください。 メソッドの引数で、どうしても分からないのですが、 この場合、n=num としていて、引数nはどういった働きをしているのでしょうか? int num; void setNum(int n){ num = n; System.out.println("番号は"+num+"です。"); }
>>711 1.4 までなら 150 を 100 で割って setScale で四捨五入してから 100 倍する、とか。
5.0 以降は setScale が負数も受け入れるようになったから、setScale でやる。
>>713 setScale 要らんね。divide に roundingMode あるし。
>>713-714 1.5からその方法が使えるのか・・・
開発環境が1.4だから100で割って100でかける方法使います。
ありがとう。百万の感謝を。
>>712 numに設定すべき値を外部から渡す働き。
numをそのうちどこかで使うのだろう。
(なお、printlnは実際に渡した値がnumに設定されたかを確認するための
ものと思われる)
フレームのXボタンを押すと閉じるプログラムなんですが、 ExitFrameのコンストラクタが呼ばれると8行目に実行が移ると思うのですが、 何故cl(5行目のprivate Closing〜〜)が実行されるのかがわかりません。お願いします import java.awt.*; import java.awt.event.*; class ExitFrame extends Frame{ private ClosingListener cl=new ClosingListener(); public ExitFrame(){ this.addWindowListener(cl); } } public static void main (String[]args){ ExitFrame ef=new ExitFrame(); ef.setSize(500,400); ef.setVisible(true); } ///////////////////////////////////// class ClosingListener extends WindowAdapter{ public void windowClosing(WindowEvent e){ System.exit(0); } }
>>717 何を知りたいのかが分からん。
addWindowListener で ClosingListener 渡してるんだから、
ウィンドウを閉じる操作をしてイベントが発生した場合に
ClosingListener のメソッドが呼ばれるのは当然と言えば当然だし……
>>718 わかりにくくてすいません・・。何でprivate ClosingListener cl=new ClosingListener(); が実行されるかわからないんです。
↑のがmainメソッドの内にあるのならわかるんですが、
この場合、いつ実行されてるのかわからなくて・・。
該当箇所だけ訳すと、 A: インスタンス初期化部の実行とインスタンス変数の初期化を行う。 B: コンストラクタの(スーパークラスのコンストラクタ呼び出しを覗く)残りの部分を実行する。 A:がB:より先に実行されているので、 B:の中ではclはnullではなく、A:で生成されたリスナを参照している。
>>719 ありがとうございます。英語苦手なんで後で読んでみます・・
>>721 private ClosingListener cl=new ClosingListener(); =インスタンス変数ってことなんでしょうか??
基本からちゃんと勉強しなさい
724 :
デフォルトの名無しさん :2007/02/26(月) 19:11:00
Java先生 質問! PCのパラレルポートで8bitデータの入出力を行う場合どうすれば良いのでしょうか?
public executeSql(Connection conn) { PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM HOGETBL WHERE ID=?"); pstmt.setString(1, "1001"); ・・・ } という処理があった時、pstmtにID「1001」が設定された状態のSQL文を取得したいのですが、どうすればよいですか? 目的はデバッグ用で、SQL文が期待された通りに生成されているか(無効な値が入っていないか)を、ログに保存して確認したいのです。 よろしくお願いします。
>>722 ClosingListener cl=newClosingListener(); に固定概念があるようだが、これもClosingという型の「変数」
java3Dのクラスパスの設定って一種類の方法しかありませんか?
>>728 何が分かってて何を知りたいのか分からない質問だな。
指定したURLにBufferedReaderで入力した文字を***.txtという風に出力したいのですが どのようにすればいいのでしょうか
URLの指すリソースには書けない。 サーバ側の書き出しプログラム(CGIとか)を用意してそいつに送りつけるしかない。 file://なら書けなくもないか。
iTextを使ったことがある方がいたら教えてください。 全文検索の対象にPDFを入れようとして、iTextを使ってテキストを抽出できないかと思ったのですが、 この場合どうすれば良いのでしょうか? PDFReaderを使うのかと思ったのですが、package privateなメソッドが多くてよく分からないのです。
>>734 Windowsないのでわからんのだが、extensionとしてJDKなりJREのext/以下に
インストールされるのならなにも設定しなくてもいいはず。
そうでないのなら、Eclipseの各プロジェクトのプロパティで設定してやる必要が
あると思う。
>>736 の補足。これ書いたら寝ます。
そもそも、認識されていないのならそもそもEclipse上でコンパイルすら
できない(未解決シンボルありまくり)はずなんだが、それはどうなのかな。
JREを構成しているライブラリは、Eclipseの各プロジェクトの
Java Build Path->Librariesのタブの中にあるJRE System Librariesとして
確認できる。認識されているExtensionはここに現れる。
あとはPreferences->Java->Installed JREsの中とか。
認識されてないならJava VMが複数入ってるとかいう可能性もあるな。
738 :
デフォルトの名無しさん :2007/02/27(火) 02:53:17
文系出身SEとして春から働く者です。 ただ今「やさしいJava」という本で独学しているのですが、 パッケージの所で行き詰っています。 クラスをパッケージに含める作業において、 まずパッケージ名と同じ(今回はpa)という名前をつけたフォルダを作成して、 そこにpaというパッケージ名をつけたプログラムを保存し、 javac ディレクトリ名(pa)ファイル名 と入力し、コンパイルすると本には書かれています。 しかし、その通りに実行しても「ファイルを読み込めません」というメッセージが出て、 先に進めません。どこが間違っているかを教えて頂けたら幸いです
741 :
デフォルトの名無しさん :2007/02/27(火) 03:16:57
>>740 ありがとうございます。
さっそく、実行してみます。
>>738 ディレクトリ名と書いているからUNIX系と決めつけるけどWindowsだったら適当に補完してくれい
とりあえずホームディレクトリ以下に
test/pa/Hoge.java
という感じでつくるとするとコンパイルは
javac -sourcepath ~/test pa/Hoge.java
実行は
java -classpath ~/test pa.Hoge
でいけるかと…
>>740 ぉぃぉぃ
ああ、あと、 (+) import java.applet.Applet; のところを展開。 j3daudio.jar, j3dcore.jar, j3dutils.jar, vecmath.jarすべて認識されているような ので、 import com.sun.j3d.utils.universe.SimpleUniverse; //たぶん で解決するんじゃないだろうか。 これは簡便のためのクラスなのでjavax.media.j3d以下にはないんだよね。
745 :
デフォルトの名無しさん :2007/02/27(火) 06:26:58
Swingを使ってGUIプログラム作ってるんですが、 本体ウィンドウにフォーカスがあたっていない状態で、 どっか設定したキー押下(複数キーの組み合わせでも可)で 本体にイベントを送ることは可能でしょうか? 相当調べても出来なかったので、可能ならヒントください(´・ω・`)
>>743-744 その通りでした、それを追加したらHelloUniverseは動きました
あと、他のjava3Dアプレットも動くようになりました
本当に助かります、ありがとうございました
748 :
639 :2007/02/27(火) 13:17:16
質問なのですがTomcat ver5.5のsetCharacterEncoding()を有効にするには conf/server.xmlのどこをどういじれば良いのでしょうか? ググって見たのですが、分かりませんでした。useBodyEncodingforURI="true" を追加することは分かるのですが… どうかご教授ください。
>>748 ぐぐるよりも先にTomcatのドキュメントを見ろよ
商品管理のシステムを今作っていて『日付の比較処理をしろ』と いわれたのですが比較?という感じでしてどうやったらいいのか がわかりません、なにかサンプルコードとかないでしょうか?
aDate.compareTo(anotherDate) とか、 aCalendar.setDate(aDate) aCalendar.before(anotherdate) aCalendar.after(anotherdate) とか。
すいません補足です、どういうものが比較になるのかもわからないので それを教えていただけたら幸いです。
753 :
748 :2007/02/27(火) 13:57:56
748ですが解決しました。アドバイスありがとうございます。
日付に対して比較というのは、 日付Aが日付Bより前の日なのか同じ日なのか後の日なのか を判定するということ。
>>752 てめえのところのシステムの要件なんか汁かボケ。
エスパーじゃないんだから。
てめえが書かなきゃわかるわけ無いだろ。
MySQLに接続できねぇ〜〜
でけたw
毎日4時間Javaの勉強(本とインターネットのみ)でやるとして プログラム設計書1本まともに書けるようになるのは何ヶ月くらい でみたほうがいいかな?
人それぞれ。基本知識もなくだらだらやっても時間は経っていくからね。 出来る奴は1ヶ月もありゃ十分。出来ない奴は何十年やっても無駄。
できるやつは1ヶ月で十分なのか… 設計書とかだとサンプルがないからどういうふうに 書いていけばいいのか検討がつかね。
素質もあるんだろうけど、基礎知識と参考資料の量・質が モノを言う気がするなあ。 プログラムが何かってことから始めて1ヶ月ってのは まずありえない(ぐらいにレア)だろうしね。
ColorConvertOpを使ってフルカラーをインデックスカラーに変換したいのですが、 以下のようなソースだと、あらかじめパレットを用意しておく必要がでてきてしまいます。 パレットを自動的に最適化してくれるような方法はないでしょうか? //パレット byte[] rs = {-1, 127, 0, 0}; byte[] gs = {-1, 0, 127, 0}; byte[] bs = {-1, 0, 0, 127}; IndexColorModel colormodel = new IndexColorModel(2, 4, rs, gs, bs); //一時的に使うイメージ BufferedImage tmpimg = new BufferedImage( orgimg.getWidth(), orgimg.getHeight(), BufferedImage.TYPE_BYTE_BINARY, colormodel); //変換 ColorConvertOp colconvop = new ColorConvertOp(null); colconvop.filter(orgimg, tmpimg);
質問します。入力ファイルのGET処理を行うようにと言われたのですが GETってHTTPメソッドですよね?ということはホームページを 取得しなければならないわけですがそれはどうやったらいいですか?
宿題の質問なら先生にしてこい
設計書 と言ったときに定型が無いのが今のこの業界の問題。 モノが作れるはずもない屑設計書でも設計書と言い張るヤツもいる。
何のために人間同士でやり取りしてるんだ 打ち合わせで補完しろ 一番世の中のためになるのは使えねえ設計書だし使えねえ人間だって言ってやることだが
>>766 やはり定型がないのですか。要は書いたまんまのとおりにやり
そのプログラムが動けばそれが"設計書"というわけなのですね。
どういう書き方であれ。
769 :
デフォルトの名無しさん :2007/02/27(火) 18:58:02
WEB-api
HTMLの表示にGeckoを使用するため、Webclient 2.0 Alpha 3.0 と Mozilla 1.7.12 をダウンロード・解凍し 下記のページを参考に各種設定を行いました。 tp://null.michikusa.jp/misc/webclient.html ディレクトリとビルドパスの設定は次のように行いました ・プロジェクト…C:\workspace\gecko\ ・Mozilla.exeのディレクトリ…C:\workspace\gecko\mozilla ・webclient.jarのパス…C:\workspace\gecko\mozilla ・VM引数の設定… -DJava.library.path=C:\workspace\gecko\mozilla;C:\workspace\gecko\mozilla\components -DBROWSER_BIN_DIR=C:\workspace\gecko\mozilla mozillaディレクトリの内容はmozilla-win32-1.7.12.zipを解凍して得られたフォルダに webclient_2_0_a3_win32.zipを解凍して得られたwebclient_2_0_a3_win32フォルダから webclient.jar、javadomjni.dll、webclient.dllをコピー、また\webclient_2_0_a3_win32\componentsの javadom.dllを、mozilla\componentsにコピーしたものです。 その後、テストとして同ページからSimpleBrowser.java(tp://null.michikusa.jp/misc/SimpleBrowser.java)を eclipse上で実行したところコンパイルは正常に行われるのですが、実行段階で java.lang.NoClassDefFoundError: Exception in thread "main" が表示されてしまいます。 ビルドパスの設定が間違っているのでしょうか。
基本設計と詳細設計(DBやら画面やらユースケースやら)は書くけど プログラム設計書って書いたことも見たこともないな。どういうことが書いてるの?
>>768 建築の世界だと、作り方が分かってもモノを組み上げなきゃ駄目だけど
ソフトウェアの世界で、書いたとおり作れば動く、というレベルのモノを作ると
それは、コード書く手間とほとんど変わらなくなってしまう
元々、建物を建てるよりコードを書く行為の敷居が低いわけだからね
だから建築の設計にも求められるセンスをソフトウェアの設計に持ち込むとすれば
それは、どれだけ少ない記述で何を作るかと言うことが明確に伝えられるか、だろうか?
>>771 実はオレも見たことがない。意外とソースコードが日本語で書かれているようなものかもw
773 :
745 :2007/02/27(火) 22:07:17
>>746 日本語の解説サイトはどうやら無いみたいですね…
でもCとDLLの知識をつければ出来そうな気はしますね!
早朝に迅速な回答ありがとうございました。やってみます。
イベントリスナを登録したいのですが、 どうすればいいですか? btnAdd.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnAddActionPerformed(evt); } }); とか入れたいのですが、うまくはいってくれません。 なにこれ? ちなみにこれは創るJavaからのソースです。 なんかいい方法ありますか? 他スレから誘導されました。 よろしくです。
XxxxListenerインターフェイスを実装したクラスまたは、 XxxxAdapterクラスを継承したクラス のインスタンスを作る。thisが該当インターフェイスを実装してもいい。 そのインスタンスを引数にして、イベントが発生するオブジェクトの adXxxxListerメソッドを呼ぶ。 言葉の意味が分からないなら背伸びしすぎ。
>>745 本体ウィンドウというのが良く分からないけど、KeyboardFocusManager とか??
子ダイアログにフォーカスがあたっているってこと?
ボタンを押すごとにテキストファイルから1行ずつ文字列を読み込むには どうすれば良いでしょうか? ボタンを押して1行目を読み込むまではできたんですが、2行目以降を どうやって読み込めば良いかわかりません。 よろしくお願いします。
>>777 イベントハンドラの中で毎回Reader作ってるだろ?
サブクラスのメソッドに、 スーパークラスのメソッドと名前&引数が同じで、 戻り値の型だけ違うものは作れないのでしょうか?
>>779 サブクラスを返すメソッドなら作れる。
これは、Genericsの導入の際に拡張された。
>>774 >うまくはいってくれません。
じゃ、なんのことだかわかんねぇよ!(w
しかたねぇからエスパー。
もしかしてNetBeansが自動生成したコードの部分に追加や修正を加えようとしてないか?
>>738 文系出身であることになぜにこだわるのか?
文系出身者は多いが、文系出身であることを
免罪符に甘えようという魂胆じゃなかろうな?
783 :
745 :2007/02/28(水) 08:56:42
>>776 今回作成中のプログラムではフレームを一つしか使わないのですが、
そいつのことです。うう、下手な説明…
子ダイアログにじゃなくて、そのjavaアプリ自体が
フォーカスを失っている状態時に、(デスクトップにフォーカス、IEにフォーカス、等)
キーボード操作でアプリにイベントを送りたいのです。(あるボタンを押させる等)
KeyboardFocusManager勉強してみます。返答ありがとうございます〜
784 :
745 :2007/02/28(水) 09:03:15
訂正 フォーカスを失っている状態じゃなくて、非アクティブ状態の方が 正しいですね。m(_ _)m
>>703 されと、つけたほうが見やすい。
だがstaticの場合は、クラス名.をつける
>>711 > 整数部の四捨五入したいんだけどどうやるの?(150→200とか140→100とか)
> 小数点以下なら以下のでできるんだけど
> double val = bd.setScale(1,BigDecimal.ROUND_HALF_UP).doubleValue();
ここキモイよ。MathContextとRoungingError使おうや。
せっかく列挙型使えるんだからさ
>>714 今ならroundingMode引数なんて
使わずMathContextを使うべし
789 :
デフォルトの名無しさん :2007/02/28(水) 13:43:03
Vector使うとエラーになるんだが、どうしたらいい?
>>789 使わない。コレで解決。
後はエスパーの登場を待つ。
やさしいJ活用編でVector使ってるんだけど、サンプルプログラムが動かんん。
Vectorなんていまだに使ってるやついるのか。 ArrayListにしておきなよ
794 :
デフォルトの名無しさん :2007/02/28(水) 14:10:30
やさすぃいJ活用編の8.3をArryListに修正したソースをうpしてください。fromのびたtoでんぱ
795 :
デフォルトの名無しさん :2007/02/28(水) 14:41:28
VectorでエラーになるソースならArrayListでも駄目だろう
くずたれ初心者です。 質問さしてください。 独習JAVAでJAVA勉強しています。 まず、catchの構文で(Exception e)の後 System.out.println("Exception: " + e);だったり e.printStackTrace()だったりするんですが、後者を使ってはいけない 時がどういう時なのか、わかりません。後者でも良いのでしょうか。 次に、ストリームに関してなのですが本の中ではバッファを使ったり しても、close()するのは一つしかクローズしてないんですが それでも問題は無いんでしょうか。 開けたストリームはクローズしないのはおかしいような気がして それぞれのストリームをクローズしてもエラーは出ないんですが 特に気にしなくても良いのでしょうか。 あと、RandomAccessFile("filename","r")の"r"は readonlyという事なのでしょうか、何の説明も無く例題で書かれて いましたが、一応c言語やってたので意味合いを同じととらえました。 あっていますでしょうか。 しょうもない質問だと思いますが、答えていただければ幸いです。
>>797 printStackTraceは例外発生時にスタックトレースまで見ることが必要なときに使う。
ストリームの最後の出口をcloseすればそれに繋がっているストリームは閉じられる。
rは読み取り専用の意味なので合っている。
801 :
デフォルトの名無しさん :2007/02/28(水) 20:02:21
>>801 1つめだけ
方法1 コンパイルオプションに -source 1.4 を付ける。
方法2 警告が出る箇所すべてに@SupressWarning("unchecked") というアノテーションを付ける。
方法3 全部generics対応に書き換える。
というかいまどきVectorなんか使うなよ。
803 :
745 :2007/02/28(水) 22:47:17
>>783 ごめん。アプリケーションがフォーカスをLOSTしている状態では、KeyboardFocusManagerは使えない。
私の知っている限り、jniでフック(キーボードフック)をしないと、駄目だと思う。
参考にならなくて、ごめん。
ありがとう。でも、 でけなかった(:D)| ̄|_ 練習なので、エラーでもスルーにします( ̄σ‥ ̄) ごめんなす
805 :
776 :2007/02/28(水) 22:58:59
ちなみに 801=804 だからね
807 :
777 :2007/02/28(水) 23:51:40
でけたwwwけどなんかソースコード汚ねぇorz
>>778 どうもありがとうございました。
808 :
745 :2007/03/01(木) 08:59:48
>>803 ,805
いえいえ、とんでもない。。一つ勉強になりました(`・ω・´)
キーボードフックとやらはかなりの荒業みたいですね。
完成までの道のりは通そうですが、とりあえず
>>746 さんの
jintellitypeを研究してみます〜
809 :
デフォルトの名無しさん :2007/03/01(木) 11:46:52
質問です。 テキストファイルから、正規表現を使ってマッチした文字列をグレップする方法を 教えてください
grep使えばいいんじゃね?
811 :
デフォルトの名無しさん :2007/03/01(木) 12:09:01
グレップ?といいますとライブラリにありますか? 探したんですが・・・
Linuxのコマンドだろ
1行1行正規表現でチェックしていけばいいんじゃない?
>>797 > くずたれ初心者です。
> 質問さしてください。
> 独習JAVAでJAVA勉強しています。
> まず、catchの構文で(Exception e)の後
> System.out.println("Exception: " + e);だったり
> e.printStackTrace()だったりするんですが、後者を使ってはいけない
> 時がどういう時なのか、わかりません。後者でも良いのでしょうか。
お客さんの鯖管理者にTomcatのエラーログを誤魔化したいとから
使っては逝けない
そうです。
かわりにcatchですぐにreturnでバグの証拠隠滅です
816 :
デフォルトの名無しさん :2007/03/01(木) 13:27:26
Javaでアプリを作ってるんだけど、プラグインの仕組みが用意してあって、 あとからサードパーティが好みのモジュールを開発して追加できるようになってます。 ただそのプラグイン側のコードには見せたくないパスワードを保管したファイルがあって、 モジュール側からはファイルへのアクセスを一切禁止したい。 どうすれば実現できますか? Javaのセキュリティマネージャ使えば可能?
ちょっと訂正 ×モジュール側からはファイルへのアクセスを一切禁止したい。 ○モジュール側からはそのパスワードファイルへのアクセスを一切禁止したい。
>>812 Linuxっていうか古来UNIXからあるファイル内文字列検索コマンド。
つうか、Javaでgrepしたければjava.util.regexかJakarta ORO。
>>815 そういうことする奴いるけど、
卑怯だと思うな
>>816 パスワードファイルの中身は、
暗号化済みのコードだけいれておけばいいんでない。
つうか、暗号認証方式は何よ?
>814 つ【>801】
>>818 > 日本語サイトはなぜかjava.netにある。
まだ日本語API仕様は正式リリース前のはず。
824 :
デフォルトの名無しさん :2007/03/01(木) 14:38:09
809です。 レス遅れてすいません。答えてくださった方々ありがとうございます。 で、正規表現を使って、java.util.regexのgroupメソッドでなんとか しようと思うのですが、正規表現で、 <a から始まり (ひとつ以上の文字列を含む) > </a>で終わる文字列 を表現したいのですが、教えていただけないでしょうか。 自分で作ってもどうもマッチしないので・・・
826 :
812 :2007/03/01(木) 14:40:36
>Linuxっていうか古来UNIXからあるファイル内文字列検索コマンド。 *BSD使いだな?
BSD使ったことあるけど、Solarisにもあるよ。
>>825 これって、翻訳しているのはSunの関係者とは限らない人なのか?
ということは、俺らでも参加できるのかな?
>>824 表現? つうか、まず最初にターゲットとする
文字列は何?
ただたんにアンカータグで囲むだけ?
予想では
http://で始まる文字列をアンカーで囲む ってことなんだろうけど、それなら@ITにサンプルがあったよ。
Java SolutionのJava Tipsだったかな?
>>822 >>801 //列名の取得
for(int i=1;i<=cnum;i ){
colname.addElement(rm.getColumnName(i).toString());//列数を保存
}
//行の取得
data=new Vector();
while(rs.next()){
Vector rowdata=new Vector();//1行分をのデータを保存するベクタです
for(int i=1;i<=cnum;i ){
rowdata.addElement(rs.getObject(i).toString());//各データを保存します
}
このfor文のインクリメントがものすごくきになる。
iがi++となっていないのはアップローダの問題?
ここんとこ、finallyでやるべきだと思うが・・・ //接続のクローズ rs.close(); st.close(); cn.close(); このように、 }catch (例外){ ... }finally { try{ if(rs != null) rs.close(); .... } catch (SQLException){ ... } }
DBの接続が本当にうまくいっているのか? エラーログや例外は何だ?
groupが突如登場しているのは、grepを勝手にgroupだと思った?
834 :
デフォルトの名無しさん :2007/03/01(木) 16:28:52
質問です。 JOptionPane.createInternalFrameでYES_NO_OPTION(ボタンが複数個存在するタイプ)の JInternalFrameを作成した場合 ・ボタンが押されたタイミング ・どのボタンが押されたのか 上記2点を判別する方法はどのように行えばいいのでしょうか。
>>821 そのアプリでは組み込み用のDBを使っていて、
プラグイン側からそのDBにたいしての更新や削除は禁止したいのです。
だからDBに権限の弱い読み取り専用のユーザアカウントを用意して、
プラグイン側にはその弱いアカウントのみを使用させようと思っています。
だからDBの管理者用のパスワードはプラグイン側から参照されてはならず、
だからそのパスワードを保管したファイルを読まれたくないわけです。
毎回アプリの使用者に尋ねる性質のパスワードではないので、
一度登録すれば次からは自動化したいです。
ハッシュ方式のパスワードは、
アプリが起動時にDBと接続するためのパスワードなので使えないと思うんです。
ハッシュコードを作る平文のパスワードをどこかに保管するしかないから。
可逆性の暗号を使ったとしても、結局もとに戻すキーが書かれたファイルが
読まれてしまえばそれまでだし。
プラグインには弱い権限のConecctionだけ公開するとかの方がいいんじゃない?
>>836 もちろんそれでもかまわないのだけど、DBはポートを開いてまちうけているので、
プラグインからも別にコネクションを作成してアクセスしようと思えばできてしまうのでは?
プラグイン開発者の善意にゆだねるというの手だけど・・・。
それで駄目ならパスワード隠したって意味無いじゃん。 何がしたいのかわかんなくなった。
>>838 んー、なんか俺って根本でまちがえてるのかな。
DBの平文パスワードを盗めば、
プラグイン側で勝手にコネクションを作ってDBにアクセスして、
削除・更新・登録ができてしまうと思うんだけど。
勝手にコネクションを作ることを禁止することは可能なの?
DBってJDBC経由?
JScrollPaneで、縦スクロールバーだけを使用する方法は無いでしょうか? 分かりにくいと思いますが、横スクロールバーは表示させずに、右端まで行ったら改行、という風にしたいのです。 回答お願いします。
>>841 パスワードとかはプラグインから手の届かないところに隠しちゃって、
Connection あたりを渡すだけにすればいいんじゃないの?
Connection を勝手に権限拡大して接続しなおすなんてことはできないから。
Statement を渡すとかすればもっと安全だろうけど。
>>843 プラグインから手のとどかないところがどこなのかが問題だなとおもって。
セキュリティを一切かけてなければプラグインのコードもシステムすべてのファイルやソケット等に
アクセスできてしまうから。
一見わかりにくくして隠すことはできるけど、そういうのは遅かれ早かれ破られてしまうし。
845 :
797 :2007/03/01(木) 19:07:35
846 :
デフォルトの名無しさん :2007/03/01(木) 21:05:31
へろーわーるどな段階で躓いてしまいました。 MySQLをJDBC経由で繋ごうとすると「java.sql.SQLException: Java does not support the MySQL character encoding encoding」とか出てくれます。 これはなんでしょう? ぐぐっても中国語のサイトが2件引っかかるだけです……。
847 :
846 :2007/03/01(木) 21:23:56
>>846 失礼しました。これだけじゃ何にも判りませんよね(^^;
動かしてるのはWindowsXP上です。Windows版の4.1.22を動かしています。
my.iniのdefault-character-set=utf8は「utf8」です
[mysql][mysqld]の両セクションとも確認しました。
使用しているドライバはmysql-connector-java-5.0.4-bin.jarです。
JDBCは次のようにしてコネクションを作っています。
Class.forName("com.mysql.jdbc.Driver");
Properties props = new Properties();
props.put("user", ユーザー名);
props.put("password", パスワード);
props.put("useUnicode", "true");
props.put("characterEncoding", "UTF8");
Connection cnn = DriverManager.getConnection("jdbc:mysql://ホスト名/スキーマ名", props);
テストデータは、mysqldumpで作ったデータをコマンドプロンプトから「mysql スキーマ名 < ダンプファイル名」で作成しました。
ダンプファイルの中身もUTF-8であることを確認しています。
848 :
デフォルトの名無しさん :2007/03/01(木) 21:30:33
BufferedReaderでストリームを開いて処理が終わったら、必ずclose()でストリームを 閉じなければ駄目なんでしょうか?もし閉じなければどういう影響がありますか?
>>847 UTF8じゃなくてUTF-8と指定してみたら?
>>847 >
>>846 > Connection cnn = DriverManager.getConnection("jdbc:mysql://ホスト名/スキーマ名", props);
ここんところを、
> Connection cnn = DriverManager.getConnection("jdbc:mysql://ホスト名/スキーマ名?useUnicode=true&円コーディング名=utf8", props);
とかやってたような記憶があるんだが....
蝦ちゃんの大ファンkoichiKのブログにこんなこと書いてあるんだが。
http://d.hatena.ne.jp/koichik/20060520 2006-05-20 (土)
■[Tech][Java] package-info.java 06:00
Maven2 の maven-javadoc-plugin を使って JavaDoc を生成してるのですが,package-info.java ファイルに
記述したパッケージコメントが出力されません...
実行中は
ソースファイル /s2jms/src/main/java/org/seasar/jms/core/package-info.java を読み込んでいます...
なんてログが出力されてるんですけどねぇ...
だいたい,日本語の JavaDoc のドキュメントに package-info.java の記述がないってどういう事?
英語の「What's New in Javadoc 5.0」−「Notable New Features」には6番目に package-info.java の説明が
あるのですが,日本語の「Javadoc 5.0 の新機能」−「主要な新機能」では @Deprecated Annotation と一緒
に抜け落ちてます.
なんで??
ちゃんと実装されてるんだよね??
別に package.html に書いてもいいんだけど,せっかくJava5 前提の S2JMS なんだから package-info.java
でやりたいなぁ.
うーみゅ...
なぜJava SE 5の日本語ドキュメントにはこの説明が抜けているのだろう?
Java SE 6の正式版になる前の日本語ドキュメントにはちゃんと書いてある。
どうでもいいけど、 java.util.concurrentの AtomicIntegerなどのアトミッククラスをSun日本法人の社員が 原子クラスと訳しているのは妥当なのか? どれもこれも「原子〜」という用語ばかりだが、 それで訳はあっているのか?
854 :
853 :2007/03/01(木) 23:18:43
パッケージ名は
java.util.concurrent.atomicだった。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/concurrent/atomic/package-summary.html AtomicBoolean 原子的な更新が可能な boolean 値。
AtomicInteger 原子的に更新可能な int 値です。
AtomicBoolean、AtomicInteger、AtomicLong、および AtomicReference
クラスのインスタンスは、それぞれ対応する型の単一の変数にアクセスお
よび更新を提供します。各クラスは、その型に対応したユーティリティメソ
ッドも提供します。たとえば、AtomicLong および AtomicInteger クラスは、
原子増分メソッドを提供します。あるアプリケーションが、次のように通し番
号を生成するとします。
この訳って、微妙な気がしてならないのだが・・・
原子クラス、原子更新、原子操作、原子増分ってナニよ?
>>853 シリアライズを直列化って訳したりしてるので、伝統のような。
英語力があって、なおかつその分野の知識を持ってる人を集めるのは結構大変なんでは?
Microsoft でも昔は LightWave3D を光波とか訳してたりしてたし。
856 :
853 :2007/03/01(木) 23:21:46
be updated atomically 原始的な更新 atomic updates 原子更新 atomic increment 原子増分 The atomic classes 原子クラス atomic operation 原子操作 うーむ・・・・・ これでいいのか?
普通、原子操作っていったらこっちのことだと思うが・・・
http://www-e2.ele.eng.osaka-u.ac.jp/jp/index.html 研究内容>研究紹介
当研究室では、「原子操作」をキーワードとして、原子を動かす要素技術・測定技術開発を行
っている。また、原子操作の基本原理となり得る、個々の原子に働く単原子間の結合力やエ
ネルギーを実空間で観察するための技術開発や物理現象の解明を行っており、工学、物理
学、化学といった複合領域的研究を行っている。海外や企業からの研究者も参画しており、
活発な研究活動を行っている。
原子操作を行うための要素(周辺)技術をして以下テーマに関する研究を行っている。
*原子・分子操作に関する研究
我々は世界に先駆けてNC-AFMを用いた原子・分子操作の研究を行っている。NC-AFMは
原子・分子操作を行う際に本質的である原子間力を測定できる点、絶縁体表面で原子操作
ができる点等の利点があるためボトムアップテクノロジーのコア技術になる。現在、Si(111),
Ge(111)表面でのNC-AFMを用いた単原子操作に世界で初めて成功しており、絶縁体表面
での原子操作も研究している。
プローブ顕微鏡を用いた原子操作は、通常極低温(例えば4K)状態で行われるのが常識で
あったが、我々の研究で室温でも行えることを実証した。具体的には、Ge(111)-c(2x8)表面上
のSn原子を用いて、室温中で文字を書くことに成功した。
研究項目
* 単原子の力学的垂直原子操作(原子の引き抜き、埋め込み)
* 単原子の水平原子操作
* 原子・分子操作の微細組み立てへの応用
【質問】 HTMLドキュメントを取得して、 その中から指定したタグの中身だけをファイルに書き出す。 っていうプログラムを作りたいんだけど、 どうやればパフォーマンス(速度)のいいものが作れるでしょうか。 (1)HTMLドキュメント取得(DataInputStreamにいれる) (2)BufferedReaderにいれる (3)readLine()して、StringBuiderにいれる (4)lastIndexOf()つかって抜き出す タグ<p></p>は1行におさまらないから、わざわざStringBuilderにいれて1行にしてます。 自分はこの方法しか知りません。もっといい方法ないでしょうか。
>>859 原子操作のことが気になって質問に答える気がしないが
わかることがあるとすると、RandomAccess
>>859 もひとつあった。
HTMLがXHTMLであればXMLパーサが使える。
SAXで高速化できるかも。
どうにもならないなら、readLine()タグを見つけたら
スタックに詰め込んで、次のタグが現れるまであれこれする
みたいに、「言語処理系」の本などを参考に
構文解析してゆくのがよかろうかと。
>>853 データベースにACID特性という言葉があるから直訳としては妥当だと思う。
Sunの日本語文書マニュアル・辞書は結構ガチガチなので、 個人の裁量や能力で決められない部分も多い。 「デプロイ」ではなく「配備」 「デプロイメントディスクリプタ」ではなく「配備記述子」 「リクエスト」ではなく「要求」 「レスポンス」ではなく「応答」 「ボディ」ではなく「本体」 「persistence」は「持続性」 ・・・なので、例えば「リクエストのボディ」は「要求の本体」と表記される。 かえってわかりにくいw
>>862 「データベースの分野でもACID特性のA(atomicity)を原子的と訳すから」
なら分かるんだが、862では意味不明。
865 :
デフォルトの名無しさん :2007/03/02(金) 00:23:12
JREのライセンスについて質問です。 通常JREは無料ダウンロードして使用することが出来ますが、 IBMのWebsphereなどに付属しているJREを複製して利用しても良いのでしょうか? コピーするのはJREのみで、テスト実行環境を作るために使います。 ご存知でしたらご教示願います。
>>859 javax.swing.text.html.parser.DocumentParser
html 的に正しくない場合も適当に解釈してくれる。
>>863 慣れちゃったせいもあるのか、その辺は気にならんなあ。
「原子」はどうかと思うけどw
英語のニュアンスからすると原子でいいのかも、とも思うけど
初めて見た人が意味わからんのが困るね。
アトミックコンポーネントって原子コンポーネントって翻訳してないよな?
869 :
859 :2007/03/02(金) 00:56:59
>>866 うがー APIみたけどまったく意味わからん
ググってもまったくでてこない
使用例plz
>>863 > 「デプロイ」ではなく「配備」
> 「デプロイメントディスクリプタ」ではなく「配備記述子」
> 「persistence」は「持続性」
永続性の間違いでは、とつっこんでみる。
> ・・・なので、例えば「リクエストのボディ」は「要求の本体」と表記される。
> かえってわかりにくいw
マジでわかりにくい。
UMLでもdeployment diagramは配置図と呼ぶけど、これはわかりやすいからいい。
けどアトミックをああ訳されると困る。
インターフェースやインターフェイスがインタフェースに、ディジタルがデジタルに
なるようにJISで統一されればいいんだけどねえ。
return valueを返り値ではなく戻り値と訳せるくらいのセンスは欲しい。
>>865 SunのJREのライセンスは、最新版はGPL2.0。
昔は厳しかったけど、今はライセンスが緩い。
IBMのは、IBMのほうで見てみて、ライセンス名が
書いてあると思う。CPLとか。
そもそも、JREをコピーしてどうするんだ?
アプリケーションと同梱させるにしても、そんなことせず
ブラウザからJava Web Start呼べるようサーバ側にMIME指定
しておけばいいだけじゃないか。
>>868 不可分コンポーネントのほうがいいとおもう。
いや、アトミックのほうがいい
>>842 自分も勉強中なんで、アレですが
JScrollPaneを使わずに
JScrollBarで垂直方向だけのスクロールバーを作れば
いいんじゃなかろうか
それか、改行でなくて折り返しでOKならば
JTextArea ta = new JTextArea();
ta.setLineWrap(true);
JScrollPane sp = new JScrollPane(ta);
とやれば、折り返しされて縦スクロールバーのみ表示されるよ
875 :
834 :2007/03/02(金) 10:06:14
Object[] opt = new Object[] { "OK", "CANCEL" }; JOptionPane optionPane = new JOptionPane("TEST1", JOptionPane.WARNING_MESSAGE); optionPane.setOptions(opt); JInternalFrame iFrame = optionPane.createInternalFrame(panel, "TEST1"); iFrame.setVisible(true); System.out.println("TEST1:" + optionPane.getValue()); JOptionPane pane = new JOptionPane("TEST2", JOptionPane.QUESTION_MESSAGE); pane.setOptions(opt); JDialog dialog = pane.createDialog(panel, "TEST2"); dialog.setVisible(true); System.out.println("TEST2:" + pane.getValue()); 実行結果は下記になります。 TEST1:uninitializedValue TEST2:OK TEST1の実行結果はなぜ「uninitializedValue」になるのでしょうか。
>>874 setLineWrapを使用することによって望んでいた動作ができました。
分かりやすい説明ありがとうございました。
877 :
834 :2007/03/02(金) 11:55:07
自己解決しました
>>851 Java SE 5ではSunは翻訳をはしょっていたのか?
879 :
デフォルトの名無しさん :2007/03/02(金) 14:20:26
質問です。 昨日正規表現について質問したものですが、 文字列を「抜き出したいとき」はどうすればいいでしょうか。 groupメソッドだと、その行全体を抜き出してしまうんです。
>>879 ?
つか、コードサンプルがネットに転がってるから
ググって嫁
>>880 clock()の中で行っている処理は別スレッドで行うようにして、
clock()はそのスレッドを起動してすぐに返るようにすればいいのかも。
もしswingコンポーネントを使っているのなら、
別スレッドからそれを変更するときは気をつけて。
でも、100ms周期で動作させるとかなら、
javax.swing.Timerやjava.util.Timerを使った方がスレッドを明示的に使用しないぶん楽かも。
884 :
デフォルトの名無しさん :2007/03/02(金) 15:17:17
質問です。 左側をスペースで埋めて全部で4桁とかで数字を表示するには どうしたらいいですか。 DecimalFormat df = new DecimalFormat(); df.applyLocalizedPattern( "0000" ); int a=2; System.out.println(df.format(a)); // 0002 これだと左側が0で埋まるんですが。
>>881 まさにSwingです。
FAQにも載っていたのですね、FAQは読んだつもりになっていました。失礼しました。
これから書き込みを参考に頑張ってみたいと思います。
本当にありがとうございました。
リロードのし損ない、失礼しました。
>>883 ありがとうございます。その方法も検討してみます。
桁じゃ誤解をうみますかね。4カラムです
>>884 System.out.printf("%4d%n", a);
889 :
884 :2007/03/02(金) 15:24:34
891 :
884 :2007/03/02(金) 15:30:49
J2SE 5.0からprintfあるようですが。 古い奴は泣けということでつね (´;ω;`) ありゃーとごぜーやすた
>>885 ごめん、まとめサイトにFAQとして記述されてはいないと思う。
「Swingに関するよくある質問」以上の意味は無いです。
>>891 無けりゃ作れよ。ここはム板だぞ。
public static void main(String[] args) {
int a=2;
System.out.println(format(a, 4));
}
private static String format(int a, int c) {
StringBuffer s = new StringBuffer();
s.append(a);
while (s.length() < c) s.insert(0, ' ');
return s.toString();
}
効率は気にしない。
895 :
884 :2007/03/02(金) 15:44:57
>>894 これは忝い。いやDecimalFormatみたいの当然あるかとオモッタサ
896 :
デフォルトの名無しさん :2007/03/02(金) 15:46:09
>>884 printfがないならDecimalFormatを使え
つうか、
>>884 はDecimalFormatの使い方を間違えて(ry
900 :
884 :2007/03/02(金) 15:54:41
死んだほうがいいのか俺!
つまりこういうことか。 new DecimalFormat( " " );
0の代わりに#を使えばいいのかと思ったんだが、試してみたら 「表示されない」であって「空白になる」ではなかった。
DecimalFormatには0パディングはあっても空白パディングはない
やっぱそうだよな。以前試した時の記憶と違うから 俺も死なないとダメなのかと思った。
907 :
906 :2007/03/02(金) 17:13:57
あ、ゴメンやっぱりしてくれない
とりあえず0で埋めてから 0で始まる部分だけスペースにreplaceすればいい 正規表現でどうにかなるだろ
String text = " " + a; System.out.println(text.substring(text.length() - 4, text.length());
正規表現では難しいんじゃない? ベタに書いた方が無駄な時間費やさないで済みそう。 ・先頭から始まる連続する0の列 ・ただし全て0の場合は末尾の0は対象外 をマッチされるのは良いとして、 マッチした長さに応じて置換する方法を調べてるうちに (そもそもあるのか?)ベタ書きコードが完成してる。
俺も
>>909 するけどな。
BASICでMID関数かRIGHT関数使って20年前からコレでやってる。
RIGHT$( " "+A$, 4 )か?
0paddingもコレかな。
912 :
デフォルトの名無しさん :2007/03/02(金) 19:47:27
Test(String str){ char[] ts = str.toCharArray(); } strには「abcde」と入ってる この場合ts[0]に入ってるのは「a」?「e」?それとも違う文字? 誰か教えてください
913 :
912 :2007/03/02(金) 19:52:15
事故解決しました 「a」から順に入っていく、で合ってるよね
あってる
>>914 最近、10h台ではなくなったと言っておく
最近、Javaの勉強がはかどらない… おやすみ}(:D)| ̄|_
D:\owner>java -version Error occurred during initialization of VM java.lang.ClassNotFoundException: error in opening JAR file C:\Program Files\Jav a\jre1.6.0\lib\rt.jar at java.nio.charset.Charset.probeExtendedProvider(Unknown Source) at java.nio.charset.Charset.lookupExtendedCharset(Unknown Source) at java.nio.charset.Charset.lookup2(Unknown Source) at java.nio.charset.Charset.lookup(Unknown Source) at java.nio.charset.Charset.isSupported(Unknown Source) at java.lang.System.initProperties(Native Method) at java.lang.System.initializeSystemClass(Unknown Source) え〜っと……俺は何をやればいいんだ? 一応、c:\Program Files\Java\jre1.6.0\lib\rt.jar は存在してる。 今日、なぜか Jay と Jode が OutOfMemoryError 出しまくって JVM が dump 吐いてる。 何すりゃ良いんだろう……。
rt.jarは壊れてないか? もしjdkを入れているんだったらそっちのバンドルjreが動くか確認してみようか D:\>C:\Program?Files\Java\jdk1.6.0\bin\java -version
>"c:\Java\jdk1.6.0\bin\java.exe" -version java version "1.6.0" Java(TM) SE Runtime Environment (build 1.6.0-b105) Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing) >"c:\Program Files\Java\jre1.6.0\bin\java.exe" -version java version "1.6.0" Java(TM) SE Runtime Environment (build 1.6.0-b105) Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing) ……今は動く。何だこの不安定さは……。 ちょっとメモリチェックしてくる。物理的にメモリモジュール壊れてそうな雰囲気がする。
>>918 > ???at?java.nio.charset.Charset.probeExtendedProvider(Unknown?Source)
charset.jar が無いとか、壊れてるとか。
>>916 10時まで起きていられなくなった?
んれとも10代じゃなくなった?
そもそも0歳のころからプログラミングなんてできんだろ
>>920 Windows再起動で直る可能性があるぞ。
Eclipse起動するときに、突然ワークベンチが終了して
例外出まくったから何なのかと思ったら
アプリを沢山起動しているのが原因だった。
>>921 >>923 thx
一応再起動してエラー無し。メモリもHDDも異常無しでした。
やっぱり長いこと OS 立ち上げっぱなしだと、変なことって起きるもんなんですね……。
変なことですましたらこの先、暗いな (:D)| ̄|_
リソース不足
>>927 まあこのスレは仕方ないかな・・・
かといって0xと書いたのではあまりにわざとらしいので・・・・
こんばんはこんばんは! ぼく質問厨 HTMLDocumentを取得するっていうプログラムを書いてみたんだけど 会社では使えないみたいなんだ プロ串が関係あるのかな? 教えてエロい人
>>922 >>927 結局16進数か。
プランク定数かとも思ったじゃないか。
30過ぎたばかりだってだけだろ。
hなんて使ってたら20進数の17と間違えるじゃないか。
20h歳= 2 * 20^2 + 0 * 20^1 + 17 * 20^0 = 97歳 んなわけねえなw
いずれにしても、10hでなくなったということは(10)_16を超えたということで
小学生の頃からプログラミングをやっていたってことか。
Windowsも3.1やMSDOSの頃の時代だったというのに
当時の環境としては随分と恵まれているんだな。
>>931 使えないって、実際に使ってみてどんなエラーが
でたのかわからんと答えられない
>>924 もういちどjava -versionとやっても変化がなかったのか?
937 :
931 :2007/03/03(土) 03:22:14
>>933 実行後10秒くらいなにもおきなくて、その後エラーがでた
たしか、タイムアウトエラーみたいのだったと思う
>>937 思うじゃわからない。
そもそも、pingは通るのか?
Jakarta Commons HttpClientを使ったのか?
この間、 RAD v6 で EJB での開発をしてたんだけど、 エラーが出たとき、スタックトレースで、自分で書いたコードの行数がでなかったんだよね。 これって、Javassist とか Aspect とか DI とかの副作用?
>>940 -g:none オプションをつけて javac すると行番号が出ない。
>>941 表示したいページは社内のブラウザから直接見ることができるのか?
ユーザエージェントがIEじゃないと見られないのとかじゃないよな?
表示したいページのHTMLが膨大過ぎて読み切れないとかじゃないよな?
とりあえず軽いページや
ローカルのページでは試してみたか?
たとえば、 file://で始まるページや
Apacheを入れて
http://localhost:8080でアクセスするとか
にしてもやってることが妙だ。 readerでHTMLを読み込んだら while()文で 即座にwriterに書き出すようにすればいいのに、 一旦全部StringBuilderに書き出してから writerに書いている。ここが無駄すぎ。 それにWriterのほうもBufferedWriter使うべき
ど素人質問です・・・ Jadなどのプログラムを使うとjavaのプログラムを逆コンパイルできるそうですが、 逆コンパイルを出来なくするようにjavaのプログラムを作ることは出来ますか?
出来ないので普通は難読化で我慢。
948 :
941 :2007/03/03(土) 21:53:59
>>944 ブラウザからは見れます
ただし、ブラウザ上でプロ串の設定をしています
また、社内のWiki(LAN内)のHTMLは問題なく取得することができます
>>948 System.setProperty("http.proxyHost", "プロクシサーバのホスト名");
System.setProperty("http.proxyPort", "ポート");
とか
java -Dhttp.proxyHost=プロクシサーバのホスト名 -Dhttp.proxyPort=ポート メインクラス名
とかしてみれば?
>>948 もしくは jdk1.5以降なら、openConnection 時に java.net.Proxy のインスタンスを渡すとか。
951 :
デフォルトの名無しさん :2007/03/04(日) 00:46:02
StreamTokenizerで、 tokenizer.resetSyntax(); ... tokenizer.wordChars('-', '-'); みたいな感じでtokenizerを初期化しているのですが、 先頭の"-"を文字列の先頭文字として扱ってくれません。 マニュアルによると、文字は複数の属性を持つことができると 書いてあるので、'-'が通常文字と、文字列構成文字の両方の 属性がついてしまっているのが原因なんじゃないかなぁと 思ってはいるのですが、解決策がわかりません。 どうやったら"-"を文字列の先頭文字として認識させることが できるのでしょうか。 よろしくお願いします。
952 :
951 :2007/03/04(日) 02:22:08
少し進展?しました。 どうやら tokenizer.parseNumbers(); を追加すると、'-'を文字列の先頭文字として 認識できないことがわかりました。 tokenizer.parseNumbers(); を追加した状態で'-'を文字列の先頭文字とすることは できないのでしょうか? よろしくお願いします。
API ドキュメントを見る限り無理っぽいが。
まあ仕組み考えたらparseNumbers使ったら-が文字なのかマイナスを表すのか分からなくなるから無理だわな 何がしたいの? javaCCで字句解析機吐くか自作すればいい。トークナイザ使う必要もなさそうな気がする
955 :
846 :2007/03/04(日) 06:10:43
>>849 >>850 お返事が遅くなって申し訳ありません。
どちらも特に変化無く、物は試しとユーザーを「sa」にしたらコネクション作れました。
で、ユーザー名を元に戻すと「Access denied for user」。
ユーザー名もパスワードもコピペで作ってるんだけどなぁ……。
ちなみにホスト名は「localhost」になっているので、他のサーバにアクセスしにいったりはしていないようです。
うーむ、なぜだろう……。
はじめまして 通信ソフトを作っていて、文字のやりとりだけでなくzipファイルなどのやりとりもできるようにしようと思いつき、送るストリームの先頭にタグのようなものを付けて区別しようと思いました。 しかしInputStreamなどからまずタグを取り出すと言う操作のしかたがわかりません。 タグはStringで持たせようと思っています。 どうか教えていただけないでしょうか。
プロトコルって知ってるか?
958 :
956 :2007/03/04(日) 10:07:31
>>957 一応少しはわかっているつもりです。
今回はSocketを使って作っておいて、後にP2P化しようと思っているので
見当違いなことをいっているのなら指摘してもらえるとありがたいです。
>>958 SocketとP2Pは直行する概念だと思うんだが・・・
だいぶ「つもり」のようだなぁ・・・
ストリームを送る、という言葉がちょっと違和感ある
JavaのStreamインターフェースとは別の概念で使ってるよな?
960 :
956 :2007/03/04(日) 10:30:34
>>959 そうですか・・・(´・ω・`)
将来的にはJxtaに移行したいなと思っていますが、今は標準のSocketを使うつもりです。
ストリームというのはあくまでもSocketからgetInputStreamなどで処理しないといけない(?)と思っているので、
ソフトのなかでInputStreamを使うということです。
朝からすみません
そんな状態でこんなところで質問してないで、本でも読んで勉強する方が早いぜ。 近所の本屋に行くとかamazonあたりで探すとかしてみれ。
963 :
956 :2007/03/04(日) 10:52:14
>>961 たしかにそうですね。
本を探してみます。返事をしてくれた方がたありがとうございました。
964 :
デフォルトの名無しさん :2007/03/04(日) 11:20:01
>>953 ,954
お返事ありがとうございます。
・parseNumbersを指定しても"-"単体では通常文字として認識すること
・文字は複数の属性(通常、文字列、数値構成文字等)をもてること
から何とかしてくれても良さそうな気もするのですが、
現状の実装ではどうしようもなさそうですね。。。
>>952 面倒だからJakarta OROかjava.util.regex使えよ
>>955 WindowsXPで使用しているアカウントが
関係あったりしないよな。
my.iniなどの設定は大丈夫かね?
SQLのgrantでちゃんと権限与えてる金?
>>956 通信ソフトってことはTera TermやPuttyのような
ソフトのことを言うのだな?
だが、そういうの(ファイル転送)って普通、FTPでやるもんじゃないのか?
FFFTPやWinScpのようなソフトウェアをJavaで自作する、みたいな。
もしそういうことであれば、Jakarta Commons FTPやJakarta Commons VFS, Jschを
使えば簡単にできるとは思う。
968 :
956 :2007/03/04(日) 15:09:54
>>967 返答ありがとうございます。
今回作ろうとしているのは、Socketを使って中央サーバーを持たないチャットをつくり、
その拡張機能としてzipなどのいろいろな形式のファイルも送れるようにしたいと思っています。
それで今、送るbyte列の先頭にファイルの種類と識別文字を付けて送り、その識別文字を使ってファイルの種類の文字列を取得して、その文字列によって残りのbyte列からファイルを取り出すと言う操作を作ろうとしているのですが、
どのようにしてファイルを取り出せば良いのかわかりません。
どうか教えていただけないでしょうか。
969 :
デフォルトの名無しさん :2007/03/04(日) 15:35:37
>>965 そうですね。
parseNumbersを有効にせずに、すべて文字列として取得した後に
regexで数字を取り出すことにしてみます。
ありがとうございました。
>>968 何というか、その流すデータのフォーマットを考えるところから
そのアプリケーションを作る、という作業だと思うんだが・・・
そういう意味で、
>>957 はプロトコルって言ってるんだろうけど
それが理解できないのは辛いんじゃないか?
個人的には、Streamの上に、ObjectStreamを乗せて
通信データのキャリアオブジェクトを流す、
それが分かりやすいかな、と。相手がJava限定なら。
か、XMLEncoder,Decoderと組み合わせて、XMLベースで流すか。
バイト列単位のフォーマットは、扱いが難しいよ、
せっかくパケットの分割集約なんかはTCP層がやってくれるんだから
それはやらなくていいと思う
971 :
956 :2007/03/04(日) 16:48:34
>>970 取り合えずここのアドバイスがわかるようになるまで勉強します。
皆さんどうもありがとうございました。
972 :
デフォルトの名無しさん :2007/03/04(日) 17:20:40
num = str[i] - '0'; ↑'0'を引いて何してるんデスカ?
>>972 全角数字一文字から 10進数の一桁 に変換してるとか。
974 :
デフォルトの名無しさん :2007/03/04(日) 17:31:38
>>968 結局P2Pの通信ソフトにするのか、
それじゃFTPとかSSHとかtelnetとか
関係ないな。
サーバ介さずあくまでP2Pにこだわるんだな?
それならSOBAはどうだろう? EclipseでもSobalipseというのがあって
Eclipseスレに作者が直接書き込んでいたこともあったな。
だがあとからはSobaをつかわなくなったとか。
>>970 それは、P2Pでもできるのか。
P2Pでやりたいといってるようだから、どうしても、JXTAが頭から離れない。
XMLEncoderの説明までするなら、キーワードRMIも出してもいいような気がする。
つうか、XML垂れ流しだとファイル丸見えでは? Serializableで少しでも見づらくしてもいいのでわ
と思ってみた。
javax.mailを使用してメール送信したいんですが、 エラーになって送信できません。 エラーはSMTPの応答コード421のサービスが利用できない旨のエラー。 送信に使用するアカウントが生きていることは確認してます。 で、ここから質問なんですが、 OSがLinuxの場合、OSでなんらかの定義(メールやSMTP関係、25番ポート開放)をしていないと エラーになるものなのでしょうか?
>>975 暗号化はまずは切り離して考えた方がいいと思うぞ。
>>976 そのマシンから、telnet でSMTPサーバの25番ポートを叩いて
SMTP直接手打ちで問題が出ないかをチェックした方がいい
>>977 telnetでエラーがでてます。
421 Sorry, you must log in before using this server.
ここのサーバーはpop before smtpらしいですが
関係あるのかな・・・。
980 :
デフォルトの名無しさん :2007/03/04(日) 21:20:51
pop before smtpだからエラーになってるんですか。 コア部分は他人が作ったクラスを使用しているので、 対応してなかったんだと思います。 とりあえず自作するか、修正してもらうかはまた決めます。 ありがとうございましたorz
どうしてもつくれないアルゴリズムがあるので助けてください 1円〜999円のお買い物をするときに はらう硬貨の枚数とお釣りの硬貨の枚数の和が最小になる払いかたで 払う金額と持っている硬貨枚数がいかなるときでも対応できるアルゴリズムがわかりません 1000円札は1枚は持っています 硬貨は1.5.10.50.100.500です。お札は1000のみです すみませんマジお願いします
983 :
デフォルトの名無しさん :2007/03/04(日) 22:44:13
>>982 宿題なら宿題スレに池
宿題スレで昔見たことあるきがするが
>>982 その程度なら全探索空間調べても問題なさそうな気がするが。
>>982 Javaである必要性が明記されてないからスルー
>>982 小さいコインから使っていく
そのときその次のコインの倍数になるとこまで小さいコインがあるかどうかがポイント
>>976 sendmailやmailコマンドでメール送信できるのか
試してみたか?
Javaのバージョンが古いと動かないこともある。
1.4だったJavaを Java 5にアップグレードしたらJava Mailの
送信に成功したことがある。
>>982 オサイフケータイを使えば硬貨枚数は最小になる。
989 :
デフォルトの名無しさん :2007/03/04(日) 23:40:14
万引きしても(ry
わからなさそうなので全探索します
/ / \ ____/_______/_ _ _ _ _ _ ヽー―ヽ______ | ̄|| JAVA質問・相談99 | | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄i二|| || ̄ ̄ ̄ ̄|| ̄ ̄ ̄ ̄ ̄. :┌|:| || ̄|| | ̄ || || || ̄|||.______| ̄| ̄| ̄| ̄|i二|| [|| || [:]| | || || | ||._.||._.|| |||.| ̄|| | |_|_|_|_|i二|| || ∩_∩|||. .: | | || || | || .|| |||.| || | | .| |.i二|| || (´ー.`|||\. .: | | || || | || .|| |||.| || | | .| | | || ⊆⊇⊂|||| \. ; | | || || |__||_____ ||_|||.|_|| | |二二 |二二| | |二二:二二二二:二二二ニニ| || ||  ̄ ̄ ̄ ̄ ̄ ̄ | | |  ̄ ̄ ̄ ̄ ̄ | | | || || || /⌒.∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |―――\/――――‐.|― || || || || . (´∀.` )< みなさん、迎えに来ましたよ。 [|口口 ┌―┐ 口口| [] || || || .|||:0( ) \_______________________ |二口二└―┘二二二口二ニ|| ||_||__||| | | | |_ | | _||| : || _/  ̄ ̄ ̄ ̄ ̄ゝ_ゝノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ゝ_ゝ(_(__) ̄ ̄ ̄ ̄ゝ_ゝノ ̄
やだやだ98がいいんだい
98 → 98SE → ME
銀河鉄道999だろ
☆ チン マチクタビレタ〜 マチクタビレタ〜 ☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ヽ ___\(\・∀・) < 新スレまだ〜? \_/⊂ ⊂_ ) \_____________ / ̄ ̄ ̄ ̄ ̄ ̄ /| | ̄ ̄ ̄ ̄ ̄ ̄ ̄| | | D B |/
楳
うめ
Javaありがとう!!
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。