切換
舊版
前往
大廳
主題

(Java程式碼) 10進位→任何進位

深海異音 | 2013-10-01 02:25:23 | 巴幣 10 | 人氣 8354

進位轉換:
【10進位】→【任何進位】,並且進出算式。




截圖


01.



02.



03.






程式碼


import  java.io.BufferedReader;
import  java.io.IOException;
import  java.io.InputStreamReader;

public  class  _10_change_all  {

      public  static  void  main(String[]  args)  throws  NumberFormatException,
                   IOException  {

             BufferedReader  sc  =  new  BufferedReader(
             new  InputStreamReader(System.in));

             System.out.println("10進位任何進位\n//-----------------------");

             System.out.print("輸入進位值:");
             int  chu_shu  =  Integer.valueOf(sc.readLine());//  除數(2816)

             System.out.print("輸入轉換的數字:");//  被除數(欲轉換的數字)
             int  bei_chu_shu  =  Integer.valueOf(sc.readLine());

             int  yu  =  9;//  餘數
             String  shang  =  "";//  
             String  sum  =  "";//  最後顯示的結果
             String  in  =  "";//  儲存用所有計算結果的字串
             int  xx  =  String.valueOf(bei_chu_shu).length();
             in  =  "10進位:"  +  bei_chu_shu +  "        "  +  
             chu_shu +  "進位"  +  "\n\n";

             //  被除數  不等於0
             while  (bei_chu_shu  !=  0)  {
                   yu  =  bei_chu_shu  /  chu_shu;//  餘數=被除數  /  除數
                   shang  =  String.valueOf(yu  -  (yu  -  (bei_chu_shu  %  chu_shu)));//  餘數
                   in  +=  String.format("%1$"  +  ""  +  xx  +  "d",  bei_chu_shu)
                               + " ÷  " +  chu_shu +  "    =  "
                                +  String.format("%1$"  +  ""  +  xx  +  "d",  yu)  +  "  ----  "
                                +  shang  +  "\n";
                   bei_chu_shu  =  yu;//  讓下次迴圈的  被除數=  目前的  餘數
                   sum  =  shu_zhuan_ying(shang)  +  sum;//  答案(注意【商】在前面)
             }

             in  +=  "\n"  +  "答案:  "  +  sum;
             System.out.println(in);//  顯示計算結果
             System.gc();//  釋放記憶體
      }

      //  數字轉英文
      public  static  String  shu_zhuan_ying(String  h)  {

             String[]  s  =  {  "0",  "1",  "2",  "3",  "4",  "5",  "6",  "7",  "8",  "9",  "A",
                          "B",  "C",  "D",  "E",  "F",  "G",  "H",  "I",  "J",  "K",  "L",  "M",
                          "N",  "O",  "P",  "Q",  "R",  "S",  "T",  "U",  "V",  "W",  "X",  
                          "Y",  "Z"  };

             String[]  z  =  {  "0",  "1",  "2",  "3",  "4",  "5",  "6",  "7",  "8",  "9",  "10",
                          "11",  "12",  "13",  "14",  "15",  "16",  "17",  "18",  "19",  "20",
                          "21",  "22",  "23",  "24",  "25",  "26",  "27",  "28",  "29",  "30",
                          "31",  "32",  "33",  "34",  "35"  };

             for  (int  i  =  0;  i  <=  35;  i++)  {
                   if  (h.equals(z[i]))  {
                          return  s[i];
                   }
             }

             return  "("  +  h  +  ")";//  如果都不是,則印出原來的數字
      }


}
 

送禮物贊助創作者 !
0
留言

創作回應

NewYorkCunt
不錯
2017-02-24 01:48:06
深海異音
好久以前上課寫的,寫得這麼亂,連我自己都會怕
2017-02-24 02:17:43
NewYorkCunt
一開始看到我覺得羅馬拼音 有點好笑 Kappa
2017-02-24 04:07:01
愤世嫉俗
GREAT
2017-10-22 14:55:50

更多創作