【初心者】Java質問・相談スレッド96【大歓迎】
952 :
デフォルトの名無しさん:2007/02/01(木) 09:07:45
一人ずつ順番に質問しなさい
>>952 ぱっと見だが、何でエラー無視してんだ。
appendの引数は文字列だ。"str"という文字列ではなく、
strという変数をappendするんじゃないのか。
つかTextなんてクラス名作るな。ユーザー作成クラスと解るような名前にしる。
ζ
/ ̄ ̄ ̄ ̄\
/ \
/\ \ /|
||||||| (・) (・) |
(6-------◯⌒つ| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| _||||||||| | < 宿題スレに投げんとは!けしからん!
\ / \_/ / \________________
\____/
|''" ̄|
_,,,、------、../ ̄"ヽ. |:::::::::::|
.. イ゙゛ |::::::::::::::::| |::::::::::::|
,r'ノ'!.| ,,,, ._、. |:::::::::::::::| |/ ̄ ̄ ̄ ̄~ヽ
_l゙|:::::|.| ( ) !|^|l! .|::::::::::::::::|__,| l
|-|:::::|.| ゙'" _,,,|,| |!| .|--'''フ'":::::::::|____G,__l_
| .| .._|.| .,//./`/`/::::::::::r'" \
| i| ,,,二"゙~二二ニ''i゙゙"r':::::::::::::/ `i、 __o 、、
| l| | |.| l::::::::::::::l゙ ~~~~~ ~~~~~ 'i | 二|二 ____
| || | __. ァ' ─ 、::::::::::| ・ ・ |. ノ | ヤ ツ
| || | | , -{ }:::::::::l (、_, ). i
| .‖| | ノ ヽ._ _,.イ::::::::::i / ll ヽ, i
| .‖| │l ヽ ヽ ヽ::::::ヽ ` トェェェェイ /
.|′".lく,_  ̄/ 、 \_}´ /__,,,_\ `ニニニ´ ノ
‘」r。_ `''ーヽ、 ` ┬1 _ .ノ ゙'''\、, ;;;;;;;;;;;; ,/ ,
.゙l /Tly、、 ゙ ゙̄l、 `'ミi、 .゙l i、`゙'ー-、,,,r<´___\__
゚'!┤l゙゙l| ,l゙'ッ、,、 ``-ミ゙l .゙i,,,〜,,,,,.--、 `\ ̄ ‘'、
゙l |.,l:、| ゙l.リハ、,,、 .|--ー…'''"`゙^ヽ ゙l `-、) `'__
`゙゚“ | .| |゙l .l゙ `''r,,,. ゙i、 ゙' |_,,,,,,,,,,-,,,,=ll=Tニ゙l|゙‐''|
ヽ,,,i入,,| ゙l ゙lリ、\.,,ッr,==''゙li||,゙冖'''"゙⌒ .,i´ `ヽ|
` ゙l ゙l | |゙i、 .| ,i´ │ ._,,,,,,,,,,--―'''ヽ,,,,/゛
_____
/ \__
〃 | ̄ \____Φ| / ヾ
\ | ● ● __
 ̄ ̄ ̄ \
|____/ ▼ |\ 〃
ヾ | _人|
| ___/
\ /
| \ \
| ノ (__)
||| || |
__∩__ めぎょ
| ,.:. '.;§, |;
., ,・倒_@δ,_|,.': ;
<___>
<___>
<__ __>
<_ _>
| |
| | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ・∀・) < あいたっ
) ( \__________
(__Y_)
>>951 見た目がPIっぽいのでprocessing instructionとして処理するのかと思ったのだが、XML宣言はPIとは別らしいね。適切なAPIが見つからない。
1行呼んで自力でencoding="..."とかを切り出してみるしかないかも。
(読んだあとでrewindする)
/ ̄ ̄ ̄ ̄\
/ ● ● しつこいぞぬっ
|Y Y \
| | | ▼ | パクッ
| \/ ____人__|
| |∨∨∨∨∨ モナッ・・
\ \∧∧ )
| | |\  ̄ ̄\\\
| | |  ̄ ̄ ̄ し し/
(__)_)
java.awt.printライブラリを用いて、プリンタへの印刷を試みています。
そこで一つ問題が生じたので、皆様にお聞きしたいことがあります。
時々、印刷が途中で終了してしまう事があるのです。
そのような場合は、再度、(一番最初の工程から)印刷を試みるとうまく行きます。
些細な事でも構いませんので、この現象が発生する、原因を教えて欲しいのです。
皆様、よろしくお願いします。
>>955-958 また例の荒らしか?
再び数日間にかけてスレが荒れるのか。
それとも大学生の春厨か? すると。2ヶ月間もスレが荒れるのか。いやなこった。
>>961 それをブレイクポイント仕掛けてステップで追っていくわけにはいかないのかな?
プログラムがないので何ともだが・・・・
何かストリームでそういうのを扱ってるんだとすると、
ストリームをクローズする前に、アプリ落ちたりスレッド落としてたりするとか・・・?
途中で切れるっていうとストリームってイメージがあるもんで。
966 :
デフォルトの名無しさん:2007/02/01(木) 16:48:27
すいません、JavaScriptのfromCharCodeを
Javaで実現したいのですが
なんらかの方法がありますか?
ありますよ。
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/ 融合だぞ!
/
/ ̄ ̄ ̄ ̄\  ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/● ● \ Λ_Λ ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄
/ Ο Y Y| ( ´ー`) ( ゚Д゚) ∠ 俺の方がすごいだろ!
| ▼Ο ο | | | \ \ / νν \_______
|_人_ ο。 。\/ |∧∧\ Υ ノ
\__ 。ο。 。Ο  ̄ ̄ ( ´∀`) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\ Ο 。ο。 ソ < キャラ総融合だぞ!
(-_-) ο゚。 Ο ソ \________
(/⌒\)――(/⌒\)
JavaのGenericsについての質問です。
クラスAとクラスBは、継承関係はなく、共通のインターフェースも実装してい
ないが、同名のメソッド(例えば void hoge()とか)を持っている、とします。
このA、Bのインスタンスを共通して呼び出せる総称関数を、JavaのGenericsで
作成することは可能なのでしょうか?
私はできないと思うのですが、ワイルドカードなどを使ってできるかもしれな
いと知人が言っていて、少し自信がなくなりました。
また、C++のテンプレートとの違いを紹介したページはないでしょうか?
http://www.mamezou.com/tec/equip001.htm このページは役に立つのですが、少し古いようなので。
>>969 ぱっとみ、その記事の4.2が答えだと思います。
#私はそう理解している
#古い、といわれても、Genericsが入ってる5.0が出たのは2003年頃だったはず
971 :
969:2007/02/01(木) 20:22:56
>>970 ありがとうございます。
私もそう理解しているのですが、この記事にはワイルドカードの記述がありません。
またJava5の正式リリースは2004年の秋です。
適当なこと言ってんなよハゲ!
知らないならすっこんでろ!
>>969 Genericsじゃなくて、インターフェースで解決すべき問題
>>969 SunのページでダウソできるGenericsの解説PDF(英語版)
を読めばだいたいわかるよ。
Genericsはちょっと癖があって
Genericsなクラスを使うことは非常に簡単でも
作るのは、やはり難しいものだよ。
IBMのDeveloper worksの記事も参考になるのがあるぞ。
どうすればいいかは、まさに
>>970の言うとおりで、
共通のインタフェースを実装すべき。
>>971 ワイルドカード使う必要ないよ。
豆蔵のページのように
Comparableインターフェースのようなクラスを作って
そのメソッドをオーバーライドする形にすればいい。
そもそも、<T> Comparable#CompareTo(T t)の場合はワイルドカードを使う必要は無い。
パラメータを複数のメソッドやメソッド義気数で使うときに考えるべきものであって
一つのメソッドやメソッド引数やクラスにしか使わないならワイルドカードは特に意識する必要はない。
>>973 インターフェースにGenerics独特のコードを実装するという形かな
Comparableの真似をするだけだが
どうせなら <? extends Number>や <Number super ?> のような表現も覚えておいた方が良い
>>970 |''" ̄|
_,,,、------、../ ̄"ヽ. |:::::::::::|
.. イ゙゛ |::::::::::::::::| |::::::::::::|
,r'ノ'!.| ,,,, ._、. |:::::::::::::::| |/ ̄ ̄ ̄ ̄~ヽ
_l゙|:::::|.| ( ) !|^|l! .|::::::::::::::::|__,| l
|-|:::::|.| ゙'" _,,,|,| |!| .|--'''フ'":::::::::|____G,__l_
| .| .._|.| .,//./`/`/::::::::::r'" \
| i| ,,,二"゙~二二ニ''i゙゙"r':::::::::::::/ `i、 __o 、、
| l| | |.| l::::::::::::::l゙ ~~~~~ ~~~~~ 'i | 二|二 ____
| || | __. ァ' ─ 、::::::::::| ・ ・ |. ノ | ヤ ツ
| || | | , -{ }:::::::::l (、_, ). i
| .‖| | ノ ヽ._ _,.イ::::::::::i / ll ヽ, i
| .‖| │l ヽ ヽ ヽ::::::ヽ ` トェェェェイ /
.|′".lく,_  ̄/ 、 \_}´ /__,,,_\ `ニニニ´ ノ
‘」r。_ `''ーヽ、 ` ┬1 _ .ノ ゙'''\、, ;;;;;;;;;;;; ,/ ,
.゙l /Tly、、 ゙ ゙̄l、 `'ミi、 .゙l i、`゙'ー-、,,,r<´___\__
゚'!┤l゙゙l| ,l゙'ッ、,、 ``-ミ゙l .゙i,,,〜,,,,,.--、 `\ ̄ ‘'、
゙l |.,l:、| ゙l.リハ、,,、 .|--ー…'''"`゙^ヽ ゙l `-、) `'__
`゙゚“ | .| |゙l .l゙ `''r,,,. ゙i、 ゙' |_,,,,,,,,,,-,,,,=ll=Tニ゙l|゙‐''|
ヽ,,,i入,,| ゙l ゙lリ、\.,,ッr,==''゙li||,゙冖'''"゙⌒ .,i´ `ヽ|
` ゙l ゙l | |゙i、 .| ,i´ │ ._,,,,,,,,,,--―'''ヽ,,,,/゛
Java勉強に適した、皆さんのオススメの書籍教えてください
>>979 やさしいJavaやったらSJC-P関連の参考書
981 :
デフォルトの名無しさん:2007/02/01(木) 22:09:29
文字列に格納されているXMLデータをパースするにはどうすればよいのでしょうか?
<?xml version="1.0" encoding="UTF-8"?>といったXMLがそのままStringに格納されていて、
Reader sr = new StringReader(xmldata);
InputSource is = new InputSource(sr);
is.encoding("UTF-8");
Document doc = builder.parse(is);
でやってみたのですが、うまく動作させることができませんでした。
よろしくお願いします。
質問の仕方を勉強したほうが良いよ。
983 :
デフォルトの名無しさん:2007/02/01(木) 22:25:28
文字列に格納されているXMLデータをパースするにはどうすればよいのでしょうか?
<?xml version="1.0" encoding="UTF-8"?>といったXMLがそのままStringに格納されていて、
Reader sr = new StringReader(xmldata);
InputSource is = new InputSource(sr);
is.encoding("UTF-8");
Document doc = builder.parse(is);
でやってみたのですが、うまく動作させることができませんでした。
よろしくお願いします。
別人によるコピペだと思うが反応しておこう
>>983 エラー嫁
985 :
デフォルトの名無しさん:2007/02/01(木) 23:30:10
>>980 サンクスです
よくわからないけど明日本屋行って見てきます
986 :
969:2007/02/02(金) 00:25:10
すみません、ちょっと取り込み中でした。
どうも質問の仕方が悪かったようです。クラスAとクラスBは既存のクラスで、
もう修正はできないと考えてください。つまりインターフェースを追加実装で
きないという想定です。
C++のテンプレートならこういう場合でもAとBの総称関数が作れます。だから
必要なインターフェースを設計時にすべて洗い出す必要はありません。これが
テンプレートプログラミングに大きな柔軟性を与えています。
このような柔軟性は、Javaのジェネリックスでは実現できるのでしょうか?
私の今までの理解は、ジェネリックスは原理的に、従来のJavaに柔軟性を与え
てくれることは無くて、むしろ逆に、今までのJavaより細かく正確な型チェッ
クをできるようにするものだというものでした。しかし何か見落としが無いか
不安になって質問させていただいたのです。
ただ、今までの回答を読んでみると、暗に「出来ない」と回答されているよう
にも思います。そういう理解で宜しいでしょうか?
それがやりたいならObjective-Cだよなぁ
・・・・ごめんできないと思うが断言できるほど自信はない
ただ、Genericsでできたとしてもやらない方がいいと思う
それが一部分なら呼び出したいメソッドをリフレクションで
呼び出すクラスを用意してラッピングしてやるのはいかがか?
> むしろ逆に、今までのJavaより細かく正確な型チェックをできるようにするものだ
その理解で正しいんじゃないでしょうか。cast が減ってウハウハとか、そんなもんです。
C++のtemplateは本質的にマクロですが、Javaのgenericsはそうではありません。
T.hoge(); な呼び出しは C++ template においては
A.hoge(); なり B.hoge(); なり置換されてからコンパイルされますが、
Java generics では T.hoge(); はどう頑張ってもコンパイルできません。
(A,B が hoge() を持つ共通の interface を実装していない限り。)
Javaでやるなら 987 氏のようにリフレクションを使うか、
もしくはAdapterパターン
989 :
デフォルトの名無しさん:2007/02/02(金) 01:00:54
インターフェイスと抽象クラスの分かりやすいサンプルプログラム(きわめて単純なのもhogeとかfooでOK)
ないですか?できるだけ正しく解説されているサイトをおしえてください。
>>959 そうなんですよ。読み込んだ時と同じ encoding で XML を再出力したかったんですが
API リファレンス読む限りじゃ該当機能はなさそうですよね。XML 宣言まで読み込んで
encoding を参照し、先読みした部分とそれ以降を SequenceInputStream で繋げる
ことにします。
>>989 javax.swing.ListModel
javax.swing.AbstractListModel
992 :
969:2007/02/02(金) 11:54:46
ご回答ありがとうございます。またしてもご返事が遅れてすみません。
どうやら出来ないらしいということは分かりましたが、ワイルドカードについ
ては少し釈然としない部分が残っています。もう少し検索したりして考えてみ
ます。
993 :
デフォルトの名無しさん:2007/02/02(金) 12:33:31
メインメソッドの
〜main(String args[]) とかmain(String [] args)
ってString形式の配列変数 args[] を引数に取るっていう意味ですか?
_____
/ \__
〃 | ̄ \____Φ| / ヾ
\ | ● ● __
 ̄ ̄ ̄ \
