2015年1月19日 星期一

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

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



import java.util.Scanner;

public class C1 
{

 public static void main(String[] args) 
 {
  Scanner input = new Scanner(System.in);
  Scanner scn = new Scanner(System.in); 
  
  //提示使用者輸入16進位數字
  System.out.print("請輸入數字:");
  String userenter = scn.next();
  
  userenter = userenter.toUpperCase(); //先將使用者輸入的文字全部轉大寫
  
  int a = userenter.length();
  
     char[] newuserenter = new char[a];
     
     for(int i = 0 ; i < newuserenter.length ; i++)
     //將使用者輸入的字串轉成字元
     {
      newuserenter[i] = userenter.charAt(i);
     }
    
     for(int i = 0 ; i < newuserenter.length ; i++)
     //判斷每個字元的對應二進位數字並印出結果
     {
      switch(newuserenter[i])
      {
      case '0' : System.out.print("0000 ");  break;
      case '1' : System.out.print("0001 ");  break;
      case '2' : System.out.print("0010 ");  break;
      case '3' : System.out.print("0011 ");  break;
      case '4' : System.out.print("0100 ");  break;
      case '5' : System.out.print("0101 ");  break;
      case '6' : System.out.print("0110 ");  break;
      case '7' : System.out.print("0111 ");  break;
      case '8' : System.out.print("1000 ");  break;
      case '9' : System.out.print("1001 ");  break;
      case 'A'/*10*/ : System.out.print("1010 ");  break;
      case 'B'/*11*/ : System.out.print("1011 ");  break;
      case 'C'/*12*/ : System.out.print("1010 ");  break;
      case 'D'/*13*/ : System.out.print("1011 ");  break;
      case 'E'/*14*/ : System.out.print("1110 ");  break;
      case 'F'/*15*/ : System.out.print("1111 ");  break;
      
      }
      
     }
     
 }

}

沒有留言:

張貼留言

Go(Golang)程式語言 設定GCC

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