トップページ⇒tech
1001コメント395KB

【初心者】Java質問・相談スレ16【大歓迎】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
ここはプログラム技術板のJavaに関するスレッドです。

質問のさいは状況が相手に伝わるように書きましょう。
エラーコードなどもしっかり書いたほうが適切な回答を得られます。
自己解決した場合でもどのようにして解決したかくらいは書きましょう。

プログラム技術と直接関係のない質問は
プログラマ板などのほうが適切な場合もあります。http://pc.2ch.net/prog/
JavaScriptの質問はWeb製作板へ http://pc3.2ch.net/hp/
パソコンの基本的な質問はPC初心者板へ http://pc.2ch.net/pcqa/

JavaFAQもご利用ください。
http://www.gimlay.org/~javafaq/javafaq.html

過去ログは>>5-7

『コマンドまたはファイル名が違います』
『'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。』
『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』
などの質問の回答は>>2-3

いまからJavaのプログラムを始めたいかたは>>2-4へ
必要な情報やコンパイラのダウンロード先へのリンクがあります。

携帯・モバイル・iアプリ、サーブレットなどのJava関連スレは>>8-9

諸事情によりリンクがずれた場合は>>2-20
0153146NGNG
>>151
おそらくそれも>>149にある
javac -target 1.1 コンパイルしたいクラスのファイル.java
で解決するかと。

現在のjavaコンパイラは、
そのままでは1.1用のバイトコードを生成してくれないのです。
1.1用のバイトコードを生成するためには
-target 1.1というオプションをつけてコンパイルしてやる必要があるのです。

灰色の画面しか現れないのは、おそらくブラウザが使用するJavaのVMが、
マイクロソフトのVMになっているからでしょう。
マイクロソフトのVMのヴァージョンは1.1なので。
0154デフォルトの名無しさんNGNG
>>151
MSJVMの場合は InternetExplorer で
ツール->インターネットオプション->詳細設定->MicrosoftVM->Javaコンソールの使用(再起動が必要)
にチェックすれば
表示->Javaコンソール
でJavaコンソール見られるので
(以下 >>152 の後半と同じなので略)
0155デフォルトの名無しさんNGNG
>>149
ところで「推奨されないメソッド」って
-target 1.1 でどーにかなるんだっけか?
0156ケイNGNG
はじめまして、ケイと申します。
いきなりの質問すみません。
5*d^2x/dt^2+2*dx/dt+3x=0 t=0の時 x=1 dx/dt=0
というのがあたえられていて、ヒントとして
dx/dt=y
dy/dt=-2y/5-3x/5
t=0〜50の範囲で時間間隔を1秒おきでxを求めたい
のですが正直解法が全くわかりません。これをオイラー法、2次のルン
ゲクッタ法で解きたいのですが、誰か分かる方はいらしたら、どうか
よろしくお願い致します。ちなみにこの二つの公式は分かるのですが、
実際どのようにつかうのかが分かりません。
0157146NGNG
>>155
この場合の推奨されないAPIは警告にすぎずコンパイル自体は通るので、
なにか問題があるとしたら生成されるバイトコードと
アプレットを実行するブラウザのVMのバージョンの違いとみた次第。

>>156
>t=0〜50の範囲で時間間隔を1秒おきでxを求めたい
tを秒数とするのなら、
tを引数としxを返り値とするメソッドを作り、
あとはforループでそのメソッドを呼び出し
結果は配列にでも格納してゆけばよいのでは?

for (int t = 0; t <= 50; t++) {
x[t] = method(t);
}
0158デフォルトの名無しさんNGNG
>>156 数値計算か。
大学で数値計算の授業かなにかの課題で出そうなネタだな

アルゴリズム関係か
C言語だけど、この本なかなかいいよ。ポインタ演算とか(殆ど?)使ってないから
すぐにJavaに変換できるよ。
http://www.sra.co.jp/people/miyata/algorithm/

Javaならこういうのあるよ。この人も凄いね。
CCSドキュメントに載ってないかな?
http://www.cmt.phys.kyushu-u.ac.jp/~M.Sakurai/java/numerical1.html

