1 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 22:36:21 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 ttp://pc11.2ch.net/hp/ Webプログラミング ttp://pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 ttp://www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド ★★Java質問・相談スレッド134★★ pc12.2ch.net/test/read.cgi/tech/1258793926/ 次スレは>>950 あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 ttp://www.wikiroom.com/java/
29 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 17:37:35 ] class A{ 略 public void actionPerformed(ActionEvent e) { if(e.getSource()==button1){ if(radio1.isSelected()==true){ 略 } } } public void itemStateChanged(ItemEvent e) { } } class B{ 略 } こんな感じのときイベントが起こったら、クラスAのpublic void actionPerformed(ActionEvent e)の中の奴が実行されて終わりますよね? そこで終わらず、クラスBにも進んで欲しい感じです
30 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 17:42:43 ] >>29 class A{ 略 public void actionPerformed(ActionEvent e) { if(e.getSource()==button1){ if(radio1.isSelected()==true){ 略 B.hoge(); // クラスBに進む }}} 略 } class B{ public static void hoge() { //ここに進む }} こんな感じ?
31 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 17:53:56 ] 返答ありがとうございます class B{ public static void hoge() { } public void paint(Graphics g){ 略 }} とした場合 public void paint(Graphics g){ } を動かそうと思ったら、どうすればいいでしょうか?
32 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 17:59:43 ] >>29 その方法はいろいろある。classB がどういうクラスで、 呼び出したい classB のメソッドがどういうメソッドかとか、 その他の状況によって、最適なものを選ぶ。 最も一般的なやり方は、以下のように class B のインスタンスを classA で持つようにして、 actionPerformed() メソッドで呼ぶ方法だと思う。例えば、 --------------- class A { private B b; public A( B b ) { this.b = b; } public void actionPerformed(ActionEvent e) { 略 b.methodB(); 略 } class B{ public void methodB() { 以下略 ---------- class B のインスタンスをどう用意するかについては、状況によっていろいろあると思う。 上の例のように class A のインスタンス化時にコンストラクターに渡しても言いし、 actionPerformed() メソッド内でテンポラリなインスタンスを作って ---- new B().methodB(); ---- のようにしてもいいし、 目的の処理が、class B をインスタンス化する必要の無いようなものであれば、 呼び出すメソッドを static にしてしまって、静的に呼び出すほうが簡単。
33 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 18:04:40 ] 返答ありがとうございます ちょっと色々試してみます
34 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 21:23:05 ] class A { private B b; public A( B b ) { this.b = b; } public void actionPerformed(ActionEvent e) { 略 b.paint(); //← 略 } class B{ public void paint(Graphics g) { 略 } ---------- ←の所で 型 B のメソッド paint(Graphics) は引数 () に適用できません というエラーが出るのですが、これはインスタンスの仕方?が間違っているのでしょうか? よろしくお願いします
35 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 21:52:09 ] 宣言は paint(Graphics g) となっているのに、呼び出す方は paint() になっているから 引数が合っていない
36 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 21:53:48 ] >>34 Java では、メソッド名が同じでも、引数が違えば別のメソッドとして扱われます。 詳しくは、「Java オーバーロード」で検索してみてください。 その例では、classB には、 paint という名前を持つメソッドが、 public void paint(Graphics g) しかないために、それを引数無しの paint() には使えない、 ということを言っているのだと思います。
37 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 22:09:19 ] >>35-36 返答ありがとうございます なんとなくですが、エラーの原因はわかりました。 paint(Graphics g)をクラスAで実行するために、 ←のところに b.paint(b.Graphics b.g); とかやっても無茶苦茶書いてるだけですよね? paint(Graphics g) をクラスAで実行する方法はありますか?
38 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 22:49:19 ] >>37 おそらく、 ウィンドウベースの プログラムを書いてるんだろうと思うんだけど、 例えば、 class B は、 class B extends Frame { あるいは、 class B extends JFrame { になってるんじゃない? であれば、 b.paint( b.getGarphics() ); とやれば、おそらく一応呼べるとは思う。 けれど、必ずしもあなたの期待通りの動作をするかどうかはわからない。 実際どうすべきかは awt や swing のライブラリの仕様の問題なので、 JavaDoc なり、解説書なりをよく読んで、 paint()メソッドの引数に paint() メソッドを明示的に呼び出さなくても、再描画がなぜ行われるのか、 なぜ Graphics が必要なのか、といったこと (つまり、 awt や swing の描画プロセスやルール) を理解した上で、どうすべきかを考えたほうがいい。
39 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 22:51:44 ] >>38 すいません、なんか文章がぐちゃぐちゃになってました。 以下訂正です。 × >JavaDoc なり、解説書なりをよく読んで、 paint()メソッドの引数に >paint() メソッドを明示的に呼び出さなくても、再描画がなぜ行われるのか、 >なぜ Graphics が必要なのか、といったこと ○ >JavaDoc なり、解説書なりをよく読んで、 paint()メソッドの引数に >なぜ Graphics が必要なのか、 >なぜpaint() メソッドを明示的に呼び出さなくても、再描画がなぜ行われるのか、 >といったこと
40 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 23:00:58 ] >>38-39 丁寧にありがとうございます 正直理屈とか全くわからないので、本をもうちょっと読んできます 本当にありがとうございました
41 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 23:25:04 ] もしクラスBがComponentクラスのサブクラスなら paintはrepaintを呼ぶことで間接的に呼び出されるんじゃないかと思うぞ
42 名前:デフォルトの名無しさん mailto:sage [2010/01/08(金) 11:30:18 ] JavaによるHTTP 1.1のchunkデータの受信に関する記述があるサイトをご存知の方はおりませんでしょうか?
43 名前:デフォルトの名無しさん [2010/01/08(金) 13:58:30 ] java.sun.com/javase/7/docs/api/java/net/HttpURLConnection.html#setChunkedStreamingMode%28int%29
44 名前:デフォルトの名無しさん mailto:sage [2010/01/08(金) 15:15:44 ] それを使っても、InputStream.readするとIOException: Premature EOFなので、 実際の実装例が載っているサイトを探しています。 BufferedInputStreamにラップしてavailable()の戻り値を見ても、常に0が返ってしまっています。
45 名前:デフォルトの名無しさん [2010/01/08(金) 15:30:12 ] snoopでキャプチャしてみろよ
46 名前:デフォルトの名無しさん mailto:sage [2010/01/08(金) 17:18:46 ] Windowsの開発環境にてクラサバ通信やってるもので……。 フリーのスニファ使うしかないかな、標準じゃ入ってませんよね?
47 名前:デフォルトの名無しさん [2010/01/08(金) 17:53:20 ] jp.sun.com/practice/software/solaris/opensolaris/index.jsp
48 名前:デフォルトの名無しさん [2010/01/09(土) 10:43:48 ] JPAの@Inheritanceについて知りたいのですが、 @Inheritance付きのエンティティクラスのリストから、 派生エンティティクラスの型を知るにはどうしたらよいでしょうか?
49 名前:デフォルトの名無しさん [2010/01/09(土) 14:57:48 ] そういう機能のあるIDEを使え
50 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 03:16:47 ] キーボードからの入力を受けるときに BufferedReader stdin = new BufferedReader(new InputStreamReader()); という変数名にするとreadLineするときに「標準入力から1行読み込む」みたいでカッコいいので、 いつもこうしてるんですが、やっぱり意味的におかしいから辞めた方がいいでしょうか?
51 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 04:25:03 ] キーボードで"syso"って打つとゾクゾクして気持ち悪くなるんですけど、 なんなんでしょうかコレ? 他の文字打っても別になんにも感じないのに。
52 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 05:13:26 ] >>50 本当に System.in から読むならそんな名前でも許せるけど、そうじゃな いストリームから読むのだったら許さない。
53 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 11:24:53 ] >>51 >>52 自己解決しました。 回答して下さった方々、お疲れ様です。
54 名前:デフォルトの名無しさん [2010/01/10(日) 12:15:49 ] あーもう新年だ。 今年こそ金くれ。
55 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:58:32 ] 質問なのですが imageからfileへの変換はどのようにすれば良いのでしょうか
56 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:03:42 ] 言ってる意味が分かりません。 Imageオブジェクトをファイルシステムへ保存するという意味なら、 ImageIOを調べると良いでしょう。
57 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:05:03 ] >>55 javax.imageio パッケージを参照。
58 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:08:45 ] すみません、imageがよくわからないのですが…
59 名前:デフォルトの名無しさん [2010/01/10(日) 23:16:38 ] それでは答えようがないのですが…
60 名前:デフォルトの名無しさん [2010/01/11(月) 00:04:11 ] ウェブ上で将棋の棋譜を再現できるようにしたくて、 homepage2.nifty.com/kakinoki_y/kifujf/example.html ここに使用例があってhtmlもここのソースとおなじでファイルも全部おなじ ディレクトリにアップしたのですが、うまく使用できないというかでてきません。 原因は、appletタグの中の CODE = "kifuj.Applet1.class" がそうだと思います。 しかし、ダウンロードしたフォルダにはこれがなく、他にダウンロードするところも ありませんでした。この(kifuj.Applet1.class)は自分でコンパイラなどして作成するものですが? すみませんが教えてください。
61 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 01:04:48 ] >>60 Kifu for Javaのダウンロード用のzipファイルにkifuj.jarとかkifujl.jarとかがあって そのjarファイルにクラスファイルが入ってるんじゃないの? jarファイルはちゃんと配備してるか確認汁 それとこの板はプログラミングについての板だから プログラミングツールならまだしもそうでないソフトの使用法とかは板違い
62 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 02:08:23 ] pc12.2ch.net/test/read.cgi/tech/1248012902/ ★★ Java の宿題ここで答えます Part 68 ★★ pc12.2ch.net/test/read.cgi/tech/1228452306/ Javaやらないか(超初心者向け)
63 名前:デフォルトの名無しさん [2010/01/11(月) 09:16:08 ] >>61 >>62 すみません。わざわざ丁寧にありがとうございました。
64 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 11:37:00 ] >>63 俺に対する御礼はいらんぞ
65 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 13:01:35 ] Javaに未来はあるのでしょうか?
66 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 14:40:48 ] 無いと思ってる理由を知りたい。
67 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 14:55:23 ] むしろ未来があるのはJavaだけだな
68 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 14:56:41 ] プロセスで1つのデータを保持したい場合は、static変数かインスタンス変数をシングルトン実装にして もたせると思いますが、どういう使い分けをすればよいのでしょうか?
69 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 15:08:40 ] >>68 どの使い分け? static変数とシングルトンの使い分け? static変数は、ほんとに単にデータを保持したいだけのとき(キャッシュとか)、 シングルトンは、環境によって呼び出される実装を切り替えたいとき(テスト環境ではDBアクセスをモックに差し替えるとか)、かな。 オブジェクトの種類によって呼び出し先を切り替えられるのはインスタンスメソッドの呼び出しだけなので。
70 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 15:43:14 ] static変数は なんで性的変数と言われてるんでしょう?
71 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 16:06:11 ] アドレスが変わらずアクセス権があるものは誰でも触れるから。 ローカル変数やローカルなインスタンスはいくつかのプロセスを流れ、 やがて消えてゆく。
72 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 16:19:41 ] 「性的変数」
73 名前:デフォルトの名無しさん [2010/01/11(月) 16:31:56 ] 練習問題みたいなのが載ってるサイトってありませんか? Javaの勉強したいんで できれば、コードの間違え探しとかの問題じゃなくて、 クラス図とかがあってそれを実装しろみたいな問題が (ぶっちゃけ自分で機能要件まで決めて勉強する気にはなれない)
74 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 16:42:21 ] >>69 ありがとうございます。 データをただキャッシュするだけでしたらstatic変数でよいのですね。
75 名前:デフォルトの名無しさん [2010/01/11(月) 16:49:58 ] 違う。逆 static変数でなくてもいい
76 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 17:21:56 ] どっちでもいい
77 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 17:29:19 ] 定数やクラスに属するものは静的変数でしょ。 動作上はどっちも一緒だけど。
78 名前:デフォルトの名無しさん [2010/01/11(月) 17:31:15 ] 多態勢とかバグ生む源だろ… とかいまだに思ってる俺にJavaは向いてない?
79 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 17:35:41 ] 向いてない
80 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 18:09:13 ] 多態性はカプセル化の帰結だからねぇ。カプセル化に異議って聞いたこと無い。 手続き型vs関数型・トランザクションvsドメインの争いなんかとかとは次元が違う。
81 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 18:18:14 ] >>78 低能君には何も向いてないよ
82 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 18:26:51 ] >>81 は? 同じメソッド名なのに、引数違うだけで戻り値違うとか頭おかしいだろjk
83 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 18:35:28 ] ググりながらもブロック崩しの雛形みたいなものを作りましたが、疑問があります。 ttp://www1.axfc.net/uploader/File/so/37222 Ball、RacketクラスでMainPanelクラスのオブジェクトを作っていないにも関わらず、 MainPanel.HEIGHTのようにMainPanelクラスのフィールドを参照できるのは何故でしょうか。 自分で調べた結果staticだからではないかと結論に至りましたが、自信が持てないため質問させていただきました。 どなたかご教示下さい。
84 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 19:07:24 ] >>82 おまえ使い方理解してないでしょ ポリモルフィズムの恩恵は特徴を抜き出し、 共通して使える処理のメンテナンスを容易にすることにある。 C言語でいうとこのqsortに使うコンペア関数なんかと同じ。 共通して使えない処理は公開しないように作るからむしろバグは減る。
85 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 19:50:35 ] >>83 その通り static がついたクラスメンバ変数は、オブジェクトに依存しない
86 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 20:08:36 ] JTextArea上にtxtファイルの内容を表示させるにはどうすればいいですか?
87 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 20:24:34 ] >>78 脳には多態勢という用語があり、それはいわゆるオーバーロードを意味する言葉である。
88 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 20:25:58 ] JTextArea・・・コンストラクタでもappendでもinsertでもお好きな方法で。
89 名前:83 mailto:sage [2010/01/11(月) 20:41:09 ] >>85 ご回答ありがとうございました。
90 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 20:41:30 ] それ以前にtxtファイルの読み方が分からないという気もするな・・・ BufferedReader in = new BufferedReader(new FileReader("input.txt")); 文字化けするなら BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("input.txt"),"UTF-8")); と文字セットを指定。
91 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 20:50:28 ] >>88 >>90 ありがとうございます。Filereaderでテキストファイルを読み出してやろうとしていたのですが、そのあと ストリームを開いてJTextAreaに書き出すのがよくわからないのです。 重ね重ね申し訳ありません。よろしくお願いします。
92 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 20:55:29 ] コンパイルとビルドって同じ意味ですよね?
93 名前:デフォルトの名無しさん [2010/01/11(月) 21:01:27 ] >>84 メンテがしやすいっていうのはわかってる これが重要だということもわかってる (そりゃメンテする人間なんて、 メンテするまでソース見たことないようなやつらばっかだろうから、 そういう特徴があれば間違いなくやりやすいさ) ただ、メンテのことまで考えて、きちんと多態性を理解してソース組んでるJavaプログラマが どれだけいるかが疑問なんだよ 曖昧なまま、多態性なんて言葉使ってソース組んでも、わかってないやつがどっかで絶対バグ出すだろ (要は多態性の恩恵を受ける側じゃなくて、与える側の問題) >>87 いわゆるオーバーロードが多態性を示す一番の特徴だと思ったから引用しただけだボケ
94 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 21:11:34 ] 勘違いしとるのー。 オーバーロードの無いVBAでも多態性使えるんだぜimplement文で。
95 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 21:17:06 ] >>93 フレームワークを書く人とビジネスロジックを書く人のスキルが同じである必要は無いよ。 業務ルールとしてある共通クラスを継承してから、ガイドに沿ってコードを書いてねって指示するだけ。
96 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 21:22:52 ] >>95 まぁその辺の分担がしっかりしてて、各担当が後々のこと考えて設計してりゃ大丈夫だとは思うけどさ 実際、それだけのスキル持ってるやつっている?
97 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 21:22:59 ] >>95 あっそ
98 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 21:23:16 ] 異なる処理を共通化されたインタフェースで扱えるのが多態性の特徴 異なるインタフェースを同じ識別子で扱うオーバーロードじゃ逆だハゲ
99 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 21:29:56 ] なんという正論 世の中のJava入門書の著者にも言ってやってくれ
100 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 22:46:26 ] オーバーロードと多態性って関係なくね?
101 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 22:52:00 ] 関係なくね?
102 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 04:58:15 ] くね?
103 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 05:48:37 ] なくなくね?
104 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 06:15:39 ] しばらく くねくねでお待ちください。 ヽ)∵)ノ ( ( ) )
105 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 08:48:17 ] 嫌です
106 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 08:57:58 ] ヽ)'A`)ノ ( ( ) )
107 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 11:00:11 ] SJC-WC取ったからサーブレットでサーバしてみたいです>< レンタルホームページと同様で、作ったファイル(WAR)を レンタルサーバに転送するだけで動くの?
108 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 14:37:31 ] >>107 Tomcat インスコすれ
109 名前:デフォルトの名無しさん [2010/01/12(火) 15:19:13 ] >>64 ありがとうございました
110 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 20:05:10 ] >>109 御礼禁止
111 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 20:50:37 ] JEditorPane とかいつの時代か分からないような古い HTML ソース吐くんだな。 xhtml 作ってくれれば使えるのに。。
112 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 22:59:56 ] www.koiroha.org/xmllib/ その HTML を HTML パーサに食わせて、その DOM から <font> なんかを適当に置き換えてやればおk
113 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 00:17:41 ] swingのコード(JDK)を読んでいると、firePropertyChange("document", old, doc);みたいに firePropertyChange()がよく出現します addPropertyChangeListener()とfirePropertyChange()は対になっていると思うのですが、 firePropertyChange()しか使われていません firePropertyChange()どこにイベントを通知していのですか?
114 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 00:22:31 ] addPropertyChangeListener() の対になっているのは removePropertyChangeListener()。 firePropertyChange() はプロパティの変更を誰かに通知するためのものだから Swing 内で使っている。 その通知を受けたいプログラム (Swingの利用者) が addPropertyChangeListener() でリスナを登録する。
115 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 00:40:37 ] Javaでジェネリックなツリーが使いたいんだけど 英語圏ぐぐっても独自実装のものしか出てこない どうしてJDKに実装されてないの?
116 名前:デフォルトの名無しさん [2010/01/13(水) 00:56:45 ] 【IT】人気プログラミング言語ランキング…PHPがC++を抜く 1位はJava [10/01/12] anchorage.2ch.net/test/read.cgi/bizplus/1263298235/
117 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 11:33:03 ] ジェネリックなツリーといわれても javax.swing.tree.DefaultTreeModel とか org.w3c.dom.Document は?
118 名前:デフォルトの名無しさん [2010/01/13(水) 13:24:39 ] 読み込んだファイルがEUC-JP,Shift_JIS,UTF-8のいずれでもUTF-8にする ってJavaでどうやれば出来ますか? String.getBytes("UTF-8"); を使うと、もとからUTF-8の場合に文字化けしてしまいます
119 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 14:13:52 ] 独習Javaって本は何年発行だコラ
120 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 14:42:36 ] >>118 > 読み込んだファイルがEUC-JP,Shift_JIS,UTF-8のいずれでもUTF-8にする > ってJavaでどうやれば出来ますか? それは、読み込むファイルのエンコーディングがどれかわからないということ? JISAutoDetectはUTF-8に対応してない気がするし、自分で判定コードを 書くしかないのでは。 > String.getBytes("UTF-8"); > を使うと、もとからUTF-8の場合に文字化けしてしまいます それで得られるのはUTF-8のバイト列なんだから、UTF-8対応の環境で見 ないと化けるよ。
121 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 15:51:20 ] ちょっと混乱しているのですが、 スーパークラスなどで定義したクラスをサブクラスでインスタンス化するまでは 分かったのですが、そのサブクラスを配列して要素数で参照できる様にするには どうすればいいのでしょうか。
122 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 15:55:35 ] [ ]つけて定義すればOK
123 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 15:55:53 ] >>121 SuperClass[] array = new SubClass[100]; SuperClass obj = array[3]; という意味?
124 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 16:10:18 ] >>123 1行目と2行目の間にオブジェクトを作らないとだめ array[3]=new SubClass(); が必要。
125 名前:121 mailto:sage [2010/01/13(水) 16:49:26 ] ご回答ありがとうございます。 しかし、私は勘違いしていたみたいで、サブクラスはextendsなどでスーパークラスをオーバーロードして 具現化しそれをfor文などで配列に入力するのだと思っていました。 そこで、申し訳ないのですが以下のスーパークラスの場合はサブクラスの定義と インスタンス化はどうすればいいのでしょうか? class hani{ String kantaiName; int Xaxis; int Yaxis; int Xwide; int Ywide; String Media; }
126 名前:デフォルトの名無しさん [2010/01/13(水) 16:55:09 ] >>125 サブクラス定義は class SubClass extends SuperClass{} インスタンス化は>>123-124 参照
127 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 17:13:28 ] >>125 クラス名は大文字で始めて、変数名は小文字から始めた方がいいよ あと、class Hani のコンストラクタが何にもする必要がなくても protected Hani(){} 位は入れておいた方がいい。 で、サブクラスで class SubClass extends Hani { public SubClass(){super();} } とする。
128 名前:121 mailto:sage [2010/01/13(水) 17:15:18 ] 僕のイメージが間違っている様な気がするので確認させていただきます。 class SubClass extends SuperClass{}でサブクラスをインスタンス化して その後、サブクラスを配列に以下のように入力すればいいのでしょうか? SuperClass[] array = new SubClass[100]; for(int i=0; i<100; i++){ array[i]=new SubClass(); SuperClass obj = array[i]; } ご面倒をお掛けして申し訳ありません。
129 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 17:17:52 ] >>128 クラス定義では絶対にインスタンス化はできない。 あと、for 文中の SuperClass obj = は無意味なので、 これでいいか悪いかは判定不能。