有看到一題考古題 讀入一正整數,輸出2進位,3進位......8進位的各種表示法(要用GOSUB或副程式) 嗯...除了JAVA我其他程式碼一概看無...也不知道甚麼是GOSUB 我只知道根據JAVA的寫法我寫成 package javaapplication1; import java.io.* ; public class Main { public static void main(String[] args)throws IOException { int i,n; while(true){ System.out.println("請輸入數字"); try{ BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); String str = buf.readLine(); n=Integer.parseInt(str); }catch(NumberFormatException exception){ System.out.println("教你打數字聽不懂啊!!"); continue; }//如果輸入的不是數字的話出現訊息並要求重新輸入 break;//如果輸入的是數字即跳出迴圈 } for(i=2;i<=8;i++){ System.out.print(n+"的"+i+"進位值="); convert(n,i); System.out.println("") }/*X的2進位值=XXXXX X的3進位值=XXXXX X的4進位值=XXXXX X的5進位值=XXXXX X的6進位值=XXXXX X的7進位值=XXXXX X的8進位值=XXXXX */ } static void convert(int n,int i){ int j; if(n<0){ System.out.print("-"); n=-n; } j=n/i; if(j!=0) convert(j,i); System.out.print(n%i); } } 編譯結果是沒甚麼語法上的錯誤 使用上也大致正常 想要請教老師有沒有更漂亮的寫法 或是說有沒有可能出現的漏洞我疏忽了 |
2012年8月4日 星期六
考古題
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言