まあ、Javaは数値計算に弱いっす。FortranやMATLAB,Mathematicaには勝てんかな?
Javaで数値計算の本なら2冊ほどあったと思った。片方はOO殆どつかってなくてつかえんかったよ。
C言語でできることをそのままJava化しただけでOOの特性生かされていないのがあったよ。
どうでもいいことまで書いてしまいました.....。ま、がんばってちょ
0159143NGNG
>>157
いろいろ試してみたのですが原因がわかりません…。
1.1を使ってコンパイルしてもAPIの警告がでてしまいました。
でappletviewerで見ても動きません。
1.4.0の新しい書き方があるのでしょうか?
0160デフォルトの名無しさんNGNG
>>159
Javadocに、これの代わりに何々をしようするとか書いてあるよ。
書いてないことも結構あるけどね。
0161146NGNG
>>159
動かなかったか。ごめんね。
ところで下からdungeon.mapとかの必要なファイルは
ダウンロードしてくるなり、自分で生成するなりはしたんだよね?
http://sula0015.soc.shimane-u.ac.jp/socinfo/lang/java/gameland/dungeon/dungeon.map

うちでは1.4のコンパイラでコンパイルし、
(もちろんコンパイル時に警告はでたけど)どうにか動いたのだが、
もしなにをやっても動かないようなら、
JDK1.02よりもあたらしいバージョンのJavaで書かれたソースを探してきて
それで勉強したほうがいいかと。
0162143NGNG
>>146
dungeon.mapの使い方が分かりません…。
できれば教えてください、お願いします!
0163146NGNG
>>162
ただダウンロードしてきて、
生成されたdungeon.classとおなじディレクトリに置いておくだけ。
あとkero.gifの画像ファイルのダウンロードも忘れずに。
http://sula0015.soc.shimane-u.ac.jp/socinfo/lang/java/gameland/dungeon/kero.gif

でも、最初はもっと簡単なプログラムで勉強したほうがよろしいかと。
0164146NGNG
それと>>154などを参考に、
実行時に出力されるエラーログを見たほうが解決は早かったかと。
0165143NGNG
>>146
他のアプレットは同じようにしたら動きました!
基礎的なことがまったく分かっていませんでした。
ありがとうございます
dungeon.mapは拡張子はgifでいいのですか?
ファイルで名前を付けて保存しちゃったのですが…
0166146NGNG
>>165
dungeon.mapの拡張子はmap。
"dungeon.map"というファイル名ね。

最初はもっと簡単な、たとえば画面に
Hello Worldと表示したり、
あるいはgifかなにかの画像ファイルを
描画するようなプログラムから始めたほうかいいとおもうよ。
0167143NGNG
>>146
はい…本当はそうしたいのですが、
金曜までにゲームを作れ!という課題がでてるのです。
内外設計書まで書いたのですが、JAVAの知識が無さすぎました。
そこでテンプレを探してたのですが、まったく動かず…
前にじゃんけんゲームのテンプレで他のゲームを作れたので、
今回もと思ったのです。。
0168デフォルトの名無しさんNGNG
>>167
どんな規模でどんな内容のゲーム?
オシエテクリ
0169143NGNG
>>168
パックマンに近いゲームを作ろうとしています。
ある程度ゲームなればいいらしいっす。
でもネットにソースが落ちて無いんですよね…
0170デフォルトの名無しさんNGNG
7行スレにパックマンなかったっけ?
0171143NGNG
>>170
え!7行スレってどこですか??
0172デフォルトの名無しさんNGNG
http://pc.2ch.net/tech/kako/984/984182993.html の 905。
が、解析するより自分で考えた方が早いと思われ。
0173デフォルトの名無しさんNGNG
>>172
パックマンなら中学の時、2時間(部活)で作った事ある。
0174デフォルトの名無しさんNGNG
クライアントスレで拾ってきたんだがこいつは綺麗だね
http://www.incors.com/alloylnf/jws/alloyDemo.jnlp
0175デフォルトの名無しさんNGNG
つーか、初心者大歓迎!だから別にいいんだが、そんな切羽詰ってるなら、
2chでレス待つより先に調べる場所なり資料なりあるんじゃなかろうか、と言ってみるテスト。
「こうすれば動く」からこう書くのでなく、「これが動く理由はこうじゃないかな?」っていう
Try&Errorが自分を育てるYO。

