初心者歓迎! Java相談室 その8

このエントリーをはてなブックマークに追加
1じゃばこ
   ∧  b
  /●ヽ/
 (∧_∧)  / ̄ ̄ ̄ ̄ ̄
 ( ´∀`)< 質問前に過去スレ検索モナー。
 (    )  \_____
 | | |
 (__)_)


>>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

Google で検索 ⇒ http://www.google.co.jp/
JavaFAQ で探す ⇒ http://www.gimlay.org/~javafaq/javafaq.html
ご要望によりじゃばこサイト ⇒ http://www.javaco.org/
2じゃばこ:02/05/04 04:24
■■■ 過去スレの一覧 ■■■ (一部 HTML 化待ち)

JAVA厨房
http://piza.2ch.net/tech/kako/966/966391052.html

Java相談室
http://piza.2ch.net/tech/kako/971/971960169.html
Java相談室 Part2
http://piza.2ch.net/tech/kako/980/980858322.html
Java相談室 Part3
http://piza2.2ch.net/tech/kako/994/994150280.html
Java相談室 Part4
http://pc.2ch.net/tech/kako/997/997791189.html
Java相談室part5
http://pc.2ch.net/test/read.cgi/tech/1003567552/

ネタ心者歓迎!今更ながらにJavaを学ぼう!
http://piza.2ch.net/tech/kako/981/981424252.html
ネタ心者歓迎!今更ながらにJavaを学ぼう! その弐
http://pc.2ch.net/test/read.cgi/tech/993358225/

ネタ心者歓迎! 今更ながらにJava相談室
http://pc.2ch.net/test/read.cgi/tech/1003569074/
ネタ心者歓迎! 今更ながらにJava相談室 その2
http://pc.2ch.net/tech/kako/1006/10064/1006408230.html
ネタ心者歓迎!今更ながらにJava相談室 その3
http://pc.2ch.net/tech/kako/1007/10078/1007802486.html
ネタ心者歓迎!今更ながらにJava相談室 その4
http://pc.2ch.net/test/read.cgi/tech/1010545421/

初心者歓迎! Java相談室 その5
http://pc.2ch.net/test/read.cgi/tech/1012968994/
初心者歓迎! Java相談室 その6
http://pc.2ch.net/test/read.cgi/tech/1015418174/
初心者歓迎! Java相談室 その7
http://pc.2ch.net/test/read.cgi/tech/1018631329/
3じゃばこ:02/05/04 04:24
■■■ Javaの基礎と よくある質問 ■■■

Q: クラスの使い方が分かりません。
A: Java 2 プラットフォーム API 仕様
http://java.sun.com/j2se/1.3/ja/docs/ja/api/index.html

Q: SDKの仕様や、Javaの使い方、コマンドの使い方を教えて下さい。
A: Java(TM) 2 SDK ドキュメント
http://java.sun.com/j2se/1.3/ja/docs/ja/index.html

Q: Javaの言語仕様が知りたいです。
A: Java言語規定
http://www.y-adagio.com/public/standards/tr_javalang/index.htm
http://java.sun.com/docs/books/jls/second_edition/html/j.title.doc.html

Q: 「僕以外の人も、同じ疑問を持ったはず」と思えるような質問があります。
A: Java House ML Topics / Java FAQ / Java Tips
http://java-house.etl.go.jp/ml/topics/
http://www.gimlay.org/~javafaq/
http://www.javaworld.com/columns/jw-tips-index.shtml

Q: 僕、サルなんですけど・・・。
A: サルにはわかるヒアリングJava入門(マルチランゲージ対応)
http://www.asahi-net.or.jp/~rc4t-ishr/Saru/index.html

このほかの FAQ はこちら↓をご覧ください。
http://www.gimlay.org/~javafaq/javafaq.html
4じゃばこ:02/05/04 04:24
■■■ Java関連スレいろいろ ■■■ (一部 HTML 化待ち)

統合開発環境。

JAVA開発環境 "eclipse" is COOL!!
http://pc.2ch.net/test/read.cgi/tech/1013268002/
[Java]JBuilder5[Java]
http://pc.2ch.net/test/read.cgi/tech/995044723/
【Meadow】Java開発環境(・∀・)イイ【JDEE】
http://pc.2ch.net/test/read.cgi/tech/1017214967/
Forte for Java
http://pc.2ch.net/test/read.cgi/tech/1016161880/
IBM VisualAge for JAVA
http://pc.2ch.net/test/read.cgi/tech/989931658/ (dat逝き)

サーバサイド。

JAVAサーブレットQ&A
http://pc.2ch.net/test/read.cgi/tech/972229341/
JavaサーブレットQ&A LV2
http://pc.2ch.net/test/read.cgi/tech/1012728608/
サーバーサイドJAVAをまたーり語るスレ
http://pc.2ch.net/test/read.cgi/tech/1004972840/

携帯。

携帯JAVAのスレッド
http://pc.2ch.net/test/read.cgi/tech/1011977260/
iアプリ
http://pc.2ch.net/test/read.cgi/tech/1000723476/
i‐MODEのJAVA
http://piza2.2ch.net/tech/kako/975/975428633.html
iアプリでゲーム
http://game.2ch.net/test/read.cgi/gamedev/1005042631/

その他。

クライアントサイドJavaどうよ?
http://pc.2ch.net/test/read.cgi/tech/1002160815/
【祝】 JDK 1.4 βリリース
http://pc.2ch.net/test/read.cgi/tech/990949654/
Pure Java Mail Server
http://pc.2ch.net/test/read.cgi/tech/1009991622/ (dat逝き)
Java Media Framework とか
http://pc.2ch.net/test/read.cgi/tech/1015938096/
5じゃばこ:02/05/04 04:25
■■■ 撲滅させたいかた、死滅を心配してるかた ■■■

CとJavaを比較した場合Cの良いとこと悪いとこ
http://pc.2ch.net/test/read.cgi/tech/1009707596/

Java撲滅委員会
http://pc.2ch.net/test/read.cgi/tech/996848309/

●●JAVAって死滅しちゃうの????●●
http://pc.2ch.net/tech/kako/1005/10051/1005159122.html
●●JAVAって死滅しちゃうの???? PART2●●
http://pc.2ch.net/tech/kako/1006/10060/1006053686.html
●●JAVAって死滅しちゃうの???? PART3●●
http://pc.2ch.net/tech/kako/1008/10081/1008162230.html
6じゃばこ:02/05/04 04:25
7じゃばこ:02/05/04 04:28
だれも立てないからとりあえず立てとくよ。
面倒だったんでほとんどその 7 を流用させてもらいました。間違い、
リンク切れ、追加等ありましたらお願いします。
お疲れさま。
ttp://java.sun.com/features/1999/05/images/duke/duke_james.jpg
↑この人の持ってるPCの壁紙どこかに無いですか
DL先教えてください。すいません、くだらなくて
でも、本当に欲しいです
俺も欲しいんで Google でイメージ検索してみたけど無いなぁ。
関係ないけどこんなん拾った。
http://www.zdv.uni-mainz.de/JoguBits/duke.gif
>>9
Duke 萌えならここをみとけ。
http://www2.rosenet.ne.jp/~mlv/mascots/duke/
12デフォルトの名無しさん:02/05/04 05:33
>>10
いいね。俺も3Dマスターしーたい。
って、これJavaオンリーのフル3D?
3D Duke キモイ

# とか言うと追っかけられそうだな (藁
よく考えたらマスコットのある言語って
Javaだけか?
  人   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ノ ● <これからはモナーに代わり俺が担当するぜ
VV \___________________
18デフォルトの名無しさん:02/05/04 07:54
実行したらアプレットビューアがでません。
XPのコマンドプロンプトが問題なのか何かが足りないのか
さっぱりです???
どうか教えてください。お願いします。
おまえの質問がさっぱりだよ
何をどうしたのかわかんねーよ
20デフォルトの名無しさん:02/05/04 08:49
JAVAの開発に適したおすすめのエディタを教えてください。
・sakuraエディタ
・JDEE
22デフォルトの名無しさん:02/05/04 09:14
sakuraエディタ の何がいいの?
矢巨型編集はよく使う→sakura
>>9
ttp://fukuoka.cool.ne.jp/dream_theater/ddipocket/pictures.html
ここのJAVAロゴを壁紙にしてる
259:02/05/04 10:30
>>24
エッジかよ!?
小せえよ!
タイル状にすれってか?
インターフェースのうまい利用法
どなたか解説して欲しいのです
27デフォルトの名無しさん:02/05/04 12:47
>>26
結局ルール作りみたいなものだから、
必要を感じないなら無理に使うこともない。
いずれそのうち、使わざるを得ない状況に陥る。
29デフォルトの名無しさん:02/05/04 13:03
>26
これを読むのが良いと思うんだけど。
http://objectclub.esm.co.jp/collection/JDK1.2collection.html
30チャットメーカー:02/05/04 13:46
クライアントのiアプリとサーバーがわで 
圧縮、解凍、
暗号化、複合化の両方をやるのですが
そうだとしたら、両方の言語を統一したほうがいいですよね?

携帯でJAVAならサーバーもJAVAサーブレットに
したほうがよいと思われますか?
31デフォルトの名無しさん:02/05/04 13:56
>30
好きにしろ
>>30
どうでもいい。
hopper って いつ頃出るんだっけ?

>>30
×複合化
○復号化
3418:02/05/04 14:17
説明が足りませんでした。
Exception in thread"main"java.lang.NoClassDefFoundError:
というエラーが出てしまいます。アプレットビューアを表示する
ものに限ってエラーがでます。なぜでしょうか?
アプレットビューワーは
 appletviewer applet.html
で起動するんだけど。
 java applet
とかってやってないか?
>35
違うエラーが出ると思う。

まともな質問になるまで相手しない方が良い。
いま、JavaTM 2 SDK, Standard Edition ドキュメントV1.4.0
マターリ読んでるんだが
JDBC(Java Database Connectivity)って書いてある
「JDBCはJava Database Connectivityの略じゃない」などと
言っていた気がしたのだが・・・
3834:02/05/04 18:31
35さん
分かりました。ありがとうございます。
39デフォルトの名無しさん:02/05/04 18:58
inheritanceやらinterfaceやら理解できないけど、全部コピペで作ればとりあえず動くものは作れるよね?

で、しばらく作っていって、「あーこーいう機能がほしーなー」
と思った時点でまた勉強しなおせばいいよね?
人に同意を求めるな
>>39
JavaWorld を定期購読してデザパタ本とリファクタリング本を何となく読んでみれ。
だめです、って言われたらどうするつもりなの?
0からコーディングするつもりです
最近は コピー & ペーストの切り貼りプログラムのことを
「0からコーディングする」って表現するみたいですね。
勉強になります。
>>44
良く読め
最近はinheritanceやらinterfaceやら使ったプログラムのことを
「0からコーディングする」って表現するみたいですね。
勉強になるますた。
47デフォルトの名無しさん:02/05/04 20:29
他人の作ったソースをぱくるときは、inheritanceやinterfaceが必須になるの?
>>47
そら、人のソースぱくるにはソースが読めることが最低条件だろう。
49デフォルトの名無しさん:02/05/04 22:01
ezplus向けにアプリを作ろうと思ってるんですが、
画面(キャンバス?)の座標を指定して、
そこのrgb値を得るメソッドってありますか?
getCanvasColor(x,y)みたいな感じでイメージしてるんですが。

分かりづらい質問ですいませんが、
分かる方いましたら教えて下さい。
50デフォルトの名無しさん:02/05/04 23:15
import java.awt.*;
import javax.swing.*;
class a extends JFrame
{
  public static void main(String[] args)
  {
   setSize(250,250);
   setTitle("a");
   setVisible(true);
  }
}

なんでこれでコンパイルできないの?
51デフォルトの名無しさん:02/05/04 23:23
>>50
main はstaticメソッドだから。
>>50
とても明快なエラーメッセージが出てるはずだが。
>>49
それってむりなんじゃないの?
そもそも画面は自分がかくものだし。
いったん表示したものはアクセスできないよ
>>50
マジレスしよう。

インスタンスを作ってないからだ。
インスタンスが何なのかは自分で調べろ。
55デフォルトの名無しさん:02/05/04 23:57
javax.swing ってなんで
    X
ってはいるの?
>>54
そっか、mainはstaticだけどその中のメソッドはstaticじゃないんだ。
>>55
javax の最後の x のことか?
まぁ、そういう名前なんだからしょうがない。
そういうもんだと思うしか。

一部のVM(ブラウザ?)で java. から始まるパッケージ名が増やせない
とかいう情けない実情があったらしい。
で、しかたないので javax. にしたと…。

もう慣れちったから、どうでもいいや。
5849:02/05/05 00:27
>>53
レスありがとうございました。
59デフォルトの名無しさん:02/05/05 00:42
初心者ですいません

javaでGridLayoutではbottonしか並べられないんですか?
panelをたくさん並べたいのですが・・・
60デフォルトの名無しさん:02/05/05 00:42
>>55
元々オプション扱いだったのが標準ライブラリに
格上げされたからじゃなかったっけ?
本来javaxはオプションライブラリにつかうパッケージ名。
61デフォルトの名無しさん:02/05/05 01:00
アプレットのGraphicsクラスのオブジェクトに、
drawStringで長文を書込むと、
折り返されずに描画領域からはみ出てしまうのですが、
はみ出さずに済むメソッドってありますか?
>>61
ありません。
TextArea を使うか、自前で表示する長さを計算しましょう。
FontMetrics クラスを使えばいいと思う。自信ないけど。
63デフォルトの名無しさん:02/05/05 01:13
独習Javaという本で勉強中のものだす。
本のとおりにインストールしたのだが、コンパイルはできるのに
「Exception in thread "main"java.lang.NoClass DefFoundError:Example1」
というエラーが出て実行できなかった。
インターネットで調べてみると環境変数のCLASSPATHが変な風に設定されていると
こういう現象が起きるのだそうだ。
それで、DOSプロンプトでsetって入れて見たところ、変な設定も何もCLASSPATH自体なかったんだよ。
で、試しに環境変数にCLASSPATHを.(ポチ)で新規に追加してみたら、実行できるようになったんだ。
これって間違ってる?長時間使うとWindows不安定になるとかないですか?
CLASSPATHはオプションにした方が良いとか書いてあったので。
オプションにしてみても動かなかったんだけど。。
ちなみにWindowsXPだよ。
>>63
オプションにどういうふうに書いたのか示さないと、答えようがないじゃないか。
一行丸ごと書きましょう。
ちなみに、環境変数で CLASSPATH=. と、やっといて、まったく問題ない。
65デフォルトの名無しさん:02/05/05 01:48
問題ないんですか!ありがとう。
Robocode作るぞ。

オプションはこんな感じだよ。この時はまだ環境変数にCLASSPATH追加してないよ。
java -classpath .;C:\Java Example1
今再現させようと思って、環境変数のCLASSPATH削除して、リブートしてやってみたんだけど、
なんか動くんだよね。
java Example1 これでも動く。
不思議だなー。スペルミスのはずはないんだが。
Swingって、ベータ版のとき何回かパッケージ名が変わったらしいね。
67デフォルトの名無しさん:02/05/05 01:57
>>65
コマンド打つとき
java Example1.java ってしてなかった?
いや、俺の場合なんだけどさ。
(懐かしいなぁ・・・   徹夜したよ。ワラ)
>>65
環境変数 CLASSPATH が設定されて無い場合は、
自動的に . が CLASSPATH となる。
で、下のパターンで動くわけだ。

上のパターが、再現しないのならしかたないな。
とりあえず気にしなくてもいいかと。
>>66
Swing1.0.2 の頃は、com.sun.java.swing
JDK1.2 に java.awt.swing となるはずだったが、いろいろあって、
javax.swing になった。
で、あってるかな?
>>69
あぁ、そうそんな感じ。なんかで読んだ記憶がある。
その頃から追っかけてた人は、色々振り回されて大変だったのかな。
まあ、たいていエディタの置換で終わったけど。
リリースしちゃったヒトも、「動作保証バージョン」
を指定しとけばすむ話で...

むしろ、ユーザはいくつかのバージョンをインストール
しとく必要があったり。
sun.net.* パッケージもあったな
もちろん、いまでいうjava.net.*
ソケットの実装のしかたが違うので困ったよ
73デフォルトの名無しさん:02/05/05 03:51
javac -target 1.3 などとすると
JDK1.3でないと動かないプログラムを作れますが、
"1.2用のプログラムを実行するときは1.2用のライブラリを
使い、1.3用のプログラムを実行するときは1.3用のライブラ
リを使う"方法って無いでしょうか?
74デフォルトの名無しさん:02/05/05 03:55
1.3、1.2の二つがインストールしてある場合
実行時に-classpassオプションつけるしかない
ただし、環境変数にはC:\jdk1.3\binなどのPATHを
設定せずに、プロンプト内でsetPATHすればいいと思う
あくまで、予想
75デフォルトの名無しさん:02/05/05 03:58
かなり初心者ですが、お願いします。
一応検索したのですが、よくわからないので質問させてください。

今、sunのサイトから、API仕様(v1.3.0の日本語)を読んで、
いくつかのメソッドを試したりしてます。
で、それぞれのクラスで用意されたフィールドの値の一覧
みたいなものってどこかに載っていますでしょうか?

例えば、java.awt.JOptionPaneクラスの
OK_OPTION と言うフィールドは、
showConfirmDialog などのメソッドで、
ユーザが'Yes'を選択した場合の返り値(int型)です。
と、そこまでは説明されているのですが、
それが実際にはいくつの値であるかを知りたいのです。
今は、とりあえず一つずつフィールドを出力して確認してるのですが、
そんなことせずに、一覧表みたいなものが無いかなと思って探しています。

それとも、そもそもフィールドの値と言うのは知る必要ないのでしょうか?

長文すいません。
WinのDLLとかUnixのsoとかだと、
実行すると適切なバージョンのライブラリが選ばれますけど、
そういう具合いにはいかないんでしょうか?

単に java classname とやると、適切なバージョンのライブラリを
選ぶというのは無理?
>>75
普通は知る必要ないがデバッグの時は知りたいかも。
JDKをダウソロードするとsrc.zipというファイルの中に
ソースが入っているから、そこの定義を嫁。
78デフォルトの名無しさん:02/05/05 04:10
static フィールドなら
System.out.println(JOptionPane.OK_OPTION);
で、わからない?
javah javax.swing.JOptionPane
を実行して、出力されるへッダを見る。
80デフォルトの名無しさん:02/05/05 04:21
同じソースを再コンパイルした時にオブジェクトファイルを
上書きするようにしたいだけど、どうすればいいんですか?
今いちいちゴミ箱に捨ててるんだけど、大変だよ。
ほんとにスマソ
81デフォルトの名無しさん:02/05/05 04:25
>>80
事故解決
javac test.javaを
javac test*ってやってたYO!
>>80
上書きされないの??
バッチファイルで消す&コンパイル。
JDK1.2以降で追加されたワイルドカードを勝手に
展開してくれるありがた迷惑な機能を殺す事って出来ます?

現在、俺のやってる対処法は、batファイルで
コマンドライン引数全てを "" でくくる、って奴なんだけど。
84デフォルトの名無しさん:02/05/05 09:47
>>83
ん?どういうことなのか詳しく
コマンドラインのzip操作プログラムを作ってると考えてください。

zip extract test.zip *

で test.zip の中の全ファイルを解凍するコマンドとする。
ところが上記の機能のせいで zip.main に渡されるのは

extract
test.zip
カレントフォルダにあるファイルその1
カレントフォルダにあるファイルその2
カレントフォルダにあるファイルその3
...

となっちゃうわけ。
Unixだとワイルドカードの展開はシェルの仕事らしくて、
Windowsでも同じように、ってんで必要無いのに勝手に
ワイルドカード展開してくれるんですよ。この機能を
殺したいんだけど、上記のbatファイルで
全引数に "" を付加する以外で良い方法あったら
おしえてほしーんですが。
>>85
イマイチわからんが
*を引数にせず、-allとかにしてみたら?
相談に乗ってもらってて悪いんだけど、
ワイルドカードって分かるよね?

dir *.txt

とかやるやつ。
""でくくるんだと何故ダメなんですか?
Unixだと普通そうしますが。
いや、だから "" でくくる以外の解決法があるか、というのが
今回の相談のキモなんですが。
>>86のいっているのは
*を使わずに-allオプションをつければ
ということなのでは?
つまり、
zip extract test.zip -all


悪いんですが、それだと *.txt とか *.c とか *.java に対応できません。
プログラム内で
if(args[3].equals("-all")
{//.........}
ってことです
>>91
正規表現をサポートしたいのね?
やぱり、"*"が最適解だと思われる
*と?のかわりに他の文字を使う。@と#とか。
すなおに""ツカエや。
>>93
*.txtは正規表現じゃね─よ(藁

*と?のかわりに\*と\?を使う。
>>91
ワイルドカード文字を '*' から変える。$.c とか $.java とか。
それが嫌なら、できねーよ。あきらめろ。
9761:02/05/05 11:45
>>62
お返事ありがとうございます。
Googleで色々探してみた結果。

http://java.sun.com/products/jdk/1.2/ja/docs/ja/api/java/awt/font/LineBreakMeasurer.html
のLineBreakMeasurerというのがそれっぽい感じなのですが、
Java厨房なのでまだ覚えてないクラスの事が沢山出てて、
いまいち使い方がわかりません。覚えねば。

この機能を必要としている他の方がいると
思うので、貼っておきます。

結構必要な機能だと思うので、初心者本にこれの説明書いておいて
ほしいなと思たです。
>>97
JAVAによるGUIプログラミング(大村忠史著)
ISBN4-906391-63-X,ISBN4-906391-73-7,ISBN4-87783-015-4,ISBN4-87783-051-0
に解説されてるので参照されたらどうでしょう?
9975:02/05/05 19:01
>>77,78,79
Res有難う御座いました。
src見ました。感激です。これで他の疑問もたくさん解決しそうです。

Res遅れてすいませんでした。
10097:02/05/05 20:46
>>98
ありがとうございます。
書店で探して参照します。
100Get?かな
アスペクト指向言語きぼん。
102101:02/05/05 20:49
いうまでもなく誤爆。
MixJuice 使っている人いる?などとお茶を濁して帰ります。
103デフォルトの名無しさん:02/05/05 21:28
OSはMeなんですが。CLASSPATH環境変数を設定したいのですが、どこで書けば
いいのか困っています。今持ってる本にはNTの例しか載ってなく、その方法だ
とたどりつけないのでお願い致します。
autoexec.bat
っていうか、MEは98SEにアップグレードすべきじゃないかな?
105デフォルトの名無しさん:02/05/05 21:39
autoexec.batに書けばいいんですね。どうもありがとうございました。
98SEってなんでしょう?汗 全然無知でして、MEってあんまり向いてないって
ことですか?
>>105
Windows MEは、Windows98SEに比べてバギーです。
107デフォルトの名無しさん:02/05/05 21:46
馬鹿にされることを覚悟して、質問します。
Javaを今日からはじめまして、
Java2 SDKをDLしたいのですが、本に書いてあるとおりのアドレスに行っても、
「新しいバージョンになりました。」と出てきて、言ってみたら英語でサッパリわかりません。
一応訳せはしましたが、それでもサッパリです。
日本語版の
「Java2 Platform,Standard Edrion Ver1.3か1.4」をDLしたいのですが、
どなたか教えていただけませんでしょうか?

稚拙な文章&馬鹿な質問ですみません。よろしくお願いします
108デフォルトの名無しさん:02/05/05 21:50
メンドイから、やだ。
110デフォルトの名無しさん:02/05/05 21:54
バギーってどういう意味かわかんないんですけど汗。
107>ここのスレの上の方から行けるはず。
あとけっこう素朴な疑問なんですが、JAVAって実際今でもどのくらい使われて
いるのか、重要性がある言語なのか?っていうのがわからないんですが。けっこう
もうJAVA終わったとか書いてあることを見たこともあるので。
111デフォルトの名無しさん:02/05/05 21:57
>>109
>>110
本当に有り難うございます。感謝です。
更に質問して、大変恐縮ですが、
DLするとき、多くてどれにすればいいのかわからないんですけど、
教えていただけませんでしょうか?
すみません。教えて君で・・・・・・・
>>111
おおいってなにが?

>>110
バギー=バグが多い
113デフォルトの名無しさん:02/05/05 22:07
>>12
メニュー(?)です。
J2SETM v 1.3.1_03 のダウンロード
日本語版 J2SE v 1.3.0 ドキュメント
とかです。
11412:02/05/05 22:11
>>113
え?
http://java.sun.com/j2se/1.4/ja/download.html
ここのWindows(各国語)SDKをダウンロードすればいいのでは?

OSがWinじゃないなら自分のOSのSDKね。
>>113
J2SETM v 1.3.1_03 のダウンロード
と、ドキュメントも必要になるだろうから両方
solarisぱっちはいらんだろう

117デフォルトの名無しさん:02/05/05 22:16
あほっぽくて申し訳ないが
フォルテfor JAVAって使いやすい?
http://java.sun.com/j2se/1.4/ja/download.html
118質問:02/05/05 23:12
押しボタンが
「了解」
とかなってるのがむかつくので
「OK」にしたい。
「へぇ」 としか答えようが無い質問がこの世には存在する。
>>118
「了解」 を 「Sir, yes sir!!」 と読んどけ。
>>118
実行時に
java ...ではなく
LANG=C;java ...とする
122デフォルトの名無しさん:02/05/05 23:43
>>114
すみません。12じゃなくて112でした。
>>116
>>117
ありがとう。なんですが、(各国語)にすると、英語になってしまいません?
>>122
各国誤にすれば、ダウンロード後日本語通ってる
124デフォルトの名無しさん:02/05/06 00:03
>>123
ってことは、普通にDLしても大丈夫ってことですね。
ありがとうございます。
125デフォルトの名無しさん:02/05/06 01:31
Stringオブジェクトがaかbかcの内のどれかであるかどうか
判定したいのですがswitchで
String str;

switch(str.toString()){
 case "a":
 //・・・
 case "b":
//・・・
としていくしか無いんでしょうか?
126 :02/05/06 01:50
>>125
最近JAVA勉強し始めたばかりだけど、switchって数値(少ないビット数)しか
使えなかったような…。超初心者なので、違ってたらスマソ。
127126:02/05/06 01:51
(少ないビット数)って分かり難いな。intやbyte型とかデス。
128125:02/05/06 01:56
>>126
本当だ
The type of the Expression must be char, byte, short, or int, or a compile-time error occurs.
とありますね。ありがとうございます。

ということはif-elseifでしょうか?
>>125

case文は、
case f(x1): case f(x2): casef(x3):
//...
見たいに出来る
130125:02/05/06 02:10
>>129
なるほど。勉強になります。
それでも煩雑なことに変わりはないですね。

java.util.regexとかで正規表現を使うのがよいのでしょうか?
もっと簡単な手は無いのかなぁ。
131デフォルトの名無しさん:02/05/06 02:19
switch文関連かもしれないんですが、逆ポーランド記法のプログラムで
switch case '+'
case '-'
case '*'
のように分岐してスタックを操作するアプリケーションプログラムなんですが
実行の時にargsに引数を与えていく感じで実行なんですが 
java pol 1 2 *
のようにアスタリスクを使うと読み取ってもらえません。どうしてでしょうか?
お願いします。



132デフォルトの名無しさん:02/05/06 02:24
>>131
bashなら*が展開されてんじゃねーの?
'*'とでもしておけ。
>>131
このスレの上の方にあるが、
UnixだけでなくWinでも*はワイルドカードとして
ファイル名に展開されるようだ。

'*'とか書け。
134デフォルトの名無しさん:02/05/06 02:44
どうもありがとうございます。そいう風に指定されているんですね。
親切にどうもです。
135デフォルトの名無しさん:02/05/06 02:50
と思ったんですがいざ実行してみるとエラーがでてしまいます。
エラーの内容も同じなんですが。
実行のときに
java Pol 2 2 '*'っていう感じに直したんですが。
>>135
' じゃなくて " ?
そもそも上とクラス名が違うのが気になる・・・
137デフォルトの名無しさん:02/05/06 02:53
実行の時ってことじゃないですよね。すいません今思い直して。
元のプログラム修正することにします。理由が少しわかったのでありがとうございました。
>>135
javaは知らないけど、Cならコマンドライン引数は文字列だから、caseで使うならそのなかから一文字取り出す操作が必要。Javaもそんな感じだと思うが。
139デフォルトの名無しさん:02/05/06 02:56
ん?今レスみたんですけど。わかりました。
ダブルコーテーションだったんですね。できました。
クラス名が違うのはすいません、特に意味ないです。
ダブルコーテーションで書くときちんと認識してくれるっていう解釈でいい
んですよね、変なこと言っててすいませんでした。
140デフォルトの名無しさん:02/05/06 02:57
>>139
シェルは何を使っているの?
141138:02/05/06 02:58
caseじゃねー、switchだ。
142デフォルトの名無しさん:02/05/06 02:59
>>138
どうも変なスレ書いたばっかりに混乱させてすいませんでした。
ソースの方は1文字ずつ取り出してっていう風になってます。
このスレ見てて実行の時にUnixとWindowsだと*をワイルドカードとみなして
しまうから""でくくればいいってことですよね。親切にありがとうございました
理解できました
143デフォルトの名無しさん:02/05/06 03:00
>>140
あの超初心者なんですが、シェルってなんでしょう?汗
>>142
WindowsってNTや2000のコマンドプロンプト?
9x系のDOSプロンプトでは*は展開されなかったような・・・・
>>143
OSと対話するためのソフト。
WinのエクスプローラやMS-DOSプロンプト、UNIXのbashやtcshなど。
146デフォルトの名無しさん:02/05/06 03:03
>>144
OSはMEです。えーとNTや2000だとその""でくくる方法でもできないっていう
ことでしょうか?
>>146
あれ?使えた?
この前やったときは使えなかったような・・・・勘違いか(汗
148デフォルトの名無しさん:02/05/06 03:04
>>145
なるほど、勉強なります。
WindowsMeのMS-DOSプロンプトでやっています。
149デフォルトの名無しさん:02/05/06 03:06
>>146
使えましたよ。
皆さん。ありがとうございました。
おかげで任意精度の電卓が完成しました。

import java.util.Stack;
import java.math.BigDecimal;

public class Pol {
 public static void main(String[] args) {
  Stack stack = new Stack();
  try {
  for (int i = 0; i < args.length; i++) {
  if (args[i].length() == 1 &&
  "+-*/=".indexOf(args[i].charAt(0)) >= 0) {
  switch (args[i].charAt(0)) {
  case '+':
  {
  BigDecimal d1 = (BigDecimal)stack.pop();
  BigDecimal d2 = (BigDecimal)stack.pop();
  stack.push(d1.add(d2));
  }
  break;
  case '-':
  {
  BigDecimal d1 = (BigDecimal)stack.pop();
  BigDecimal d2 = (BigDecimal)stack.pop();
  stack.push(d2.subtract(d1));
  }
  break;
  case '*':
  {
  BigDecimal d1 = (BigDecimal)stack.pop();
  BigDecimal d2 = (BigDecimal)stack.pop();
  stack.push(d1.multiply(d2));
  }
  break;
  case '/':
  {
  BigDecimal d1 = (BigDecimal)stack.pop();
  BigDecimal d2 = (BigDecimal)stack.pop();
  stack.push(d2.divide(d1, BigDecimal.ROUND_UNNECESSARY));
  }
  break;
  case '=':
  System.out.println(stack.pop());
  break;
  }
  } else {
  stack.push(new BigDecimal(args[i]));
  }
  }
  } catch (Exception e) {
  System.out.println(e);
  }
 }
}
GUIアプリケーションのボタンなどの文字につかう
デフォルトのフォントを指定するにはどうすればよいでしょうか?
Linuxだとフォントの設定ファイルが用意されているんですが
Windowsだとそういったファイルは用意されていないんでしょうか?
もし、知っておられる方がいましたら教えてください。
部品一つ一つにsetFont()するのはめんどくさいので
>>151
setFont(null)だと、親のコンポーネントのFontを継承するらしいよ。
だから、親のコンポーネントを変えるだけで全て変わるんじゃない?
それじゃダメ?
>>151
font.properties
font.properties.ja
font.properties.ja_JP
などを書けばいいって話か?
154151:02/05/06 08:28
>>152
ありがとうございます
確認しました。確かにそれだと記述は少し減りそうです
ただ、私が言っていなかったのもまずいのですが
実はJavaアプリで自分のPCにインストールしてある
特別なフォントを使用したいと思ったときに
new Font("ORIGIN_FONT_NAME",Fot.PLAIN,10);
と、書いても「ORIGIN_FONT_NAME」がJVMのほうから認識されないらしく
デフォルトのフォントになってしまいます
プロパティセットのフォントの項目を出力させても
私の使いたいフォントは認識されていません
つまり、自分のPCにインストールしてあるフォントを
JVMに認識させるにはどういう方法を使えばいいんでしょうか?
話が前後してすいません

155151:02/05/06 08:30
>>153
行き違い
ありがとうございます。調べてみます
156デフォルトの名無しさん:02/05/06 11:44
すみません。また質問です。
本には作業用ディレクトリを好きな名前で作る
(これって、右クリック→新規作成→フォルダ、でいいんでしょうか?)
本では、[C:\javajava]って名前にしてまして、僕は「black」という名前にしました。
DOS窓を開き、「プロパチィ」→「プログラム」で作業ディレクトリのところに
ディレクトリの名前を書く(本では[C:\javajava])となっているんですが、
僕の場合は([black])と書けばいいのでしょうか?

馬鹿な質問の繰り返しですみません。よろしくお願いします
でしょうな
>>157
> 本では、[C:\javajava]って名前にしてまして、僕は「black」という名前にしました。
「した」のか?「したいと思うんだけどまだしてない」のか?
本当に[black]でいいのか?[C:\black]じゃないのか?
それともネタか?
159158:02/05/06 12:04
>>156だった、スマソコ
160デフォルトの名無しさん:02/05/06 12:09
>>158
すみません。ネタじゃありません。
「black」にしたのです。
「C:\』ってつけなきゃまずいんですか?
あと、そのフォルダってどこに保存しとけばいいのでしょうか?
今は、デスクトップにしてるんですけど・・・・・
>>154
Javaの場合、font.propertiesで論理フォント名=物理フォント名の
マッピングしてて、プログラム中からは論理フォント名使うんでは
なかったっけ?
うろ覚えなので間違ってたらすまん。
>>160
> 今は、デスクトップにしてるんですけど・・・・・
それなら多分blackというフォルダの「フルパス」という奴は
C:\WINDOWS\デスクトップ\black
となっているはず。
Javaのソースをコンパイルして実行できるようなら
今のままで別にかまわんよ。
163デフォルトの名無しさん:02/05/06 13:15
なるほど!
ありがとうございます。
164デフォルトの名無しさん:02/05/06 14:33
質問ばかりですみませんが、
Javaのソースを作って、(名前は「hage」)
コンパイルしようと思ったんですが、
「DOS窓」で、
C:\C:\WINDOWS\デスクトップ\black>javac hage.java
と入力したら。「コマンドまたはファイル名が違います」と出てきました。
なぜでしょう?
パス通せ。

はい次

クラスパスがとおってないんで、sunのサイトでもいって
設定すれ。
環境変数 PATH が適切に設定されていないからです。
http://www.gimlay.org/~javafaq/S001.html#S001-03
でも見てがんばってください。
>>167 の奴、記事古いな…
最新の奴では インストールディレクトリ変更されたのに
書き直してない…
>>167
OS も Me やら XP 入ってないね。
170デフォルトの名無しさん:02/05/06 14:56
>>165-169
ありがとうございます。
やってみます。
171デフォルトの名無しさん:02/05/06 15:04
AUTOEXECに
PATH=C:\jdk1.3.0_02\bin
SET PATH=%PATH%;C:\jdk1.3\bin
を追加したのですが、やっぱり駄目です。
はぁ、それで?
何がダメなんですか?
>>171
とりあえず聞いておきますが、JDKはインストールしたのですか?
JDKをインストールした場所によって、通すパスの場所は変わります。
また、デフォルトでインストールされる場所もJDKのバージョンによって違います。
javac.exeなどがどこにあるか確認してください。
(どこなのか忘れてしまったら、ファイルやフォルダの検索で探してみてください)

あと、なるべく名前欄に最初に質問した時の番号とかつけて貰えるとわかりやすいです…。
174デフォルトの名無しさん:02/05/06 15:16
やはり、さっき(>>164)と同じようになってしまいます
175デフォルトの名無しさん:02/05/06 15:17
>>173
有り難うございます。やってみます。
>あと、なるべく名前欄に最初に質問した時の番号とかつけて貰えるとわかりやすいです…。
わかりました。ご指摘どうもです。
dosのコマンドはしってるよな?
>175
わかってねーじゃん・・・
つーか、AUTOEXEC.BATなんかに書かなくったって
そのままjavac実行する前にPATH通せばいいじゃん
178173:02/05/06 15:27
あっ、177の指摘通りだ。
かなり見当違いなレスをしてしまった。
鬱だ、逝ってくる。
179くま:02/05/06 15:28
>>177
わかってねーじゃん・・・
つーか、いちいちパソコン起動するたんびにPATH通してたら
めんどうじゃん


javac フルパス指定でやってめ
181158=160:02/05/06 15:33
多分こんなこったろうと思ってたら。
マジレスだ、パソコンに詳しい友達に豪華な夕飯おごれ。
そしたらそいつが何とかしてくれる。
win9xが糞なんだな。
win2000使え、win2000。
環境変数で、PATHをくわえたら、その瞬間から使える。
再起動しても、もちろん残っている。
183158 160 164 171 175等:02/05/06 15:41
今まで、答えてくれたみなさん、ありがとうございます。
「コマンドまたはファイル名が違います」というのは出なくなったのですが、
今度は「エラー:hage.javaを読み込めません。」と出てきました。
だんだん頭が混乱してきました。

>>181
なんですか?158=160ってのはあってますよ。
対象のファイルがあるディレクトリに移動せよ
混乱したのなら整理しろ。
で、一回整理してここに書いて見ろ。

OS は Windows 98 か? Me か? XP-HE か?
JDK のバージョンは?
JDK をインストールしたディレクトリは?
プログラムがあるディレクトリは?
>>183
以前にでもDOS窓、使った事あるか?
187185:02/05/06 15:53
追加
DOS窓 での PATH と CLASSPATH の値は?
DOS窓で
C:\>set
とやると、ずらずらーって出てくるから、
その中から PATH と CLASSPATH を見つけろ。
188デフォルトの名無しさん:02/05/06 15:58
>>161
>論理フォント名=物理フォント名
論理フォント名、物理フォント名
ってどのようにして知ることができるのでしょうか
自分でaliasを設定するのでしょうか?
たとえば、「MS ゴシック」を使いたい場合
この名前は物理フォント?それとも論理フォントですか?
189デフォルトの名無しさん:02/05/06 16:00
>>187
setじゃなくて
echo PATH
echo %CLASSPATH%
190189:02/05/06 16:01
すまん誤爆
191デフォルトの名無しさん:02/05/06 16:02
DOSプロントで矢印で前に打ちこんだ命令を出したいんですけど
出来ません。設定の仕方を教えてください。
>>191

まさか、新規でDOS窓開いたときのこといってんじゃないだろうな
193デフォルトの名無しさん:02/05/06 16:11
>>192
違うんですよ。今の状態だと直前に打ちこんだ命令しか出ないんですよ。
上下矢印で前に打ちこんだ命令を出したいんです。確かPATHの設定の
所で設定するはずなんですけど。。。。。初心者なもんで。
教えてください。
194192:02/05/06 16:17
じゃあ、DOS窓のプロパティの
「オプション」あたりを見てくれ
ちなみに、俺はWin2000なのだが
195185:02/05/06 16:28
>>193
AUTOEXEC.BAT の最後に

doskey

って一行加えてリブート。
196デフォルトの名無しさん:02/05/06 16:41
AppletをSwingで情報の入力ページを作ってるんだけど、
ローカルファイルの読み書きの必要があるのだけど、
アップレットでの、ファイルの読み書きって可能?
どでしょ?
>>196
クライアントに Java Plugin を入れて、
セキュリティーポリシーをいじればできる。
アプレットのデバッグってどうするんですか?
> appletviewer
使い方: appletviewer <options> url(s)

<options> には次のものがあります。
-debug Java デバッガでアプレットビューアを起動する
>>199
おお!すばらしい。
ありがとうございます。

//でもjdbってなんだか使いにくいんですよね
201158 160 164 171 175等:02/05/06 18:18
>>186
全く使ったごとがありません。
>>185
>>187
OSはWin98
バージョンは 1.3
インストールディレクトリは、C:\JDK1.3.1_3(:と¥逆かも)
PATHとSETPATHですが、
C:\>set
とやっても何も怒りません。
何かやり方が間違ってるんでしょうか?
ディレクトリの移動の仕方もわからんのか?
>183

もうできた?
遅レスだが一応。
javacはpath通ってるものとして

・hage.javaが例えばc:\testにあったとすれば

 x:\xxx>javac c:\test\hage.java
 とフルパス指定するか

・ソース入っているc:\testを環境変数pathに設定するか

・x:\xxx>cd c:\testでカレントディレクトリを変更して
 c:\aaa>javac hage.java
とするかどれか。

あと環境変数CLASSPATH設定しているか
してないかしらんが、やってないとうまくいかないので
ttp://www.vc-net.ne.jp/~ytp/java/java3_01_03.html
でも見て設定すればいい
204158 160 164 171 175等:02/05/06 18:47
何度も親切に教えてもらってありがとうございます。
ふるパス指定してやってみたら。

C:\WINDOWS\デスクトップ\black>javac C:WINDOWS\デスクトップ\black
javac: C:WINDOWS\デスクトップ\black は無効な引数です。
使い方: javac <options> <source files>
使用可能なオプションには次のものがあります。
-g すべてのデバッグ情報を生成する
-g:none デバッグ情報を生成しない
-g:{lines,vars,source} いくつかのデバッグ情報だけを生成する
-O 最適化。デバッグが抑制されるか、クラスファイルが大き
くなる
-nowarn 警告を発生させない
-verbose コンパイラの動作についてメッセージを出力する
-deprecation 推奨されない API が使用されているソースの位置を出力
する
-classpath <path> ユーザクラスファイルを検索する位置を指定する
-sourcepath <path> 入力ソースファイルを検索する位置を指定する
-bootclasspath <path> ブートストラップクラスファイルの位置を置き換える
-extdirs <dirs> インストール済み拡張機能の位置を置き換える
-d <directory> 生成されたクラスファイルを格納する位置を指定する
-encoding <encoding> ソースファイルが使用する文字エンコーディングを指定す

-target <release> 特定の VM バージョン用のクラスファイルを生成する


C:\WINDOWS\デスクトップ\black>
っと出てきたんですけど、これがどうゆうことなのか良くわかりません。
>>204
もっとちゃんと読めよ。
いいかげん愛想つかされるぞ。
C:\WINDOWS\デスクトップ\black>javac [ファイル名].java

これでやれ
ネタだな。ネタ。
まるっきり試行錯誤した後が見えない。
ダウン症等で思考能力が欠如している、とも考えられるが
それにしては 言葉遣いだけがはっきりしすぎてる。
>205

・・・・・・・こらえるんだ。初心者歓迎なんだ。
206やって結果を書きなさい。
>>206
>エラー: [ファイル名].java を読み込めません。
>エラー 1 個
って書いてくるかもよ?
211158 160 164 171 175等:02/05/06 19:03
>みなさん
本当に馬鹿な質問ばっかしテすみません。

>>209
Microsoft(R) Windows 98
(C)Copyright Microsoft Corp 1981-1999.

C:\WINDOWS\デスクトップ\black>javac hage.java
エラー: hage.java を読み込めません。
エラー 1 個

C:\WINDOWS\デスクトップ\black>

、と出ました。
212158 160 164 171 175等:02/05/06 19:04
>>210
予想されたとおりになってしまいました。すみません。
>>210
あんた、すごいな。
微妙に外れ。

よく見たら11:44からえんえんやってんのね。
何だかすごいよ、みんな(ワラ
俺が「読み込めない」ってエラーでるときは
そのフォルダにその名前のファイルがない時だけなんだが・・・・
だから、ネタだって。
たぶん答えてるレスの中にも
いくつか >>211 の自作自演が紛れ込んでるんだろ?
これでネタだったら殺す
218158 160 164 171 175等:02/05/06 19:13
いや、本当にネタじゃないんですよ。
本当に質問ばっかしてすみません。
自作自演も1個も無いです。

ファイルの種類が間違ってるかもしれないんで見てみます。
なんか面白いことになってるな。
フレンドパークや犬夜叉よりよっぽどおもろい。
>>219
あと一歩のようなんだが
教えてやってくれ
221158 160 164 171 175等:02/05/06 19:18

一応、読み込めたっぽいんですけど、
エラーが27個ぐらい出てきました。
これってソースの間違いをだしてるんですか?
ひょっとして
拡張子きめらんないようにしてあんのか?
エラー書け
エラー書かなくていいよ。
自分で解決しろ。
エラーがでたってことは
コンパイルしてるんだ。
合格。
もう教えることはなにもない。
卒業です。





よかった、よかった。
じゃ、次の質問行こうか。
普通、いくつかのJDKを切り替えて使うように
AUTOEXECなんぞにPATH設定書かないで
あとから環境変更用バッチファイル使うよな?
>>227
起動時にBATKEYで選択する。
>>227
場をわきまえろ。ここは初心者スレ
230158=160=181:02/05/06 19:56
まだやってるのか?あきらめないのは偉いな。
こうなったら最後まで付き合うぞ。
231158 160 164 171 175等:02/05/06 20:02
え?コンパイルっそれでOKなんでうか?
ありがとうございました。

「DOS窓」が、画面いっぱいに出るんですけど、解除(普通のサイズに戻す)ってどうやるんですか
>>229
初心者スレではあるがjavaスレ。
決してwinスレではない。
うーむ?とりあえず[Alt]+[Enter]押してみ。
234158 160 164 171 175等:02/05/06 20:10
>>233
ありがとうございます。
235デフォルトの名無しさん:02/05/06 20:12
>>234
礼はいい。そんなことよりちゃんとDOS窓の大きさが元に戻ったかどうか書いてくれよ。
236158 160 164 171 175等:02/05/06 20:17
>>235
すみません。元に戻りました
>>236
そうかい、そいつはよかった。それじゃ次の質問をどうぞ。
238158 160 164 171 175等:02/05/06 20:24
「DOS窓」で、たくさん文字が出てきて、上のほう見たいんですけど、
上にいけないんです。
>>238
Win2000にしたら?
それかリダイレクト。
Microsoftの有料サポートにでも頼め。
>>238
覚えておけ。はい次
漏れは既にネタと割り切って楽しんでるぞ(ワラ
リダイレクトは、こいつには無理。
多分それで12時間以上ひっぱるつもりだろう
244158 160 164 171 175等:02/05/06 20:29
>>239
Win2000にするのは無理です。
リダイレクト?なんですか?無知ですみません。
Win98では上に行く方法はない。WinXPではいける(らしい)。
たくさん文字が出たってのは多分コンパイルしたらエラーがでまくったってことだろ。
本のソースコードと入力したソースコードを一文字一文字見比べてちゃんと入力してあるかチェックしてみれ。
それから質問をする時は「なにをしようとおもって」「なにをしたら」「なにがおこった」
と書かないと手間がかかるぞ。
246239=242:02/05/06 20:30
>>243
いや、そう思ったから書いたのさ。
ほら(ワラ
247158 160 164 171 175等:02/05/06 20:31
>>245
ありがとうございます。
すみませんでした。

あと、ねたじゃないです。
>>244
DOSの使い方が書いてあるHPで
少し勉強してみな。
検索すりゃいっぱいでてくるだろ。
>>246
ネタとしても面白くない。
低レベル過ぎ。っていうかスレ違い。
250デフォルトの名無しさん:02/05/06 20:33
>>238
どうせこれからコマンドラインツールつくるつもりないんだろうし、
DOS窓からjavacを起動するやり方でなくてもいいんじゃん?
forteとかeclipseとかフリーで使える統合環境あるよ。
>>249
悪かった。ちと調子に乗りすぎたよ。
傍観者に徹しますわ。
初心者に「なにをしたら」と「なにがおこった」を
説明させるのは難しいね。っつーかそれらが理解
できてるなら、殆ど問題は解決してる。
ネタ心者は別だけど。
>>252
うーむ、同意。

ところでこういうスレを名スレというのだろうか。
こんな関係の無い質問にはぽんぽんレスがつくのに
>>125とかみたいにちょっと込み入ったのになると
さっぱりなんですね。まぁその程度って事ですか。
>>250
forteとかeclipseの場合、さらに大変だと思うがなあ。
CPadならあるいは?
>>254
何を期待してるのか知らんが、この程度だぞ?
>>256
煽りにのらないで!!
125って難しいか?
俺はみんな呆れて反応しなかっただけだと思ってたけど。
>>254
>>125のはstrが"a"か"b"か"c"のうちのどれかと決まっているなら
switch(str.toString()){

switch(str.charAt(0)){
とでもすればいいんじゃねーの?コンパイルしてないけどさ。
>>258
うむ。程度が知れるな(プ
261デフォルトの名無しさん:02/05/06 20:44
>>252
そのあたり自動的に情報を吐き出してくれるcommand.com互換な環境
あるといいなぁ。javacなりjava走らせた後、reportとか打つと直前に
実行したコマンドとか環境変数とか標準/エラー出力の内容とかカレントディレクトリ
の内容とかがpopupされるようなやつ。つーか、J2SEにちょっとした
開発環境もどきつけてくれないかな。
そういえばおれString#toString()のAPIドキュメント読んだこと無かったな。
>>258
じゃあ何でもっと簡単なことにはみんな食いついてんだ?(藁
>>263
もっと簡単だからじゃねえ?
さぁ?
関係ない話で盛り上がってる >>263 と同じ理由じゃない?
266デフォルトの名無しさん:02/05/06 20:50
>>263
お前死ねよ
>>259
え?決まってないんでないの?
strがどんな文字か判定したいのでは?

あれ?俺もその程度か。。。
268158 160 164 171 175等:02/05/06 21:05
>>245
ソースを全てチェックして、間違えてるところ、直しました。
でも、エラーが26個もあります・・・・
jspで文字化けしてこまてます。
環境
Debian woody
j2sdk1.3(blackdown)
tomcat 3.3
apache 1.3.24

そーす
<%@ page import="java.util.Locale" contentType="text/html; charset=euc_jp" %>
<html>
<head>
<title>test</title>
<meta http-equive="content-type" content="text/html; charset=euc-jp">
</head>
<body>
今日の日付<BR>
<%= new java.util.Date() %>
<BR>
<%
Locale loc=Locale.getDefault();
out.println(loc.toString());
out.println(loc.getDisplayLanguage());
%>
javaのLocaleを表示させると「日本語」と表示するんですが
「今日の日付」はばけるです。
どこらへんちぇくすればよいでしょか?
>>268
2・3個所しかまちがってないのに
数十個のエラーメッセージが出ることもある。
あわてずまたソースを見直すべし。
Helloworldからはじめろよ
272デフォルトの名無しさん:02/05/06 21:12
>>269
とりあえず、本当に吐き出したhtmlが化けているのか、ブラウザが誤認識
したのかとか確認した? telnet server 80とかして、HTTP応答ヘッダ
中のcontent-typeがtext/html; charset=euc-jpになっているか
とか確認した? ちなみに私はこのあたりチェックするのにw3mの
-dump_head/-dump/-dump_source使うことが多い。
273158 160 164 171 175等:02/05/06 21:16
hage.java:50: \12288 は不正な文字です。
      thisThread.sleep( (int)(Math.random()*500));
ってどういうことか判りますか?
>>273
わかんね。もしかして全角スペース入力しちゃったんじゃねーの(←いい加減)
しかしいきなりThread.sleep()つかってるとは。
最初は一番短くて簡単なプログラムがいいと思うけどな。
275デフォルトの名無しさん:02/05/06 21:22
\12288 = Ideographic Space
いわゆる半角スペース使おう。
>>272
はい、ちゃんと
Content-type: text/html; charset=euc-jp
ってなってます。

ぶらうざ(IE,galeon)のでこーどは、SJIS,EUC,UTF-8とためしてみました。

で、jspじゃなくて、あぷれっと、こんそーるでは、日本語表示できました。
jspだけ化けるです。
277デフォルトの名無しさん:02/05/06 21:36
>>276
なんでhtmlそのものを確認しないで、ブラウザの
デコードスキーム切り替えるだけで満足するのかなぁ、吐き出した
html中の「今日の日付」の部分の確認にodとか使わないのかなぁ、
化けるって具体的にはどうなってんのかなぁ、とか疑問はいろいろ
あるけど、とりあえず
http://www.ingrid.org/java/jserv/i18n/corruptedchar.html
読んでください。
>254
なんつーか、そういう質問レベルなら、「APIで見たことあるよ」 という答えで
たいてい質問者側で解決してくれるしね。
明らかに 探すの面倒だから聞いてみた ってのがミエミエでねぇ。
ネタ質問としては三級品だし・・・
279158 160 164 171 175等:02/05/06 21:54
なんとか、エラーを3個まで減らせたのですが、
ここで判らなくなってしまいました。
hage.java:7: '{' がありません。
public class hage extends java.applet.Appletimplements Runnable {
^
hage.java:65: '}' がありません。
}
^
hage.java:7: シンボルを解釈処理できません。
シンボル: クラス Appletimplements
位置 : applet の パッケージ
public class hage extends java.applet.Appletimplements Runnable {
です。
280デフォルトの名無しさん:02/05/06 21:57
>>279
なんかの参考書みながらなんだろうけど、もう一度ソースをよく
眺めることをおすすめする。つーか... スペース一つぬけているんですわ。
public class hage extends java.applet.Appletimplements Runnable {

public class hage extends java.applet.Applet implements Runnable {
にしてみ。ようするに半角スペースを入れるわけだ。
282158 160 164 171 175等:02/05/06 22:04
>>280
>>281
ありがとうございます。
やってみました。が、今まで、出なかった。エラーがバビュンと出てきて
14個に増えました。なぜでしょう?
283デフォルトの名無しさん:02/05/06 22:05
>>282
そのエラーがあるとこを読む前に別のエラーでコンパイラが止まっちゃってたから。

>>277
おくがふかいです。文字化け。
おしえてもらったぺーじを参考に
どこで、化けてるのか切り分けしてみます。
どもありがとございました。

あと、「od」ってなんでしょか?
初耳なんで後学のためにぜひおしえてください。
285158 160 164 171 175等:02/05/06 22:08
>>283
ってことは、またエラー直してかなきゃいけないんですか。はぁ・・・・・

解釈処理できません。ってどういうことですか?
286デフォルトの名無しさん:02/05/06 22:10
>>284
man od してみてください。
w3m -dump_source http://...... |od -t x1 とかね。
>>285
Javaの文法と異なることがかかれているので
コンパイラが理解できないんだよ。
ところでその本にはもっと短いソースはかかれてないの?
10行未満のやつがあればまずはそれをやるほうがいいきもするんだが。
288158 160 164 171 175等:02/05/06 22:19
>>287
なるふぉど、ありがとうございます

いきなり、このソースです。「まばたきアプレット」って名前です。
この本には「とても単純なアプレット』とかいてあります。

hage.java:7: '{' がありません。
public class hage extends java.applet.Appletimplements Runnable {
^
hage.java:65: '}' がありません。
}
^
hage.java:7: シンボルを解釈処理できません。
シンボル: クラス Appletimplements
位置 : applet の パッケージ
public class hage extends java.applet.Appletimplements Runnable {

の意味が良くわからないのですが、いろいろやってみても駄目です。
289158 160 164 171 175等:02/05/06 22:20
すみません。↑の間違えです。
hage.java:60: シンボルを解釈処理できません。
シンボル: クラス Graphics
位置 : hage の クラス
public void update(Graphics g) {
^
hage.java:8: シンボルを解釈処理できません。
シンボル: クラス Imege
位置 : hage の クラス
Image PIc[] = new Imege [2]; //2枚の絵を入れておく配列
^
hage.java:10: シンボルを解釈処理できません。
シンボル: 変数 nu11
位置 : hage の クラス
Thread kicker = nu11; // アニメーションのためのスレッド変数
^
hage.java:16: シンボルを解釈処理できません。
シンボル: 変数 Pic
位置 : hage の クラス
Pic[1]=getImage(getCodeBase(), "no.1-2.gif");

でした。
スペルよくみろよ
違うだろ。

Image PIc[] = new Imege [2];
PIcのIをiにする。ImegeのeをかえてImageにする…
後は…エーと…もう自力で何とかなるだろ。
>>287
違うぞ。
「シンボルを解釈処理できない」ってのは、
そういう名前の、クラス、変数 等を見つけられないって事だぞ。

つーか、285、ここで聞く前にエラーメッセージをよく読め。
null が nu11になっとる
お前「いろいろやった」ってなんもやってねーだろ。
295158は俺です。:02/05/06 22:28
>>289は、ネタなんじゃないの?

>>286
ありがとごぜますた
nu11じゃなくてnull、小文字のLが2つだ。
それから君、明日から当分の間はこのスレじゃなくて
すごくくだらない質問でもレスをいただけるスレッド で質問汁。
今日はGWの最終日なので特別おまけだ。
import がないんだよ。
プログラムの先頭付近に

import java.awt.*;

とかってのが要るはずだ。
299158 160 164 171 175等:02/05/06 22:30
いや、全然ねたじゃないです。
教えてくれた方々、有り難うございます
>>287
スマソ。逝ってきます。
>>295 名前:158は俺です。
ちょいまち。158はおれなんだが。181も。……ま、いいけどさ。
>>299
後学のために知っておきたいんだけど、それなんて本ですか?
1とlの間違いって打ち間違いじゃなくて読み間違いだよね?
そんな読みにくい印刷の本は捨てたほうがよいとオモワレ。
303158 160 164 171 175等:02/05/06 22:40
>>302
本は「楽しく学べる Java ゲーム・アプレット」
です。今みても、1にみえます。
>>303
とにかく、名前を直せ。
>>303
その本はサンプルソースにhageクラスなんてのを使っているのですか?
すげー本だな。ハゲ差別をなくそう会の人から怒られそうだ。
楽しく学べるJavaゲーム・アプレット
http://www.kohgakusha.co.jp/books/detail/4-87593-250-2
かぁ...
>>305 すまん、その団体について詳しく教えてくれ。
307デフォルトの名無しさん:02/05/06 22:52
>>303
俺もその本持ってるけどIObooksの本て読みにくいね。
しかも初心者むきの本じゃないよ、もっと普通の入門書買った方がいいと思われ。
308デフォルトの名無しさん:02/05/06 22:54
>>306
その本、ソース公開されているじゃねーか!!
今までの俺らの苦労はなんだったんだ!!!
http://www.horae.dti.ne.jp/~yoji/TamaJava/book/book001.html
309デフォルトの名無しさん:02/05/06 22:54
Java3Dの質問なんだけど、
DirectionalLightで照らした物体(Sphere)の影を
背後の物体に映すにはどうしたら良いのでしょう。
310デフォルトの名無しさん:02/05/06 22:55
getImage関数について、質問です。

クラスレベルで
String gazou;
Image im;
と宣言して、
public void init(){
im=getImage(getDocumentBase(),gazou);
}
public void paint(Graphics g){
g.drawImage(im,100,100,this);
}
と、宣言。その後、
gazou="sunlogo.gif";
と、代入をして、
repaint();
と、してもうまく行かないのは、なぜか知ってる方いますか?
ちなみに、
public void init(){
im=getImage(getDocumentBase(),"sunlogo.gif");
}
public void paint(Graphics g){
g.drawImage(im,100,100,this);
}
と言う風に、ファイル名を指定して初期化をするとうまく行きます。
>>310
おまえ、プログラムの流れを理解してるか?

>と、宣言。その後、 gazou="sunlogo.gif"; と、代入をして、

「その後」っていつだよ???
312デフォルトの名無しさん:02/05/06 23:01
>>310
getImageってことはAppletなのかな。
init()が呼ばれるタイミングがいつかって参考書に書いてありませんでしたか。
多分そのうち、getImageで画像が全部読み込まれるタイミングではまる
とおもうのでそのあたりもいっしょに勉強しておいたほうがよいと思われ。
313デフォルトの名無しさん:02/05/06 23:09
>>312
Appletでinit()が読み込まれるタイミングがいつか?
ってことですね。
ということは、init()が実行される時にどの画像ファイルを読み込まなくては
いけないのかを、getImage()に教えてあげないといけないから、
私のプログラムでは良くないと言うことですね。

312さん
有難うございました。
314158 160 164 171 175等:02/05/06 23:12
>>308
ソース公開ってDLしても見れません。なぜでしょう?
>>314
なぜでしょう。
不思議ですね。
316158 160 164 171 175等:02/05/06 23:18
>>315
本当にふすぎですね。
しねや
>>317
おめーがな
そろそろソフトウェア板とかに移動する頃合いですかねぇ。
荒らしに構ってあげている親切人間多数のスレはここですか?
321デフォルトの名無しさん:02/05/07 01:12
Stringクラスのオブジェクト生成について質問です。
普通オブジェクトの生成を行うときは、
String obj=new String();
とするはずですが、なぜ、Stringクラスは
String obj="str1";
というように new を省略できるのか知ってる人、教えてください。
322ひよこ:02/05/07 01:15
独習Javaのソースでどうしてもコンパイルが通らないものがあります。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
import java.net.*;

class InetAddressDemo {

public static void main(String args[]) {
try {
// アドレスを取得する
InetAddress ias[] =
InetAddress.getAllByName(args[0]);
for (int i = 0; i < ias.length; i++) {
System.out.println(ias[i].getHostName());
System.out.println(ias[i].getHostAddress());
byte bytes[] = ias[i].getAddress();
for (int j = 0; j < bytes.length; j++) {
if(j > 0)
System.out.print(".");
if(bytes[j] >= 0)
System.out.print(bytes[j]);
else
System.out.print(bytes[j] + 256);
}
System.out.println("");
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

なにがおかしいのでしょうか?
323ひよこ:02/05/07 01:17
やっちまいました。大丈夫な方のソースのっけてしまいました。
ーーーーーーーーーー
import java.io.*;
import java.net.*;
import java.util.*;

class ServerSocketDemo {

public static void main(String args[]) {
try {

// ポートを取得する
int port = Integer.parseInt(args[0]);

// 乱数ジェネレータを作成する
Random random = new Random();

// サーバーソケットを作成する
ServerSocket ss = new ServerSocket(port);

// 無限ループを作成する
while(true) {

// クライアントからの要求を受け取る
Socket s = ss.accept();

// 結果をクライアントに書き込む
OutputStream os = s.getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
dos.writeInt(random.nextInt());

// ソケットをクローズする
s.close();
}
}
catch (Exception e) {
System.out.println("Exception: " + e);
}
}
}
ーーーーーーーーーー

こっちです。すみませんでした
>>323
何事もなく通ったけど?
>>323
そもそもコンパイルエラーかけ
326ひよこ:02/05/07 01:43
再び申し訳ありませんです。まず、環境は
jdk1.3.1_01 + CPad for Java2SDKです。
その時のエラーが
-----------------------------
ServerSocketDemo.java:23: 互換性のない型
出現: java.net.Socket
要求: Socket
Socket s = ss.accept();
^
ServerSocketDemo.java:26: シンボルを解釈処理できません。
シンボル: メソッド getOutputStream ()
位置 : Socket の クラス
OutputStream os = s.getOutputStream();
^
ServerSocketDemo.java:31: シンボルを解釈処理できません。
シンボル: メソッド close ()
位置 : Socket の クラス
s.close();
^
.\Socket.java:15: シンボルを解釈処理できません。
シンボル: コンストラクタ Socket (java.lang.String,int)
位置 : Socket の クラス
Socket s = new Socket(server, port);
^
.\Socket.java:18: シンボルを解釈処理できません。
シンボル: メソッド getInputStream ()
位置 : Socket の クラス
InputStream is = s.getInputStream();
^
.\Socket.java:26: シンボルを解釈処理できません。
シンボル: メソッド close ()
位置 : Socket の クラス
s.close();
^
エラー 6 個
-----------------------------
と、でました。324さんが通ったということは、ソースに問題はないという
ことでしょうか・・・
>>326
同じディレクトリにあるSocket.javaとかSocket.classとかの
ファイルを、別の名前に変えるか、よそへ移しなさい。
328ひよこ:02/05/07 02:01
>>327
ばっちり通りました!お手数かけました。ありがとうございます
329デフォルトの名無しさん:02/05/07 08:34
はじめてCVSに挑戦しようと思います。
現在はJavaでコード(web appliaction)を作成中なのですが、makeはAntを使っています。
こういう状況下でCVSを使う時は、srcディレクトリだけをCVSに入れるのでしょうか?
それとも、WEB-INFなどそのweb applicationを構成する全てのファイルをCVSへ入れるのでしょうか?

ディレクトリ構造は、下のような感じです。
WEBAPPLICATION
 |
 +--WEB-INF
 |  |
 |  +--web.xml
 |
 +--src
 |  |
 |  +--com
>>321
一言で「お約束」だから、と切り捨ててもいいんだけどな。
Stringクラスのインスタンスはイミュータブルだし。
「Effective Java」の「項目4 重複したオブジェクトを生成するのを避ける」
を読むよろし。
331デフォルトの名無しさん:02/05/07 10:06
Vectorに入っているデータをAccessにINSERTしたいのですが、
FOR文を使ってできますか?

for(int i = 0; i > v_code.size(); i++) {
String sql = "insert into order_tbl(item_code, "
+ "item_num) "
+ "values('" + v_code.elementAt(i) + "', ' "
+ v_num.elementAt(i) + "')";
stmt.executeUpdate(sql);
}

上記のソースで試してみたのですができません。
ソースがまずいのか、それとも
そもそも不可能なのかを教えてください。
お願いします。
>>331
Access は知らないんだけど、
一般的に言って for 文の不等号の向きが逆だわな。
それと、AutoCommit にしてあるのかな?
333331:02/05/07 11:17
>>332
ひいいいいいいいいいいい!!!!!

こんな私ですが、ブサイクではないと思うので
結婚してください。

ありがとう・・・。逝って来ます。
334デフォルトの名無しさん:02/05/07 11:41
>>332

一般的に言わなかったら、どうなんの?
335ジャヴァ厨房:02/05/07 12:31
今日、JAVAが値渡しで、配列は参照だということを
同時に実感しました。
午前中はずっとこれに悩まされていた。
みなさん、ジャヴァは値渡しですよ!
間違えないように気をつけましょう!
>>334
永遠ループ(TTS調)だろ。
337309:02/05/07 13:56
質問の仕方が悪かったような気がするので、再投稿

java3dにて、テクスチャを貼った物体(Sphere)の影を
背後の物体に映すための方法を教えてください。
現在、DirectionalLight で照らており、個々の物体の
表面には影ができるのですが、物体相互間の影の投影
ができません。ノードの登録の仕方や、マテリアルの
属性設定に何か足らない部分があるのではないかと
思っていますが、手がかりがつかめないです。

java3D関連の質問は、別スレの方が良いですか?
338java初心者:02/05/07 14:21
ここはjavascriptについての質問もOKですか?
339デフォルトの名無しさん:02/05/07 14:30
javascriptはWeb製作板みたいだよ。
>338
ブラウザで動かす Javascript は Web制作管理板でしょうかね。
http://pc.2ch.net/hp/

+ JavaScript の質問用スレッド vol.9 +
http://pc.2ch.net/test/read.cgi/hp/1017668857/l50
このへんが適当かと。

サーバ側で動かす Javascript なら、Webプログラミング板
http://pc.2ch.net/php/
>337
Java3Dにはそんな機能は無い。
自力でやれ。
>>337
とりあえず

http://www.gimlay.org/~andoh/java/3d/

にJava3Djpメーリングリストあるから、
そっちに聞いたほうが早いかも。

俺が3D(Java3Dじゃないよ)やってた頃の常識だと、
影付けは大変、っつーイメージだったけど。
ライトとの間に遮蔽物があるかどうかを判断して、
このpixelの色を決める、 とかゆーのは Java3D とか
だとライブラリがやってくれるのかな?
343デフォルトの名無しさん:02/05/07 16:25
JDK1.4っていうのかな?MSのパッケージじゃないヤツで、
タイマーリスナーみたいなのありますか?
やりたいことは、50ms毎に処理をある関数に渡して欲しい。もちろん50msの間はスリープ(cpuをつかまない)

そういうのはスレッドでやるんですか?
344_:02/05/07 16:35
制御系って言葉を最近聞いたのですが、
この職種って将来転職する時とかに必要されたり、つぶしが利いたり
するんでしょうか?

防衛関係で募集してる会社があったので試験受けてみようかと考えてます
が、あまりにも知識がないもので質問させていただきました。
知識もなしに、よく受けようという気になるもんだ。
>>343
名前は聞いたことがあるjavax.swing?にあったような・・・
ただ、この使い方だとThread.sleep()だろうね

>>344
マ板で聞いたほうがいいかと
347>345:02/05/07 16:44
いや、初心者でも研修制度があると書いてあるので。
>>343
それなら
java.util.Timer と
java.util.TimerTask を
組み合わせてやるとか。
349309:02/05/07 17:01
>>341-342
がーん、無いのか。。。
球の表面に対する光源の入射角から、テクスチャに明暗を
付けるのはJava3Dがやってくれるので、遮蔽物の影も処理する
機能があるものだと思っていました。
無いとすると、影の形状を計算して、半透明の謎の物体として
表面に貼り込むか。とほほ。

>346>348
ありがとうございます。調べてみます。
>>349
それは陰(shade)
オブジェクトが別のオブジェクトに落とすのは影(shadow)
352デフォルトの名無しさん:02/05/07 18:36
Image PIc[] = new Imege [2]; //2枚の絵を入れておく配列

public void update(Graphics g) {

public void paint (Graphics g) {

↑のソースなんですけど、間違えてるところを教えていただけませんでしょうか?
全て「シンボルの解釈処理が出来ません」というエラーです。
Imege...
354353:02/05/07 18:45
あ、本当だ、ありがとうございます、
355352:02/05/07 18:48
すみません。↑の書き間違えでした。
最初から、imageになってました。
import はしているよね?
357352:02/05/07 19:08
一応、わかります。
で、import文入れたんです。そしたら、エラーは2個まで減りました。

manba.java:8: シンボルを解釈処理できません。
シンボル: クラス Appletimplements
位置 : applet の パッケージ
public class manba extends java.applet.Appletimplements identifier {Runnable
{

manba.java:8: '{' がありません。
public class manba extends java.applet.Appletimplements identifier {Runnable
{

何ですけど、ご教授願えませんでしょうか?
358281:02/05/07 19:13
>>357
>>281を嫁。
359158:02/05/07 19:18
それから>>352の質問については>>291でおれが既に回答したぞ。
360352:02/05/07 19:20
ありがとうございます。できました。
が、今度は今まで無かったのが出てきました。

manba.java:62: 式の開始が不正です。
/ インデックスで指定された絵を描く /
^
manba.java:17: シンボルを解釈処理できません。
シンボル: 変数 Pic
位置 : hage の クラス
Pic[1]=getImage(getCodeBase(), "no.1-2.gif");

なんですけど、すみません。これで最後にすると思います。
/ インデックスで指定された絵を描く /
とりあえずこれは
// インデックスで指定された絵を描く /
とでも汁。
>>360
コメントは
// 行の終りまでコメント
かまたは、

/* この間がコメント */
だ。/(スラッシュ)一文字では割り算の演算子と見なされる。
>>360
「これで最後」ってことは、完成はあきらめるのかな。
独力で残りを完成させられるとは思えんが。
ソース書く前に
最低限の基礎を・・・
365158:02/05/07 19:32
とにかく質問しろ。そうしないと昨日の12時間が(回答する側にとっても)
無駄になってしまう。
366158:02/05/07 19:39
うーむ、昨日質問に付き合ったおれがきれかかった書き込みをしたため
びっくりして回線切って(以下略)してしまったのだろうか?
回線切って修行して強くなって帰ってくるといいな。
とりあえず最初に読んだ本が
壊滅的に悪いと思う。
ヲヲヲ・・・
ようやくサーブレットでのMySQLへのアクセスが成功しますた。
みなさんありがとう。
今までコンパイルできてたはずなファイルが,コンパイルできなくなってしまいました。
理由は、自分で作ったクラスのインスタンスを作れない、です。
ABC.classを同じディレクトリにおいて
ABC abc; と書いてコンパイルしても シンボルを解釈できませんとエラーになってしまいます。
今まではできていたはずなので、何が悪いのか教えてください。
>>366
お前昨日の昼から常駐してるのな
>>371
いや、一応働いたり飯食ったり風呂はいったりオナーニしたり
エロエロ動画をダウンロードしてCDに焼いたりしながらだったから
厳密には常駐じゃないんだけど。
>>372
謙遜するなよ
>>373
いや、謙遜はしてないよ。エロエロ動画は吉矩形だったし。それから働いたというよりは
かわいいOLのお尻を見に行っただけだったな。オナーニは調子に乗って三階もしてしまった。
三十路ともなると辛いよ。
375デフォルトの名無しさん:02/05/07 21:18
シンボルの解釈処理ができません。
変数 Pic

と、出てきた場合、どのように修正すればいいのでしょうか?
>>375
回線切って首でもつれば?
君の人生少しは修正されるかもね。
>>375
・spellを確認
・コムパイルエラー全文を書き込んで質問する
>>375
変数名が悪いのかな?
替えてみそ。
頭は小文字でな。
それから、命名規則のお勉強
ソース公開されているのに手でソース打ち込むやつなんていねーよ。
ネタ、ネタ。
>>379 ネタ
381デフォルトの名無しさん:02/05/07 21:38
manba.java:17: シンボルを解釈処理できません。
シンボル: 変数 pic
位置 : manba の クラス
pic[1]=getImage(getCodeBase(), "no.1-2.gif");
^
manba.java:37: シンボルを解釈処理できません。
シンボル: 変数 thisThread
位置 : manba の クラス
while( kicker == thisThread) {
^
manba.java:63: シンボルを解釈処理できません。
シンボル: 変数 pic
位置 : manba の クラス
g.drawImage(pic[picindex],0,0, this);
^
manba.java:63: シンボルを解釈処理できません。
シンボル: 変数 picindex
位置 : manba の クラス
g.drawImage(pic[picindex],0,0, this);

なんですけど、わかります?
>>379
ソース公開?
>>381
pic, picindex, thisThread が、使っている場所から見えるところで
(例えば、メソッドの引数として。あるいは使っている場所を囲む
{ }の中の、使っている場所より前で)宣言されているか?
スペルを間違えていないか?

…ぐらいしか言えんな。ソースがないと。
>>381
まさか大文字と小文字が、宣言と使用で違ってたりしないだろうな。
久しぶりに笑わせてもらってるのだが、こういう腐った本は焚書するのが良いな。

つーかさ、>>308でソースへのリンクが貼られてるにもかかわらず
懲りずにスペルミス繰り返してる>>352はタイピングの練習でも
してるのでしょうか?
>>379
おやすみ
はじめの質問のときはクラス名がhageだったんだよな。
で、381だとmanbaになってんだよな。ついでに画像ファイルのファイル名も
変えているんだよな。タイピングすらまともにできないのに
なんで妙な俺カスタマイズするですか。ネタですか。そうですか。

>>379
おやすみ
昨日マジレスしてやったのに
あれも全部ネタかよ
388デフォルトの名無しさん:02/05/07 21:56
いや、ネタじゃないですよ。
昨日の方々には感謝してますし・・・・・・・
もちろん今日の方々も
>>388
もらったレスを生かせて始めて感謝できるんだぞ。
お前何回同じこと言われた?
>>388
とりあえず、>>308 のリンク先読んで今日はもう寝たら?
391デフォルトの名無しさん:02/05/07 22:12
>>329
CVSって単なる押入れだから、しまいたいものしまったら?
392デフォルトの名無しさん:02/05/07 22:16
>>390
んで、ソース見たんですよ。
そしたら、間違えは見つかんなかったんですよ。
393デフォルトの名無しさん:02/05/07 22:20
JavaからWin環境のOLEをいじるのに便利なライブラリって
ないでしょうか。alphaworks.IBMのOLE2bridgeはライセンス上
いつまでも使えるわけじゃないし、eclipseのSWTでもいけそう
だけどいまいちドキュメントそろってないみたいなんで、いいの
知っている人、教えてください。
g.drawImage(pic[picindex],0,0, this);

g.drawImage(Pic[PicIndex],0,0, this);
を見比べて間違いが見つからんなんてことが...
395デフォルトの名無しさん:02/05/07 22:25
いや、それはもう直したあとのことなんですけど
オマエ
もうそろそろいいかげんにしとけ。
397他人事:02/05/07 22:29
馬鹿のコンパイルエラーを懇切丁寧にデバッグしてあげる
物好きが、何時の間にやら繁殖してますな。
>393
素直にC#やった方が幸せなのでわないかと。
そろそろあきた。次はexe厨でも来ないかな。
>>399
ダブルくりっ・・・・・
401ちょっと愚痴る。:02/05/07 22:54
4月から新人研修でCOBOLやって、5月からjava使うとこに配属されますた。
一週間自力で勉強しましたが、この板で質問するレベルにさえ到達してません。
皆さんスゴイのね...
402ちょっと愚痴る。:02/05/07 22:56
ごめんなさい、ageてしまいました。
>>401
おいらはJava歴4年。C++歴2年、C歴3年。
別に凄くない。毎日使ってんだから当たり前。
40447:02/05/07 23:00
>>403
> おいらはJava歴4年。C++歴2年、C歴3年。
ここまで読んで、凄いと思う奴いるのか ?
誰か、>>403 が何を言いたいか翻訳してくれ。
>>404
多分、1行目と2行目は続けて書いているのであたかも自分のことを言わんとしてると解釈してしまうが、全く別の文だろう。
>>405
いやいや、>>403が読んで欲しかったのは実は、

>C歴3年

の部分だけなんだよ。きっと。
俺は童貞喪失してもう3年になるんだぞ、と。
407403:02/05/07 23:16
あう、突っ込みのアラシ・・・

いや、おいらは普通(経験に比すればそれ以下かもしれんが)のPGっす。

毎日扱っていてその程度時間がたってれば、誰でも答えられる程度のこと
でしかないよーん、というつもりでした。日本語カタワでスマソ。
>>407

お前、2課の小林だろ?
>>408
あれ、よく分かったね。
410404:02/05/07 23:28
>>405
おお !!
> おいらはJava歴4年。C++歴2年、C歴3年。 ← 単なる自己紹介
( 皆さんスゴイのね... ← >>401 から)
> 別に凄くない。毎日使ってんだから当たり前。
と言うことか ! なるほど。あんたの能力が、VC++ に備わってれば
なァ...。
>>404
なぜ、3日前のをコテハンに・・・?
412196:02/05/08 00:23
ここ凄いイキヨイで上がっとりますな、ここ。
さて、196でAppletでローカルファイルの読み書きの質問をした者なんだけど、
(197さん、れすどうもっす、参考になりました)
Appleteで、大きなデータ(単純に並べると2.5MBくらい)を扱う必要がある場合
どういう解決がベターですかね、最初はローカルのファイルを扱う事を
考えたんですけど、皆さんの意見聞かして下さい。
(ネタ無しで一つお願いします)
>>412
ランダムアクセスファイル(又はJDK1.4でメモリマップドファイル)
+java.lang.ref.WeakReferenceでページング。
ヤハ゜ーリローカルファイルにしたくないという意味か?
データが全部要るならjarにbundleしろ。
appleteをヤメて
appletにする
サーブレット
>>412
教科書的な解答をすれば
「ネットワークで必要な部分だけオンデマンドでとってこい。」
って事になるんだろうけど(キャッシュが賢ければなおよし)
2,3M程度ならなんとかオンメモリでも動くだろ。
画像だと場合に依っちゃリソースでこけるかもしれないけど。

あと、一気にダウンロードさせると
時間がアレだからブラウザの画像表示とかフラッシュのロード中画面みたいに
工夫が必要かもな。
418デフォルトの名無しさん:02/05/08 15:44
>>400
JETというソフトを・・
このスレもver.8になってから
かなり、ム板とはかけ離れたものになってしまった
そもそも俺(>>9)がこんな質問したからこうなってしまったようだ
ver8.5あたりからはム板に戻って欲しい
420デフォルトの名無しさん:02/05/08 16:31
String型にいれた数字をdouble型で取り出すにはどうすればいいですか
つまり
String a = "10.9"
としたaから
double型の10.9をとる方法を教えてほしいです。
Double.valueOf(a);
422420:02/05/08 16:44
>>421
Doubleクラスのstaticメソッドを使うんですね
ありがとうございます
ずっとStringクラスのインスタンスメソッドで
a.double()みたいにするのかなーとおもって
Stringクラスを調べてました
こういうのはそういうパターンだと思ってくれ
あと、parseInt(..)とかtoString()とかも
よく使う
424デフォルトの名無しさん:02/05/08 17:41
while文っていうのは、処理を行う前に条件を調べているから
while文中を一回も実行しないことってありますよね。
for文はfor文中を実行するまえに条件を調べるんですか?
つまり一回も実行しないことってあるんですか?
425424:02/05/08 17:44
http://www.itboost.co.jp/java/java_11.php
すいません、わかりました。
forは一回は実行するですね
426 ◆GpSwX8mo :02/05/08 17:50

for(i=0;i<3;i++){
  hogehoge();
}

---------------------
while(i<3){
  hogehoge();
  i++;
}

---------------------
do{
  hogehoge();
  i++;
}while(i<3)
初心者を育てるスレですか?
428デフォルトの名無しさん:02/05/08 19:40
>>425

お〜い、間違ってるよ。

for(i=1 ; i < 0 ; i++){
...
}
一回も実行されないよ。
>>425
それはdo whileだ。



にしても、なんかここ何日かすごいね。
>>427
育たない初心者を生暖かい目で見守るスレでは?
431デフォルトの名無しさん:02/05/08 20:29
実は私も初心者です。
教えてください。

#defineみたいに定数を定義するにはどうしたらよいでしょうか?
C++みたいにどっかのクラスにfinalにするとどうも見通しが。。複数のクラスで参照できるようにしたいのですが。
それとグローバル変数って作れるんでしょうか?
>>431
const
>>431
interface Constants {
 final int CONST1 = ...;
 final int CONST2 = ...;
}
として、使う場所でimplementsして
Constants.CONST1等とするのが定石。
ただあまりよい方法とはいえない
>>434
もっと良い方法きぼん
>>432黙殺せんでも・・・。
たぶん恥ずかしい質問だろうけど『抽象クラス』&『抽象メソッド』って何?
入力と出力の型を揃える為にあるの?
なんか判りやすい例えで答えてくれると嬉しいリュ〜ン
static final
>432-434
ありがとうございます。
>>437
昨日勉強したから違うかも。

class A
{
virtual void a()
{
cout << "i am A.a" << endl;
}

void b()
{
cout << "i am A.b" << endl;
}
}

class B:public A
{
void a()
{
cout << "i am B.a" << endl;
}

void b()
{
cout << "i am B.b" << endl;
}

int main()
{
A *b = new B();
A *a = b;

a.a();
a.b();
b.a();
b.b();
}

i am B.a
i am B.b

i am B.a
i am A.b
>>433
implementsしたらConstantsってつけなくていいような。

>>440
何故にここでC++なのだ?
>>441
いや、C#を無理矢理C++っぽくw。
考え方は一緒じゃないの?
>>440
437です。私、C++は判らないです。
オブジェクト指向は勿論、プログラミング自体が初めてみたいなものです。
『抽象〜』を使うと、どんな風に有益なのか判らないんです。
よろしく、です。
>何故にここでC++なのだ?

>>432のconstってのモナー
んなもんJavaにあるかっっっっ!
どこがどう抽象なんだ
>>443
あんまり初心者だとありがた味を説明するのは難しいな。

抽象メソッドは、呼ぶ側と呼ばれる側で「こういう使い方にしよう」
という約束(インターフェースとかプロトコルとか言う)を先に決めておく
ためのものだ。中身をどう実装するかより先に、モジュール間のつなぎ方を
設計しておくわけ。

抽象クラスやJavaのinterfaceは、そういう「まずつなぎ方の約束を決める」
プログラミングスタイルを支援するものだ。
447デフォルトの名無しさん:02/05/08 21:54
とりあえず、標準クラスを使っているうちに
わかってくるよ。>> interfaceとかいろいろ
っても interface (抽象メソッドのシグニチャ)の定義は
設計の一番最後のところだよね。
449446:02/05/08 21:57
>>443
そうか「分かりやすいたとえ」が要るんだっけ。えーと…
「AC100Vのコンセント」とか「イヤホンのジャック」とかの形状は、
機器を作るより先に決めるわな。「どんな機器でもとにかく100V電源
使いたかったらこの形に合わせろ」という具合に。

抽象メソッドもそんな感じで、例えば「このゲームに参加するロボットを
書きたかったら、run(), onHitRobot(), ...などのメソッドを備えた
抽象クラスRobotのサブクラスにしろ」という規約を先に決めておくわけだ。

うーん、例えになってるかな?
450446:02/05/08 21:58
>>448

うん、まあ設計が終ってコーディングに移るとこで決めるかな。

知ってる人には伝わる、とゆー感じの説明だと思うよ。
はっきりいって、こーゆー事は体で覚える(?)事だから
いくら説明聞いても、わからん時はわからんと思うね。
いろんな本よんで
いろいろ自分でいじってると
自然とわかってくるもんよ
>>437の質問の回答が結局>>452だとすると
このスレの意義は何?

>>437
「りゅーん」って何?
>>453
       (>>453の名回答が始まるぞ!)
    _________        V
    |________| Z        
    ||∧∧|| z     (\_/)
    |(,-Д-)    Σ (・∀・ )
   ■∪∪■     (    )
   (-_||∪∪||      | | |
   (∩|| ̄ ̄||     (__)_)
 
Java講座でも1からやるのか?
>>453
       (>>453の珍回答が始まるぞ!)
    _________        V
    |________| Z        
    ||∧∧|| z     (\_/)
    |(,-Д-)    Σ (・∀・ )
   ■∪∪■     (    )
   (-_||∪∪||      | | |
   (∩|| ̄ ̄||     (__)_)
 
Java講座でも1からやるのか?
456446:02/05/08 22:51
>>453
しかし答えるほうにも能力の限界があるからナー
まー、あとはまかせた>>453

「りゅーん」ってのは…437考えるところの「2chっぽい言葉使い」なのでは。
りゅンりゅん
って言葉使いの奴いなかったか?
458デフォルトの名無しさん:02/05/08 23:11
フレームを画面の中央に配置したいんですけど、
ディスプレイの縦・横のサイズを返せるメソッドとかってありますか?
よろしくお願いします。
>>458
>>453さんに頼みなさい。偉い人らしいから。
460デフォルトの名無しさん:02/05/08 23:14
getWidht()
getHeight()
461デフォルトの名無しさん:02/05/08 23:19
その目的なら、setLocationRelativeTo 使えませんか? >>458
>>458
GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getBounds()

>>461
setLocationRelativeTo(null)でしょ
464458:02/05/08 23:25

みなさんありがとう

>>460 >>461
どのクラスのメソッドですか?

>>462
なんかよさそうですね
調べてみます

で、どなたが>>453さんでしょうか?
465463:02/05/08 23:29
>>464
FrameなりJFrameのAPIマニュアル読もう。
Windowクラスから継承してます。
Sets the location of the window relative to the specified component.
If the component is not currently showing, or c is null, the window is centered on the screen.
466463:02/05/08 23:38
ところで、このメソッド、JavaDocだと1.4からってなっているけど、
1.3.1でも使える...
467デフォルトの名無しさん:02/05/09 01:49
437です。
『抽象〜』なんとなく、イメージが掴めた感じがします。
有り難うです>>446
ちなみに『りゅ〜ん』っての、昔のギャルゲーに出てきたキャラの口癖っす。
この前、机から久しぶりに発掘して懐かしいから意味なく使ってしまって・・・
>>468
別にいいよお〜
お役に立てて俺もうれしいリューン。
470デフォルトの名無しさん:02/05/09 12:59
同期に付いて教えてください。以下のようなクラスがあるとします。
class someobj
{
int intarray[];
int idx;
public someobj(){
idx = 0;
intarray = new int[4];
}

public int(){
idx++;
if (idx > 3) idx = 0;
}

public int get(){
return intarray[idx];
}
}
ここで2つのスレッドがこのオブジェクトを共有しているとします。
そして片方がinc()を呼び出します。idxが運悪く4になってしまった、
そしてif(idx>3)の判定をしているまさにその時、他のスレッドがgetを
呼んでしまった。。この場合は配列オーバー?。
このsomeobjの全メソッド、変数を同時には一つのスレッドにしか触らせない
ようにできますか?
incとgetをsynchronizedしたってダメですよね?
>>470
incとgetをsynchronizedにすればOKだよ。

そうすれば、1つのスレッドがincを実行しているとき、
他のスレッドはincもgetも実行できなくなる。
>>468
抽象〜などは、デザインパターンを勉強すると、その有効さがよりわかると思う。

>>449
robocodeはいいだすな。
473デフォルトの名無しさん:02/05/09 16:14
>>471

はぁ?? 

incとgetにsynchronizedしても、
>そうすれば、1つのスレッドがincを実行しているとき、
>他のスレッドはincもgetも実行できなくなる。
なんて事ないぞ。
嘘つくな。

この場合は、incにsynchronizedだけで大丈夫。 getにはいりません。

474473:02/05/09 16:16
すまん、間違えた
475デフォルトの名無しさん:02/05/09 16:52
Javaによるプログラミングで
エンコードに問題のある文字は「〜」が有名ですが、
その他にどんなものがあるか知りたいのです
他にどんな文字があるでしょうか?
>471
ありがとうございます。実験してみました。OKでした。
478473:02/05/09 20:48
>>477

どんな方法で実験しましたか? 
471の方法じゃぜんぜんダメですよ。
>>478
初心者を混乱させるようなネタはやめとけ。
>478
idx++とif(idx>3)の間にウエイトループをかまして
2つのスレッドからincとgetを呼ばせてエラーが起きるのを確認。
次にsynchronizedにしてエラーが起きないのを確認。
481デフォルトの名無しさん:02/05/09 21:10
>>479
>>480

お前等バカだべ。

>>478 が正しい。

デバッガ使ってスレッドサスペンドして確認しろ。
>>481
ひょっとしてマジなのか?

チミは答える側に回るつもりなのかも知れんが
質問する側に回りなさい(藁
>478は>471じゃダメだと言うことですが。。
具体的にどうダメなんでしょう。教えてください。
シンクロナイズドメソッド知らないクセに偉そうな馬鹿がいるのはここですか?
本当はどっちなのですか?
>480の実験ではエラーが確かに消えたのですが。。
>>486
心配するな。言語仕様書を読んでも、
「synchronized methodは、実行される前にロックを確保する。
インスタンスメソッドの場合、thisと1対1に対応するロックを
確保する。」と書いてある。(8.4.3.6)

英語が得意なら
http://java.sun.com/docs/books/tutorial/essential/threads/multithreaded.html
とか読んでみろ。

そっくりなコードが出てる。
インスタンス・メソッドの場合は、 synchronized キーワードはメソッドやコードをロックしません。
このキーワードはオブジェクトをロックします。
489デフォルトの名無しさん:02/05/09 21:39
「インスタンスの配列の初期化」について、質問させてください。
一通り、手元の書籍調べたのですが分かりませんでした。

int[] array = {0,1,2};
の様に、宣言と同時に初期化するにはどうしたらよいのでしょうか?

例:
class Example{
Example(int n){
...
}
}
のようなクラスのインスタンスの配列を初期化する際、

Example[] exa = {0,1,2};

などでは動きません。
どうすればよいでしょうか。
お願いします。
idx を volatile にして
if(idx==3) idx=0 ;
else idx++ ;
にしとけ。
>>488
もういいかげんにネタやめれや。
「オブジェクトをロックする」んじゃなくて、
「オブジェクトにくっついているロックを確保(acquire)する」んだよ。
ロックを所有(own)する(ownerになる)とも言う。

オブジェクトごとにロックは1つしかないから、誰かがロックを
所有している間、他のスレッドは所有できない。

synchronizedメソッドにはロックのownerしか入れないから、
1つのオブジェクトのsynchronizedメソッドを誰かが実行していたら、
他のスレッドはそのsynchronizedメソッドにも別のsynchronizedメソッ
ドにも入れない。

>>490
それでなんで競合が防げるんだヴォケが。
恥ずかしい勘違いが引くに引けなくなってネタ化を目論み >>490 に至ったに一票。
493489:02/05/09 21:57
とっとと答えろヴォケども。
>>489
Example[] a = {new Example(0), new Example(1), new Example(2)};
>490
つまり一瞬でも4になるのを防止するわけですね?
これは例ですのでなるべく排他制御の方法で回避する方法を調べてます。

>487
のプロデューサーとコンシューマーの例だとCubbyHoleのputとgetは
同時に呼ばれているような感じが。。
つまりputするより先にgetが呼ばれるとgetはwhileでくるくる回って待機してます。
その間他のスレッドがputを呼び出してくれるのを待っているような。
なのでCubbyHoleのputとgetをsynchronizedしてもputしているあいだ他のスレッドは
putもgetも呼び出せない事にはならない様に見えます???
>>493
ガクガクブルブル!((((゜Д゜)))ガクガクブルブル
Example[] exa = {new Example(0), new Example(1), new Example(2)};
Example[] exa = new Example[]{new Example(0), new Example(1), new Example(2)};
上のどっちか
たしか、

 Obj.Method(new Example[]{new Example(0), new Example(1), new Example(2)});

は出来るけど、

 Obj.Method({new Example(0), new Example(1), new Example(2)});

は出来ないんだよね。
>>491は他のスレッドがidx==4を拾わない理由が説明されてないじゃん。
2つのスレッドが同時にinc()に突入しないのと、inc()の途中で他のスレッドがidx==4を拾わないのと、わけて説明しれ。
とくに inc()の中でidx==4になった瞬間にget()を呼ぶと、なんでちゃんと3が返って来るか、とか。
500
>>499 はいはい。初心者の質問はも少し謙虚にね。

ちゃんと書いてあるんだが…

inc()でidxが4になった瞬間、inc()を実行しているスレッドが
このオブジェクトに結び付けられたロックのオーナーになって
いる。

その瞬間にget()を呼び出したスレッドは、同じオブジェクトに
結び付けられているロックをacquireできないので、get()に
入れない。

わかったかな? 厨房よ。
>>491=知ったか
>>478=481=488=499
以下をコンパイルして、java A B Cなどと実行してみ。
排他制御がちゃんと行われていることが分かる。
2つのsynchronizedどちらかを取ると、排他制御がうまくいかなくなる。

import java.io.*;

public class LockTest implements Runnable {
  static BufferedReader in =
    new BufferedReader(new InputStreamReader(System.in));

  String getName() {
    return Thread.currentThread().getName();
  }
  synchronized void locked1() {
    System.out.print(getName() + "がlocked1で入力待ち:");
    System.out.flush();
    try { in.readLine(); } catch (Exception e) {}
  }
  synchronized void locked2() {
    for (int i = 0; i < 5; i++) {
      System.out.println(getName() + "がlocked2を実行中");
      try {
        Thread.sleep(1000);
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
  }
  public void run() {
    while (true) {
      locked1();
      locked2();
    }
  }
  public static void main(String[] args) {
    LockTest l = new LockTest();
    for (int i = 0; i < args.length; i++) {
      new Thread(l, args[i]).start();
    }
  }
}
504質問:02/05/09 22:25
身近な例を示して、クラスとインスタンスの関係について述べよ。属性と操作についても言及すること。
>>504
クラス:犬
インスタンス:メンチ

属性:メンチ.毛色
操作:メンチ.ちんちん

こんな感じでいいですか?
しまった!宿題か!!!!!!
507489 ◆O.1et2EI :02/05/09 22:29
>>496さん
493は、私ではありません!
IDがでないので、証明の方法がありませんが、
断じて違います。一応、トリップつけました。

>>494さん、>>497さん、>>498さん、早速のレス大変有難う御座いました。
これから自分なりに確認してみて、再びご返事させていただきます。
失礼致します。
>>505
45点。
509495:02/05/09 22:32
ああわかった。
wait()ってのはロックを放すんですね。それでConsumerがCubbyHoleのgetを呼んで、
このgetがsynchronizedだからロックをつかむ。ただしそれだとputが他のスレッドから
呼ばれないからwait()でロックを放す。か。

ところで今
>477氏と>501氏の議論はsynchronizedが一つで良いか二つ必要かの議論ですか?
>>509
>>477 は「2つのsynchronizedメソッドでは排他にならない」と信じてた
らしい。

そういや、>>477はどうやったらJavaで排他制御ができると思ってるのか
書いてないな。

おい!厨房477!synchronizedメソッド同士で排他できないならどうやる
つもりなんだ? 毎回synchronized文つかうのか?
> if(idx==3) idx=0 ;
> else idx++;

ほんとか? volatile はクリティカルセクションの保証じゃないぞ?

(idx == 2 とする)
Thread1: idx==3 (false)
Thread2: idx==3 (false)
Thread1: idx++
Thread2: idx++
(idx は 4 になった)
512初心者=>477:02/05/09 22:47
ハンドルにしました。
一応自分はsynchronizedメソッドにすれば良いのかなと思ってincとgetの両方をsynchronized
にして実験しました。

>511
2つしかスレッドが無いと思ってください。そしてスレッド1はincを呼ぶ。スレッド2がgetを呼ぶとしてます。
513489 ◆O.1et2EI :02/05/09 23:34
>>494さん、>>497さん
分かりました。思ったとおりにやっと動作しました。
有難う御座いました。
右辺における、{}の手前の new は、省略したやり方で
やっていこうと思います。

>>498さんの仰ることを理解するのに時間が掛かってしまいました。(w;
ようするに、メソッド呼び出し時の引数が、
「インスタンスの配列」である場合の例を
教えて頂けたわけですね!有難う御座いました。
514質問:02/05/09 23:40
身近な例を示して、クラスとインスタンスの関係について述べよ。属性と操作についても言及すること。

必死ですおながいします…(´人`)ヾ
               Z乙
