К вашему сведению: это практическое домашнее задание. Я работал над этим, но теперь я застрял. Любые советы / помощь будут оценены. Я смотрел на это некоторое время, и никакого прогресса достигнуто не было.
Обобщенный вопрос:
Девять монет помещаются в матрицу 3х3, некоторые лицевой стороной вверх, а некоторые лицевой стороной вниз. Головы = 0 и хвосты = 1. Каждое состояние также может быть представлено с помощью двоичного числа. Есть 512 возможностей. Проблема: Напишите программу, которая запрашивает у пользователя число от 0 до 5 и отображает соответствующую матрицу с символами H и T следующим образом:
Пользователь вводит номер 7 (это 000000111 или ЧЧЧХХХТТТ)
Дисплей должен быть:
H H H
H H H
Т Т Т
Это то, что я имею до сих пор. Я не спрашиваю ответ обязательно, я просто хотел бы толчок в правильном направлении. Спасибо
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");
}
}
}