草庐IT

整数二分

全部标签

java == 用于整数

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Inconsistentbehavioronjava's==Integerwrapperobjectssharethesameinstancesonlywithinthevalue127?我发现了Integer对象的以下==行为,但我无法理解它。(我很清楚应该使用equals进行此类比较,但我正在为OCPJP学习......)简而言之,==对1000按预期工作,但对10不工作。前一段代码为:Integeri1=1000;Integeri2=1000;if(i1!=i2)System.out.println("

java - 最近的可整除整数

例子。inta=254;intb=25;intc=(closestintegerto`a`thatisdivisibleby`b`)如何找到整数c?该示例的结果是c=250。 最佳答案 有两种情况需要考虑:小于或等于a的最接近的整数:intc1=a-(a%b);大于a的最接近的整数:intc2=(a+b)-(a%b);然后我们需要检查哪个更接近a并返回:intc;if(a-c1>c2-a){c=c2;}else{c=c1;}所以我们可以像这样创建一个closestInteger()方法:staticintclosestInteger

java - 两个整数相乘溢出导致负数

考虑Java语言规范中的这段代码。classTest{publicstaticvoidmain(String[]args){inti=1000000;System.out.println(i*i);longl=i;System.out.println(l*l);}}输出是-7273799681000000000000为什么(i*i)的结果是-727379968?理想情况下,它应该是1000000000000。我知道整数的范围是从–2147483648到2147483647。所以显然是1000000000000不在给定的范围内。为什么结果会变成-727379968?

java - 如何在java中输出无符号整数的绝对值

这个问题在这里已经有了答案:DeclaringanunsignedintinJava(10个答案)关闭4年前。我想将4294967295赋给一个变量(2^32-1)很明显,我不能用Integer做到这一点,而可以用Long做到这一点。但是,我注意到Java8提供了无符号整数(至少是某些方法)。有谁知道Integer.parseUnsignedInt()方法的作用?当我输入"4294967295"并打印变量时,它给出的输出为-1(-2代表4294967294,-3代表4294967293等等...)有没有办法让我仍然可以在变量中包含4294967295?我是不是漏掉了什么?a=Integ

java - 如何从java中的字节读取有符号整数?

我有一个规范,它读取接下来的两个字节是有符号的int。要在java中阅读,我有以下内容当我使用以下代码在java中读取一个有符号的int时,我得到一个值65449unsigned的计算逻辑inta=(byte[1]&0xff)我认为这是错误的,因为如果我和0xff我得到一个无符号的等价物所以我删除了&0xff和下面给出的逻辑inta=byte[1]我试图用规范读取的方式来抵消这些值,但这看起来是错误的。因为堆的大小不在此范围内。在java中计算signedint的正确方法是什么?规范是这样的somespec(){xtype8uint8xStyle16int16}xStyle:一个带符号

java - 如何修复在 Java 中添加整数的错误?

在给定的例子中:inta,b,c;a=2111000333;b=1000222333;c=a+b;System.out.println("c="+c);将返回:c=-1183744630,为什么?如何解决? 最佳答案 您的整数溢出。整数的最大值为Integer.MAX_VALUE(2^31-1)。如果该值变大,您的变量将不再具有正确的值。多头的范围更大。longa,b,c;a=2111000333;b=1000222333;c=a+b;System.out.println("c="+c);

java - 克隆一个整数

我正在尝试克隆一个Integer类的对象,它确实实现了可克隆接口(interface)。Integera=newInteger(4);Integerb=a.clone();我知道有解决办法,但我必须这样实现。为什么我收到这个错误=clone()在java.lang.Object中具有protected访问权限为什么会这样说?clone方法不是clonable接口(interface)的publicabstract方法吗,跟object有什么关系。提前致谢:-) 最佳答案 java.lang.Integer是不可变的。没有理由克隆一个

java - 如何按整数值对 HashMap 进行排序

这个问题在这里已经有了答案:SortaMapbyvalues(63个答案)SortingHashMapbyvalues[duplicate](12个答案)关闭8年前。HashMapmap=newHashMap();map.put("a",4);map.put("c",6);map.put("b",2);期望的输出(HashMap):c:6a:4b:2我找不到任何有关按值降序的信息。如何实现?(不推荐额外类(class))

java - 整数 i=3 vs 整数 i= 新整数 (3)

这个问题在这里已经有了答案:WeirdIntegerboxinginJava(12个答案)WhyareautoboxedIntegersand.getClass()values==-equal,notonly.equals()-equal?(4个答案)关闭9年前。我正在比较2段代码。首先Integeri=3;Integerj=3;if(i==j)System.out.println("i==j");//printsi==j其次,Integeri=3;Integerj=newInteger(3);if(i==j)System.out.println("i==j");//doesnotpr

Java 负整数转十六进制并返回失败

publicclassMain3{publicstaticvoidmain(String[]args){Integermin=Integer.MIN_VALUE;StringminHex=Integer.toHexString(Integer.MIN_VALUE);System.out.println(min+""+minHex);System.out.println(Integer.parseInt(minHex,16));}}给予-214748364880000000Exceptioninthread"main"java.lang.NumberFormatException:For