楼主,不引用大家,大家是看不到的。java 控制台自动会把"0100"转成10进制的,楼主直接想在控制台输出么?是输出到控制台,要能判断出进制,不然可能0开头0x开头的整型输入造成非法输入楼主你好,输出到控制台是什么解释? 如果是只为了打印出来,为什么一定要Integer呢?在输出的时候直接转化为你要的格式String就好了。 int i=64; int i=0100; 对于i来说二进制的值是一致的。只是显示的方式不同。 在输出前,自己写一个formatter方法进行转换,然后再输出可以解决问题。不必要依赖System的方法。 希望楼主能够把用例写清楚,比如有个int i 想在控制台输出显示为8进制的。
格式化输出一下就好了:public class Main { public static void main(String[] args) { int a = 01000; int b = 0x1000; System.out.printf( "%o%n", a ); System.out.printf( "%x%n", b ); } }
如果是System.out.println(0x100);输出0x100怎么做?
楼主,不引用大家,大家是看不到的。java 控制台自动会把"0100"转成10进制的,楼主直接想在控制台输出么?
楼主,不引用大家,大家是看不到的。java 控制台自动会把"0100"转成10进制的,楼主直接想在控制台输出么?是输出到控制台,要能判断出进制,不然可能0开头0x开头的整型输入造成非法输入
如果是只为了打印出来,为什么一定要Integer呢?在输出的时候直接转化为你要的格式String就好了。
int i=64; int i=0100; 对于i来说二进制的值是一致的。只是显示的方式不同。
在输出前,自己写一个formatter方法进行转换,然后再输出可以解决问题。不必要依赖System的方法。
希望楼主能够把用例写清楚,比如有个int i 想在控制台输出显示为8进制的。
System.out.println(Integer.toHexString(0x100));
convert(001000)或 convert(0x1234)为非法参数,是可以传的
不可以convert(int arg)方法参数只能是int类型,这是题目给定限定的方法
先说下0100,0x100是int类型,不会报错,方法参数题目给的是int类型,是给定的方法,我要写的是方法里的代码,之后题目是由系统判定给分,系统会用一大堆实例去检测这个方法,如果要是自己写的方法我自然会传String类型,现在是题目限定了,是不可以去修改方法模型的
int a = 01000;
int b = 0x1000;
System.out.printf( "%o%n", a );
System.out.printf( "%x%n", b );
}
}