2014-04-11 175 views
-1

需要製作一個輸入方法,num = stdIn.nextLine();並將其轉換爲二進制字符串。 「public static String toBinary(String num)」。在Java中。有任何想法嗎?只能找到int爲二進制。需要字符串,用戶可以輸入「q」退出程序。字符串輸入到二進制字符串的方法?

+0

你這是什麼通過將字符串轉換爲二進制?這不是一種自然的轉換,這就是爲什麼沒有預先存在的功能來做到這一點。什麼樣的二進制文件會「轉換」爲?或者,您想要將哪些字符串轉換爲「true」,哪個字符串轉換爲「false」? – PurpleVermont

+0

用戶只會輸入數字,需要打印爲二進制。必須製作一個取數的方法,除以2並用餘數做二進制。然後除以2並繼續。我如何爲此做出一個方法? – user3525012

+1

噢,我完全誤讀你需要做的事情(將二進制與布爾混合起來)。如果你已經有一個方法可以從一個int轉換成一個二進制,你可以將該字符串解析爲一個整數。 http://www.tutorialspoint.com/java/number_parseint.htm – PurpleVermont

回答

0
public static String toBinary(String num) { 
    int convertedNum = Integer.parseInt(num); 
    return Integer.toBinaryString(convertedNum); 
} 

請注意,您應該捕獲可能的運行時異常,因爲字符串值的整數轉換。

我希望我幫你!

+0

存儲的二進制代碼在哪裏?我會添加什麼打印? – user3525012

+0

system.out.print(?) – user3525012

+0

該方法返回二進制代碼字符串。你會有這樣的東西:System.out.print(toBinary(num)); –

0
public String toBinary(String num){ 
    return Integer.toBinaryString(Integer.parseInt(num)); 
} 
0
public static String toBinary (String num) throws NumberFormatException { 
    int n = Integer.parseInt(num); 
    return Integer.toBinaryString(n); 
} 

這是假設你調用方法前檢查「Q」(或者你可以捕捉它時,如果你喜歡的異常被拋出,但是這並不乾淨IMO)

+0

你會寫拋出部分,還是隻從int n = down? – user3525012

+0

是的,我會寫投擲部分。由於它是一個運行時錯誤,所以你不必聲明它,但是如果你傳遞一個不是整數的字符串,parseInt會拋出它,並且你應該在調用時捕獲它並打印出一個投訴,如果用戶輸入的糟糕的輸入。 – PurpleVermont