こんにちは。趣味でプログラミングをしているものです。 さっそくですが、質問させていただきます。 文具店などで千円くらいで販売している電卓を再現しようとしているのですが、 コーディングが終わり、動作を確認しているのですが やはり、多くの不具合が出ていて、修正しようとしているのですが、 その中で、すこし奇妙に思えるようなものが発生してしまいました。 電卓で計算した結果の文字列を表示桁数に収めるようにする、 あるいは桁のあふれがあった場合、例外を投げる、というメソッド において、 単純な条件分岐を判定しない、というもののように思えるのですが、 以下にその抜粋したものを説明させていただきます。 seisu_length = len - 1; // test statement System.out.println( "seisu_length2 is " + String.valueOf( seisu_length )); System.out.println( seisu_length > 12 ); // if( (seisu_length > 12) ) //(ア) { gap = seisu_length - 12; overflag = true; retstring = retstring.substring( 0, 12 ); //test statement System.out.println( "(4)" ); // } len int 計算結果を表す文字列のlength()により、長さを格納 seisu_length int 整数部分の桁数、再現しようとしている電卓が 整数部分の桁数で表示桁のあふれを判定しているので gap int 再現しようとしている電卓が、あふれている桁数の情報を 答えの文字列の先頭から数えたインデックスにドットを 挿入するので overflag boolean 桁あふれの場合の処理に移るためのフラグ retstring String 表示桁数分の計算結果の文字列 このメソッドの戻り値 test statement は変数の値をみたり、このブロックに到達しているのか 確認しています。 上記の(ア)の部分の判定で ブロック内部に移らないのですが コードに誤りはないように思えるのですが eclipse に不具合が発生している、 ということでしょうか? eclipse をふたたびインストールというか 解凍して配置したほうがよいのでしょうか? ご存知のかた、教えていただけないでしょうか? よろしくお願いします。
↧