藍橋杯基礎訓練篇(java 十六進制轉八進制,二進制求和)

基礎練習 十六進制轉八進制  
                時間限制:1.0s   內存限制:512.0MB

        問題描述
          給定n個十六進制正整數,輸出它們對應的八進制數。

        輸入格式
          輸入的第一行爲一個正整數n (1<=n<=10)。
          接下來n行,每行一個由0~9、大寫字母A~F組成的字符串,表示要轉換的十六進制正整數,每個十六進制數長度不超過100000。

        輸出格式
          輸出n行,每行爲輸入對應的八進制正整數。

          【注意】
          輸入的十六進制數不會有前導0,比如012A。
          輸出的八進制數也不能有前導0。

        樣例輸入
          2
          39
          123ABC

        樣例輸出
          71
          4435274

          【提示】
          先將十六進制數轉換成某進制數,再由某進制數轉換成八進制。
public class _5 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		transform();
	}
	
	//首先,使用Java中封裝的方法先將十六進制轉換爲十進制,再將十進制轉換爲八進制
	public static void transform() {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt(); //獲取鍵盤的輸入
		String[] arry = new String[10];
		if(n>=1 && n<= 10) {
			for(int i=0;i<n;i++) {
				String number = sc.next(); //next() 查找並返回來自此掃描器的下一個完整標記
				if(number.length() < 100000) {
					arry[i] = Integer.toOctalString(Integer.valueOf(number,16)); 
					//System.out.println(Integer.valueOf(number,16));//將十六進制轉變成十進制
					//java.lang.Integer.toOctalString() 方法返回一個整數參數
					//的作爲以8爲基數下列字符的無符號整數的字符串表示形式作爲八進制數字:01234567
					//String result = Integer.toBinaryString(i);//將十進制轉換成二進制
				}
			}
			for(int i=0;i<n;i++) {
				System.out.println(arry[i]);
			}			
		}
	}
}
題目:二進制求和
給定兩個二進制字符串,返回他們的和(用二進制表示)。

輸入爲非空字符串且只包含數字 1 和 0。

示例 1:

輸入: a = "11", b = "1"
輸出: "100"
示例 2:

輸入: a = "1010", b = "1011"
輸出: "10101"
public class Main {
	public static void main(String[] args) {
		Main test = new Main();
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		String a = sc.nextLine();
		String b = sc.nextLine();
		String c = test.addBinary(a,b);
		System.out.println(c);	
	}
	 public String addBinary(String a, String b) {
		 //思路 先將2進制轉變成10進制 相加後在轉變成2進制
		 int c_a = Integer.valueOf(a,2); //直接將 2進制轉變成10進制
		 int c_b = Integer.valueOf(b, 2);
		 int c = c_a + c_b;
		 String x = Integer.toBinaryString(c);
		return x;
		 }
	 }

這種做法沒有考慮大數問題

https://blog.csdn.net/catchingSun/article/details/50571593

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章