あと、ゲーム作りのポイントは言語がどうのというより、まずアルゴリズムとその土台。
「やり易い環境」「やる辛い環境」(VBなら楽だけど、Javaだと大変。あるいはその逆)てのがあるので、
その辺を今後はじわっと考えて、いろいろ試すといい。
0176イヌNGNG
以前、同じ質問をさせていただいてますが、改めてもう一度させてください。
StringBuffer型の配列を作ることは、可能ですか??

int[] aaa = new int[10];

みたいな感じで、

StringBuffer[] xxx = new StringBuffer......

のようなことができたらなーと夢見る今日この頃。
0177デフォルトの名無しさんNGNG
StringBuffer[] xxx = new StringBuffer[10];

でOKでないの?
0178デフォルトの名無しさんNGNG
>>174 おお、ついにJavaもここまで来たか。
javaw.exeとJavaWebStartでこういうことができるとは知らなかった。
あのアルファチャンネルのようなMacのようなガラスのように透き通るボタン
グラデーション、しかもGUIなのに遅くない。

テーマも変えられるのははじめてみた。
Swingというと、今まで紫色のSolarisカラーばかりだった。
この色をみただけでSwingを嫌がる人もいたのではないか、と思う。

>>177 ついでに説明するなら
for(int i = 0; i < xxx.length; i++){
xxx[i] = new StringBuffer();
}
も加えておいとくべきでしょ
017928NGNG
中間報告です。

> 38
> Store store = sess.getStore("pop3");
> を、"imap"に変更すりゃいいんじゃないの?

とりあえず、これでIMAPサーバとの通信はできました。
んで、メールも取得できるんですが
ttp://www.hellohiro.com/javamailpop.htmのサンプルだと、
"text/html"メールの際にエラーが出ちゃいます。

んで、GikoMailのメール取得部分を調べながらコツコツやってるんですが
うまくいかなくて困っております。

後、JavaMailのリファレンスはココに乗っていました。
日本語なんで重宝しています。
ttp://java.sun.com/j2ee/sdk_1.3/ja/techdocs/api/
0180デフォルトの名無しさんNGNG
単純な質問で申し訳ないのですが、
別のファイルで作ったクラスを読み込むには如何したら良いのでしょうか?
0181デフォルトの名無しさんNGNG
>>180
InputStream in = new FileInputStream("Hoge.class");
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
while(true){
int len = in.read(buffer);
if(len < 0) break;
out.write(buffer, 0, len);
}
byte[] content = out.toByteArray();
0182180NGNG
>181

えーっと、これってファイルを読み込んでるんですよね?
説明のしかたがマズかったです。スマソ。

File [SmpMain.java]

public class SmpMain {
 public static void main(String[] args) {
 }
}

File [SmpClass.java]
public class SmpClass {
 private int val;
 
 SmpClass{
  val = 0;
 }
 
 public void subClass() {
  System.out.println(val);
 }
}

こー言った場合に、mainでsubを利用するにはどうしたら良いのかなーと・・・
0183デフォルトの名無しさんNGNG
>>180
二つのファイルを
おなじディレクトリにおいておくだけでいいよ。

// A.javaのファイル
public class A {
 public B b = new B();
}

// B.javaのファイル
public class B {
}

/*
A.java と B.javaをおなじディレクトリにおいて、
javac A.java をコマンドラインから入力すると、
コンパイラが自動的にB.javaのファイルも読み込んでコンパイルしてくれる。
*/

さらに詳しいことが知りたくなったら、
「パッケージ」とか「クラスパス」とかのことを調べてね。
0184180NGNG
>183

