почему не показывать точное значение, когда значение Int начинается с нуля / 0?

#java #arrays

#java #массивы

Вопрос:

 class Method{
    
        String name ;
        int Num ;
        
        void text() {
            System.out.println(" Hello this code is running coding by "  name " number "  Num);
        }
        
    
}
public class MethodClass {

    public static void main(String[] args) {
        
        Method Object = new Method();
        
        Object.name = " NAHIAN " ;
        
        Object.Num = 0123 ;
        
        Object.text();
        
    }

}
 

Показать результат:

  Hello this code is running coding by  NAHIAN  number 83
 

Но 83 должно быть 0123

Комментарии:

1. Просто для печати измените Num на String тип

2. Я понял. Спасибо

Ответ №1:

когда вы добавляете 0 впереди, оно ссылается на значение octa (base8). Итак, 0123 равен 83 в dec (base10)

Чтобы распечатать число в octa. Вы можете преобразовать его в строку, используя следующее

 String convertedString = Integer.toOctalString(0123);

System.out.println("The octa value is "   convertedString);
 

вы можете обратиться к https://www.javatpoint.com/java-decimal-to-octal для получения дополнительной информации.

Ответ №2:

Используйте строку в переменной Num вместо целого числа.

     String name ;
    String Num ;
    void text() {
        System.out.println(" Hello this code is running coding by "  name " number "  Num);}