Tag: 整数

为什么使用整数变量抛出exception?

我遇到了以下两个代码。 为什么它不会为浮点引发exception,而在其他情况下它会引发运行时exception。 class FloatingPoint { public static void main(String [] args) { float a=1000f; float b=a/0; System.out.println(“b=” +b); } } 输出:b =无穷大 。 如果我尝试使用int值,那么它将抛出运行时exception。 为什么会这样?

Java:批处理整数

我想知道在处理时间方面批处理给定数字的最佳方法是什么。 取项目: 9, 18, 7, 8, 4, 9, 11, 15, 3, 8, (项目1的处理时间为9,项目2的处理时间为18,等等) 如果批处理时间限制设置为20,则可能将项目分组为批次: {1, 3, 5} {2} {4, 6} {8, 9} {7, 10} (第1组是9 + 7 + 4 = 20)等,因此已经制作了5批项目,其中内容<= 20。 理想情况下,我希望它将它们分组为尽可能少的组。 以上情况至少有5组,内容限制为20 … 谢谢

Java – 模板中Byte,Integer,Long等的原始对应部分

背景 : 我正在尝试实现一个小模板,即generics类,这将允许我实现如下的传递引用function。 public static class Ref { T value; public Ref(T InitValue) { this.set(InitValue); } public void set(T Value) { this.value = Value; } public T get() { return this.value; } } 所以,我可以定义一个函数,它接受一个’Ref’,其值可以实际改变,例如 public static void function(Ref x) { x.set((byte)0x7E); } 要通过引用传递的变量的初始化看起来不那么优雅。 Ref to_be_changed = new Ref((byte)0); … function(to_be_changed); … Byte result = to_be_changed.get() […]

Double.intValue()如何工作?

这段代码 Double dbl = 254.9999999999999; Integer integ = dbl.intValue(); System.out.println(integ); 显示254,但更多一个“9” Double dbl = 254.99999999999999; Integer integ = dbl.intValue(); System.out.println(integ); 它已经是255 ..为什么?

java中的整数文字

Integer i1 = 127; Integer i2 = 127; if(i1==i2){ System.out.println(“true”); //prints true }else{ System.out.println(“false”); } Integer i3 = 128; Integer i4 = 128; if(i3==i4){ System.out.println(“true”); }else{ System.out.println(“false”); //prints false } 为什么如果Integer值小于127,则返回true,否则返回false。如果是原始值,则返回true。 或者如果我创建Integer i2 = new Integer(1); 这总是返回false。

在JMeter中的BeanShell Sampler中将字符串解析为整数

我正在尝试在JMeter中将字符串解析为整数但由于跟随错误而失败。 如果我尝试打印vars.get返回的字符串,它们看起来很好。 2014/06/28 00:08:52 WARN – jmeter.assertions.BeanShellAssertion: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: “if (ResponseCode != null && ResponseCode.equals (“200″) == false ) { int i = In . . . ” : Typed variable declaration : Method Invocation Integer.parseInt 以下是我的代码 if (ResponseCode != null && ResponseCode.equals (“200”) == false […]

Java整数自动自动装箱

我在Java(JDK 1.7)中偶然发现了这个: Integer a = 100; Integer b = 100; Integer c = 1000; Integer d = 1000; System.out.println(a == b); //true System.out.println(c == d); //false System.out.println(new Integer(100) == new Integer(100)); //false System.out.println(new Integer(1000) == new Integer(1000)); //false 输出为:true false false false 为什么== b评估为真? 这是什么原因? 这类似于String内化吗?

在Java中转换美元(整数)的美元(大十进制)的最佳方法是什么?

我必须将我的Web应用程序与支付网关集成。 我想以美元输入总金额,然后将其转换为美分,因为我的支付网关库接受的数量为Cents( Integer类型)。 我发现java中的Big Decimal是操纵货币的最佳方式。 目前我输入50美元的输入并将其转换为Integer如下所示: BigDecimal rounded = amount.setScale(2, BigDecimal.ROUND_CEILING); BigDecimal bigDecimalInCents = rounded.multiply(new BigDecimal(“100.00”)); Integer amountInCents = bigDecimalInCents.intValue(); 这是将美元转换为美分的正确方法还是应该以其他方式实现?

这个位操作在Java中如何工作?

我正在研究Java如何计算int的位集。 在我的脑海里,我有一些像这样的简单(我认为是正确的): public static int bitCount(int number){ final int MASK = 0x1; int count = 0; for(int i = 0; i >> i) & MASK) == MASK){ count++; } } return count; } 相反,我发现了一种方法,我完全不知道在做什么(对我来说似乎很神奇): i = i – ((i >>> 1) & 0x55555555); i = (i & 0x33333333) + ((i >>> 2) & 0x33333333); i […]

使用位运算符比较两个整数

我需要使用Bit运算符比较两个整数。 我遇到了一个问题,我必须比较两个整数而不使用比较运算符。使用位运算符会有所帮助。但是如何? 让我们说a = 4; b = 5; 我们必须表明a不等于b。 但是,我想进一步扩展它,比方说,我们将展示哪个更大。这里b更大..