供參考:這是一個練習作業練習。我一直在努力,但現在我卡住了。任何提示/幫助將不勝感激。我一直在盯着它,並沒有取得任何進展。二進制字符矩陣幫助
總結的問題: 九個硬幣放置在3x3矩陣中,有些面朝上,有些面朝下。頭= 0和尾= 1.每個狀態也可以用二進制數表示。有512種可能性。問題:寫一個程序要求用戶對應,字符H和T這樣矩陣0-511和顯示器之間的數字:
用戶輸入數7(其爲000000111或HHHHHHTTT) 顯示應該是: HHH HHH TTT
這是我到目前爲止。我不是一定要回答這個問題的,我只是想朝着正確的方向努力。感謝
import java.util.Scanner;
public class converting {
public static void main(String[] ar) {
Scanner s = new Scanner(System.in);
System.out.print("Enter a number between 0 and 511: ");
int number = s.nextInt();
if(number <= 511 && number > 0)
{
String bin = Integer.toBinaryString(number);
String tails = bin.replace('1', 'T');
int count = 0;
char[] arr = tails.toCharArray();
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);
count++;
if (count == 3) {
System.out.println();
count = 0;
}
}
}
else{
System.out.print("Please enter a number between 0 and 511\n");
}
}
}
感謝您的回答。如果(number <= 511 && number> 0),我添加了有效數字 的檢查。 我也嘗試使用替換,我得到它的T: 字符串尾巴= bin.replace('1','T'); 我現在的問題是如何用0替換所有的F。我的char數組目前是char [] arr = tails.toCharArray();只有被替換的1。那有意義嗎? 有沒有辦法用我現在的代碼更新我的第一篇文章? – relyt 2010-02-09 00:39:02
好的。更新第一篇文章。謝謝! – relyt 2010-02-09 00:53:00
@relyt:不應該''0'是'> = 0'嗎?或者是用戶不允許擁有一個全是「H」的電路板? – 2010-02-09 04:59:50