2015年1月19日 星期一

java程式設計題目---數字處理【十六進位轉二進位】

設計一程式,提示使用者輸入一16進位數字,將該16進位數字轉為對應的2進位數字。使用字元"1"或"0"每四個空一格的方式從螢幕輸出。
例如:輸入123F5,輸出:0001 0011 1111 0101。



  1. import java.util.Scanner;
  2.  
  3. public class C1
  4. {
  5.  
  6. public static void main(String[] args)
  7. {
  8. Scanner input = new Scanner(System.in);
  9. Scanner scn = new Scanner(System.in);
  10. //提示使用者輸入16進位數字
  11. System.out.print("請輸入數字:");
  12. String userenter = scn.next();
  13. userenter = userenter.toUpperCase(); //先將使用者輸入的文字全部轉大寫
  14. int a = userenter.length();
  15. char[] newuserenter = new char[a];
  16. for(int i = 0 ; i < newuserenter.length ; i++)
  17. //將使用者輸入的字串轉成字元
  18. {
  19. newuserenter[i] = userenter.charAt(i);
  20. }
  21. for(int i = 0 ; i < newuserenter.length ; i++)
  22. //判斷每個字元的對應二進位數字並印出結果
  23. {
  24. switch(newuserenter[i])
  25. {
  26. case '0' : System.out.print("0000 "); break;
  27. case '1' : System.out.print("0001 "); break;
  28. case '2' : System.out.print("0010 "); break;
  29. case '3' : System.out.print("0011 "); break;
  30. case '4' : System.out.print("0100 "); break;
  31. case '5' : System.out.print("0101 "); break;
  32. case '6' : System.out.print("0110 "); break;
  33. case '7' : System.out.print("0111 "); break;
  34. case '8' : System.out.print("1000 "); break;
  35. case '9' : System.out.print("1001 "); break;
  36. case 'A'/*10*/ : System.out.print("1010 "); break;
  37. case 'B'/*11*/ : System.out.print("1011 "); break;
  38. case 'C'/*12*/ : System.out.print("1010 "); break;
  39. case 'D'/*13*/ : System.out.print("1011 "); break;
  40. case 'E'/*14*/ : System.out.print("1110 "); break;
  41. case 'F'/*15*/ : System.out.print("1111 "); break;
  42. }
  43. }
  44. }
  45.  
  46. }

沒有留言:

張貼留言

Go(Golang)程式語言 設定GCC

下載MSYS2:  https://www.msys2.org/ 安裝 程式開始執行後輸入: pacman -Syu y y 在安裝目錄底下找到msys2.exe,雙擊執行 輸入指令: pacman -Su pacman -S --needed base-devel mingw-...