Как преобразовать из шестнадцатеричной в десятичную и из десятичной в двоичную

Я хотел бы, как я могу включить десятичный результат из танцевального метода в световой. Например, в этой программе, если я ввожу 5F, десятичным результатом будет 95. Ну, я хочу, чтобы это 95 отображалось как статическая переменная int в методе light для преобразования в двоичное число. Было бы также очень полезно, если бы вы могли сказать мне, как я могу ограничить шестнадцатеричное число только двумя цифрами. Спасибо за чтение!

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class test2 {
public static void main(String args[]) throws Exception{
        DANCE(args);
        LIGHTS(args);

}

      public static void DANCE(String[]args) throws Exception {
            BufferedReader reader= new BufferedReader(new InputStreamReader(System.in));
            System.out.println("Enter hex no:"+"");
            int no= Integer.parseInt(reader.readLine(), 16);
            System.out.println("Decimal no:"+no);

}

       public static void LIGHTS(String a[]){
                System.out.println("Binary representation: ");
                System.out.println(Integer.toBinaryString(no));
      }
    }

person Mariam Knight    schedule 16.01.2019    source источник
comment
Вы должны следовать соглашениям об именах Java: имена методов пишутся в camelCase.   -  person MC Emperor    schedule 16.01.2019
comment
Максимальное 2-значное число в шестнадцатеричном виде — это FF, что равно 255 в десятичном формате. Вы можете ограничить ввод, проверив, что десятичный ввод равен ‹= 255.   -  person Adam Bates    schedule 16.01.2019
comment
Большое спасибо, очень помогли все ваши комментарии.   -  person Mariam Knight    schedule 16.01.2019


Ответы (1)


Добро пожаловать в Stackoverflow,

если вы хотите преобразовать шестнадцатеричное значение в простое целое число, вы можете использовать:

int i = Integer.parseInt("5F", 16);
System.out.println(i); // will print 95

И если вы хотите, чтобы ваше простое целое число было преобразовано в двоичную строку, вы можете использовать:

String j = Integer.toBinaryString(i); // from the above variable j which contains 95
System.out.println(j); // will print 1011111
person smsnheck    schedule 16.01.2019
comment
Большое спасибо, я понял, как это сделать. Спасибо еще раз :) - person Mariam Knight; 16.01.2019