初心者歓迎! Java相談室 その7
■ このスレッドは過去ログ倉庫に格納されています
0001がばろん@Mたんちゅきちゅき
NGNG/●\
( /\ ) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(,,゚Д゚) < 私は、じゃばこ ですが、何か?
./ | \_____________
(___/
/
>>2 過去スレの一覧
>>3 Javaの基礎と、よくある質問 (初心者はここをチェック!)
>>4 Java関連スレいろいろ(統合開発環境・サーバサイド・その他)
>>5 Javaを撲滅させたい方、死滅を心配してる方、Cとの違いを知りたい方はこちらへ
>>2-10 諸般の事情により、リンクがずれた場合。
/* JavaScriptの質問はWeb製作板へどうぞ。*/
+ JavaScript の質問用スレッド vol.9 +
http://pc.2ch.net/test/read.cgi/hp/1017668857/l50
0237234
NGNGどっちの表記も見かけたので
どちらでもOKなようです。
0238デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNG宣言の[]はどこでも良い。
>>234
CMyThreadとやらにintを引数にとるコンストラクタあるか?
0241234
NGNGレスありがとうございます。CMyThreadは
class CMyThread extends Thread {
public void run();
public void CMyThread(int a);
public int interval;
private int counter = 0;
}
のような構造です。
0243デフォルトの名無しさん
NGNG0244234
NGNGありますので異常はないと思います。
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGawtのToolkit.getDefaultToolkit().getFontList()
を使ったところ、’推奨できません’の警告がでてしまいます。
fontリストを読み込むには、何かほかのメソッドを使うのでしょうか?
v1.4.0betaをlinux上で、使用してます。
どなたか、この初心者めにご教授を.....
0247デフォルトの名無しさん
NGNGそれはわかったから、
CMyThread.classが、ちゃんとクラスパスかカレントから見える場所にあるか?
0248デフォルトの名無しさん
NGNG次の状態が決まっていることはstateパターンと関係ないのでは?
0249デフォルトの名無しさん
NGNGAPIドキュメント嫁って。ちゃんと書いてあっから。
0250デフォルトの名無しさん
NGNGappletviewerを他のウィンドウで隠してしまうと、隠れた部分の線が消えてしまいます。
何がいけないのでしょうか?
0252デフォルトの名無しさん
NGNG隠れた部分が再表示される度にdrawLine()が自動的にコールされるようにしとか
なきゃ、そりゃ消えるにきまっとるがな。
Component#paint(Graphics g)とか、JComponent#paintComponent(Graphics g)
とか、分かるか?
0253デフォルトの名無しさん
NGNG>Component#paint(Graphics g)とか、JComponent#paintComponent(Graphics g)
わかりません。
それはさておき、直感的にfillRect()とdrawLine()が同じようなメソッドなのでdrawLine()で書いたラインが消えるならfillRect()で埋めた■も消えると思ったのですが・・・
0254234
NGNGString hoge[] = new String [4];
hoge[0] = "C#";
hoge[1] = "ha";
hoge[3] = "kuso.";
for(int i = 0; i < 4; i++)
System.out.print(hoge[i] + " ");
のように、「何も代入していない状態で参照するからエラーが
でるんだ」というようなエラー例ばかり載せてあるのですが、
この場合、コンストラクタを直接呼び出して(a[0].CMyThread(i)
のように)もNullPointerExceptionが発生します。
>>247
上記の場合、コンパイルエラーが出なかったので見えています。
0255初心
NGNGエラーが出てしまう。
Exception in thread "main" java.lang.NoClassDefFoundError: Hello←クラス名
これどういうエラーがわかる人いませんかー。
0256デフォルトの名無しさん
NGNGクラスパスが通ってないので通しなさい。
>>234
CMyThreadの、
public void CMyThread(int a);
この定義がおかしいんだがわかっている?
>>254を読むとコンストラクタをちゃんと理解していないように
見えるのだが。
0257234
NGNG理解が足りないのはそうかもしれません。
C++っぽく略して書きました。実体はこうです。
class CMyThread extends Thread {
public void run() {
try {
while (counter++ < 10) {
Thread.sleep(interval);
System.out.print("x");
}
}
catch (InterruptedException ex) {
ex.printStackTrace();
}
}
public void CMyThread(int a)
{
interval = a;
}
public int interval;
private int counter = 0;
}
0259初心
NGNGありがとう!
0260デフォルトの名無しさん
NGNG0261JAVA勉強中(3日目)
NGNG練習でアプレットをブラウザで実行するためにHTMLで
呼び出したんですが、not foundといって表示して
くんないです・・・。
アプレット自体は文字列を表示するだけの単純なモノで
入門書に書いてたソースをそのまんまつかったものなんすが・・・
HTMLファイルとクラスファイルを同じフォルダに置いて
<applet CODE="***.class"WIDTH="400" HEIGHT="500">
という上の記述(***はファイル名)をして呼び出そうとしたんですが、
表示されません。
ナニが原因かわからんので、よろしければアドバイスをお願いします〜。(T_T)
0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNGフォルダを作る度にそのフォルダへのCLASSPATHを追加していってます。
(winの環境設定で)
結果、フォルダの数だけCLASSPATHが増えて、今ではえらい事になってます。
一応問題なく動いてはいるのですが、こんな使い方で問題ないのでしょうか?
0264デフォルトの名無しさん
NGNGインナースレッドは便利。
クラスパスってライブラリへのパスだけでいいのでは?
0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNGわからん。ガンバレ!
0267デフォルトの名無しさん
NGNG0268262
NGNG0269263
NGNG>クラスパスってライブラリへのパスだけでいいのでは?
有難う御座います。
そうなんですか?
同じフォルダ内の別のクラスファイルを参照する場合、上手く行かないと思うのですが。
・・・ちなみに今ひとつパスを消したら、
そのフォルダの中のプログラムが実行できなくなる・・・と思ったら何事もありませんでした。
あるいはコンパイルできなくなる・・・これも思い過ごしでした。
ん〜、何でこんなことするようになったんだろう。自分でも不明 (w
度重なるエラーに対応していくうちに、今のやり方になったのですが、
まだ理解が足らないようでした。
すいません。
0270デフォルトの名無しさん
NGNGちょっとまて。同じフォルダ内の別のクラスファイルを参照するのに、
クラスパスが複数必要???違うぞ。
フォルダにクラスパスが通っていれば、そのフォルダをルートとする
classファイルは、全てシステムClassloaderの参照対象になるぞ。
root/hoge/hige/Hage.class(hoge.hige.Hageクラス)
root/hoge/hige/Huge.class(hoge.hige.Hugeクラス)
root/Hege.class(デフォルトパッケージHegeクラス)
があったら、rootにクラスパスが通っていればHageもHugeもHegeも
全部取り込み対象に出来る。
0271263
NGNG有難う御座います。
今実験したら、確かに仰るとおりでした!
と言う事は、恐らく以前の私のエラーは
パスを通してないフォルダをrootにして、
そこに新たなフォルダを作成してたのが原因だったような気がします。
しかし、この問題以前に不思議なことがあるのですが、
参照可能なフォルダが同時に複数存在するということは、
同じ名前のClassファイルがあった場合は、
何らかの規則に基いて優先順序を決めているわけなのでしょうか?
手元にある本にはそんなことはどこにも書いてない・・・
明日図書館にでも行ってきます。
0272デフォルトの名無しさん
NGNG同一のクラス名を同一のパッケージ内に置くのは禁止。
つうか、コンパイルした時にclassファイルが上書きされるだろ。
0273デフォルトの名無しさん
NGNG取り出さないと駄目なんでしょうか?
よろしくお願いします.
0274デフォルトの名無しさん
NGNGもしかして、.jarにする前はちゃんと動いていたプログラムが
.jarにすると正しく動かなくなったってやつかい?
俺も経験あるよ。
ClassクラスのgetResource()見てみ
0275デフォルトの名無しさん
NGNGガイシュツ。>>131-139を嫁。
「リダイレクト」の意味を知りたかったらGoogleで調べれ。
0276224
NGNGレスありがとうございます。
出来ないんですね。
0277デフォルトの名無しさん
NGNG>>146 と >>163 も見とけ。
0278230
NGNGGoF本のstateパターンの「動機」を嫁。
>他のオブジェクトから要求を受け取ると、そのときの状態により異なる反応を示す。
って書いてあるぞ。
意味するところ、わかるか?
0279デフォルトの名無しさん
NGNGその文章を見ると、それこそ「次の状態が決まっている事」と関係無い
とおもうが。「今の状態の種別」がメソッドコールの反応を変化させる
だけでしょ?
0280273
NGNG>>もしかして、.jarにする前はちゃんと動いていたプログラムが
>>.jarにすると正しく動かなくなったってやつかい?
よくわかりませんが、ちがうような...
例えば,Jarファイルに/Image/a.bmp
とかいうふうに格納したときに、
どうパスを指定して読み込めばいいか、ということです.
0281デフォルトの名無しさん
NGNGそのJarファイル内で、そのイメージファイルを使用しているクラスから、
new Image(getClass().getResource("JARファイル内部での相対パス"))
でImageオブジェクト取れるでしょ。
0282デフォルトの名無しさん
NGNG環境変数もしくはJVMの引数で指定したCLASSPATHの順番が優先順位です。
CLASSPATHで記述した順番に検索していき、最初に見つかったクラスを使用する。
0284デフォルトの名無しさん
NGNG切り替えて使っている人いますか? トラブルないですか?
0285273
NGNGお返事ありがとうございます.
>>そのJarファイル内で、そのイメージファイルを使用しているクラスから、
そのJarファイル外からは無理ですか?
0286デフォルトの名無しさん
NGNGString s = (String) o; //ObjectからStringへの縮小変換
とテキストにあるのですか逆のような気がして仕方ありません。
Objectの拡張クラスがStringという事は、StringクラスにObjectクラスの
メンバーが全て含まれているという事ですよね?
そうだとすれば
Object o = "string"; //StringからoObjectへの拡張変換
は縮小変換じゃないのですか?教えてください。お願いします。
0287デフォルトの名無しさん
NGNGワイドニングしたところで、インスタンスの型が変わるわけじゃない。
oに入っているのは"string"を持っているStringインスタンス。
0288デフォルトの名無しさん
NGNG拡張変換と縮小変換て言葉の使い方の話?
書いている人は、型の意味を般化する方向に変換しているから拡張変換と
表現したと思われ
0289デフォルトの名無しさん
NGNGやっぱり解からないか。
つか、GoF本読めってばよ。
赤→青→黄色(拡張して右折信号とかがあっても)くらいじゃstateパターン使う動機にならない事がわかるから。
0290287
NGNGoに入っているのは"string"を持っているStringインスタンス「への参照」。
oはObject型なので、そのいかなるサブクラス型の参照でも、しまう事が出来る。
0291279
NGNG単に「状態と言う値」のためだけなら、STATEパターンは必要ないわな。
ポリモルフィズムを利用した「状態に基づくオペレーションのディスパッチ」
が存在しないなら、そもそもパターンを使用したクラス設計する必要なんか
ない。
ただ、学習用としてはかまわんだろ?
実践では、実際に信号機型があったときに、
「色をくれオペレーション」→「色を返す」
だけのインターフェイスしか持たないような、アホなクラス作るわけないじゃん。
0292デフォルトの名無しさん
NGNGお陰様でなんとなく解かりました。
あとは自分で色々テストしてみたいと思います。
0293デフォルトの名無しさん
NGNGとりあえず拡張変換とか縮小変換って言葉聞いたことないので、自分語だと思われ
0294デフォルトの名無しさん
NGNG>Object o = "string"; //StringからoObjectへの拡張変換
>String s = (String) o; //ObjectからStringへの縮小変換
>
>とテキストにあるのですか逆のような気がして仕方ありません。
~~~~~~~~~~~~~
テキストのタイトルとかページとか(あればURLとか)がわかると回答できるかもしれぬ。
まあ、誤植の可能性も0ではないし。
0295デフォルトの名無しさん
NGNGクラスフィールド、クラスメソッドのメリットってなんですか?
メモリでも節約されるのでしょうか?
他にもメリットがあるのですか?
0296デフォルトの名無しさん
NGNGクラスフィールド・・・インスタンスが無くても参照できるフィールドです。System.outとか。
0297デフォルトの名無しさん
NGNGJavaでは<new>によりインスタンスを生成して無くても
常にクラスというのは存在しているという事でしょうか?
C言語とはそこら辺について、少し概念が違うのでしょうか?
よく理解していないので日本語が変だと思いますが教えてください。
お願いします。
0298デフォルトの名無しさん
NGNG"生物"と"哺乳類"と"人間"では
定義の範囲の広さから言って
"生物" > "哺乳類" > "人間"だから
人間を生物にキャストするのは、"拡張"といえるかも。
どうでもいい話しだけど。
0299デフォルトの名無しさん
NGNG> C言語とはそこら辺について、少し概念が違うのでしょうか?
C言語にはそもそもクラスとかインスタンスなど無いと思いますが。C++のこと?
0300デフォルトの名無しさん
NGNGクラスはC++で考えています。
0301デフォルトの名無しさん
NGNGクラススコープのメソッドもフィールドも、
インスタンスの数にかかわらず常に一つ。
>>300
Javaでは
× 変数=オブジェクト
○ 変数=オブジェクトへの参照
0302デフォルトの名無しさん
NGNGまた質問させてもらうかもしれませんが、その時はよろしくお願いします。
0303273
NGNG自分で解決できました.
jar:file:/C:/java/test/a.jar!/img/a.jpg
のように、Jarと内部のファイル名を指定すればいいです.
0304デフォルトの名無しさん
NGNGswap(a,b)はどう定義するのが一番何じゃーー!!!
↑a,bは何型でも良し。プリミティブでも参照でも。
こんな余りに単純な動作はどのクラスに持たせた物か、さっぱりさっぱり。
0305デフォルトの名無しさん
NGNG貴様ら!エディタはどれをお使いですか?
0306デフォルトの名無しさん
NGNGの中に何個含まれているか?っていう問題を作っているんですが、どうも
うまくいかない部分があって困っているんですが、簡単すぎかもしれない
ですが見てもらえますか?
0307デフォルトの名無しさん
NGNGよくあるタイプのやつだがワロタ
0308デフォルトの名無しさん
NGNGして行おうとしているのですが、型の違いなどのエラーになってしまい方
法に困っているのですが。CharAtの文字はChar型ですよね?.equalsでは
比較できないみたいで第1引数はStringでないと読めないと思って。。
0309デフォルトの名無しさん
NGNGmethod( arg1, String.valueOf(A.charAt(a)));
0310308
NGNG今の段階のソースうざいかもしれませんけど
class CountChar {
public static void main(String[] args) {
int ans;
String a,b,d;
char c;
a = args[0];
b = args[1];
for (int i = 0; i < b.length(); i++) {
if (a.equals(b.charAt(i))) {
ans = ans + 1;
}
}
System.out.println(ans);
}
}
こんな感じなんですが。
すいません。
0311デフォルトの名無しさん
NGNGifの中を
a.equals(String.valueOf(b.charAt(i)))
に変えてみ。
詳細はAPIリファレンス参照。
0312308
NGNGString.valueOfっていうのでストリング型に変換してるのかなとは思って
いるんですけど。
0313301・309・311
NGNG1.3は自分で探せ。ノートPCの電池が切れるから今日はここまで。
0314308
NGNG0315デフォルトの名無しさん
NGNG0316デフォルトの名無しさん
NGNGかんたんだったよーな
0317デフォルトの名無しさん
NGNGjavax.swing.JTextPane に丸投げするだけだったら
簡単にできると思うけど。
0318デフォルトの名無しさん
NGNGpublic static void main(String args[])
{
System.out.println("うへへぇ");
}
}
0319デフォルトの名無しさん
NGNG使い方によってはコンストラクタにpublicはいるので気をつけたほうがいいよ。
0320デフォルトの名無しさん
NGNG>flush() ストリームをフラッシュします。
って書いてあるだけでした・・・・・
それでフラッシュって何ですか?
0321デフォルトの名無しさん
NGNGストリームは効率をよくするためにバッファリングしている。
大抵、ある程度のデータが突っ込まれたら初めて書き込むようになっている。
(これをしないと、4 バイト x 1000 回 と 1000 バイト x 4 回 の書き込みは同じ 4000 バイトだが、
前者は 1000 回もディスクアクセスが発生することになる)
んで、フラッシュはバッファにあるデータを強制的に書き出す。
0322320
NGNGわかりやすい説明ありがとうございました。
0323デフォルトの名無しさん
NGNG設定を探してみたんだけどないです。
0324デフォルトの名無しさん
NGNGなんかいい方法知ってる人いますか?
0325デフォルトの名無しさん
NGNGかな。putenv に相当する機能は無い。
環境変数を指定した上で何か別の実行ファイルを起動した場合には
Runtime#exec(String command, String[] envp) が使える。
0326デフォルトの名無しさん
NGNGLinuxとWinのデュアルブートにしてるので
両方で使えるかちゅ互換2chビューワを作りたいんです。
つったら難しくなるのかな。
0327厨房
NGNG0328デフォルトの名無しさん
NGNGwhite space, alphabetic, numeric, string quote
, and comment character
の属性があるようですが、それぞれ意味を教えてください
0329デフォルトの名無しさん
NGNG無理です
2002年2月から.NETに追従してJDKのライセンス料金が
定められました
ttp:/java.sun.com/
一足遅かったね
0330デフォルトの名無しさん
NGNGとりあえずJ2SE SDKで始めるのがよいかと
http://java.sun.com/j2se/1.4/ja/download.html
統合開発環境が欲しいなら
上のページのForteとか、
Eclipse(オープンソース)
http://www.eclipse.org/
JBulder(Personal版がフリー)
http://www.borland.co.jp/jbuilder/
とかがある。
3つともこの板にスレがあるから
覗いてみるとよいかも。
0331デフォルトの名無しさん
NGNGint i = 1;
int func(){return i;}
}
class TWO extends ONE{
int i = 2;
int func(){return -i;}
}
とあった時に
TWO two = new TWO();
とすると
two.i == 2
two.func() == 2
ですが
OEN one = (ONE) two;
とキャストした時
one.i == 1 はまだ解かるのですが
one.func() が2となるのが納得いきません。
なにかこのような使用である論理的な理由がありますか?
アドバイスお願いします。
0332デフォルトの名無しさん
NGNGone.func() == 2 はまだ解かるのですが
one.i が1となるのが納得いきません。
どなたかマジレスお願いします。
0333デフォルトの名無しさん
NGNGこれも違うだろ
0334デフォルトの名無しさん
NGNGインスタンスメソッドだけ
0335デフォルトの名無しさん
NGNGサブクラスにスーパークラスと同じ名前のフィールドがあると、
それはオーバーライドされるのではなく、隠される。
で、サブクラスの中からは、superでそのフィールドにアクセス
できるし、変数をスーパークラスの型にすると、サブクラスの
フィールドが見えなくなるから、スーパークラスのものが見える
ようになる、ということ。
結局、こんなコードを書くとバグの元だね。
0336デフォルトの名無しさん
NGNGちょっとでもがんばれば文系の俺でも企業もchっとは目にか
けてくれる存在になると思うんだ。やってみるよ!
■ このスレッドは過去ログ倉庫に格納されています