|____/ ▼ |\ 〃
ヾ | _人|
| ___/
\ /
| \ \
| ノ (__)
>>993 正確には、String[] という型のargsを引数に取る。
>>980 がいないようだから、次スレ立ててくる。
999 :
998:2007/02/02(金) 13:46:50
/. ――┤. -=・=- -=・=- | | ∧ ∧{´ ◎ `}____( ´∀`)\ う \
./(. = ,= | ∧∧ ∧_∧ | | ( ´ー`) ):::/´∀` ;:::: \ヽ(`Д´)ノ゛\ ま\
|||\┏┓/∫ (=゚ω゚)ノ~ ( ´Д`)// \ < .∧|∧ /::::::::::| .¶_¶. \い\
V/ ∧,,∧ ∬ 〜( x) / / ,一-、(´ー`) /:::::|::::::| (ΦдΦ)/~ \棒\
|| ミ,,゚Д゚ノ,っ━~~ U U / /| / / ̄ l⊂ヽ \/|:::::::::|::::::| γ__ ∧w∧ 旦∬
人 ミ ,,, ~,,,ノ .n THANK YOU 2ch ■■-っ ┌───────┐ \ ( ゚Д゚ )∩゛
( ゚ー゚)と..ミ,,,/~),ヽ(凸)ノ~ and.. ´∀`/. | ● ● | ヽ ノ
/ ̄ ̄し'J\[Y] GOOD-BYE 2ch WORLD! /| .┌▽▽▽▽┐. |____|__||_| ))
/ ● ●、ヽ (. ┤ .| |. |□━□ ) (゚Д゚)?
|Y Y \ またどこかで会おうね.. \. └△△△△┘. | J |)∧_∧
|.| | .▼ |∀゚) |\あ\ | ∀ ノ " , 、 ミ
| \ /■\ _人 |∧∧∩゛∧_∧∩゛∧_∧ | \り.\ | - Å′ ゝ∀ く
| ( ´∀`)___/( ゚Д゚.)'/ ( ´∀` )/ (・∀・ ),. |. \が\. | ). \ Λ_Λ
\ ( O ) 冫、 U / ( / ⊂ ⊂.)ヽ(´ー`)ノ゛ \と.. ∧_∧/(´Д`;)<丶`∀´>
|││ │ ` | | ∪ | | ( ( ( ( へ (゚д゚)〜⌒(゚ー゚*) (-_-) (・ω・` )
(_(__(__)(・∀・) ∪~∪ (_(__) (_(_) く ⊂⌒~⊃。Д。)⊃⊃⊃(∩∩)(∩ ∩)
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。