デザインについてまず、需要
(+ - * /)は、自動的に生成するのに必要な4つの算術演算は、計算結果はresult.txtに格納されている外部ファイルのタイトルの操作を生成、複製式を廃棄する、100未満であります
第二に、機能的なデザイン
基本的な機能は:( - * / +)、演算結果を100内で必要とされる100内で自動的に四則式(10)2つのオペランドを生成します
拡張子:廃棄重複式、2 + 3 = 2 +式2が3 + 3 + 2を繰り返す=式を省略する= = 3
項目数は、カスタマイズすることができます
関連するパラメータを制御することができる:乗算、除算が含まれています
オペランドの制御可能な範囲値
オペランドが負を含むかどうか
第三に、設計と実装
System.out.println( "トピックの番号を入力してください:"); スキャナスキャナの新新=(System.in); X = scanner.nextInt(); int型rigthanswer [] =新しい新しいINT [X]; int型youranswer [] = INT新しい新規[X]; のSystem.out.println( "最大範囲値を入力してください"); Y = scanner.nextInt(); {(; IはXに<I ++はI = 0)のための INT A =(INT) (Math.random()* Y); //はランダムな整数生成 INT B =(INT)(Math.random ()* yを); //はランダムな整数生成 INT C =(int)を(Math.random () * 3); //ランダムに0~3の整数を、オペレータが生成する生成 IF(C == 0) {//加算器 D1 = A + B; のSystem.out.print(A + "+" + B + "=" ); } 。IF(C == 1) {//減算 IF(A> = B){ D1 = AB。 System.out.print(A + " - " + B + "=")。 }他{D1 = BA。 System.out.print(B + " - " + A + "=")。 } } (C == 2)であれば {//乘法 D1 = * Bと、 System.out.print(A + "*" + B + "=")。 } (Cの== 3)であれば {//除法 D1 = A / B。 System.out.print(A + "/" + B + "=")。 } のSystem.out.println( "请输入你的答案:")。 Q = scanner.nextInt()。 rigthanswer [I] = d1を、 } System.out.print( "の\ n"); System.out.printlnは(」 のSystem.out.println( "正解:\ n");
第四に、テスト実行
方程式の種類を選択してください:1の整数であり、2、画分 1は、 トピックの数を入力してください: 5 値の最大範囲を入力してください: 30 13 + 2 =回答を入力してください 15 =回答を13-3入力してください 10 24 + 7 =回答を入力してください 32 25 + 14 =回答を入力します。 39 27-11 =回答を入力してください: 16件の ディスプレイ回答、出力:1 1つの。 正解: 15 10 31である 39の 16 正解4つの質問が間違ってタイトル1に答え 式タイプを選択:1の整数、2、小数 2は、 トピックの数を入力してください: 5 分母の最大範囲の値を入力してください: 100 17/2 + 99分の40 =あなたの答えを入力します。 253分の123 11 / 31-51 / 72 =あなたの答えを入力してください: 64分の34 14 / 19-13 / 20 =あなたの答えを入力します。 11/12 76分の66 + 75/100 =あなたの答えを入力してください: 456分の345 * 30/64 28/40は=あなたの答えを入力します: 456分の123は、 答えを入力し、表示される:1 。1つの 3960分の1763 -789/2232 380分の33 76分の123 21/64 解答の質問が間違って5つの質問に答え0
V.スニペット
1.間違った質問に対して対象を計算
IF(scanner.nextInt()== 1){ ため(I = 0、IはX <; Iを++){ System.out.print(rigthanswer [I])の; のSystem.out.println( "\のT"); IF (youranswer [I] == rigthanswer [I]){ rigthN ++; //対象の計算を行う }他に{ wrongN ++; //間違った主題を計算 } } System.out.printの( "答え" + rigthN + "タイトル" ); System.out.printの( "間違った答え" + wrongN + "タイトル"); } } }
2.ランダムに生成された整数
IF(scanner.nextInt()== 1){ ため(I = 0、IはX <; Iを++){ System.out.print(rigthanswer [I])の; のSystem.out.println( "\のT"); IF (youranswer [I] == rigthanswer [I]){ rigthN ++; //対象の計算を行う }他に{ wrongN ++; //間違った主題を計算 } } System.out.printの( "答え" + rigthN + "タイトル" ); System.out.printの( "間違った答え" + wrongN + "タイトル"); } } }
3. 4つの操作
IF(C == 0){//加法 Z = X1 * M2 + X2 * M1。 M = M1 * M2; D =簡略化(Z、M)。 System.out.print(X1 + "/" + M1 + "+" + X2 + "/" + M2 + "=")。 } (C == 1){//减法場合 Z =×1 * M2-X2の* m1と、 M = M1 * M2; D =簡略化(Z、M)。 System.out.print(X1 + "/" + M1 + " - " + X2 + "/" + M2 + "="); } IF(C == 2){//乘法 Z =×1 *×2。 M = M1 * M2; D =簡略化(Z、M)。 } (Cの== 3){//除法場合 Z = M1の*×2。 Mは、M2 *×1を=。 D =簡略化(Z、M)。
VIの概要
私は基礎を持っていなかったので、多くの場所ではない、少しを完了するために、学生に尋ねる、私は学ぶことを待っている多くのがあります
七、PSPを構成してみてください
PSP2.1 | 概要 | 計画された合計(h)を完了するのに必要な時間 | 完了するために必要な実際の時間(h) |
プランニング | 計画 | 8 | 48 |
推計 | これは、タスクは、一般的手順を作業に多くの時間と計画が必要と推定しました | 8 | 48 |
開発 | 開発 | 4 | 24 |
分析 | (新しい技術を学ぶ含む)ニーズ分析 | 30分 | 30分 |
デザインスペック | 設計ドキュメントの生成 | 0 | 0 |
デザインレビュー | ・デザインレビュー(と彼の同僚は、設計文書を見直し) | 0 | 0 |
標準コーディング | コードの仕様(現在の開発のための適切な規範の開発) | 0 | 0 |
設計 | 具体的な設計 | 30分 | 30分 |
コーディング | 具体的なコーディング | 8 | 28 |
コードレビュー | コードレビュー | 3 | 8 |
テスト | 検査(セルフテスト、コードを変更し、変更を提出) | 1 | 2 |
報告 | レポート | 1 | 30分 |
試験報告書 | テストレポート | 30分 | 50分 |