ヽ(´ー`)ノ ワーイ
0185デフォルトの名無しさんNGNG
>>182
えーと、おれが説明したようなことではなくて、
インナークラスの話か。

subというのはsubClassのことていいのかな?
0186180NGNG
そです、サブクラスです。

インナークラスって言うんですか。
勉強不足でスマソ
0187デフォルトの名無しさんNGNG
>>185
クラスが何かもわかってなくて、
メイン処理とそこから呼び出すサブ処理というようにわけているだけかと。
0188デフォルトの名無しさんNGNG
>>186
いや失礼。よくよく見るとインナークラスではないんだな。
>>183に書いてあるように、ふたつのファイルを同じディレクトリに入れておいて
あとはFile [SmpMain.java]をこう書くだけでいいよ。

public class SmpMain {
 public static void main(String[] args) {
  SmpClass smp = new SmpClass();
  smp.subClass();
 }
}
0189デフォルトの名無しさんNGNG
あとFile [SmpClass.java]だが、
これの4行目が、もしコンストラクタを書きたかったのなら、
 SmpClass{ 
ではなく
 public SmpClass() {
に修正してください。
0190180NGNG
> 183, 185

ウマーく行きました。
サンクスコ。
0191デフォルトの名無しさんNGNG
マウスを使って絵を描くプログラムはできたんですけど、
最大化や画面からでた時、描いた線が消えるんですよ。
再描画って、どうしたらできますか?
おしえてください。
0192デフォルトの名無しさんNGNG
http://www6.ocn.ne.jp/~endou/index2.html
    ★YAHOOOプロフィール★
0193デフォルトの名無しさんNGNG
>>191
描画した画像のデータをクラス内部に持たせておき、
swingならpaintComponent()、AWTならpaint()内に、
その画像データをもとに、画像を描画するプログラムを書く。
0194デフォルトの名無しさんNGNG
>193
全部の線とか○とかを描き直さなきゃいけないのでしょうか
0195イヌNGNG
>177, 178
ありがとう!!StringBufferが配列になったワン!!
0196デフォルトの名無しさんNGNG
ある時間がきたら指定したプログラムを動作するようなプログラムを
作りたいんですがどうしたらいいのでしょうか・・。
またこのプログラム本体にパラメータの受け渡しもしたいのですが無理でしょうか?
0197デフォルトの名無しさんNGNG
>>196
ある時間までぼーっとしてるプログラムを書けばいい。
0198デフォルトの名無しさんNGNG
私はcronを利用してEJBを起動させてました。
アプリケーションサーバでもそうした機能を搭載しているものも
あるようです。
自力実装するのであれば、起動時に次のスケジュールの時間まで
Thread.sleep()させるというやり方でできるかもしれませんね。
まぁうまくおきてくれるとは限りませんが・・・。
0199デフォルトの名無しさんNGNG
>193
なんとなくですが、わかりますた。
ちなみに私はチョソですが、何か?
0200デフォルトの名無しさんNGNG
>>198
cron のが良いでしょうね。

Javaでやる場合はこんな感じっすかね?
Calender time;//指定時間
long sleepTime = time.getTimeInMillis() - System.currentTimeMillis();
while( 0 < sleepTime ){
 try{
  Thread.sleep( sleepTime );
 }catch( InterruptedException exception ){
 }
 sleepTime = time.getTimeInMillis() - System.currentTimeMillis();
}
....; //プログラムを実行。
0201デフォルトの名無しさんNGNG
>>194
うん。

>>196
Timerを上手に使う。
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/Timer.html

プログラム本体へのパラメータの受け渡しは、
java プログラム名 引数1 引数2 引数3...(以下すきなだけ)
これでmain(String[] args)の
String args[0]に 引数1が入力される。
0202196NGNG
197-201ありがとうございます。
cronって初めて聞きました、それを使ったほうがいいのですか?
JSPからパラメータをつけそのプログラムに渡して
また時間がきたら別のJSPにパラメータを渡して起動しようとしたいのですが
JSPから.javaを呼び出しパラメータを渡せばいけるのかな。
timer関連勉強してみます^^
0203デフォルトの名無しさんNGNG
swingだと
オフスクリーンに書いておいてsetIconで描画すればいいんだよ。
paintComponent()なんて使わなくていいYO!
0204デフォルトの名無しさんNGNG
↑遅いいくない?

Image img=crateImage(100,100);
Graphics g=img.getGraphics();
g.drawRect(0,0,99,99);
g.dispose();
ImageIcon ii=new ImageIcon(img);
setIcon(ii);

だぞ
0205デフォルトの名無しさんNGNG
>>203
真性発見、記念age
0206山崎渉NGNG
(^^)
0207デフォルトの名無しさんNGNG
質問すたいことがあります。
System.gc()を使えば、参照されていないオブジェクトを
本当にすべて掃除してくれるのですか?
自作のJavaアプリを長時間動かしつづけていると次第に重たくなってしまう
のです。それでSystem.gc()を入れてみたのですが一向に軽くならないです。
一言でよいので助言ください・・・・・・・
0208デフォルトの名無しさんNGNG
>>207
じゃあ参照残ってるんだろ。
0209デフォルトの名無しさんNGNG
実行時のプロセスIDを取得することは可能ですか?
シェルの機能で渡すことはできるようですが、Windowsでは?
0210デフォルトの名無しさんNGNG
>>207
Runtime#maxMemory()
Runtime#freeMemory()
Runtime#totalMemory()
等を使ってgc前後のメモリ量みてみるとか。
0211207NGNG
>>210
起動時にメモリを64MB取って
それを試してみたんですが、だんだん
47→32→14→5→1・・・
と減っていくのです。一応15MBくらいまでは回復するようですが
それ以上は回復せず、1〜15MBあたりを行ったり来たりしています。

static int[] dat=new int[100000];
dat配列の中身を操作し、中身が変更されるたびに
VectorクラスへaddElement()やremove()しています。
0212デフォルトの名無しさんNGNG
>205
おいおい、一番厨房なヤツがなに言ってんだ?プ
0213デフォルトの名無しさんNGNG
>>211
で、自分で使ってるメモリ量は?
dat は一個で 400,000バイト使うけど。

dat と同じものが100個ぐらいあって、
常に新しい dat を生成 & 古い dat を廃棄してる場合は
そんなモンじゃないかと思うけど。
0214デフォルトの名無しさんNGNG
>>211
俺もそんなものだとはおもうけど、
一応、Vectorの現在のサイズなども毎回表示させてみては?
0215デフォルトの名無しさんNGNG
>>213
VectorやJavaの仕組みは分からないのですが、そういうものなのでしょうか?

static int[] dat=new int[100000];
Vector vec=new Vector(); // datを入れるもの
int[] ref;
ref=dat; // 参照

ここでref[100]=123;等、いろいろ代入する。

vec.remove(7); // vecには8個までdatを入れるのでケツの古いものは消す
vec.insartElement(ref,0); // 先頭に新しいdatを挿入する

本当はもっと複雑なのですがやっていることは大体上のとおりです。
vec.remove(7);の部分で参照が外されると思っていたのですが・・・。
0216デフォルトの名無しさんNGNG
↑207の者です
0217デフォルトの名無しさんNGNG
>>215
とりあえず vec.size() で要素数取ってみたら?
0218デフォルトの名無しさんNGNG
>>215
WeakReferenceでも使ってテストしてみては?
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/ref/WeakReference.html

使い方がわからなければ下のページあたりをご参考に。
http://www.wakhok.ac.jp/~tatsuo/kougi99/8shuu/kougi.html
http://www.wakhok.ac.jp/~tatsuo/kougi99/8shuu/jisshuu.html
0219デフォルトの名無しさんNGNG
>>215
vec.size()で調べてみましたが、ようその数は8以上にはなっていませんでした。
-verbosegcオプションでGCの行動を調べてみたると、どうやら上で書いた
Vector等の処理が原因ではなかったようです。すみません。
他の部分で、JDailogをnewで生成したりdespose()で消去を繰り返すと
だんだんとメモリを消費していくみたいです。
JDialogをnew→dispose()のあとにSystem.gc()を行うと
[Full GC[Unloding class sun.reflect.GeneratedSerializationConstructor・・・
なるものが出てきて5〜10MBほど減ってしまいます(減った分は永遠に増えない)

勉強不足です、すみませんでした。
0220219NGNG
↑
× >>215
○ >>214,217です

俺は何をやっているんだろう(泣
0221デフォルトの名無しさんNGNG
>>219-220
まあなにはともあれ貴方の試したかった部分は、
きちんとガーベイジコレクトされているようでなにより。
0222デフォルトの名無しさんNGNG
>>209
プロセスIDは標準ライブラリじゃ取れないんでJNI使うしか無いと思われ。
誰かライブラリ作ってるかも?と思うなら "Java getProcessID" とかでぐぐってみれば見つかるかも?
0223143NGNG
>>175
はい…それが一番なんですよね…。

classファイルをjavaファイルに戻すことは出来るのですか?
0224デフォルトの名無しさんNGNG
>>223
JODE とかで逆コンパイルできます。完全な復元は無理だけど。
http://jode.sourceforge.net/
0225143NGNG
>>224
ありがとうございます。完全な復元は無理ですか…。
課題はやっぱり自分で作ることにしました。
ブロック崩しをパックマンにがんばって変えています!
0226初心者NGNG
Exception in thread "main" java.lang.NoclassDefFoundError...
と出てしまう時と、出ない時があります。
例えば、
class unnko
{
public static void main(string[])
{
Sustem.out.println("unko");
}}
なら実行できますが、
import java.io.*;
class Sample6
{
public static void main(String args[])throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

String str1 =br.readLine();
String str2 =br.readLine();
 int sum=0;
sum += Integer.parseInt(str1);
sum += Integer.parseInt(str2);

System.out.println("3つの数の合計は"+sum+"です。");
}}
だと前述のエラーになります。
どうしてなんでしょうか?
ちなみにj2sdk1.4.0_03 です。
ちなみにクラスパスの設定はカレントディレクトリは
含まれています。
厨房ですが、よろしくです。
0227デフォルトの名無しさんNGNG
>>226
>>1-2
0228デフォルトの名無しさんNGNG
>>226
227のいうとおり、きちんと設定できれば、ちゃんと実行できるよ。
がんばってね。
0229デフォルトの名無しさんNGNG
>>226
おそらく大文字・小文字の問題かと。

ファイル名がsample6になっているとか、
コマンドラインからjava Sample6と入力するべきところを
java sample6と入力してしまったのではないでしょうか。
0230初心者NGNG
おお、皆さん優しくてちょと感動しました。

ちなみに問題は解決しました。
クラスパスの設定が、やっぱり間違ってました。

合ってると思ったんだけど。。。
恥ずかしい・・・
0231初心者NGNG
なぜかまた実行できなくなりまそた。
あぁ
おやすみなさい
0232初心者NGNG
そしてまたできなくなりました・・・
とほほ。
寝ます。また来ます。
0233デフォルトの名無しさんNGNG
Java Web Start ってノートンの LiveUpdate みたいな機能も付いているんですか?
023428NGNG
だめだ・・・詰まってしまいました・・・

GikoMailのPOP3.javaを参考に、メールの取得を行おうとしているんですが、
ぜんぜん取れなくて困っています。
昨日一日、ググって見てたんですが・・・モウダメポ


public String dumpPart(Part p) throws Exception {
 StringBuffer sb = new StringBuffer();
 Object o = p.getContent();
 if (o instanceof String) {  // ココは通る
  sb.append((String)o);   // 文字列が空になる
 }
 return (new String(sb));
}
0235デフォルトの名無しさんNGNG
 if (o instanceof String) {  // ココは通る
  sb.append((String)o);   // 文字列が空になる
 } else {
  System.out.println(o.getClass().getName());
 }
023628NGNG
o.getClass().getName() の結果なんですが、java.lang.Stringらしいです。
んで、System.out.plintlnをしてみたのですが、やっぱ空・・・

鬱

0237209NGNG
>>222
Java getpidでググって次のソースを見つけました。
http://java-house.jp/ml/archive/j-h-b/038736.html

一時ファイル名にプロセスIDを使う(日時+プロセスID+ホスト名)を使うのは
常套手段ではないかと思うのですが、Javaな人はどうしてるんでしょうか?

0238203NGNG
>>204
ImageIcon作る分そりゃ時間掛かるが
速度差なんてたかが知れてる。ゲームみたいにリアルタイム重視でも
十分使える。まあクソ重いswingでゲーム作るヤツは神だが・・・

0239デフォルトの名無しさんNGNG
>>237
ふつー File#createTempFile()
0240デフォルトの名無しさんNGNG
数当てゲームで
正解が出るまでに何回数字を入力したかを数えて、「正解がでるまで〜かいかかりました!」というメッセージを画面に表示する。
さらにその回数が5回以下だったら「すばらしい!」10回以上「勘が鈍いですね」
5回と10回の間だったら「普通です」
と表示させたいのですが、ちょっと分からないので教えてください!!
もう最終手段なのでお願いします!!助けて〜。
0241デフォルトの名無しさんNGNG
>>237
一時ファイルくださいプログラムをつくる
一時ファイルなんて母体のOSに結構依存するから
0242209NGNG
>>239
どうも。
Javaな世界ではそれでいいんでしょうね。
割り切ってそうすることにします。
0243デフォルトの名無しさんNGNG
>>236
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/io/File.html#createTempFile(java.lang.String, java.lang.String, java.io.File)
とか。
0244デフォルトの名無しさんNGNG
数当てゲームで、正解が出るまでに何回数字を入力したかを数えて、「正解がでるまで〜かいかかりました!」というメッセージを画面に表示する。
さらにその回数が5回以下だったら「すばらしい!」10回以上「勘が鈍いですね」
5回と10回の間だったら「普通です」と表示させたいのですが、分かる人いたら教えてください!!
お願いします!!
0245デフォルトの名無しさんNGNG
>>244
指つかえ!!
それで数えろ!
10本あるから数えられるだろ!!
0246209NGNG
>>241
プロセス周りもSWTみたいにToolkit化されていると
うれしいんですけどね。
0247デフォルトの名無しさんNGNG
>>244
そうすればいいじゃん。
標準出入力はSystem.inとSystem.outだぞ。
0248デフォルトの名無しさんNGNG
>>244
カウント用の変数を1つ用意して、入力ごとにインクリメント、
正解が出たら(ルーチンを抜けたら)その変数でif判定してください。
int count=0;
while(1){
//ルーチン
count++;
}
System.out.println("正解が出るまで"+count+"回かかりました");
if(count<6) System.out.println("素晴らしい!!")
else if(count>9) System.out.println("勘が鈍いですね");
0249デフォルトの名無しさんNGNG
>>248
>while(1){
while(true){
っすね。
0250デフォルトの名無しさんNGNG
>>249
あ、そうですね。
これは失礼しました。
0251デフォルトの名無しさんNGNG
ある本に載ってたプログラムなんだけど

public class T21
{
public static void main(String[] args)
{
TurtleFrame f;
f = new TurtleFrame();
Turtle m = new Turtle();
Turle m1 = new Turtle();
f.add(m);
f.add(m1);
m.fd(100);
m.rt(90);
m.fd(150);
m1.rt(90);
m1.fd(100);
}
}

これって単独でコンパイルできんの?
継承しなくていいんでつか?
0252デフォルトの名無しさんNGNG
>>244
おい、ネタだろ?
それがワカランかったら数が当たっているという判定ができんだろ?
それとも変数を表示させる方法が知りたかったわけ?
■ このスレッドは過去ログ倉庫に格納されています