<identifier>がありません2
書きかけです。
その1
隣に座っている友人の
「デュアルコアのスレッド処理能力を確かめたい」
という声に応えるべく自然対数をテイラー展開して
複数スレッドで各項の計算を分担して値を求める
というプログラムを
NetBeansで書いてたら途中でこういうエラーが出た。
型の開始が不正です。
がありません。
がありません。
>がありません。//←ナゾの表示。なんだろこれ?
がありません。
シンボルを見つけられません。
シンボル:クラスi
場所 JavaThreadTest_e.JavaThreadTest_eのクラス
シンボルを見つけられません。
シンボル:クラスi
場所 JavaThreadTest_e.JavaThreadTest_eのクラス
シンボルを見つけられません。
シンボル:クラスi
場所 JavaThreadTest_e.JavaThreadTest_eのクラス
【前略】 int startTerm;//開始項 int endTerm;//終了項 【中略】 //(スレッド用の別クラスを立てる) class culcurateThread extends Thread(int startTerm,int endTerm) 【中略】 int i; for(i = startTerm ; i =< endTerm ; i++){ //←ここでエラーが出る for( int j = i ; j > 1 ; j-- ){ factrial = factrial*j; } value = value + 1/factrial; //↑ちなみにコレ計算値が整数値にとどまるバグ。正解は1.0。 } 【後略】
何が腹が立つって、これの改善方法をNetBeansに問い合わせると、class iを3つ作れ、と言ってくることだ。アホかっ!
しかしNetBeansはなぜiをクラス扱いするのだろうか?startTermもendTermもint型なのは間違いないのに。
(やべっ!これどうやって解決したか忘れた・・・。)
その2
その1と同じプログラムにて。
呼び出された各スレッドが計算結果を
元クラスのE_value変数に加算する動作を書いている途中に
NetBeansが横槍を入れてきた。
がありません。
シンボルを見つけられません。
シンボル:クラスgetE_value
場所 JavaThreadTest_e.JavaThreadTest_eのクラスシンボルを見つけられません。
シンボル:クラスsetE_value
場所 JavaThreadTest_e.JavaThreadTest_eのクラス
JavaThreadTest_e.setE_value( JavaThreadTest_e.getE_value() + value );
これの前にもE_valueを参照できないのでしょうがないからsetterとgetter作ったのに・・・。どうなってるんだよ!?もちろんE_valueはstaticでpublicでした。
(イカン、これも解決法忘れた・・・。)
その3
ataticでないメソッドgetTime()をstaticコンテキストから参照することは出来ません。
startTime = Date.getTime(); ^
これはカンタン。あらかじめDateクラスのインスタンスを作っておき、そのインスタンスのメソッドを呼び出す、に変更するとうまくいった。これはこの前のRundomクラスと同じ原理だろうな。