「中關村黑馬程式設計師訓練營」練習題(二)

2021-05-24 00:07:30 字數 1350 閱讀 2347

/** 2. 編寫乙個程式,它先將鍵盤上輸入的乙個字串轉換成十進位制整數,然後列印出這個十進位制整數對應的二進位制形式。

* 這個程式要考慮輸入的字串不能轉換成乙個十進位制整數的情況,並對轉換失敗的原因要區分出是數字太大,

* 還是其中包含有非數字字元的情況。

* 這次得到的餘數就是次低位,如此迴圈,直到被除數為0為止。其實,只要明白了列印出乙個十進位制數的每一位的方式

*(不斷除以10,得到的餘數就分別是個位,十位,百位),就很容易理解十進位制數轉二進位制數的這種方式。

*//*

* 這道題的解題思路事實上題目已經講了,在此基礎上我特化一下我的思路:首先定義乙個字元陣列,把0到9的十個數字

* 當做字元儲存在裡面,從命令列讀取一行字串,用charat()函式把命令列字串的每乙個字元取出來,與十個十進位制

* 數進行比較,若與其中的任意乙個相等則break退出測試下乙個字元,直到字串的末尾,即args[0].length()長度,

* 這裡一定要注意不是args.length,args.length表示args陣列的長度。當發現有字元不是數字的話則退出並列印「裡面

* 裡面有非數字字元」,若整個字串的每乙個字元都是0到1十個數字中的乙個的話,接著轉換為double型別,並判斷是不是

* 超出了int型別整數所能表示的範圍,若超出了則列印「數字過大,不能轉換為int型別整數」,若每超出的話則把字串

* 轉換為int型別整數,然後進行二進位制轉換,轉換之後列印出來。 這裡注意,在二進位制轉換的時候我用到了bufferedbuild,

* 求餘,餘數繼續放在bufferedbuild的後面,如此迴圈,直到被除數為0。迴圈完之後,呼叫reverse函式將bufferedbuild

* 裡面的字串進行反轉,列印出來,所得結果即為相應的二進位制數

*/package com.itcast.exercise;

public class reversetobinary ;

/*for(i=0;ic = args[0].charat(i);

for(j=0;jif(c==data[j])

}if(j>=data.length)

}double doub = double.parsedouble(args[0]);//首先轉換為double型別,因為double型別表示的範圍比較大

if(doub>integer.max_value) else

system.out.println(sb.reverse());

}//string s = "121.456";                

//system.out.println(s.length());      

//因為上面迴圈我寫成了i}

}

「中關村黑馬程式設計師訓練營」練習題(三)

3.驗證1 100之內的數是否符合哥德 猜想 哥德 猜想 所有大於2的偶數都是兩個素數之和.素數定義為 乙個數除了1和自己本身之外不被任何數整除.這道題我的解題思路是這樣的,因為考慮到只要證明1到100大於2的偶數可以表示成兩個素數相加的形式,所以對於每乙個滿足條件的偶數來說,只要找出一對都是素數的...

黑馬程式設計師訓練營 泛型

一 泛型的概念 泛型在本質上是指引數化型別。引數化型別的重要性在於,它們允許建立這樣的一些類 介面和方法 其所操縱的資料型別被指定為乙個引數。需要注意的是,引數化型別只在編譯期間才有意義,即其存在是為編譯器更嚴格的型別檢查而服務的,因此它確保了型別安全。二 泛型中的相關術語 1 arraylist ...

黑馬程式設計師 基礎練習題

static void main string args 天,它有周天 days,week,dd catch console.readkey 和,把這兩個陣列去除重複項合併成乙個。static void main string args string number2 在定義乙個可變陣列 listli...