Создание метода для перехода от числа к двоичному коду, к букве, к матрице
Поэтому я пишу эту программу, которая имитирует coinflip со сторонами H и T, и пришло время создать мой метод. Основная идея программы заключается в том, что пользователь должен иметь возможность ввести любое число ч/б 1 и 511. Как только число введено, мой метод должен преобразовать их число в двоичное, 0-это орел, а 1-Решка.
Поэтому, как только я получу 000000011, возможно, я хочу напечатать матрицу, которая выглядит следующим образом:
Ха ха
Ха ха
HTT
У кого-нибудь есть идея? Вот мой код до сих пор, однако мой метод пуст.
import java.util.Scanner; public class Problem8_11 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Enter one number between 0 and 511: "); int number = input.nextInt(); String binaryValue = binaryConverter(number); int[][] matrix = new int[3][3]; int binary = 0; for (int i = 0; i < matrix.length; i++) { for (int x = 0; x < matrix[i].length; x++) { int HeadOrTails = (binaryValue.charAt(binary++) == '0') ? 0 : 1; matrix[x][i] = HeadOrTails; } } for (int i = 0; i < matrix.length; i++) { for (int x = 0; x < matrix[i].length; x++) { char HorT = (matrix[i][x] == 0) ? 'H' : 'T'; System.out.print(HorT + ""); } System.out.println(" "); } }
Что я уже пробовал:
Я пробовал использовать Charachter.isDigit но это не кажется очень полезным. Мне также сказали, что есть бинаритостринговый преобразователь, но я не смог его найти.
Dr.Walt Fair, PE
Вы ограничены целыми числами? Сколько байтов?
Member 13689295
Да, пользователь может ввести только между 1-511. Не совсем понимаю, что вы имеете в виду под байтами.