Member 13689295 Ответов: 1

Создание метода для перехода от числа к двоичному коду, к букве, к матрице


Поэтому я пишу эту программу, которая имитирует 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. Не совсем понимаю, что вы имеете в виду под байтами.

1 Ответов

Рейтинг:
0

Member 13689600

В java есть встроенный метод Integer.toString(int i,int radix) который преобразует целое число в двоичное и возвращает двоичное значение в виде строки, которую вы можете сохранить в переменной strin g .

Integer.toString(int i,int radix)

i − это целое число, подлежащее преобразованию.

основание системы счисления − это системы счисления для использования в строковое представление.


В своей программе вы можете напрямую написать

String binaryValue = Integer.toString(число,2);

2-это радиус двоичной системы счисления
8 для восьмеричного числа
16 для шестнадцатеричной