20175234 2018-2019-2 我的項目:數字黑洞

黑洞簡介

數字黑洞是什麼(如下連接能夠直達,單個詳細博客)

對於數學黑洞,不管怎樣設值,在規定的處理法則下,最終都將獲得固定的一個值,再也跳不出去了,就像宇宙中的黑洞能夠將任何物質,以及運行速度最快的光緊緊吸住,不使它們逃脫同樣。java

西西弗斯黑洞

西西弗斯黑洞,即123黑洞,對任一整數,不斷重複數出這個數中的偶數個數,奇數個數,及這個數中所包含的全部位數的總數,將數整理爲「偶數個數,奇數個數,總位數」排列,最後必得出123的結果。git

冰雹猜測

冰雹猜測是指,一個天然數x,若是是奇數就乘以3再加1,若是是偶數就析出偶數因數2ⁿ,這樣通過若干個次數,最終回到1。編程

聖經數

任寫一個3的倍數(正整數),把各位數字的立方相加,得出和,再把和的各位數字立方後相加,如此反覆進行,最後必然出現「聖經數」。函數

數字黑洞1和4

數學黑洞1和4是指任取一個非0天然數,求出它的各個數位上數字的平方和,獲得一個新數。再求出這個新數各個數位上數字的平方和,又獲得一個新數。如此進行到最後只有兩種狀況: 出現1,以後永遠都是1;出現4,以後開始按四、1六、3七、5八、8九、14五、4二、20循環。測試

需求分析

  • 根據用戶選擇的黑洞類型,驗證用戶輸入的正整數的黑洞狀況。

功能設計

  • 實現用戶想要驗證的黑洞類型。
  1. 西西弗斯黑洞
  2. 冰雹猜測
  3. 聖經數
  4. 數字黑洞1和4

  • 可以實現處理異常輸入值,如float型或者char型

測試運行

1.異常輸入測試
ui

2.調用其餘包內類結果測試
spa

其餘測試結果,可由上面連接,進入單個博客查看設計

設計實現

  1. 用戶界面 :實現讀取用戶輸入的黑洞類型
  2. 判斷輸入值是否合法
  3. 調用所須要的類型
  4. 計算、驗證黑洞狀況

核心代碼及碼雲連接

1.異常輸入處理,代碼以下3d

import java.util.Scanner;
public class Testint {
    public int Testint(){
        {
            Scanner sc = new Scanner(System.in);
            String x;
            int count = 0;
            while (count < 3) {
                try {
                    x = sc.nextLine();
                    //以獲取字符串形式獲取輸入值
                    if (Integer.valueOf(x) instanceof Integer) {
                    //判斷輸入值是否爲int型,Integer爲int的包裝類
                        int i = Integer.parseInt(x);
                        return i;
                    }
                } catch (Exception e) {
                    System.out.println("警告!!!您須要輸入正整數.");
                    count++;
                }
            }
            System.out.println("錯誤次數過多,您的請求被拒絕!");
            return -1;
        }
    }
}

其中next() 方法會使得出現以下狀況,因此必須須要nextLine()

instanceof是Java中的一個雙目運算符,用來測試一個對象是否爲一個類的實例,具體用法可參考instanceof的用法

2.調用其餘包中函數import 包名.函數名,例子如圖

3.計算整數的數據長度

除了簡單的遞歸除以10之外,可使用Java提供的爲int提供的封裝類Integer,如下是構造方法和經常使用方法摘要。



修改路上的坎坎坷坷

嘗試一
調用其餘主函數主函數名.main(null)

爲了使程序更加的整齊規範,仍是將這個用法廢棄了。

嘗試二
在嘗試更改類名、包名時,我看到了重構的方便

總結

1. 要儘可能按照駝峯規則命名,而且按照其英語名稱命名,增長後期整理總結可讀性。
2. 在前期寫單個函數時就要儘可能遵照SOLID規則,後期的修改更爲麻煩。

PSP

步驟 耗時(分鐘) 百分比
需求分析 50 14.2%
設計 40 11.4%
代碼實現 120 34.2%
測試 20 5%
分析總結 120 34.2%

參考資料

相關文章
相關標籤/搜索