【初心者】Java質問・相談スレッド108【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/11/07(水) 22:39:09JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc10.2ch.net/hp/
過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
前スレッド
【初心者】Java質問・相談スレッド107【大歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1192666106/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝のう存じます。
次スレは>>980あたりで。
0153デフォルトの名無しさん
2007/11/10(土) 16:06:060154デフォルトの名無しさん
2007/11/10(土) 16:15:52それをしたら枠の中で改行してしまいました。
改行に合わせて枠が広がるようにしたいんですけど、どこを弄ったらできるのか……。
0155デフォルトの名無しさん
2007/11/10(土) 18:31:30JScrollPaneにJTextArea貼ったようなTableCellRenderer作るってのはダメ??
0156デフォルトの名無しさん
2007/11/10(土) 18:47:370157デフォルトの名無しさん
2007/11/10(土) 19:13:30明示する以外の目的はない。これを見た目以外同じと表現するのはまぁかまわないだろう。
それ以外の例外は、throws 宣言していないと throw 出来ない、サブクラスでオーバーライド
する時に throw 出来る例外を勝手に追加できない、などの制約が出てくるので、見た目以外
同じというのは間違い。
0158デフォルトの名無しさん
2007/11/10(土) 19:15:000159デフォルトの名無しさん
2007/11/10(土) 19:15:58あやうくhttp://www5c.biglobe.ne.jp/~ecb/java/11_06.htmlの
ホームページにだまされるところでした。
0160デフォルトの名無しさん
2007/11/10(土) 19:25:40それはまさに >>157 の上 2 行の意図でそう書いていると思う。
0161デフォルトの名無しさん
2007/11/10(土) 19:52:37追加できるってことですか?
0162デフォルトの名無しさん
2007/11/10(土) 20:01:17スーパークラスで throws 宣言されている例外のサブクラス以外は、オーバーライド先で
throw できない (RuntimeException/Error除く)。
public class A{
public void hoge() throws IOException{…}
}
public class B extends A{
public void hoge() throws SocketException{…} // ←OK
}
public class C extends A{
public void hoge() throws SQLException{…} // ←コンパイルエラー
}
0163デフォルトの名無しさん
2007/11/10(土) 20:22:45あやうくhttp://www5c.biglobe.ne.jp/~ecb/java/11_05.htmlの
ホームページにだまされるところでした。
0164デフォルトの名無しさん
2007/11/10(土) 20:24:480165デフォルトの名無しさん
2007/11/10(土) 20:27:06べつにおかしなこと書いて無い気がするが
0166デフォルトの名無しさん
2007/11/10(土) 20:30:21AWT の Label クラスはそんなことでけまへん。
編集不可/スクロール不可の設定した TextArea 使うとか、GridLayout で Label を縦に並べるとか、
カスタムで作るとかしてください。
0167デフォルトの名無しさん
2007/11/10(土) 20:31:52これをみてもおかしくないというのか?
0168デフォルトの名無しさん
2007/11/10(土) 20:32:24解りました。ありがとうございます。
0169デフォルトの名無しさん
2007/11/10(土) 20:35:320170デフォルトの名無しさん
2007/11/10(土) 20:35:59>モーニング娘。の中で1番目にかわいいのは後藤真紀だと思います
言語の解説サイト作ってる人ってそういうのが多い気がする
0171デフォルトの名無しさん
2007/11/10(土) 20:50:290172デフォルトの名無しさん
2007/11/10(土) 21:17:52インタフェース Iterator
は手動でIteratorインターフェイスをタイピングしたものと同じものですか?
0173デフォルトの名無しさん
2007/11/10(土) 21:23:030174デフォルトの名無しさん
2007/11/10(土) 21:26:56>手動でIteratorインターフェイスをタイピングしたもの
って何?
interface OreOreIterator {
boolean hasNext();
Object next();
void remove();
}
みたいなやつのこと?
0175デフォルトの名無しさん
2007/11/10(土) 21:28:31それのことです
0176デフォルトの名無しさん
2007/11/10(土) 21:30:25とりあえずいえる事は、まったく互換性はないよ
0177デフォルトの名無しさん
2007/11/10(土) 21:51:59int returnArray[][][] = new int[copy.length][][];
for(int k=0; k<copy.length; k++){
returnArray[k] = new int[copy[k].length][];
for(int j=0; j<copy[k].length; j++){
returnArray[k][j] = new int[copy[j].length];
for(int i=0; i<copy[k][j].length; i++){
returnArray[k][j][i] = copy[k][j][i];
}
}
}
return returnArray;
}
三次元配列をコピーするメソッドを作ったのですが、うまく動きません。
どこが悪いのか教えてください。
0178デフォルトの名無しさん
2007/11/10(土) 21:52:182方向から行うにはどうすればいいですか?
0179177
2007/11/10(土) 21:57:05呼び出し方の方が悪かったようです。
ありがとうございました。
0180デフォルトの名無しさん
2007/11/10(土) 23:31:34EventQueueについて調べていたのですが、
API仕様を読んでもいまいち理解できず、実用例も見つからず、
普段から動いている別スレッドであるという事しか分かりませんでした。
EventQueueの使い方、もしくは実用例を教えてください。
0181デフォルトの名無しさん
2007/11/11(日) 02:38:36自分の場合、DefaultTableCellRendererの機能を使って、JEditorPaneに貼り付けたhtmlを表示させた。
JEditorPaneをgetPreferredSize()して、それをsetRowHeight()する。
>> Dimension d = JEditorPane.getPreferredSize();
>> JTable.setRowHeight(row, d.height);
0182デフォルトの名無しさん
2007/11/11(日) 03:04:130183デフォルトの名無しさん
2007/11/11(日) 03:20:13勝手に一番下までスクロールした状態になってしまうのですが
そうさせないような良い案があったら教えてください
0184デフォルトの名無しさん
2007/11/11(日) 03:39:37人に聞く前に自分で解決できる男になることだ
0185デフォルトの名無しさん
2007/11/11(日) 09:17:34消えろゆとり
0186185
2007/11/11(日) 09:20:37intとかpublicなどの用語の読み方が分らないのですが、
検索出来るサイト、あるいは専用の辞書などはあるのでしょうか。
よろしくお願い致します。
0187186
2007/11/11(日) 09:21:220188デフォルトの名無しさん
2007/11/11(日) 09:30:00さすがゆとり技w
0189デフォルトの名無しさん
2007/11/11(日) 09:35:36ありがとうございます。
早速試してみます。
0190デフォルトの名無しさん
2007/11/11(日) 09:56:130191デフォルトの名無しさん
2007/11/11(日) 11:22:12viewPortじゃね?
0192デフォルトの名無しさん
2007/11/11(日) 13:28:46appendした後で元に戻せばいいんじゃない
Point p = scrollPane.getViewport().getViewPosition();
大量のappend
scrollPane.getViewport().setViewPosition(p);
0193デフォルトの名無しさん
2007/11/11(日) 13:30:53そういうのはこっち向きかな
情報処理用語の読み方を確認するスレ
http://pc11.2ch.net/test/read.cgi/tech/1056173956/l50
0194デフォルトの名無しさん
2007/11/11(日) 13:51:59中学の英語からやり直せ。
0195デフォルトの名無しさん
2007/11/11(日) 13:53:29こんなものがあったのですね・・
早速試してみます、ありがとうございました
0196デフォルトの名無しさん
2007/11/11(日) 16:20:51intはintegerで調べる
あとは英和辞書で調べるがよろし
0197デフォルトの名無しさん
2007/11/11(日) 16:42:360198デフォルトの名無しさん
2007/11/11(日) 16:45:430199デフォルトの名無しさん
2007/11/11(日) 16:47:070200デフォルトの名無しさん
2007/11/11(日) 16:47:580201デフォルトの名無しさん
2007/11/11(日) 17:07:130202デフォルトの名無しさん
2007/11/11(日) 17:34:250203デフォルトの名無しさん
2007/11/11(日) 17:40:38int:イント
character:キャラクター
char:チャー
public:パブリック
0204デフォルトの名無しさん
2007/11/11(日) 17:48:17モームスって負の連鎖に陥ってるじゃん。
曲がよくない→売れない→良い人材が集まらない→さらに人気聚落
まさにハロカスパイラル
逆にAKBは好循環に入りつつあるよね。
曲もいいし、これから知名度もあがれば良い人材が集まるだろう。
あとはもう倍々ゲームですよ。
412 名前:ねぇ、名乗って[sage] 投稿日:2007/11/11(日) 17:35:18 ID:YbBOdUMW0
つんくPはもう才能が枯渇して昔のように良い曲は作れない。
小室哲哉と同じ道を歩んでいる。
そもそも1アーティスト(アイドル)と1作曲家という1vs1体制っていうのはもう古いんだよな。
これは一人の作曲家に頼りきりだからそいつが落ち目になるとアーティストまで一緒に落ち目になる。
多くの作曲家を周りにはべらせて良い曲だけ採用するという浜崎方式が最も賢い。
AKBもこれを踏襲している。
413 名前:ねぇ、名乗って[sage] 投稿日:2007/11/11(日) 17:35:57 ID:YbBOdUMW0
ここだけの話、AKBはまだ全然フルパワーを出してない。
本当に売りたいならゴールデンの歌番組にガンガン出るはずだろ。
CMだってほとんど見かけないしな。
414 名前:ねぇ、名乗って[sage] 投稿日:2007/11/11(日) 17:36:30 ID:YbBOdUMW0
>>413
その通り。
秋元先生がまだ時期尚早と見て意図的に力を抑えてるんだよな。
AKBは10年計画のアイドルだし焦る必要はなにもない。焦っているのはモーヲタだけ。
415 名前:ねぇ、名乗って[sage] 投稿日:2007/11/11(日) 17:37:08 ID:YbBOdUMW0
モー娘。はもう将来性が無いからな。
今や過去の栄光にしがみついて延命を図ってるだけのグループ。
AKBはまだこれからってかんじだ。
徐々に上り調子なのが素人の目にも明らかである。
0205デフォルトの名無しさん
2007/11/11(日) 18:14:280206デフォルトの名無しさん
2007/11/11(日) 18:22:400207デフォルトの名無しさん
2007/11/11(日) 18:23:460208デフォルトの名無しさん
2007/11/11(日) 18:25:440209デフォルトの名無しさん
2007/11/11(日) 18:31:04"ENUMeration" の略。 char と同じで変な風に略すからとても読みにくい。
だってさ〜
やっぱたくさんあるね。
けどエノムって・・・どうしたらoになるんだろw
0210デフォルトの名無しさん
2007/11/11(日) 18:37:320211デフォルトの名無しさん
2007/11/11(日) 18:47:48ArrayListだとかスレッドの事やよく使うクラスライブラリの説明なんかが
載ってるのってありますかね?
0212デフォルトの名無しさん
2007/11/11(日) 18:50:07質問ですなんが、
リクエストをまたがってのトランザクション制御はjavaで可能でしょうか?
Aさんが編集画面を開いているとき、Bさんはその編集画面を開けないような制御を
自前のテーブルフィールドの利用ではなく、oracleの行ロックを利用して行いたいです。
C/Sアプリなどでは、クライアントでコネクションを維持できるので、普通にできるのですが、
WEBシステムではその辺りは不可能なのでしょうか?
なにか、既存のライブラリがあったりしませんか?
既存ライブラリがない場合の善後策として考えたのが、
「コネクションプールを利用して、コネクションオブジェクトをセッションに保持するとC/Sアプリのように利用できないか?」です。
しかし、利用者が行ロックを取得した状態で、放置した場合、そのコネクションはどうなるのかが分かりません。
セッションは指定時間で無効状態になりますが、内部のオブジェクトはどのような挙動を示すのでしょうか?
javaは初めてなので、試してみようにも関連項目の設定などがよく分からない状況です。
どうかよろしくお願いします。
0213デフォルトの名無しさん
2007/11/11(日) 18:52:33行列の∞ノルムを計算するプログラムを教えてください
0214デフォルトの名無しさん
2007/11/11(日) 19:37:430216デフォルトの名無しさん
2007/11/11(日) 20:11:200217デフォルトの名無しさん
2007/11/11(日) 20:18:11セッションに保持できるのはシリアライズ可能なオブジェクトのみです。
java.sql.Connectionはjava.io.Serializableを実装していないので、無理。
JDBCドライバによっては、Connectionの実装クラスがSerializableを実装する可能性も
なくはないですが…期待しない方がいいでしょう。
残念ながら、自力で実装して下さい。
実装するなら、編集画面を開いたまま放置されるケースも忘れずに。
0218デフォルトの名無しさん
2007/11/11(日) 21:11:11http://www.hyuki.com/dp/dpinfo.html#AbstractClass
0219デフォルトの名無しさん
2007/11/11(日) 21:31:43ありがとうございます。
ちなみに、ドライバはojdbc14.jar を利用します。
可不可はそれのリファレンス見ればOKですか?
一般的にWEBで前述のような制御はどうやってるんでしょうか?
排他フラグを設けて自前でしかない?
0220デフォルトの名無しさん
2007/11/11(日) 21:49:47自前でするしかない。
そして、どう上手く実装できたにせよ、次は
編集画面を開いたままウィンドウを閉じたり、ブラウザの履歴戻ったりされる問題に直面するが、
大抵はいかのような「解決策」で逃げる。
・「ウィンドウを閉じるな、戻るな」とユーザに注意する。
それを強制するために、JavaScriptでエロサイトまがいの嫌な動作をするページを作る。
・「ウィンドウを閉じたり戻ったりした場合はサポート外」と仕様書に書いて逃げる。
・タイムアウト時間を設ける。比較的マシ。
0221デフォルトの名無しさん
2007/11/11(日) 22:07:58ありがとうございました。
それにしても、需要のありそうな基本機能なのに
まだライブラリ整備されていないとは・・・
やっぱり技術的に難しいのかな・・・
0222デフォルトの名無しさん
2007/11/11(日) 22:20:470223デフォルトの名無しさん
2007/11/11(日) 22:26:06Webアプリは楽観的ロックが主流だ
0224デフォルトの名無しさん
2007/11/11(日) 22:46:450225デフォルトの名無しさん
2007/11/11(日) 23:19:46専門学校の選択科目でJAVAの授業があって、そこでJAVAの勉強をしているのですが。
スーパークラスのメソッドを「this.」で呼び出すのと「super.」で呼び出すのとでは動作に違いはあるのでしょうか。
実際にやってみればいいのでしょうが、学校にも自宅にも環境を揃えて実行に耐えられるPCが無いので出来ずじまいなんです。
(学校のは開いている実習室が無いので座学のみですが)
どうかよろしくお願いします。
0226デフォルトの名無しさん
2007/11/11(日) 23:23:47サブクラスが将来そのメソッドをオーバーライドしたときに動きが変わる。
0227デフォルトの名無しさん
2007/11/11(日) 23:26:25class A {
void foo(){ System.out.println("A.foo"); }
}
class B extends A {
void foo() { System.out.println("B.foo"); }
void bar() { super.foo(); } // A.fooを呼ぶ
void baz() { this.foo(); } // B.fooを呼ぶ
}
0228デフォルトの名無しさん
2007/11/12(月) 00:19:500229デフォルトの名無しさん
2007/11/12(月) 00:26:16背景扱いってどういう意味?
0230デフォルトの名無しさん
2007/11/12(月) 05:54:26オーダーメイドで作るとなるとどれ位の価格になるのでしょうか?
Converting TrueType Font into EPS
ttp://vision.kuee.kyoto-u.ac.jp/~nob/doc/truetype/truetype.html
大体の相場が判る方がいらっしゃったら教えて頂けませんか。会社でも個人で
も、実現して頂けるなら、お金を払って良いと思っています。と言っても何十
万とかは出せませんが。
当方はJAVAを始めプログラミングには全く縁が無く、JDK6をインストールして
上記のサイトのソースをコピーしてコンパイルしようとした所でエラーが出て、
そこから全く訳が分からなくなりました。
正直に言ってプログラムを専業としているわけでも趣味とするわけでもないの
で、これ一つのために基礎からプログラミングを覚える時間と労力を費やすこ
とはできそうにないのです。
(技術系の掲示板に書き込むようなことではないかもしれませんので、スレ違
いであったら御指摘ください)
0231デフォルトの名無しさん
2007/11/12(月) 08:47:160232デフォルトの名無しさん
2007/11/12(月) 10:05:01後はうまく宿題にしたてて宿題スレに投げてみるとかw
0233デフォルトの名無しさん
2007/11/12(月) 12:26:08どういった感じで変わるのでしょうか。
>227
なるほど、納得です。ありがとうございました。
0234デフォルトの名無しさん
2007/11/12(月) 12:55:38その二つのレスが共存してるのが意味分からん
0235デフォルトの名無しさん
2007/11/12(月) 15:02:490236デフォルトの名無しさん
2007/11/12(月) 15:16:57ここ見てJavaを1から勉強してるんですが、
クラスメソッドとインスタンスメソッドの使い分けがいまいちピンとこないです。
誰かうまいこと教えてくださいませ
0237デフォルトの名無しさん
2007/11/12(月) 15:44:151.Mathクラスみたいな、オブジェクトを利用しない『ユーティリティクラス』のメソッド(Cなどの関数と同じ役割)
2.そのクラスのオブジェクトの生成に関する操作(Singletonなどのほか、Integer型などのvalueOfとかもこういう系統)
3.main(最初はオブジェクトは存在しないから当たり前)
オブジェクトを作らなくても使える代わりに、適切にオブジェクトを作ったほうが簡潔になることが多いから分かんなかったらインスタンスメソッド。
他にもいくつか使い道はあるけど、きちんと使い分けるにはデザインパターンを勉強すればいいと思う。
0238デフォルトの名無しさん
2007/11/12(月) 15:48:49237さんが既に説明してるけど、別の観点で。
インスタンスのメンバ変数にアクセスするようなメソッドはインスタン
スメソッドに、メンバ変数をアクセスしないものはクラスメソッドに。
最初はこういう使い分けだけ覚えてればOKだと思う。
0239デフォルトの名無しさん
2007/11/12(月) 15:57:50他のstaticメソッドからは呼ばれることのないprivateメソッドはどっちにする?
0240デフォルトの名無しさん
2007/11/12(月) 16:14:11ありがとうございます。
>>237さんの使い分けの説明ですが、なぜそう使い分ければOKなんですか?
あと関係ないですけど、変数宣言の型でなぜStringは大文字で、intは小文字で始まってるんでしょう?
何か意味があるんですか?
0241デフォルトの名無しさん
2007/11/12(月) 16:18:43Stringはクラスだけどintはクラスじゃないから
0242デフォルトの名無しさん
2007/11/12(月) 16:45:20白紙のフレームにボタンを設置し、それを押してボタンを消去してからPanelとLabelを表示させようとしているのですが、
真っ白のままになってしまいます。
さらに、フレームの端…ウィンドウの大きさを変える部分をクリックすると、なぜかPanelとLabelが表示されます。
解決するにはどうすればよいでしょうか?
0243デフォルトの名無しさん
2007/11/12(月) 17:11:111.Fileにバイナリデータを書き込み
2.同じFileをいったんcloseした後、再度開いて書き込んだデータを読み込み
3.同じFileを最後に削除
ということを試しているのですが、削除ができません。
2の読み込みの部分を、データのappendみたいなことをしてから、
channelをcloseしてファイルを削除することはできます。
何か足りないのでしょうか?書いてみたコードは下記の通りです。
public void example(){
byte[] bytes1 = {0x41, 0x42, 0x43};
File file1 = new File("C:/temp/test.txt");
RandomAccessFile raf1 = new RandomAccessFile(file1, "rw");
FileChannel ch1 = raf1.getChannel();
ByteBuffer buffer1 = ByteBuffer.wrap(bytes1);
ch1.write(buffer1);
ch1.close();
raf1.close();
File file2 = new File("C:/temp/test.txt");
RandomAccessFile raf2 = new RandomAccessFile(file2, "rw");
FileChannel ch2 = raf2.getChannel();
MappedByteBuffer buf = ch2.map(FileChannel.MapMode.READ_ONLY, 0, ch2.size());
byte[] data = new byte[(int)buf.capacity()];
buf.get(data);
buf = null;
ch2.close();
raf2.close();
file2.delete(); // data[0]〜data[2]に値は入っているが、deleteできない
}
0244デフォルトの名無しさん
2007/11/12(月) 17:27:58226さんの答えが良くわからなく、他にも問題があるのかと思ったからです。
メソッド名に気をつければ問題ない、「super.」を使ってスーパークラスのメソッドを呼び出すようにする。
と言うことでよろしいでしょうか。
0245デフォルトの名無しさん
2007/11/12(月) 17:31:350246デフォルトの名無しさん
2007/11/12(月) 18:04:27MappedByteBufferがガベージコレクトされるまでアンマップできないから閉じられない、んだったと思う
0247デフォルトの名無しさん
2007/11/12(月) 20:03:37相当、頭悪いな
superがthisがじゃなくて、どのクラスに定義したメソッドを実行したいかなんだよ。
thisはそのクラスが定義したメソッドまたはそのスーパークラスのメソッド
superだとスーパークラスのメソッドが実行されるだけ
ただし、2つ以上オーバーライドされてしまうと、親の親を呼び出す仕組みはない
0248248
2007/11/12(月) 20:06:15コンパイルした時にエラーになります。
どうしてでしょうか。
public class sample17 {
public static void main(String[] args) {
int i=args.length;
if(i==0) System.out.println("引数は0個です。");
else if(i%2==0)
System.out.println("因数の数は偶数です。");
else
System.out.println("引数の数は奇数です。");
}
}
C:\Source>javac sample17.java
sample17.java:9: \65373 は不正な文字です。
}
^
sample17.java:10: \65373 は不正な文字です。
}
^
sample17.java:11: ';' がありません。
^
エラー 3 個
0249デフォルトの名無しさん
2007/11/12(月) 20:09:390250243
2007/11/12(月) 20:09:43レスありがとうございます。
BugParadeに、こんな記述を見つけたんですが、コレですかねぇ。。。
ttp://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4715154
>State:Closed, will not be fixed
って、あーた。。。('A`)
とりあえずcommentにいくつかworkaroundになりそうなものがあるので
試してみます。。。
0252デフォルトの名無しさん
2007/11/12(月) 20:16:19■ このスレッドは過去ログ倉庫に格納されています