国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

遞歸思想實現大數問題(打印1到n位最大整數)(JAVA代碼)

2019-11-06 08:42:28
字體:
來源:轉載
供稿:網友
public static void main(String[] args){ demo()} PRivate void demo() { final BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); new Thread(new Runnable() { @Override public void run() { int nNumber = 5;//測試數據n為5 try { if (reader.read()!=-1){ String inPut= reader.readLine(); try { nNumber =Integer.valueOf(inPut); }catch (NumberFormatException e){ System.out.print("請輸入正整數!"); } } } catch (IOException e) { e.printStackTrace(); } char[] num = new char[nNumber]; for (int i = 0;i < 10;i++){//此處的i代表字符數組的最高位的值可從0取到9 num[0] = (char)('0'+i); inc(num,nNumber,0); } } }).start(); } /** * * @param num 代表字符數組 * @param len len 代表祖父數組的長度 * @param i i 代表的是字符數組上的某一位 */ private void inc(char[] num,int len,int i){ int j = 0; if (i == len-1){//當i為最后一位的時候輸出此數 print(num);//每執行一次此方法就是確定了一個數,此處會執行n的10次方次 return; } for (j = 0 ; j < 10 ; j++){//j代表的是數組上每一位都可以從0增加到9 num[i + 1] = (char) ('0'+j);//例如n等于20,那么當i等于19的時候,此處代碼任會執行10次,輸出10個數,在這個過程中i不會增加 inc(num, len, i + 1);//迭代使得字符數組上的每一位都可以從0增到9,那么總共執行了此方法n的10次方次 } }/** * 此方法用于將字符數組(過濾高位的0,以符合閱讀習慣)輸出到控制臺 * @param num 字符數組 */ private void print(char[] num){ int i = 0; int len = num.length; while (i<len && num[i] == '0'){ i++; } char[] number = new char[len-i]; for (int j = i;j<len;j++){ number[j-i] = num[j]; } System.out.print(number); System.out.println(); }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 建宁县| 浦县| 万山特区| 阜新市| 通海县| 固安县| 泗洪县| 四会市| 白水县| 平遥县| 深州市| 贡嘎县| 中宁县| 南皮县| 高碑店市| 承德市| 民丰县| 南部县| 阳东县| 闸北区| 疏附县| 太白县| 宁都县| 深圳市| 班玛县| 繁昌县| 隆子县| 固原市| 襄汾县| 新乡县| 大渡口区| 阳曲县| 陕西省| 虞城县| 县级市| 遂宁市| 称多县| 裕民县| 新巴尔虎左旗| 文登市| 静宁县|