Tag: 整数

为什么Integer.parseInt(“\ uD835 \ uDFE8”)失败?

我的印象是java支持unicode字符。 我做了这个测试,遗憾地发现它失败了。 问题是为什么? 它是一个bug还是某个文件? // MATHEMATICAL SANS-SERIF “𝟨” String unicodeNum6 = “\uD835\uDFE8”; int codePoint6 = unicodeNum6.codePointAt(0); int val6 = Character.getNumericValue(codePoint6); System.out.println(“unicodeNum6 = “+ unicodeNum6 + “, codePoint6 = “+ codePoint6+ “, val6 = “+val6); int unicodeNum6Int = Integer.parseInt(unicodeNum6); 这Exception in thread “main” java.lang.NumberFormatException: For input string: “𝟨”出现Exception in thread “main” java.lang.NumberFormatException: For input string: “𝟨” […]

有没有一种简单的方法来重新排列java中的数字?

基本上在一个坚果壳我想取一个随机数说: 73524896 我想给我们相同的数字,但随机重新排列如下: 46932857 有没有办法在java中轻松完成这项工作?

如何用Java计算整数中的尾随零? (例如:234000 => 3个零)

标题几乎是自我解释的。 🙂 1232 => 0 1231030 => 1 2000 => 3 34444400000 => 5

如果计算的哈希码超过INTEGER MAX LIMIT会发生什么?

这是来自Java HashTable Class的hashCode()实现。 如果哈希表中的元素数量很大且哈希码超过INTEGER MAX LIMIT -2,147,483,648到2,147,483,647会怎么样? 我假设hashCodes将是正整数。 public synchronized int hashCode() { int h = 0; if (count == 0 || loadFactor < 0) return h; // Returns zero loadFactor = -loadFactor; // Mark hashCode computation in progress Entry[] tab = table; for (int i = 0; i < tab.length; i++) for (Entry e […]

在Java中使用long转换为byte

我无法理解以下内容: 在java中, long l = 130L; byte b = (byte)l; 如果我打印b的值,为什么我得到-126? 长l的位代表是什么?

可以精确表示为浮点数/双精度的整数范围

什么是(连续的)整数的确切范围,可以表示为double(相应的浮点数?)我问的原因是因为我对这样的问题感到好奇,因为会发生精度损失。 那是 什么是最小正整数m ,使得m+1不能精确表示为double(相应的浮点数)? 什么是最大的负整数-n使得-n-1不能精确地表示为double(resp.lov)? (可能与上面相同)。 这意味着-n和m之间的每个整数都具有精确的浮点表示。 我基本上都在寻找浮点数和双打数的范围[-n, m] 。 让我们将范围限制为标准IEEE 754 32位和64位浮点表示。 我知道浮点数有24位精度,双精度数有53位(都带有隐藏的前导位),但由于浮点表示的复杂性,我正在寻找一个权威的答案。 请不要挥手! (理想的答案将certificate从0到m所有整数都是可表达的,并且m+1不是。)

Java中的00是整数还是八进制?

是 00,000或000 …… Java中的整数? 或者它是八进制? 如果是八进制的话 001或0005 八进制?

更改最终Integer变量的值

final对象无法更改,但我们可以设置其属性: final MyClass object = new MyClass(); object.setAttr(“something”); //<– OK object = someOtherObject; //<– NOT OK 是否可以对final Integer执行相同的操作并更改其int值? 我问,因为我打电话给工人: public SomeClass myFunction(final String val1, final Integer myInt) { session.doWork(new Work() { @Override public void execute(…) { //Use and change value of myInt here //Using it requires it to be declared final (same reference) } } […]

java – 范围为int的switch语句

我想用一个switch语句检查一些数字,我发现有几个地方说类似case 1…5或case (score >= 120) && (score <=125)会起作用但我只是以某种方式保持在获得错误。 我想要的是如果数字在1600-1699之间然后做点什么。 我可以做if语句,但是如果可能的话,我觉得是时候开始使用switch了。

如果删除+和++运算符之间的空格会发生什么?

编辑1 免责声明: 我知道 +++ 不是真正的运算符,而是没有空格的+和++运算符。 我也知道没有理由使用它; 这个问题只是出于好奇。 所以,我很想知道Java中是否需要+和++var之间的空格。 这是我的测试代码: int i = 0; System.out.println(i); i = i +++i; System.out.println(i); 打印出: 0 1 这就像我期望的那样,就像第一个和第二个+之间有一个空格一样。 然后,我尝试使用字符串连接: String s1 = “s ” + ++i; System.out.println(s1); // String s2 = “s ” +++i; 打印出: s 2 但是如果第三行是未注释的,则代码不会编译,错误如下: Problem3.java:13: unexpected type required: variable found : value String s2 = “s […]