激凹みから立ち直る方法

すみませんでした!
Javaファイルがアップロードできなかったため、
自分のサイトにアップロードしました
お手数ですがそちらからお願いします…


プログラミング初心者です
現在Javaを本を使って勉強しています
少しAWTに入った程度です


(1) 乱数を4つ作る
(2) 4つの数字を四則演算を用いて10とする
(3) 10となったら計算をやめて計算式を表示する
という切符でやるような遊びを
自動化するプログラムを作成しました
(計算式は「+,-,*,/」をcharで表示するようにしています)

10となる結果を探すために、for文を7重にして
配列とswitchを組み合わせて完成させたつもりなのですが…

ほとんどの結果は問題なく表示されるのですが
時々与えられた4つの数字が変わってしまったり、
そもそも計算式では10にならなかったりといった結果が出ることがあります
例えば「5,9,6,7」が与えられたときに、
「5*2*5*5」という結果が表示されます

言葉が悪いのですが、どなたかご教授お願いします
個人的には、「変数の崩壊」という言葉しか思いつきませんが
このようなことをなんと言うかご存知の方はいらっしゃいますか?

環境は
OS:WindowsXP(32bit) SP3 HomeEdition
開発環境:Eclipse3.5 JavaSE1.6

文字数制限を越えてしまうかもしれないので
Javaファイルとしてアップロードします
http://netbanzai.web.fc2.com/onegai.html

A 回答 (1件)

これ、num[0] ◎num[1]○ num[2]●,num[3] (◎○●は任意の四則演算子)の形式の計算しかしていません。


なのに、答えは
result[0]=num[i];
result[1]=num[k];
result[2]=num[m];
result[3]=num[o];
となっています。

とりあえず、一見して気付いた点。

この回答への補足

回答ありがとうございます

計算式の、数字については計算が10とわかった時点で代入するようにしてたのですが
四則についてはもう一度switchを書くのが面倒だったので、10とならない場合でも毎回「resultShisoku」に代入していました

もしやと思い、面倒でも書いてみたのですが、今度はうまくいきました!
糸口をありがとうございました

補足日時:2010/02/28 07:44
    • good
    • 0
この回答へのお礼

ど、どうやら
それ以前のバグもあったようで、無事そこも修正し、正常に動作するようになりました
ありがとうございました

ですが、なぜこのようなことがおこるのでしょうか?

お礼日時:2010/02/28 08:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!