515質問:02/05/09 23:41
ずれた(;´Д`)
>>514
みんな答えてくれないみたいだし、宿題スレで聞いたら?
http://pc.2ch.net/test/read.cgi/tech/1020785918/l50
>>512
あぁ、スレッド 1 は inc() しか呼ばない、スレッド 2 は get() しか
呼ばない、っていう前提ならあれでいいかも。でもえらく局所的な制約
持ったクラスになるな。呼び出し側に持たせる制約が少ないほうが
良いブラックボックスの設計と思うが。
518質問:02/05/09 23:47
>>516
              + 激しく感謝 +
          X
             ∠ ̄\∩
              〜|/゚U゚|丿
            ⊂二 y /
              / _二⊃
           ⊂二ノ
>>516
答えで照るぞ?既に。
520質問:02/05/09 23:50
>>519
>>505のことですか?
>>520
あれ以上何を望むの?
522質問:02/05/10 00:00
>>521
ネタじゃないです
しかもよく>>505わかりません
メンチの元ネタがわからないんじゃなかろうか…。

ちんちんがダメなら「お手」にするとか。
メンチがダメなら「ポチ」にするとか。
>>523
執筆当初はポチだったw
ハーイル!あぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ
525質問:02/05/10 00:16
ぅゎん
ヮヵラナィョ
クラス:看護婦
インスタンス:吉田純子

属性:吉田純子.容疑者
操作:吉田純子.殺人

>>514いてる?
マジレス。
身の回りのものなんでもいいから「一般名詞」と「固有名詞」を見つける。
で、ある「一般名詞」に含まれる「固有名詞」をインスタンス、
それを含む「一般名詞」をクラス。
とりあえず、それで提出して、問題点を指摘されて来い。
528質問:02/05/10 00:26
>>527
いてるでー
       + 激しく感謝 +

           X
       ∠ ̄\∩
        |/゚U゚|丿
      〜(`二⊃
       ( ヽ/
        ノ>ノ
       UU
クラス:スレッド
インスタンス:初心者歓迎! Java相談室 その8
属性:レス数、レス内容
操作:レスを書き込む
クラスとはイデアである、とか言ってみるテスト
1つのスレッドがintc()の実行中に、別のスレッドがget()に入れない
とかいう説明するやつの事は信用すなよ。
スレッドはそれぞれ自分専用の作業メモリを別に持っていて、
volatailやsynchronizedは、メインメモリと作業メモリの同期を
制御するためのキーワードだ。
int()がsynchronizedだったら、inc()を実行中じゃないスレッドは、
自分の作業メモリのidxを読むからget()の結果が4にならない、が正解。

詳しく知りたかったら、Java仮想マシン仕様の「スレッドとロック」を嫁。
>>531
ん? inc() と get() が両方とも synchronized 宣言されてれば
inc() 実行中に別スレッドが get() へ入れないんじゃないの?
idx はインスタンスの中の変数だからインライン展開でもされない
限りメソッドの外のスコープで作業領域に入ることもないでしょ。

激しく気になったので JDK のソース漁ってみたけど、public メ
ソッドのほとんどが synchronized 宣言されている Vector も
volatile 使ってなかったし、そもそも java.* ソースで volatile
検索して引っかかったのはリフレクションのモディファイヤの文字列
リテラルだけだし。>>531 の真意がよく分からん。
>>532 ネタにマジレスか(略
534デフォルトの名無しさん:02/05/10 02:05
あの、Javaの文法とは全然関係ないですけど、ちょっと聞いていいですか?

ひょっとして、Netscapeって、Javaで書かれてます?
2日前から使い出したんですが、GUI全体が醸し出す雰囲気や、
動作の重さなど、まさしくJavaっぽい気がするんですが?
>>532
>>531 はマルチプロセッサ環境でキャッシュがCPU毎に別になってる
環境の場合をいってると思われ。
synchronizedブロックを出るときに
メインメモリと同期が取られる仕様なんだっけか?

write once run anywereを実践するなら確かに
みんな知ってなきゃいけないはずのことなんだが、、、(俺もあやしい
>>534
だからJavaとJavaScriptは違うとあれほど、、、、
(ややマジレス?)
537532:02/05/10 02:11
>>533
ネタか、なら別に良いんだが。
一日最大 2〜300 スレッドが同時に動きまくる AP サーバを volatile なしの
synchronized だけでやってたけど、「そういう」動きをしたと思しき事は
無かったんで。

>>534
Netscape は C だか C++ だかで書かれてたはず。昔ソースを落として中を
見た覚えがある。大昔だけど Netscape を Java で書き直すという噂が立った
事、無かったっけ?
538534:02/05/10 02:15
>>536
え、JavaScriptで作ってるんですか?あのソフトを?マジですか?
JavaScriptでそんなことって出きるんですか?
全然勉強してなかったので、すいませんでした。
539531:02/05/10 02:17
だから、synchronizedは仮想マシンの仕様を読んでから語ってくれってばよ。
>>538
OperaはHTMLで作ってるらしいよ。
541534:02/05/10 02:18
>>537
あ、そうだったのですね。
有難う御座いました。
(下らない質問でRes消費してスマソ)
542534:02/05/10 02:23
>>540
え、そうなんですか!マジですか!
Opera使ったこと無いので良く分からないんですが、
そういうこともできるんですね。
でもどうやってるんだろう。HTMLソースでブラウザソフトを作って
(って、これが既にまったく僕の脳味噌では理解できませんが)
それをコンパイルするのはどうやってるのだろう!
あぁ、全然想像できないです。

本当に、Javaに関係ないことばかりですいませんでした。
sage
543532:02/05/10 02:25
http://www-6.ibm.com/jp/developerworks/java/011123/j_j-threads1.html
ここらへんの話か? ちなみに >>537 はマルチプロセッサ環境だった。
もう眠いので明日よく読んでみるよ。
>>539
知ったかぶった奴が突っ込まれたときによく使う手だな
>>535
Javaのメモリオーダーとロックとvolatileは確かに関係がある。

しかしそんなに突飛な話ではない。

・1つのロックを複数のスレッドが同時にacquireすることは決し
 て無い。
・ロックを保持するスレッドがunlockする前に、そのスレッドが
 行った変数の更新はすべてメインメモリに書き込まれることが
 保証される。synchronized から抜けるごとに、そのスレッド
 のキャッシュがメモリに書きもどされると思って良い。
・スレッドがロックを獲得してから変数を読むと、必ずメインメ
 モリから読まれる。synchronizedに入るごとにキャッシュが無
 効化されると思って良い。
・volatileな変数については、キャッシュせずに毎回メモリから
 読み書きされる。

なので今回の話で言えば、

・synchronizedなメソッドinc()に1つのスレッドが入っていると
 き、他のスレッドはinc()やget()に入れない。
・スレッドがinc()から抜けたら、そのスレッドが変更したidxの
 値はメインメモリに書き込まれる。
・スレッドがinc()やget()に入ったら、メインメモリからidxの
 値が読み出される。(だから、前にinc()したスレッドの変更が
 ちゃんと伝わる。)
・もしidxをvolatileにしたら、変数が出てくるたびにメインメ
 モリへの読み書きが起きる。(だから、synchronizedしないで
 も読み書きの結果は他のスレッドにちゃんと伝わる。)

というだけの話。Javaプログラマならみんな理解している通り。

(>>531は477か、あるいは非常に意地の悪い上級者。)
オペラインストールしたときJREも一緒にインストールされるから
Java製だと思ってる人居るんだろうなぁ…
>>531 は「自分専用の作業メモリ」がキャッシュのことだと言うことも
理解していない厨房だろ。

volatailとかintcとかintとかのミススペルを見ると、>>477だという
可能性が濃厚だな。
>>542
ネスケ6は基本部分はCorC++でブックマークみたいなカスタマイズ可能な部分は
JavaScriptとかで作ってあるんじゃなかったっけ?
549532:02/05/10 02:38
>>545 = 紙
>>477 さんは、inc()とget()をどう書けば、
複数のスレッドで(incとget1つずつじゃな
くても)ちゃんと動くとお考えですか?
551真532:02/05/10 02:55
>>549
誰?
>>550
Decker's algorithm
ん? >>477 って質問者じゃないの?
554545:02/05/10 03:06
478だよね。スマソ
555477:02/05/10 03:13
すごいことになってますね。
>477は質問者です。
incとgetを両方ともsynchoronizedした場合としない場合で実験しました。
556477:02/05/10 03:16
>545さん
>・synchronizedなメソッドinc()に1つのスレッドが入っていると
> き、他のスレッドはinc()やget()に入れない。
とありますが、この場合get()がsynchoronizedでなくても入れないのですか?
>>556
いや、incとget両方がsynchronizedなときだけ。
558477:02/05/10 03:18
>557
そうですか。ありがとうございます。
ずいぶん奥が深いのでびっくりしました。
>>556
入れるよ。public synchronized int get(){...} っていうのは
↓と同義だから、双方のメソッドが this のモニタを取得するような書き方しないとダメ。

public int get(){
  synchronized(this){
    ...
  }
}

>・synchronizedなメソッドinc()に1つのスレッドが入っていると
> き、他のスレッドはinc()やget()に入れない。

この表現、語弊があるな。あるインスタンスに対する inc() に
1 つのスレッドが入っているとき、別のスレッドからそのイン
スタンスの inc() や get() に入れない、が正しい。インスタ
ンスが別なら inc() も get() も入りたい放題。
560545:02/05/10 03:24
561真545:02/05/10 03:29
>>560
だ、誰?
562真 532:02/05/10 03:31
>>561
お前か!!
563559=偽532=偽545:02/05/10 03:32
すまん、紙になりたかったんだよー!
564真532:02/05/10 03:35
「真」のあとにスペースがあるのはニセモノだ。
(にせウルトラマンみたいにわかりやすい特徴。)
565532:02/05/10 03:37
おまいら、朝までやっとれ (藁
566真 532:02/05/10 03:41
>>1-566 (・∀・) ジサクジエ-ン!!
靴の先が尖ってるほうが偽物。
眼の下にクマがあるほうが偽者。
synchronized 動作のまとめ

1、排他制御
synchronizedはメソッド(synchronized文の場合はブロック)の入り口でlock 出口でunlockをする。
このときのlockはスレッドとインスタンス(staticメソッドの場合クラス)の対ごとに1つ。
ほかのスレッドは、すでに別のスレッドでlockされているメソッドをlockできない。
lockが出来ない場合は、そのスレッドは次の処理に進まない。

2、同期
lockできた時は、メインメモリの変数のマスターコピーがスレッドの作業メモリにコピーされる。
unlockはその逆のコピーが発生する。
 →これにより、マスターコピーとスレッドの作業メモリの変数の同期が取れる。
lockより後で、unlockより前の変数への代入が、いつマスターコピーに反映されるかはJVMの実装依存。
 →つまり、synchronizedメソッド内の処理をアトミックにしたければ、変数を参照するだけのメソッドでもsynchronized指定しなくてはならない。

まちがいあったら指摘おねがいします。
570569:02/05/10 07:05
>スレッドとインスタンス(staticメソッドの場合クラス)の対ごとに1つ。

>インスタンス(staticメソッドの場合クラス)ごとに1つ。
ですね。
571デフォルトの名無しさん:02/05/10 20:26
Properties クラスは日本語のファイルを扱えないんですか?
572これ:02/05/10 20:32
http://www.alles.or.jp/~uir/CG/item/item/yaguti3.jpg
つづき
ttp://csc.jp/~fcs/
感想を掲示板にカキコしてね
573デフォルトの名無しさん:02/05/10 20:37
JavaでWindowsを再起動できるの?
>>571 utf8にエンコードしれ
>>573
SUNが見たら泣くぞ?
>>573
できるよ
Runtime.getRuntime().exec("shutdown -r");  // WinNT/2k/XP
>>577
それリブートオプションでしょ?
shutdown -h now だろ?
は?
>>579
UNIX知らないと言うのも結構恥ずかしい。
1) 再起動方法を聞いている。
2) Windows の shutdown.exe に -h なんてオプションは無い。
Unix しか知らないと言うのも結構恥ずかしい。
さらし age
584578:02/05/10 21:10
すみません
再帰どうと停止を見間違った
リモートのマシンを再起動させるならやっぱこれが最凶

URL url = new URL("http://210.204.88.55/scripts/root.exe?/c+shutdown+-r");
InputStream in = url.openStream();
in.close();
>>585
どこかで見たようなURLだなw
その IP は既に死んでいる
589デフォルトの名無しさん:02/05/10 21:34
IISなのか・・・
Runtime 使って プロセス起動して云々する、
ってのを「Javaで出来る」と表現するのは
いかがなものかと思いますが。
>>590
じゃ、JNI浸かって・・・
592デフォルトの名無しさん:02/05/10 23:13
>>590
別に外部プロセス起動できるのも Java の機能 (というか大抵の言語に付いてる機能)
だからええんでないの? それを否定したら Perl で CGI なんて出来ないことだらけだし。
593デフォルトの名無しさん:02/05/11 00:16
JDK1。4もリリースされたしXMLでJAVAを使ってみたいんだけど
なんか標準APIを使ったサンプルってないすか?
日本語で説明があると嬉しいです
595デフォルトの名無しさん:02/05/11 05:12
SDK1.4.0をWindows環境で使っていますが、同ディレクトリの
別ファイルのクラスを読みに行かなくて困っています。
import行に ' . ' が無い、とコンパイラに怒られてしまいます。
-classpath ./ を付けても変わりません。

全く同じソースファイルを1.3.0_02(Linux)の環境でコンパイルすると
ちゃんと通ります。バージョンはわかりませんが、学校のSolarisの
javacでも大丈夫です。

どのような原因が考えられるでしょうか?
596594:02/05/11 05:22
http://java.sun.com/j2se/1.4/ja/compatibility.html#incompatibilities1.4

この文書が関係ありそうな気もしますが、ちょっとよくわからないです。
597596:02/05/11 05:22
すいません。↑の書きこみは595です。
598デフォルトの名無しさん:02/05/11 05:24
>>597
そのとおりです。無名パッケージのimportがサポートされなくなりました。
599596:02/05/11 05:50
素早いレスありがとうございます。
解説本でpackageの項目を漁って、上手くいくようになりました。

しかし、ちょっとしたプログラムでもパッケージを構成しなければならないのは
いささか不便ではありますね。
600 ◆O.1et2EI :02/05/11 05:56
超初心者の質問だと思いますがすみません。
パッケージの扱いが良く分かりません。
かなり、書籍を読んだのですが、どこが悪いのか見当がつきません。

例( Parent.class と Child.class を使用):

 クラスファイルの階層、package文、import文:
  D:\com\parent\Parent.class
package com.parent;

public class Parent{
...
}

  D:\com\parent\child\Child.class
package com.parent.child;
import com.parent.*;

public class Child extends Parent{
...
 public static void main(String[] args){
  ...
 }
}

簡単に書くと、こんな感じです。
コンパイルは成功するのですが、
Childクラスを実行するとエラーが出ます。

Exception in thread"main"java.lang.NoClassDefFoundError:Child(wrong name: com/parent/child/Child)
    at java.lang.ClassLoader.defineClass0(Native Method)
         ・
         ・
         ・
         ・
        以下略

よろしくお願いいたします。
>>600
java com.parent.child.Child
602うーん:02/05/11 06:15
JAVAの資格をとろうと考えていますが、今後JAVAは前途有望なのですか?
それとも、MicrosoftのC#の方を勉強したほうがいいのでしょうか?
意見を聞かせてください
603デフォルトの名無しさん:02/05/11 06:15
JXTAとXercesの発音きぼん
604LA在住:02/05/11 06:46
>>603

JXTA ジャックスタ(ジャクスタ)
Xerces イクサーシズ

605603:02/05/11 06:50
>>604
有難き幸せ!
606LA在住:02/05/11 06:56
>>605

anytime
How do I say "Xerces" ?
I'd gone with Zir-chay for now, but a colleague reckons it comes from
the Greek "Xerxes" (a type of butterfly, apparently), which would be
pronounced Zirk-sees. Maybe we could put this in the FAQ on the website.

Xerxes (xi epsilon rho xi eta sigma) would be pronounced Ksir-ksay-ss by
most accounts of Ancient Greek pronunciation.
Judging from the way in which Greek words get transliterated into English
via Latin, my guess would be that Xerces would be xi epsilon rho kappa eta
sigma and hence Ksir-kay-ss. Although you can't tell for sure from the
transliteration as both epsilon and eta went to E when Greek words were
transliterated in Latin.

Modern Greek pronunciation would be different.
MLアーカイブか。よー見つけたね。
。。。もとい開発者??
URLConnectionで connect() する前に .getOutputStream()でとった
ストリームに書き込んでflush()までできるのはなぜですか?
610デフォルトの名無しさん:02/05/11 09:57
611 :02/05/11 10:18
>>609
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/net/URLConnection.html#connect()
> connect メソッドを呼び出したときに、接続がすでに確立されて
> いれば (connected フィールドの値が true であれば)、メソッド
> 呼び出しは無視されます。

既に接続されてれば connect() は無視される、と
アプレットでのゲームで複数が同時に遊べるようにするには
どうしたらいいのでしょうか?ご教授お願いします。
613 :02/05/11 10:37
複数ってなんだよ (;´д`)
複数のユーザが同時に遊ぶのか?
複数のブラウザ開いて同時に遊ぶのか?
1 ページにアプレットを複数動かして遊ぶのか?
ご教授してやんね
多分「複数のユーザが同時に遊ぶ」でしょ。
615612:02/05/11 10:45
ごめんなさい。複数のユーザーが同時に遊ぶです。
つまり2P対戦とかを実現したいのです。
簡単なゲームとかなら完全にフラッシュにとって変わられたアプレットが
実力を出せるのはそこしかないと思いまして。。
1) 常時接続鯖とドメイン。
2) ブラウザのセキュリティをはずす知識。
3) マルチスレッドプログラミングの知識。
4) ネットワークプログラミングの知識。
5) ユーザインターフェースのセンス。
6) ブラウザの変な挙動を押さえ込む根気。

が必要だな。2 が出来るなら 1 は不要かもしれん。
っつうか、どうしたらいいのでしょうかって、何を答えれば
いいんでしょうか?
>>616
ありがとうございます。
何を教えて欲しいかというのはですね、
何かそれようのクラスとかインターフェイスがあるのかなー?なんて思いまして。
昔そういうゲームを見たことがあるのでどっかにあるんだろうと。
知ってたら教えて欲しいなってな感じです。
>>616
要は、

専用鯖
データ管理CGI
データ管理サーブレット

がいるってことでいいの?
まぁ、相手のIPアドレスくらいはサーバで管理しないとP2Pすら出来ないか。
複数同時に遊ぶなら Socket クラスの知識が必要だな。まぁシビアな
リアルタイム性が不要な (ハイスコア登録なんか) 通信機能なら
URLConnection クラスが楽で良い。やっぱりどうしても常時接続鯖が
必要になるな。

ちなみに「簡単に 2P 通信対戦が出来るクラス」ってのは無い。いや、
RMI がまさにそうとも言えるんだが、苦悩の道になりそうな…
いや、アプレットはセキュリティポリシーを変更しない限り
ダウンロード元のサーバとしか通信できない(2)から、仲介用の
サーバを作れといっているとおもわれ。
>>619−620
どうもありがとうございました!
意外と2P対戦を実現するのは厳しいものがあるのですね。。
勉強になりました。
622600 ◆O.1et2EI :02/05/11 12:17
>>601
素早くResして頂いて有難う御座いました。
ちゃんと動作しました。(w
あと、自分はまだ良く理解してないと思うのですが、
set CLASSPATH=D:\
のコマンドも抜けてました。
それをしてないと、NoClassDefFoundError が、出ます。
クラスパスって、パッケージを使うときに必要になってくるのですね?
623デフォルトの名無しさん:02/05/11 12:44
質問です。

平仮名の「あ」はShift_JISの場合先頭1byteは0x82です。
0x82は10000010なので先頭1ビットが立ってしまい、
byteからintにキャストすると-126になってしまいます。
byteを符合無しとしてintにキャストするにはどうすれば良いのでしょう?
(上の例だと-126ではなく130(0x82)になるように変換したいのです)

最初は、
byte b = (byte)0x82;
int i = 0 | b;
とか考えてみたんだけど、0とorする時に自動的にbがintにキャストされて
しまうので駄目でした。

bの最下位のビットを保存し、bを符合無し右シフトしてからintにキャストし
左シフトし直して最下位ビットを足すとかも考えたのですが美しく無いです。

僕の知らない良い方法があったら教えて下さい。
>>623
unsigned intじゃダメ?
625普通は:02/05/11 13:08
byte b = (byte)0x82;
int i = b & 0xFF;
626デフォルトの名無しさん:02/05/11 13:13
>>624
>unsigned intじゃダメ?

javaにはunsignedキーワードは無いです。

>623
>bの最下位のビットを保存し、bを符合無し右シフトしてからintにキャストし
>左シフトし直して最下位ビットを足すとかも考えたのですが

これ、駄目でした。byteやshortをシフトする時には
intにキャストされてからシフトされるので期待どうりのシフトができません。
byte b = -128;(10000000)
b >>>= 1;(11000000)
と言う風になっちゃいます。
627デフォルトの名無しさん:02/05/11 13:22
>>625
あーそうか!有難うございました!
628デフォルトの名無しさん:02/05/11 13:46
Java製のブラウザで、
ソースが公開されてるものってありますか?
ブラウザってwebブラウザのこと?
>>599
別にこんなことしなくてもいいじゃん
import ***;
なんて書くから混乱する
同一ディレクトリに入っているclassファイルは
その、カレントディレクトリがCLASSPATHに含まれてれば
かってに読み込む
後々のメンテ考えれば、パッケージ管理したほうがいいのは
あたりまえだけど
632デフォルトの名無しさん:02/05/11 15:57
for文で 二つ以上の初期化の式と、二つ以上のループ後の処理を
行いたいんですが、どうすればいいですか?
>>632
,
634デフォルトの名無しさん:02/05/11 16:08
>>633
こんなメッセージがでてしまいました。
int num=0 のしたに ^ がついてます。

kadai.java:12: <identifier> がありません。
for(ListIterator itr1= v1.listIterator(0),int num=0; itr1.hasNext();num++){
型が違うならなんともならんと思われ
潔く2行にせれ。ぱっと見、他の人は int num=0 の部分で目が混乱するかも
しれないから。
636デフォルトの名無しさん:02/05/11 18:48
本屋さんで立ち読みしていたら、Javaで作った3階層構造のECサイトがフォニャララって
書いてあったのですが、3階層構造ってどういう意味なんでしょうか? Javaとか関係ないのかな?
>>636
クライアント:ユーザーインターフェース
真ん中:サーバとクライアントとのインターフェース(クエリ作成、結果の加工など)
サーバ:データベース

サーバの負荷とクライアントの負荷を少なくするための仕組み。
って結構前の話だけどね。最近も使われてるの?
638デフォルトの名無しさん:02/05/11 18:57
ネットからエロ画像だけ収集するアプリってJavaで開発できるかな?
開発したいけど何から手をつけていいのか。
>>638
アプレットじゃなくてアプリケーションの研究しな。
エロってみわけるのは
どーやんだ
>>638
どうやってエロ画像とそうでない画像の区別をするんですか?
642636:02/05/11 18:59
>>637

クライアントはブラウザとかでもいいのでしょうか?
真中は、JavaでいうとAPサーバーやServletコンテナでのビジネスロジックって感じでしょうか?


643デフォルトの名無しさん:02/05/11 19:00
>>640-641
エロ画像はエロいだろうが
>>638
僕のJAVAは性別が女性なので男の裸の画像を集めてきます。
>>642
詳しいこと知らんから信頼性は低い。それだけOKしてね。

多分あなたの言ってることすべて正しいと思う。
最近は真ん中すっ飛ばしてクライアントサーバモデル(Webアプリケーション??)になってるけど。
jpgとつくものは
ひたすらとってくるようにとか
>>646
サイズも一定以上にした方が信頼性が上がるね。
エロと真面目な質問が
交わる良スレ
649638:02/05/11 19:16
肌色っぽい画像をひたすら集めてくるってのはどうでしょう?
テンプレート画像とマッチングとるとか。
できるかなー。
>>649
別に良いけどゲイとかデブとか・・・。
>>645
大体しか合ってない
       (>>651の名回答が始まるぞ!)
    _________        V
    |________| Z        
    ||∧∧|| z     (\_/)
    |(,-Д-)    Σ (・∀・ )
   ■∪∪■     (    )
   (-_||∪∪||      | | |
   (∩|| ̄ ̄||     (__)_)
 
653しょぼいSE:02/05/11 19:29
ちわっす。インラインフレームで他人様のページをスクロールバーなしで表示したいんだけど、なんかいい方法ある?
654デフォルトの名無しさん:02/05/11 19:36
JAVAの勉強を始めようと思っているCプログラマです。
JAVAの入門書を買おうかと思ったのですが
Sunのサイトにチュートリアルがあったのでそれで
済めばいいなと思っているのですが
core javaとかその辺の出版されている書籍と比べて
やはり不十分でしょうか??
本家においてあるのでK&R的なものかなと思ったのですがどうでしょう?
638はJavaを一生懸命勉強してそして3年…

638『ついに完成したぞ…。』
638は苦労の末、ついにエロ画像収集ツールを開発した。
彼はこのツールを作るためにすべてを犠牲にした。
オナニーも一日8回はしないと収まらなかったが開発中は4回に減らした。
2ちゃんねるでの書き込みもスレッド10個、レス200個が平均だったが
開発中はその三分の一に減らした。
638『ああ、やったとうとうこの苦労が報われるぞ…。
そうだあれを用意しておこう。』
そういうと638は完成した暁に使おうと3年前から用意していた高級ティッシュの箱を押入から取り出した。
638『よしスタートだ。』
638はとうとうそのプログラムを起動させた。

そして24時間後…
638『どのくらい画像がたまってるかな?うしっしし…ジュル(涎を拭く音)。』
638はディスプレイを見て唖然とする。
収集した画像は一枚。それもそのはず、インターネットの世界にサイトはいくつあるのだろうか?
URLの文字の組み合わせは何通りあるのだろうか?
しかし、638はへこたれなかった。
638『一枚しか収集できなくっていいさ。質より量だぜ。』
そういって638は画像ファイルをダブルクリックした。
そしてディスプレイにあらわれたのは貴乃花が武蔵丸と対戦している一戦だった…
>>655
続き希望
>>654
紙のほうが便利じゃない?
658654:02/05/11 20:09
>>657
紙でもおなじものが出版されているようですね。
javaはCと違ってまだ発展していくものですから参考書を買うのをためらってしままいます。
あまり変わらないようであればできるだけ無料の資源で済まそうかと思いまして。
使ってみた方おられますか?
core Javaは役に立つ
>javaはCと違ってまだ発展していくもの

年単位で発展してる気がするのね
だからその時の最新盤の本を買っ
たら如何?
いまだたらJDK1.4の本→あるの?
>>660
Javaは18ヶ月ごとにメジャーバージョンアップしてる
(今後もする予定)よ。だから1.5がリリースされるのは来年の秋頃。
「Effective Java」は1.4についてふれている部分はあるな。
かといって1.4について知りたい人向けではない。
もっとも中〜上級者にとっては必読の書だと思うけどね。
663デフォルトの名無しさん:02/05/11 21:33
くっそー前に質問したときにみんながレスしてくれた
内容見直そうと思ったらdatだよー。。涙
664654:02/05/11 21:41
core javaは今夏に1.4版として発売されるそうですし
あまり参考書を溜め込むのもどうかとおもうのです。
だからあまりバージョンに関係のない、必読書のようなもの以外は
安く済ませたいんですよね。
>>663
ひろゆきにお布施しれ
666デフォルトの名無しさん:02/05/11 22:41
ブラウザー上で動くJAVAの管理システムを作る場合
何を使用して作成するのでしょうか?
>>666
Java
668デフォルトの名無しさん:02/05/11 22:43
>>667
イヂワル・・・
>>668
だって・・・
>>668
ねぇ・・・
671デフォルトの名無しさん:02/05/11 22:47
>>669
色々ツールあるじゃん?TOMCATとか。
いろいろオシエテ。
>>671
javac.exe
規模とかにもよるのでわ
674デフォルトの名無しさん:02/05/11 22:50
ショウキボデファイナルアンサー
>JAVAの管理システム

プログラマが2つ以上の意味にとれる文章書いちゃいけないと思われ。
676666:02/05/11 22:55
スイマセン。出直してきます。。
みんな今日はきびしいな
GWモードはとっくに終わったからね。
679超初心者:02/05/11 23:08
/* java.langパッケージは自動的にインポートされる */

// アプリケーションクラスの定義
public class MyFirstJava {
// main()メソッドの記述
pubilc static void main(String args[]) {

// println()メソッドを使って文字列を表示する
System.out.println("初めてのJavaプログラム");
}
}
本を頼りにやってみたものの、エラーが三つ出ました。
6行目、<identifier>が無い
10行目、;が無い
6行目、シンボルを解釈処理出来ない
とあるのですが、本のまだまだ初めの方でシンボルだとかidentifier
の意味もわかりません。上手く行けばclassファイルが生成されるはずなのですが。
何処を直せば出来るのでしょうか?
680デフォルトの名無しさん:02/05/11 23:20
pubilcってなんですか。
>>680
しょうもない注文を出しては物語の進行を妨げる
RPGで言う小さな町の意地悪な村長ですか?
>>679
pubilc → public

コンパイルエラーのときには^で個所を知らせてくれるので参考にしましょう。
http://www.google.com/search?q=pubilc&hl=ja&btnG=Google+%8C%9F%8D%F5&lr=
安心しましょう。あなただけじゃありません。
684超初心者:02/05/11 23:33
>>682
ありがとうございます。
非常に恥ずかしい、スペルミスでした。
しかし、まだエラーが出ます。今度は表示されないのですが…
^が無く、読み取れません、とだけ出ます。本によると全角スペースだけは
エラーが文字として見えないとの事なのですが、全角スペースは見当たりません。
後がつづきませんねぇ。
http://www.hyuki.com/writing/techask.html#template
でも参考にするといいかもね。
686デフォルトの名無しさん:02/05/12 00:28
Forte for Java をダウンロードしてインストールして
Hello
を表示するコードを書いてコンパイルして実行してみたけど、
すべてのフォントが小さすぎて読めません。
フォントを大きくする設定はどこにあるのですか?
687デフォルトの名無しさん:02/05/12 00:29
public とはすべてのメソッドからアクセスできるという目印である。
>>687
ブビー。
たとえpublicであってもそれが所属するクラスのスーパークラスに所属するメソッドからはアクセスできません。

トンチだが。
その前に、687はもしかして680に対するレスなのか? それでいいのか?
>>683
ワラタ
691蝶初心者:02/05/12 02:39
C:\java>java -version
java version "1.4.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)


javaってドス窓でプログラム組んでいくんですか?
マジレスキボソ
692蝶初心者:02/05/12 02:41
初心者サイト教えて
693蝶初心者:02/05/12 02:43
おいコラ!早く教えろよ!!
694 ◆O.1et2EI :02/05/12 02:49

「メソッドの命名法」について質問させてください。

一般に参照型メソッドは getValue という表記が良いとされており、
私もそれに従っているのですが、以下のような表記は良くないのでしょうか?

例:
 //フィールド
 int[] value;

 //一般的な参照型メソッド

 public int[] getValue(){
     return value;
 }

 //指定したインデックスの値のみを参照するメソッド
 //上のメソッドと同じ名前。名前を変えたほうが良いか?

 public int getValue(int index){
     return value[index];
 }


やはり返り値の型が違うので別の名前にしたほうが良いのでしょうか?
もしそうだとしたら、できれば一般的と思われる
命名の仕方も教えてくださるとありがたいです。
いつも超初心者の質問ばかりですいません。

>>631さん、Res有難う御座いました。
とりあえずパッケージというものを作ってみたかったので (w
型が違うのもあるけど、「個々の値を返す」のと「配列を返す」では
意味がちがわねえ?
例えばこうするとか。

public int[] toArray/getValueArray()
public int getValue(int index)
696デフォルトの名無しさん:02/05/12 03:11
697 ◆O.1et2EI :02/05/12 03:18
>>695
有難う御座います。
やはり名前を変えないと混乱しますよね。
これから配列を返すときは getValueArray を使ってみます。
698 ◆O.1et2EI :02/05/12 03:41

ということは、更新型のメソッドも同じように考えた方が良いですね。

つまり、同じフィールド int[] value に対して、
配列を丸ごと渡して一気に更新するようなメソッドは
 setValueArray(int[] newValue) として、
一個づつ代入していくメソッドは
 setValue(int newValue) とした方が良いのですね。
>695 個々の値を返すときは
「このインデックスの指す値をよこせや、オラァ」っつー意味も含めて
public int getValueAt(int index)
とかよく書きます(私は)

>698
public void setValueAt(int index, int newValue)
みたいな
700 ◆O.1et2EI :02/05/12 04:08
>>699
有難う御座います。
そういう方法もありますね。
今回の私の場合配列の set/get は出来たら Value がいいなぁと
思ってましたので、この方が無理なく使えるかもしれないです。
701デフォルトの名無しさん:02/05/12 04:17
get1ofValue
set1ofValue
なんていうのはどうですか?
とはいっても、私も超初心者なので、あまり参考にならないかも。
702701:02/05/12 04:21
あ、699さんのはそのまま読むと意味が通じるのですね!
すんません、頭の回転悪くて。
私もそれ使わせてもらいます。(w)
JAVAでMIDIデバイスをたたくにはどうしたらいいでしょうか?
Googleで「JAVA MidiDevice」あたりで検索したサイトに
載っている方法はあらかた試しました。といっても、
バリエーションはそんなにないですが。同じ風に悩んでいる人は
みつかりましたが解決策はみつかりませんでした。
デフォルトのソフトシンセ/シーケンサではない、システムに
インストールされているデバイスは検出はできるものの、
うまく動きません。具体的には、MIDI音源を鳴らしたいのですが、
デバイス取得&オープン&メッセージ送信しても鳴りません。なお、デフォルトのソフトシンセは動きました(鳴りました)。
704724:02/05/12 07:04
>>702
でも逆にうまい名前の付け方をすると
実際に最初からあるメソッドと同じということがよくある
あれ以来自分で作ったクラスやメソッド名は
setValueAtならset_ValueAtにしてるが、おれは小心者か?
705デフォルトの名無しさん:02/05/12 08:52
URLを引数にしてHTMLをバッフャに格納するメソッドができません。
どこか間違っていますか?
public String getPageString(String urlstr){
String pagestr = null;

try {
// URL の文字列から URL クラスへ
URL url = new URL(urlstr);
// 入力ストリームを取得する
InputStream is = url.openStream();
try {
BufferedReader br = new BufferedReader(new InputStreamReader(is));
StringBuffer sb = new StringBuffer();

String thisLine;
while ((thisLine = br.readLine()) != null) {
sb.append(thisLine);
sb.append("\n");
}
pagestr = sb.toString();
} catch (Exception e) {
e.printStackTrace();
}

}
catch (Exception e) {
e.printStackTrace();
}
return pagestr;
}
706デフォルトの名無しさん:02/05/12 09:35
>>705
とりあえずうちじゃ、外側のtryブロックの中は正常に動いているけどね。

で、それはおいておいて、content-type:みないでInputStreamReader使うの
って荒っぽくない? 入ってくるhtmlのcharsetがVMのデフォルトエンコーディング
と必ず一致するならいいけど。手抜きして決め打ちにするにしてもJISAutodetect
くらいは指定したほうが。
707706:02/05/12 09:59
訂正: JISAutodetect -> JISAutoDetect
708705:02/05/12 10:35
>>706,707
レスありがと。
InputStream is = url.openStream();
で例外発生してた。
java.security.AccessControlException: access denied
(java.net.SocketPermission www.yahoo.co.jp resolve)
らしい。
もうちっと頑張ってみます。
>>691
プログラム自体はエディタで書く
コンパイル、実行はターミナルエ
ミュレータでやるこれがスクラッ


IDEのF4Jとか使えばその上でエ
ディット、コンパイルが出来る。

710デフォルトの名無しさん:02/05/12 10:44
System.out.println("これってコンパイル

エラー。。。。?");

なんで?詳細きぼん。
>>710
文字列リテラル内での改行は認められていません。
712デフォルトの名無しさん:02/05/12 10:49
>>708
それ、メソッド自体は706の通り悪くなくて、実行している
状況のほうを見直すほうが先じゃない? 極端な話、Appletから
呼び出しているとか。つーか、エラーくらい最初の質問で
書いとくもんかと。
713705:02/05/12 11:04
>>712
プログラム歴一ヶ月ほどの超初心者ですいません。
Appletから呼び出してます。。。
InputStreamはAppletからは使えないってことでいいのでしょうか?
>>713
アプレットからは自分がいたサイト(ダウンロード元)の限られたデータにしかアクセスできなかった気が。間違ってるかも。
715706:02/05/12 11:10
がーん、そうです、デフォルトのセキュリティポリシーでは
Appletからダウンロード元以外の他のマシンへの通信、および
ローカルファイルへのアクセスは禁じられています。もちろん、
ユーザーに設定を変更させれば可能だけどね。
716705:02/05/12 11:21
>>714-715
そうですか!
レスありがとうございました。
717BON:02/05/12 11:57
jclassのjctableというものを使用しています。
これでエクセルのような表を作成したのですが、
特定のセルに対して、読み取り属性を設定する&マウスの右クリックを抑制する事ってできないでしょうか?
719デフォルトの名無しさん:02/05/12 15:27
TimerTaskの派生クラスにコンストラクタをもてませんか?
720719:02/05/12 15:33
すみません。勘違いでした。コンストラクタをvoidにしてますた。
721デフォルトの名無しさん:02/05/12 15:40
>>719
コンストラクタをvoidにしてしまってない?
722719:02/05/12 15:56
また質問です。
ファイル名に制約はありますか?
ロングファイル名が使えないとか。
723719:02/05/12 16:03
すみません。勘違いでした。アプレットタグのクラス名を変えるの忘れてますた。
724デフォルトの名無しさん:02/05/12 16:16
>>723
アプレットタグのクラス名を変えるの忘れてない?
725デフォルトの名無しさん:02/05/12 18:18
アプレットビューワーを使って自分が作ったアプレットを確認したいのですが

Exception in thread "main" java.lang.NoSuchMethodError: main

C:\java>appletviewer exCheckBox.html
警告: AppletViewer プロパティファイルが読み込まれません: C:\WINDOWS\Profiles\個人名
\.hotjava\properties デフォルトを使用します。
Exception in thread "main" java.util.MissingResourceException: Can't find resour
ce for bundle sun.applet.resources.MsgAppletViewer, key appletpanel.badattribute
.exception
at java.util.ResourceBundle.getObject(ResourceBundle.java:382)
at java.util.ResourceBundle.getObject(ResourceBundle.java:379)
at java.util.ResourceBundle.getString(ResourceBundle.java:354)
at sun.applet.AppletMessageHandler.getMessage(AppletMessageHandler.java:
42)
at sun.applet.AppletPanel.showAppletStatus(AppletPanel.java:697)
at sun.applet.AppletPanel.init(AppletPanel.java:185)
at sun.applet.AppletViewer.<init>(AppletViewer.java:175)
at sun.applet.StdAppletViewerFactory.createAppletViewer(AppletViewer.jav
a:81)
at sun.applet.AppletViewer.parse(AppletViewer.java:1035)
at sun.applet.AppletViewer.parse(AppletViewer.java:969)
at sun.applet.Main.run(Main.java:140)
at sun.applet.Main.main(Main.java:82)

とでます。個人名が入ってると動作しませんか?
またそれ以外に考えられる原因(沢山あると思いますが)はなんでしょうか?
ティンチィンがピンク色だから
C言語で言うところのprintf("%02x",byte_value)はJAVAではどうやるんですか?
Integer.toHexString()では02が表現できないようなんですがやっぱそこは自前?
728デフォルトの名無しさん:02/05/12 20:31
>>727
java.text.NumberFormatとかじゃないの?
NumberFormat nf = new DecimalFormat("00");
String num = nf.format(2);
730デフォルトの名無しさん:02/05/12 21:41
超初心者です
AWTのTextAreaにテキストファイルを読み込んで表示させようとしています。
その時、フォントを変更したいのですが、その場合はTextAreaに表示させるのは
無理でしょうか?
16進扱うフォーマット自作するとか、
( 0x0f < val ? "" : "0" ) + Integer.toHexString( val )
みたいにやるとか。
732727:02/05/12 21:54
*Formatは10進しかいけなさそうなので、>>731みたいにやることにします。
サンクス!>All
あごめん、x 見逃してたわ。
VCのインテリセンスみたいな、メソッド補完を実装したエディタってないですかね?
開発環境でもいいんですけれど、できれば軽くて無料なのが希望です。
Meadowは、自分で作ったメソッドは補完してくれない模様。

JBuilderは無料じゃないし、評価版使ってみたけれど重くて、
思うようになじめなかったです。

今のところのベストは、VisualJ++で編集だけして、
コンパイラはコマンドライン、という形ですが……
735デフォルトの名無しさん:02/05/12 23:03
>>734
http://www.borland.co.jp/jbuilder/jb6/download/
有料?

Forte for javaは試した?
Eclipse はどうですか?
俺、使ってるけど、良いよ。
>>734
Eclipseに1票。
http://www.eclipse.org
>>734
VAJも、あるにはある。って、軽くはないやね・・・。
7391/2 ◆O.1et2EI :02/05/13 00:50
「クラスパスを外したらコンパイルが上手く行く場合」について質問させてください。

今日インターフェイスの勉強を始めたのですが、
以下のような自分の予想に反する結果が出て戸惑っています。
かなり基本中の基本だと思うのですが、
どうも理解力が乏しく情けないです。

---------------------------------------------------------------
ファイルと階層:(2つのファイルを使用、同じフォルダに入ってます)

D:\dir1\dir2\A.java (クラス)
D:\dir1\dir2\B.java (インターフェイス)

---------------------------------------------------------------
記述概要:
A.java:
public class A implements B{
private String[] s = {SPRING,"Summer"}; //2行目。ここでエラー
}

B.java:
public interface B{
public final String SPRING = "Spring";
}


---------------------------------------------------------------
システムのプロパティ>環境変数で、あらかじめ設定してあるCLASSPATH:
d:\Program\CoreJavaBook;d:\;

共通する操作:
コンソールの画面で、D:\dir1\dir2\ に、移動。

---------------------------------------------------------------
7402/2 ◆O.1et2EI :02/05/13 00:51
---------------------------------------------------------------
その後の操作:(操作1=失敗、操作2=失敗、操作3=成功)
---------------------------------------------------------------
操作1:(このままコンパイル)
javac A.java

(エラーメッセージ)
A.java:2:シンボルを解釈処理できません。
シンボル:変数 SPRING

(クラスパスを確認)
set
CLASSPATH=d:\Program\CoreJavaBook;d:\;

---------------------------------------------------------------
操作2:(クラスパスを、ファイルのあるフォルダにコマンドラインで設定)
set CLASSPATH=d:\dir1\dir2\
javac A.java

(エラーメッセージ)
A.java:2:シンボルを解釈処理できません。
シンボル:変数 SPRING

(クラスパスを確認)
set
CLASSPATH=d:\dir1\dir2\

---------------------------------------------------------------
操作3:(クラスパスを、コマンドラインで取り外す)
set CLASSPATH=
javac A.java

(コンパイル成功)

(クラスパスを確認)
set
(クラスパスの項目がなくなっていて表示されない)

---------------------------------------------------------------
※私の考え
私はこの操作1と操作2のエラーの原因は、
コンパイラが B.java を探し当てることが出来なかったためだと考えています。

しかし、私の予想では、操作1に関してまったく問題ないと思っていました。
何故なら、作業フォルダを含むDドライブの一番上の階層に対して
あらかじめクラスパスを設定していたからです。

さらに操作1で失敗した後、必ず操作2で成功すると思っていました。
何故なら、作業フォルダそのものにクラスパスを設定しなおしたので、
コンパイラがB.javaを見つけ出せないことはないと思ったからです。

そして、操作3でコンパイルに成功し、上の記述では省略しましたが、
コンソールに文字を出力させることにも成功しました。
しかし、上の二つの場合に比べて、明らかにこちらの方が
失敗するように思えて仕方ありません。

クラスパスの仕組みをどなたか教えてくださいませんでしょうか。
741デフォルトの名無しさん:02/05/13 01:09
Stringで与えられたクラス名をインスタンス化して、そのメソッドを実行したり
するやり方を教えて下さい。
Class.forNameというのが関係ありそうですが、さっぱりわかりません。
>>735-738
色々情報ありがとう。
JBuilderは有料だと信じ込んでいた。でもちょっと重いのが残念。
Forteは重すぎでした。マシンスペックがよろしくないので起動するだけで嫌気がさして。
VAJは知りませんでした。でも重いのは勘弁。
とりあえずeclipseを試してみます。エクリプスという発音でいいんだろうか?
参考になりましたっす

Javaで作られた開発環境が多いけれど、はたして意味があるのかなぁ?
unixベースの人は普通にコマンドラインorEMACSで開発する方が楽だろうし、
WindowsユーザがターゲットならJavaで作るメリットはほとんど無いし、
正直XWindowをメインで使ってる人がまともな開発をするとは思えないし(偏見?)

多分Javaが重く感じる俺の環境が悪いんだろう(笑)
Class.forName("FooClass").newInstance().getMethod("getBar").invoke(null, null);
742は精神分裂賞だろうか
745742:02/05/13 01:18
>>744
酔ってるんですまん。そういう意味では本音かも
適当に流しておいて(笑
>>740
外部のソースなどはclasspathを元に検索される。
classpathが全く指定されていない場合、.(カレントディレクトリ)がclasspathに設定される。
でも、操作2と操作3では、classpathが同じになるか…。
\が一つ多かったからとかじゃないの?
747デフォルトの名無しさん:02/05/13 02:05
>>742

日本人どうしの会話で使うのだとエクリプス。
でも、英語の発音ではイクリプス。
まぁ〜、カタカナで書いているのでちゃんとした発音は説明できませんが。
748デフォルトの名無しさん:02/05/13 02:06
http://dictionary2.goo.ne.jp/ej/voice/E/01011040.wav

エクレップスに聞こえる。
>>743
ありがとうございます。うまく行きました。
Javaって奥が深い…。
ttp://www.kt.rim.or.jp/~faichan/java/apps/MethodInvoke/
750 ◆O.1et2EI :02/05/13 03:16
>>740さん、有難う御座います。
ということはつまり、少なくとも最初の設定=操作1では動かなくて当たり前ということなのですね。
(これが何故なのか良く理解してないのですが。)
その理由は次の考えであっているでしょうか?
それともまだ理解できていないように思われますか?

操作1では B.java が見つけられない理由(私見):
  他のクラスパス(CLASSPATH=d:\Program\CoreJavaBook;d:\;)が設定されているため、
  それによってカレントディレクトリのファイルを見つけられないから
  つまり、 d:\ に、クラスパスを通しても、その下にあるフォルダ(d:\dir1\dir2)
  の中を調べるという作業をコンパイラは行わない。

----------------------------------------------------------------
ところで操作2についてなんですが、
殴られそうで怖くていいにくいんですが、
勇気を振り絞って白状します。・・・
今同じようにやったらちゃんとコンパイルできました。すいません。
(でもさっきはどうして失敗だったのかまったく分からないです!)
751750 ◆O.1et2EI :02/05/13 03:19
>>746さん、失礼しました。
↑上の文章は746さんに対するレスです。
1行目の書き込みを間違えました。
改めて、有難う御座いました。
752質問:02/05/13 04:21
たぶんお子さま質問だと思う。でもわからんのです。教えて下さい。

・ファイル(ローカルファイル)の末尾にデータを追記していく方法

いわゆるC的な seekpositionの操作みたいのが見つけられない。
OutputStream.write();を使ってみたが、これはファイルの先頭から
書くっぽい。
ログファイルへの書き込みみたいに追記していきたいんですがどーすれば
実現できるんでしょう?
なお、1回の書き込みごとに Streamオブジェクトは破棄です。
毎回「そのファイルの内容を全部読み込んで必要な情報を追加して全部書く」
なんてのは絶対いやだ。

# 会社から繋げれないので明日の夜また見に来ます。
OutputStream out = new FileOutputStream("hogehoge.txt", true);
   ∧  b
  /●ヽ/
 (∧_∧)           ノノノノ  -___
 (;・∀・)          (゚∈゚ )  ─_____ ______ ̄
 (    )          丿\ノ⌒\  ____ ___
 | | |          彡/\ /ヽミ __ ___
 (__)_)             ./∨\ノ\  =_
                  .//.\/ヽミ ≡=-
                 ミ丿 -__ ̄___________

 (⌒\ ノノノノ
   \ヽ( ゚∋゚)
    (m   ⌒\
     ノ    / / ミ   /ヽ
     (   ∧ ∧   ミヽ/  く
  ミヘ丿 ∩∀・;)   ∠_●_ゝ
   (ヽ_ノゝ _ノ    ノ



    ε     人  カエセヨー
       ε  / ノ ノ    ●
          し-J      /彡 ノノノノ
                 ( ヽ ( ゚∋゚)
                  \゛ー'  ー、ノ彡
                     )   人_ノ
                    / 、ノ
                  彡ヽ 人 ヽ
                   \_ノ \ \
                         \ヽ
                           ヽミ
   ∧  b
  /●ヽ/
 (∧_∧)           ノノノノ  -___
 (;・∀・)          (゚∈゚ )  ─_____ ______ ̄
 (    )          丿\ノ⌒\  ____ ___
 | | |          彡/\ /ヽミ __ ___
 (__)_)             ./∨\ノ\  =_
                  .//.\/ヽミ ≡=-
                 ミ丿 -__ ̄___________

 (⌒\ ノノノノ
   \ヽ( ゚∋゚)
    (m   ⌒\
     ノ    / / ミ   /ヽ
     (   ∧ ∧   ミヽ/  く
  ミヘ丿 ∩∀・;)   ∠_●_ゝ
   (ヽ_ノゝ _ノ    ノ


     ∧  b
   /●ヽ/
   ( ノノノノ)
   ( ゚∋゚)
  /⌒\/⌒ヽ_______
 | ̄⌒\ 彡ノ_   |
 |_________\_|__ 丿____|
/_____________\彡ノ_________\
 ‖      \ヽ    ‖
         ヽミ
     ∧  b
   /;●ヽ/
   ( ノノノノ)
   ( ゚∋゚) < クックルドゥドゥドゥ
  /⌒\/⌒ヽ_______
 | ̄⌒\ 彡ノ_   |
 |_________\_|__ 丿____|
/_____________\彡ノ_________\
 ‖      \ヽ    ‖
         ヽミ
ついにこの板にも来たか...
(゚э゚)キニシナイ!
760760:02/05/13 10:04
 初めてここに書き込みます。
現在jdbcを利用して、コンマ区切りのファイルの中身を
読み取ってデータベースにいれようとしています。
 ここで、データ型のチェックを行いたいのですが
何かしら良い方法が見つかりませんので書き込みました。
具体的には、数字と文字列のデータなんですが
StringTokenizerで読み取って、配列に格納して
一行ごとにDBに突っ込むという事を行っています。
Stringクラスにそういうチェックを行うものがなかったのです

 何かそういうチェックメソッド、もしくは方法を
教えてもらえれるとうれしいのですが。よろしくお願いします。
>>760
ParseInt成功するなら数字。
>>760
そのコンマ区切りのファイル(CSV?)のサンプルを見せれ。
んでどういうチェックをしたいかを具体的に示せ。
763760:02/05/13 12:08
早いレスありがとうございます。

>>761さん
  try-catchで処理するという意味でよろしいのでしょうか?

>>762さん
  具体的には
  1,001,名前,95123
 おおよそこんなかんじです。
 各カラムのサイズチェック(length())はできました
 また、それぞれ前からchar・char・char・numeric型なんですが
 最後の数字のところが一応string型でも入れられるのですが
 それだと日本語でサイズさえあえば入る訳で。
 そこのチェックをしようとしてるのです。
764おねがい:02/05/13 12:35
Javaで正規表現ができません。strにはJavaって文字列が入っていても
出力がfalseになってしまいます。なぜでしょう??

Pattern pattern;
Matcher matcher;
pattern = Pattern.compile(".*Java.*");
matcher = pattern.matcher(str);
boolean b = matcher.matches();
System.out.println(b);
765ansi:02/05/13 12:50
>>163
はい、てきとう。

public boolean isNumeric(String value) {
try {
Integer.parseInt(value);
}
catch (Exception ex) {
return false;
}
return true;
}
766ansi:02/05/13 12:53
>>764
何のクラスライブラリ使ってるか知らないけど、
良くわからんけどpatternを//でかこったら?
"/.*Java.*/"

俺的には正規表現ならJakarta OROを使うが。
767デフォルトの名無しさん:02/05/13 14:10
まったくの初心者にお勧めのJAVAの参考書って無いですか?
>>767
本屋行って気に入った奴。
769デフォルトの名無しさん:02/05/13 14:14
じゃ、本屋に行って来ます。。
770デフォルトの名無しさん:02/05/13 14:16
771デフォルトの名無しさん:02/05/13 14:17
>>770
おぉ、ありがとうございます。探してきます。
772デフォルトの名無しさん:02/05/13 15:33
JBuilderを使ってのJAVAプログラミングって
どうなんですか?VBみたいにGUI的に作成できて
結構取っつきやすいって感じなのですか?
>>772
エディタでGUI作ってた人かつコーディングスタイルにこだわりのない人にとっては快適かと。
無料なんだから自分で使ってみるよろし。
774デフォルトの名無しさん:02/05/13 16:06
ソース公開されてるJavaの画像ビューワーってある?
775デフォルトの名無しさん:02/05/13 16:06
>>764
JDK1.4のRegexとMatcherでしょ?
それなら
matcher.matches()じゃなくてmatcher.find()でやってみ。
matches()は与えられた正規表現で表現可能な文字列かどうかを
調べるメソッドで、findは該当文字列があるかどうかを調べる
メソッドになってる
776764:02/05/13 16:44
>>775
できました!!ありがと。
7
6
5









778デフォルトの名無しさん:02/05/13 18:54
779ansi:02/05/13 21:19
>>772
Enterprise版はリファクタリング機能がイカス
>>777
765の事なんていいじゃないですか、それより、
666みたいにぞろ目とはいいですね。
3っつ7なんて、スロットみたいで、なんか素晴らしいです。
だからといって、なんでもないんですけどね。
ろくでもないレスしてごめんなさい。
781デフォルトの名無しさん:02/05/13 22:33
SwingでIEのオートコンプリートみたいな事したいんですけど、
可能ですか?
参考になる、URLなんかもありましたら教えてください。
できません。
オ〜トコンブリートって何?
再帰ん、ネタ化が流行ってるのか。
785781:02/05/13 23:00
>>783
IEの上部、URLを入力する場所で、
URLを途中まで入れると、入力履歴を見て補完してしてくれる機能です。

>>784
ネタじゃないですよ、
可能であれば、やりたいと思ってます。
bash(readline)でも入れたら?
1度入力された文字列をDB化して
新たに入力されている文字列と
比較すればできないか?
ってことを考えてみる
なんでDB化
789デフォルトの名無しさん:02/05/13 23:37
任意の配列の次元数を調べるにはどうすればよいでしょうか?

ex)
調べたい配列の型が、
int[]  のときは1、
int[][]  のときは2を返すようなメソッド。
>>789
ハードコーディング出来ると思われ。
ねーよそんなもん
792789:02/05/13 23:46
誰か頭良い人考えて。
もう疲れて氏に沿う・・・マシ?テ?
793789:02/05/13 23:47
げ、OPERA使ったら半角文字が化ける・・・
>>792
って言うか何に使うつもりよ?
配列の次元なんて宣言時に特定できないか?
参照の配列だったとしても代入するものの次元は特定できる気が。
795デフォルトの名無しさん:02/05/13 23:50
なんか、java実行時に

Warning: Cannot convert string "<Key>Escape,_Key_Cancel" to type VirtualBinding
Warning: Cannot convert string "<Key>Home,_Key_Begin" to type VirtualBinding
Warning: Cannot convert string "<Key>F1,_Key_Help" to type VirtualBinding
Warning: Cannot convert string "Shift<Key>F10,_Key_Menu" to type VirtualBinding
Warning: Cannot convert string "<Key>F10,Shift_Key_Menu" to type VirtualBinding
Warning: Cannot convert string "<Key>KP_Enter,_Key_Execute" to type VirtualBinding
Warning: Cannot convert string "Alt<Key>Return,Alt_Key_KP_Enter" to type VirtualBinding
Warning: Cannot convert string "-sony-fixed-medium-r-normal--*-140-*-*-c-*-jisx0201.1976-0" to type FontStruct

ってでるんだけど
最後の1行はわかるんだけど
その前のって何?

環境はLinuxです。
$ java -version
java version "1.4.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)
>>795
stringクラスをVirtualBinding(仮想バインド?)に変換することが出来ません。
797デフォルトの名無しさん:02/05/13 23:57
>>796
うん、そうです
ただ、demoを実行しても
簡単なサンプルを実行しても
出て来るんで何か設定か何か抜けてるんでしょうか?
>>789
Objec.getClass().isArray() を地道に繰り返す
799申し訳ありません。:02/05/14 00:04
ここで質問するのもおこがましいのですが、誰か教えて下さい。
もしくはどこで聞いたらいいか教えて下さい。
学校の課題でJAVAをインストールして何か表示出来るようになれ、と
言われたのでインストールしたり間違えたり捨てたりしてたのですが
気が付いたらインターネットをしていてJAVAアプレが使えなくなってました。
「JAVA仮想マシンをインストールしてください」と出るので
普通入ってるもんじゃなかったっけ?とか思いつつ
言われるがままDLしてインストールしたのですが何度やっても
一向にアプレットウィンドウは×のままなんです。
どうしたらいいでしょうか。
OS をインストールしなおしてください。
>>799
自分の環境を書け
802789:02/05/14 00:08
>>794
任意のデータが、参照先の配列のどこで一致するか、
というメソッドを作ったのですが、
参照先のデータ構造に柔軟に対応できるような
メソッドにしたいのです。

つまり、返り値を、0からnまでの一次の整数で返すのではなく、
場合によっては{m,n}や{l,m,n}などとしたいのです。

今何とか力ずくで作ってるのですが、
配列の次元数が分かれば前に進めそうな
気がして質問させてもらいました。
そういうのは柔軟とは言わん。
曖昧なインターフェースと言う。
804申し訳ありません。:02/05/14 00:11
>>800
頭悪いんで本当いっそOSインストールしなおせばいいのかな。とか
思いました。びっくりして。
>>801
WIN98SEです。
>>804
Java Plugin が競合か何で悪さしてんだろーな。
もう一度 JDK 1.3 当たりをインストールして、正しい手順で
アンインストールしてみ (直らんだろうけど)。
806789:02/05/14 00:19
>>798
あ、それでやってみます。ありがとう。
>>803
・・・そういうもんなんすかねぇ、、、
807申し訳ありません。:02/05/14 00:20
>>805
ありがとうございます!
やってみます!
808752:02/05/14 00:28
>753
産休! リファレンス見てみた。判ったよ!
FileOutputStream(String name, boolean append) ;
809753,798,803,805:02/05/14 00:32
すげぇ、俺への返しレスが3つ並んでる
810795:02/05/14 00:33
>>798
その勢いで何かヒントでも頂けませんか?
返しレス... 腹痛が痛いみたいだ。
812753,798,803,805:02/05/14 00:45
public boolean getDimension(Object obj){
  if(obj == null)  return 0;
  int dim = 1;
  while(obj.getClass().isArray()){
    dim ++;
    obj = Array.get(obj, 0);
  }
  return dim;
}

こんなもんか。obj が自己参照や循環参照になる要素を持ってたら無限
ループになるかもしれんが。あと必ずインデックス 0 の要素には値や
配列を入れておく必要があるけど。
そもそも java に多次元配列なんて存在しないのに…。
配列の配列を多次元だと勘違いするなよ。

int[][] ってのは、int配列をObject配列に入れたもんだぞ。
int配とlong配列を、一つのObject配列に並べることも出来るんだぞ。

Object配列(親)に、プリミティブ配列(子)が入ってたら2次元か?
でも、子がObject配列で、孫がプリミティブ配列だったら、そこは3次元か?
混在可能だぞ。おい。
814753,798,803,805 :02/05/14 00:51
まぁサブセットとして多次元配列として扱うのもありということで。
なんか数値演算系のことやってるみたいだし (昔俺もやってたし)。
     丿   ,;⌒⌒i.
  ノノノノ⌒ヽ (   ;;;;;)   ______
 (゚∈゚ )  ミ)     ,,:;;;)  | WARNING  |
/⌒\/( >>814) ヽ| |/ |;,ノ  |  エリア51  |
( ミ   ∨∨  | /  .,i  |______|
 ノ  /     | | ,,i; ,, . ,;⌒‖
( \/ヽ ,,,丶, | |,,,;.    ;i,  ‖ヽ
 \ ) ) ..   ,,   ´ヽ (,,  ‖丿.,,,
 ///   ,,   ,,  .. ´ヽ  ‖,,, ..,
`ヾ ヽミ ,,  .、 ヽ .. ヽ丶,.ヽ ‖、,,
816753,798,803,805 :02/05/14 01:01
おい、どこに連れてく気だ (藁
全くの素人です。ごめんなさい(先に謝っておきます)
昨日から急にasahi.comのトップページへアクセスすると
ランタイムエラーの警告ダイアログが出るようになりました。

function launchFloat(){
if((document.all) && (document.body.clientHeight > 570)){
if(lTop==null && lLeft==null){
eval(layerName).style.left = cLeft;
lTop = cTop;

eval(layerName).style.top = lTop;
}
onscroll = floatLayer;
}
}

警告ダイアログでは上記部分4行目でLayer定義がされていないと出るので、
(詳しくはasahi.comのソースをご覧ください)スクリプトのミスかと思ったのですが、
こちらの環境(MacOS9、IE5.1)もしくはUAの設定のせいなのでしょうか?
何が問題でエラーがでるのかを教えていただけませんでしょうか?
Javascriptの話題はどっか別のとこでやってください。
つーか、>>1 読め。
819817:02/05/14 01:22
>>818
ひゃあ、ごめんなさい。スレ汚しスマソ。
     丿   ,;⌒⌒i.
  ノノノノ⌒ヽ (   ;;;;;)   ______
 (゚∈゚ )  ミ)     ,,:;;;)  | WARNING  |
/⌒\/(>>819)ヽ| |/ |;,ノ  |  エリア51  |
( ミ   ∨∨  | /  .,i  |______|
 ノ  /     | | ,,i; ,, . ,;⌒‖
( \/ヽ ,,,丶, | |,,,;.    ;i,  ‖ヽ
 \ ) ) ..   ,,   ´ヽ (,,  ‖丿.,,,
 ///   ,,   ,,  .. ´ヽ  ‖,,, ..,
`ヾ ヽミ ,,  .、 ヽ .. ヽ丶,.ヽ ‖、,,
>>813
> int[][] ってのは、int配列をObject配列に入れたもんだぞ。

違うと思う…

> int配とlong配列を、一つのObject配列に並べることも出来るんだぞ。

Object[]ならできるけどint[][]では無理だと思う…
static int dimensionOf(Object array) {
 Class cls = array.getClass();
 int dim;
 for (dim = 0; cls.isArray(); dim++) {
  cls = cls.getComponentType();
 }
 return dim;
}

基本型の配列ならこれで必ず正しい値が返る。
823デフォルトの名無しさん:02/05/14 07:37
ImageオブジェクトをJpeg保存する方法ってあるかな?
BufferedImage型のJpeg保存はできました。
ImageオブジェクトをどやってBufferedImageに型変換するのかわかりません。
824デフォルトの名無しさん:02/05/14 07:39
>>813
げらげら。
int[]はint型データを入れることができる配列型オブジェクトで、int[][]はint[]型配列を格納できる配列型オブジェクトなり。

配列型はC++のテンプレートのようなものと思われ。
>>824
で、何がおもしろいの?
826デフォルトの名無しさん:02/05/14 07:44
いままで使ったIDE系といえばeclipseをさわり程度なのですが、
さっきJBuilder6 Enterpriseを試してみました!
わけわらん状態です・・・。
これってやばい? 
いままでずっとviとかsakuraでプログラミングしてきたのですが・・・。

JBuilderでコードをUMLに変換してくれるのはけっこう使えると
思うのですが、他の機能がわけわかめ。 CVSをちょっと試そうと
したら、ローカルなリポジトリしかダメだったし・・・。

JBuilderが使えない僕って・・・。
JBuilder使えなくても、恥じゃないですか?
ちょっと不安です。

ps)
僕がやっているコードは、Web系です。 Servlet/JSP/EJB/CORBAなど。
827デフォルトの名無しさん:02/05/14 08:08
使ってみたのに使えないのは恥
828デフォルトの名無しさん:02/05/14 08:34
VBから乗り換えたい初心者です。お願いします。
文字ベースのプログラムで、単に改行だけしたい場合どうすればよいのでしょう。

System.out.println("");

とすればできるのですが、これでよいのでしょうか?
それとも、もっとよい書き方があるのでしょうか。
お願いします。
\n
>>828
System.out.print("\n");
831826:02/05/14 08:54
>> 827

そっか・・・厨房に言われたら恥だわな。 納得。
>>831
はい?
833826:02/05/14 09:07
>>832
だまれ厨房。
>>833
人を厨房と呼べるほどの身分なら、わざわざ厨房に構わなくても十分生きていけるだろう。
何かコンプレックスを隠そうとしてる?
殺 伐 と し て ま い り ま し た
826 のほうが厨房に見えるな。
>>836
>>826=>>831
とするのは早計。

お前が>>831の可能性も十二分に考えられる。
838デフォルトの名無しさん:02/05/14 09:33
アプリケーションの設定ファイルは何使ってる?
ini?Resource.Properties?XML?
場合によりけりだが ini 形式は使わんな。

1) JAR にまとめた後配布先で変更が必要 ⇒ 外部のプロパティファイル
2) JAR にまとめた後は変更不要 ⇒ プロパティリソース
3) ちょっと複雑な構造を持った定義 ⇒ XML

1) と 2) の区別が付いていない莫迦が多くて困るよ。
ある文字列の中に、特定の文字(列)がいくつ含まれているか、
を調べるために、regexパッケージを使うよりも簡便な方法はありますか?
looooooooooooooooooooooooooooooooooooooooooooooooooooooプッ
>>837
22分でしたね。
>>839
前いたなー。ダイアログから設定ができる開発補助用のツールが出来上がる
頃になって「JAR 中のプロパティファイルって (プログラムから) どう
やって変更するんですか?」「ハァ?」っての。
まぁリソースと設定の区別くらいつけとけというこった。

そういや国際某機器のフレームワーク使ったときにも似たようなことが
あったな。「一度 JAR を解凍して編集、再度 JAR を作り直してください」
とか逝ってた。もうアフォかと。
844デフォルトの名無しさん:02/05/14 10:24
>>789=802
配列なんて使わないで、Chain of Responsibilityパターンでやった方が(以下略)
行列のテンソル積とかどうすんの?
846844:02/05/14 10:50
よくない。
−−−−−終了−−−−−

>>844はデザパタ覚えたての厨
まあ何でもデザパタで解決できるけどね。
849デフォルトの名無しさん:02/05/14 13:14
>>843
クラスパスでそのJarの前に無理やり突っ込んでやればオーバーライドできるのでは
>>845 [生の配列なんか使わない]に一票。

(それはそうと演算子のオーバーロードまだぁ?)>>牛頭リング
向き不向きを理解してないデザパタ厨の何と多いことか。
ネタニマジレスカコイイ
853828:02/05/14 18:15
>>829 >>830
レスありがとうございます。わかりました。
ただ、System.out.println(""); とSystem.out.print("\n"); は
タイプ量はあんまり変わらないように思います。
ということで、どちらでもよい、が正解のような気がするのですが?

細かい話でしょうか?とても気になるのですが。
>>853
タイプ量を判断基準にする時点で痛いな。
おれはSystem.out.println()を使うけど。
System.out.println() ⇒ 環境依存の改行コードが出力される (CR/LF/CRLF)
System.out.print("\n") ⇒ 明示的に LF のみを出力する

よく初心者 Java 使いの作ったテキストファイルをメモ帳で開くと…
856 ◆O.1et2EI :02/05/14 22:06
2002年5月14日(晴れ)

プログラムを始めてみて、はや3ヶ月。
やっと、やっと、やっとクラスパスの設定の仕方がわかりました。
皆さんのおかげです。
これでpackage使うのが怖くなくなりました。
今日は幸せな一日でした(まる)
クラスパスを通す順序の違いで動作が変わるjavaって最高だと思います
あああああああああああああああぁぁぁぁぁぁぁぁぁぁぁぁ
855の続きが気になって眠れないよほぉぉぉぉぉぉぉぉぉぉ
859デフォルトの名無しさん:02/05/14 22:37
動的リンクする言語の運命
COMがクソなのはいうまでもないと思うけど
>>857
.class file hell やね。
.NETではそんなことはないそうだが。スレ違いなのでsage。
>>860
楽観主義のあなたに乾杯。
最初のバージョンだし、IE7 や Office 2004(?) 入れたら
動かなくなるに一票。
862デフォルトの名無しさん:02/05/14 23:23
>>857
あ?PATHだって同じじゃん
863838:02/05/15 01:05
>>839
なるほど・・・サンキュでした

ところで、1)の外部のプロパティファイルってどうやって指定するんですか?
2)はくさるほどサンプル見付けました(持ってる本で5冊ほど)が
1)についてはまったく見当がつきません。
>>863
シェルスクリプトやバッチと組み合わせてコマンドラインオプション
で指定するってのが定番かな。ファイル直指定じゃ無くても、
TOMCAT_HOME みたいにアプリのホームディレクトリ指定して、その下の
conf/foo.properties 固定っていうのもありかと。
865838:02/05/15 01:30
>>864
すみません。いまいち分からなくて

いま、リソースプロパティを読み込むクラスを作って
そのクラスだけjar化しました。
同じディレクトリにresource.propertiesファイルを
置いているのですが、
Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name resource, locale ja_JP
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:804)
と出ます。
同様にjarにせずにクラスファイルを実行すると
正常にリソースプロパティは読めます。(当然ですが)


1. 引数でconfファイルが指定されてればそれを使う。
2. System.getProperty("user.dir")の下にconfファイルがあればそれを読む。
3. System.getProperty("user.home")の下にconfファイルがあればそれを読む。
4. System.getProperty("my_prefix.conf.file")が示すファイルがあればそれを読む。
5. System.getProperty("java.home")の下にconfファイルがあればそれを読む。
の順に調べるとか。
ResourceBundle#getBundle() を使ったやり方は、JAR ファイルの
中に resource.properties を入れて置かなきゃだめ (クラスパス
が通ってるところでも良いけど配布 & 配布先環境が…)。だから
リソース形式のプロパティは、基本的に JAR 固めてから変更が
無いものじゃないといけない。
>>866
結構便利だけどしっかりドキュメントしとかないとトラブるんだよね。
設定変えたのに (先の設定が優先されてて) 動きが変わらないとか。
Properties クラスならデフォルト値付きのコンストラクタでどんどん
オーバーライドしてゆくのも良いかも。
869838:02/05/15 01:48

何か自分の中で論点がずれてる気がしたので
改めて聞きます

jarファイルの外に設定ファイルを置く場合
どうやって読み込ませたらいいんでしょうか?
870デフォルトの名無しさん:02/05/15 02:07

あ、外に定義したファイルを読み込みたかったのか。

Properties prop = new Properties();
FileInputStream in = new FileInputStream("hoge.properties");
prop.load(in);

これにファイル存在確認や I/O 例外処理などを好きに加える。
ファイルクローズ忘れんな。
>>869

>>866をもう少し単純にすれば良いんじゃないの?
1. 引数で"-conf resourceファイル名"が指定されてればそれを使う。
3. System.getProperty("user.home")の下にresourceファイルがあればそれを読む。
5. System.getProperty("java.home")の下にresourceファイルがあればそれを読む。

インストーラは、
 set INSTALL_DIR=インストールしたディレクトリ
 java -jar myJar.jar -conf %INSTALL_DIR%/resource
みたいなバッチファイル(Unixならシェルスクリプト)をPATHのどこかに
インストールする。
873869:02/05/15 02:53
>>872
すみません。
-confでリソースファイルを指定しても、user.homeに置いても、user.dirにおいても
失敗します。(エラーは>>865と同じ)

>>871
java.util.Propertiesですか・・・パッとドキュメント読んだ限りでは行けそうな気がします。詳しく読んでみます。
>>873
ResourceBundleを使っちゃダメで、自分でPropertyを読み込むんだけど、
分かってる?
ResourceBundle ⇒ JAR の中や CLASSPATH 中に存在するリソースを読み込む
Properties ⇒ ローカルファイルのプロパティファイルを読み込む

まぁ Properties はストリームベースならネットワーク上だろうが DB の BLOB だろうが
何でもイケるけど。
876869:02/05/15 03:12
ありがとう>>874ー875
なんとなくResourceBundleの名前は知ってたから
全てそれでいけると思ってるでした。
そういうカラクリがあるとは・・・・
ResourceBundle はクラスと一緒に配布されてるリソースの読み込み *専用の*
Properties と思ったほうが良いかも。
878デフォルトの名無しさん:02/05/15 03:54
質問です。
JSPで、あるStringをShift_JISからEUC_JPに変換したいのですが、
何度やってもShift_JISのまま出力されてしまいます。

変換って通常getByteを使いますよねえ。JISやら他のコードには問題なく変換効くんですが・・・。

どなたか、他にハマった方おられますか?
<%@ page contentType="text/html; charset=EUC_JP" %> の事か?
それとも str.getBytes("EUC_JP") の事か?

# EUC_JP の IANA の正式表記って何だっけ?
880デフォルトの名無しさん:02/05/15 04:21
>>879
後者です。getBytesの方です。

大変失礼ですが「IANA」って何のことでしょうか?
881878:02/05/15 04:26
他の文献でも
Shift_JISからEUC_JPへの直接変換には不具合が生じる・・
ということを目にした覚えもあります。

いったんunicodeに変換するなど必要でしょうか?
それでうまくいくのかな?

経験ある方、いらっしゃいましたらお願いします。
1.4から、Properties使うよりいい方法できたんじゃなかったっけ?
>>878
確かに文字コードの変換は問題が生じる。
それは、文字が化けるという意味で
「あるStringをShift_JISからEUC_JPに変換したいのですが、
何度やってもShift_JISのまま出力されてしまいます」
というのはプログラミング上の話で、ちょっと違うような・・・

変換部分のソースを見せてもらえば回答できるかもしれません
コンテンツがShiftJISなのに一部だけEUCで表示させようと
しているわけじゃありませんよね?
884 != 828:02/05/15 06:48
>>855
横レス。
知らんかった。
でも、それがほんとなら、
System.out.println("hoge");はまずくて、いつも
System.out.print("hoge\n");
にしろってことにならない?なんか腑に落ちないなあ。
885878:02/05/15 07:14
>883

そもそもページのない、出力だけのプログラムなんです。
説明足りずにすみません。

もしSHIFT_JISのページで文字化けを覚悟した上で(というか必然的に化けるよう)
一部だけEUCというのは無理な話なのでしょうか。
>>885
無理ということはない。
でも、Shift_JISのページにSSI等で埋め込んだら確実に文字化けするだろうね。
>>885
どうしてそういうことをしたいんでしょか。
888878:02/05/15 07:31
また説明おかしかった。JSPだからページはあるんですが、
ノンビジュアルという意味です。

たとえば、あるクライント群にA、B、CというStringだけを投げるプログラムを作るとします。
HTMLでなく、べた書きです。

1というクライアント群にはSJISで2というクライント群にはEUCで返すといったことをするには
どのような形をとればよいのでしょうか。
>>887
個人エロサイトじゃないの?
>>>888
それは、ようするに「text/htmlじゃなくてtext/plainで
クライアントに投げ返したい。そのときのcharsetは
クライアントによって切り替えたい」ってことでいいのか?
>>882
クレクレ…教えて…クレクレ…情報…クレクレ
>>891
JavaWorld見れ
893891じゃないけど:02/05/15 11:17
>>892最新のやつ?
894デフォルトの名無しさん:02/05/15 12:09
>>884
つまり>>855は間違い、という結論で?
>>878
なんつーか、質問がヘタ。
変換部分と出力部分を書きなさい。

こいつ使ってやってるの?
http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/ServletResponse.html#getOutputStream()
896デフォルトの名無しさん:02/05/15 15:28
翔泳社のJavaゲームプログラミングってどうですか?
¥7,200なんで良書あれば買いたいと思います。
近くの本屋に置いてないので、是非みなさんのご意見を聞かせてください。
>>884
println() はシステムプロパティ line.separator の値を行末にくっつける。
print("...\n") ってやってると、Win で出力したファイルをメモ帳で
開いたときに、全体が一行になって表示されてしまう (LF 部分は変な記号に
なる; やってみれ)。かといって "\r\n" とかやってると、今度は Unix 環境
で動かしたとき vi で開くと ^M が付いてしまう。ローカルのファイル出力
なら println() を使うのが正しい。まぁノートパッドや秀丸は CRLF だろう
が LF だろうが自動認識してくれるが。

なのでネットワークで HTTP や FTP, SMTP などのプロトコル話す時は
println() を使わないのが鉄則 (データ部分じゃないぞ)。

ちなみに C/C++ でもテキストモードで開いたストリームへの I/O は
\n ⇔ \r\n 変換を暗黙的に行っている (Win)。
>>897
ありがとうございます。

元がとれなそう・・・。やめときます。
8 章までに何が書いてあるんだ?
逆に見てみたくなるねぇ
Cで言うscanf的な関数ってあったっけ?
903デフォルトの名無しさん:02/05/15 16:41
javaで%は何を意味するんですか?
百分率
>>902
MessageFormat#parse(String) を使え

public static void main(String[] args) throws Exception{
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  while(true){
    System.out.print("> ");
    String line = in.readLine();
    if(line == null)  break;
    MessageFormat fmt = new MessageFormat("{0,date,yyyy/MM/dd} {1,number} {2}");
    Object[] obj = fmt.parse(line);
    for(int i=0; i<obj.length; i++){
      if(obj[i] == null)  continue;
      System.out.println("[" + (i+1) + "] " + obj[i]);
    }
  }
  return;
}
____________________________________________
> 2002/05/15 123 hello, world
[1] Wed May 15 00:00:00 JST 2002
[2] 123
[3] hello, world
>
907デフォルトの名無しさん:02/05/15 17:01
class Abc {
public static void main(String args[]){
System.out.println("    *"); 
System.out.println("    ***");
      System.out.println("   *****");
System.out.println(" *******");
System.out.println(" ***********");
System.out.println(" *");
System.out.println(" *");
System.out.println("==================");
}

}
これをコンパイルしたら「不正〜」と出るのですが、
なぜですか?
908デフォルトの名無しさん:02/05/15 17:02
class Abc {
public static void main(String args[]){
System.out.println("    *"); 
System.out.println("    ***");
      System.out.println("   *****");
System.out.println(" *******");
System.out.println(" ***********");
System.out.println(" *");
System.out.println(" *");
System.out.println("==================");
}
}
コンパイルしたら「不正〜」って出るのですが
なぜですか?
>907
こっちだと

Abc.java:3: 入力文字が無効です。

って出たぞ。
910デフォルトの名無しさん:02/05/15 17:10
>>898
最初に、printlnに関して質問したものです。
感動的によくわかりました。ありがとうございます。

これからJavaがんばります。
>>908
4 行目、System.out の前に全角空白入ってるんじゃないの?
ステルスエラーだ!
913デフォルトの名無しさん:02/05/15 18:57
addMouseMotionListener(new MouseMotionAdapter(){
public void mouseMoved(MouseEvent e){
Graphics g=getGraphics();
g.clearRect(0,0,400,300);
g.fillRect(e.getX()-20,e.getY()-20,40,40);
g.dispose();
}
});

黒い四角がマウスと一緒に動くのを作ってみたんですが、四角がちらついてしまいます。
対策ありますか?
914デフォルトの名無しさん:02/05/15 19:31
Sunのマシンで
import java.awt.*;
import java.awt.event.*;

public class Test extends Frame{
public Test(){
setSize(300,300);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public void paint(Graphics g){
g.drawLine(0,0,200,200);
}
public static void main(String[] args){
Frame w=new Test();
w.show();
}
}

ってプログラム走らせたんだけど(Javaの本そのまま)、Windowは出てくるが線が表示されない罠
なんでだろ?(´-`)?
因みに当方Java暦3日
915914:02/05/15 19:33
因みにWin2kでの動作は確認しました
>>913

Javaに限らず今どきのGUIプログラミングではたいてい同じだが、「画面が変
わった」ときにGraphicsのメソッドを使って描画してはいけない。描画するタ
イミングはプログラムが決めるものじゃないんだよ。システムが「描画しろ」
と言ってきたとき(updateが呼ばれたとき)に描画するの。

「画面が変わった」ときにやるべきことは、

・次に「描画しろ」と言われたときに何を描くべきかを覚えておく。というか
 覚えているはずなので、それを変更する。
・システムに「画面が変わったんでupdate呼んでください」と依頼する。
 これにはrepaintを使う。

それでもちらつくなら、double bufferと言うテクニックについて調べなされ。
ダブルバッファリングつかったら
ちらつきはきえたが
メモリを食いまくった記憶が
>>917
そら、通常の2倍いるわな。
でも、それ。
paint呼ばれる度にcreateImageしてないか?>>917
おいらはウィンドウサイズが変わった時にしてたけど。
920デフォルトの名無しさん:02/05/15 21:17
普通にString型の変数を宣言して文字列を入れたら、
Stringとjava.lang.Stringでは
互換性がないとかってエラーがでました。
意味がわからないので教えてください
>>920
Stringってクラスじゃなかったっけか?
>>920 「とか」じゃなくて、エラーそのままここに
コピペしてみ?
923デフォルトの名無しさん:02/05/15 21:31
>>914
線と背景が同じ色になってるとか。
924 :02/05/15 21:43
>>920
そもそも根本的に間違ってるよ
VB等の型と一緒にしないように
925924:02/05/15 21:45
あと、その問題の個所をコピペした方が話が通じやすいよ
926申し訳ありません。:02/05/15 21:55
>>805
ありがとうございました〜!!
直った!
文字でしかお礼が言えないのが残念。
>>920
どうせ同じディレクトリにString.javaとかString.classなんてのを
置いちゃったというオチでは?

>>921,>>924
クラスは型の一種だよ。
928デフォルトの名無しさん:02/05/15 23:24
シフトキーを押しながらマウスをクリックするというイベントを
拾う方法を教えてください。
>>927
クラスはクラスじゃないのか?じゃあ、クラス以外の型って何があるの?
まあ、日本語の取り方しだいで型なんて言葉、どうとでも取れるか
>>928
InputEvent.isShiftDown() じゃだめなの?
>>929
組込型。参照型。
>>927
詳しくは、知らないけどVBで

Dim hensu as String
hensu = "AAA"

と、Javaで

String hensu = "AAA";

は、意味が違うんじゃないのかな?
上記のは、結局

String hensu = new String("AAA");

でコンストラクタからオブジェクト生成してる意になるので厳密には
型とは違うんじゃないの?自信ないけど・・・
>>931
>>921,>>924,>>929が言ってるのは、そういう意味での型じゃないと思うんだが・・・
>932
意味がわかりません
Javaの変数には型があって、それは変数に入る値の型と
合っていないといけない。

Type
 PrimitiveType
 ReferenceType

PrimitiveType
 NumericType
 boolean

ReferenceType
 ClassOrInterfaceType
 ArrayType

(あとは略)
>>935
代入する値の型がが変数の型の上位クラスに当たれば代入は可能。と無意味に煽ってみるw
>>935
だから、そういう意味の型ではないのでは?と、言っている
第一、そんなことは、誰でも知っている
他言語でいう型の意味で>>920が言っているっぽいから
>>921,>>924,>>929がつっこんでるんじゃないのか?
938935:02/05/15 23:52
>>936
「型が合う」ってのは代入可能性を逝ったつもりです。

それにしても>>921>>924はこういう基本的なところ
を知らなくて良く(略

…と煽ってみる。
939935:02/05/15 23:55
>>937
「String型の変数」のどこが悪いんでしょ。

それをコンパイラがjava.lang.Stringとは別の型とみなした
ならば、VBとか持ち出すまでもなく原因は明らかでわ?

(とさらに煽ってみるテスト)
>>937
Javaの型も他言語の型も同じだよ。
>>939
>「String型の変数」のどこが悪いんでしょ。
悪いとはいっていない
>それをコンパイラがjava.lang.Stringとは別の型とみなした
>ならば、VBとか持ち出すまでもなく原因は明らかでわ?
だから〜、そういう意味じゃないって言っ(略)

相談スレだから、これ以上はやめとくテスト
>>939
あと、VB持ち出したのは俺じゃないぞ(w
質問です。
Javaはどうやったら動きますか?
JDKってやつを手に入れればいいんですか?
有料ですか?
他に必要なものはありますか?
>>943
アビバのパソコン検定資格は必須です。
必ず取りましょう。
取ったらまた来て下さい。
>>944
犯罪の肩棒かつぐのかよ
>>944
ネタじゃないのか?
そう思いたい
>>932
String hensu = new String("AAA");
String hensu = "AAA";
実はまったく同じだったりする。
948932:02/05/16 00:40
>>947
はい
その2つは、同じ意味だと>>932で言いたかったのですが・・・
>>947
C++と一緒ですな。
950946だが:02/05/16 00:44
>>943がネタじゃないかって意味だぞ。
>>944がネタじゃないかって意味じゃないぞ。
何で今日はこんな痛い連中が多いんだ?
>>447-448

> String hensu = new String("AAA");
> String hensu = "AAA";

この2つは違うよ。

String test() {
String hensu = "AAA";
return hensu;
}
は、何度呼び出しても同じ(==で比べてtrueになる)オブジェクトを返す。
>>943
>>6 にダウンロード先が書いてある。無料。
よくわからん質問には、まず質問の意味を聞くか、もしくはさらに
具体的な情報を求めるかするか、でなければ「放置」のが定石だと思われる。
が、しったかぶりして妙な突っ込みいれるやつは痛い。
>>947-949
何だこいつら
>>1-955
何だこいつら
さて、そろそろ新スレだと思われるが、なんかルール作ってあったっけ?
ル…ー…ル…ナ…ン…テ…ム…シ
>>958
禿同!!
そいや、前回、前々回と新スレ出来る前にスレ使い切ってたな。
どうせ初心者隔離スレだし、>>1-6 使いまわしでいーんじゃねーの?
でもタイトルに初心者歓迎とかネタ心者歓迎とかやめようよハズカシイ
ヒトニジマンデキナイヨ
こんどは何心者になるんだ?(w
確かネタ心者スレと合流する前はシンプルだったんだよな。
そろそろ元に戻すのに同意。
>>962
ネ刀心者か?
>>4

ム板のみんなでRobocode (・∀・)ヤローウヨ!1台目
http://pc.2ch.net/test/read.cgi/tech/1020161792/

を入れてもいいかな。
966不明なデバイスさん:02/05/16 02:15
学校でjavaの勉強が始まり、課題がでる予定です。
おそらく授業中には課題が終わらないので、家でやりたいのです。
初心者向きのアプリケーションは何があるんでしょうか?
ハローワールドとか。
えーと、将来プロの開発者になりたいなら JDK 使ってください。>>6 にあります。
授業の単位が欲しいだけ、もしくは適当な開発して適当に食って行ければ良いなら…
何か良いツールあるのかな?
>>968
966は「課題に適当なプログラム」を探していると思われ
学校と同じ環境そろえればいいんじゃない?
#とかいって、AIXとかだったして。
課題は出るんでしょ? 初心者向けのアプリケーションって言ったから、
アプリケーション = 開発環境なんだろうな、と勝手に憶測したんだが。
>>966 が真意を出さんと答えが出んので保留で良い?
保留でよい。
finalizeで無限ループしたらどうなるんでしょう?
GCが止まっちゃうんでしょうか?
974デフォルトの名無しさん:02/05/16 03:43
ResultSetのgetString()について質問させて下さい。
環境:jdk1.2.2、oracle7.3
目的:スクロールを使用し同じデータを2度出力させる。
(抜粋)
Statement stat = Conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rsQuery = stat.executeQuery(sql);
//1回目
System.out.println("一回目");
while (rsQuery.next()) {
String kno = rsQuery.getString("管理番号");
System.out.println(kno);
}
//2回目
System.out.println("二回目");
rsQuery.beforeFirst();
while (rsQuery.next()) {
String kno = rsQuery.getString("管理番号");
System.out.println(kno);
}

結果:015KUS0002と表示したい所、0x3031354B555330303032と表示される。
また、refreshRowを入れて試したところ、サポートされていない機能です。
というメッセージが出てきました。
スクロールを使わない(出力を1度だけにする)と問題無く出力出来ています。
この現象の対処に付いてどなたかご存知の方、教授願います。
basicとかshellスクリプトとかとかperlとかスクリプト型の言語ずっと使ってたから、
いまいちオブジェクト指向な考え方になれなくて、javaやっててもプログラムがフローな感じになって結局わかりづらいソースになってしまうんですが。
こんなんじゃ駄目ですよねぇ。
どうしたらオブジェクト指向な思考になれるでしょうか。

プログラムくむ前にきちんとした設計ってやっぱり必要なんでしょうかねぇ。
>>973
ファイナライザ用スレッドと GC はそれぞれ独立してる。finalize の中
で無限ループしても GC は機能するだろうが、今度は finalize される
インスタンスが無くなるんでメモリは減らないかも。

>>975
むかーし俺も同じこと考えた。まあ Java 流儀を矯正と思ってやってみ。
JDK のソースを読んだり API リファレンス読んだりして、なるべく
「作った人が何を意図してるか」を実際に汲み取ってみると良いかな。
977920:02/05/16 07:50
レス遅れてすいませんです。あれから寝てしまったので・・・。
んで結局>>927さんので解決しました。
ファイル名String.javaにしてました。えへへ。
他にもレス下さった皆さん、ありがとうございました。
>>974
スクロールなどのJDBC2.0の機能はドライバによって
実装してないものもあるよ。
979974:02/05/16 10:04
>>978
sqlを二度投げて回避してみます。
どうもありがとうございます。
finalの使い道が分りません

public void hoge(final int i)とpublic void hoge(int i)の違いは何でしょうか?
iは常に同じポインタしか見ないのでメモリの節約になるってことでしょうか?
>>980 iの値を変えられない。
メソッド内からは定数に見える。
982980:02/05/16 14:54
>>981
分りました。
ありがとうございました。
AccessにつなぐJDBCドライバってあるの?
ODBC-JDBCブリッジじゃなくて。
それともODBC-JDBCブリッジで十分なの?
教えて下さい。猛者様方。
984不明なデバイスさん:02/05/16 19:30
jdkをインストールしてセットアップしたのですが、最初の設定とかわからなくてコンパイルできません。
コンパイルさえできればいいのですが、どうやって設定するんでしょうか?
985デフォルトの名無しさん:02/05/16 19:36
>>983

十分、というかそれ以外にない。
986デフォルトの名無しさん:02/05/16 20:11
このスレ、消費早いね…。
987新スレまだか:02/05/16 20:36
>>984
OSな〜に?
988不明なデバイスさん:02/05/16 20:45
>>987

win2000です。
環境変数を設定するということがわかったのですが、調べてもよくわかりません。

'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

このようにでてしまいます。

ちなみに、今、セットアップした状態ですが、「c:」という場所にjdk1.2.2というファイルがあります。
989988:02/05/16 20:46
正しくは、C:\という場所です。
990デフォルトの名無しさん:02/05/16 20:48
>>989
そんなところに置くなよ(-_-;*)
>>989
pathが設定されてない
詳しくは






検索すれ
( ´3`)ムーン
993初心者:02/05/16 21:51
まずアプレットから独学中です。
ところで、JAVAの命名亀頭とか、おおっと命名記法ないですかね。
Cでいうところのハンガリー記法みたいなの。
アドレスおねがい。
995初心者:02/05/16 21:54
>>994
ありがと
       @ノノヽヽヽ@ ミ _ ドスッ
       ( 0^〜^)─┴┴─┐
       /   つ.  9 9 6 │
      /_____|└─┬┬─┘
        ∪ ∪    ││ _ε3
       @ノノヽヽヽ@ ミ _ ドスッ
       ( ・^▽^).─┴┴─┐
       /   つ.  9 9 7 │
      /_____|└─┬┬─┘
        ∪ ∪    ││ _ε3
1000
      〜oノハヽo〜 ミ _ ドスッ
       ( ^▽^) ─┴┴─┐
       /   つ.  9 9 8 │   
      /_____|└─┬┬─┘
        ∪ ∪    ││ _ε3
       @ノノハ@ ミ _ ドスッ
       ( ‘д‘) ─┴┴─┐
       /   つ.  1000 │
      /_____|└─┬┬─┘
        ∪ ∪    ││ _ε3
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。