草庐IT

Java:charAt 转换为 int?

我想输入我的nirc号码,例如S1234567I然后将1234567单独作为一个整数作为indiv1作为charAt(1),indiv2为charAt(2),indiv为charAt(3)等。但是,当我使用下面的代码时,我可以似乎连第一个数字都没有?有什么想法吗?Scannerconsole=newScanner(System.in);System.out.println("EnteryourNRICnumber:");Stringnric=console.nextLine();intindiv1=nric.charAt(1);System.out.println(indiv1);

java - 为什么 (int)(14/13 - 0.001) 产生 0 而不是 1?

如果将像1.0012这样的float转换为整数,它不是会变成1吗?那为什么我写的时候是:(int)(14/13-0.001)不是1.07592~变成1它变成了0?(用Eclipse编译的Java)。 最佳答案 它会截断。对于1.0012,它只是删除了小数点右边的部分。例子(int)(14/13-0.001)14/13会变成1然后转成double,1.0-0.001=0.999,截断后变成0。 关于java-为什么(int)(14/13-0.001)产生0而不是1?,我们在StackOve

java - 在 int 属性上按降序对自定义对象数组进行排序

我想按出生年份降序排列我的数组。我的数组还有两个其他类型的String元素。因此,例如,出生在最早年份(例如1939年)的人将排在首位,然后依此类推。这是我的代码:importjava.util.*;publicclassStudentInformationTest{publicstaticvoidmain(String[]args){StudentInformation[]studentInfo=newStudentInformation[10];studentInfo[0]=newStudentInformation("StudentA",1971,"BScFDIT");stude

java - 如何在 Java 中返回一个临时的 int 数组

这个问题在这里已经有了答案:Arrayinitializationsyntaxwhennotinadeclaration(4个答案)关闭6年前。我如何设法在Java中返回一个临时数组(为了节省代码行,而不创建变量)。做印心的时候,我可以用int[]ret={0,1};返回时无法使用return{0,1};我是否遗漏了什么或者是否有强制打字来做到这一点?我想到了使用newint[]作为下面的答案。然而,我们在启动时不需要newint[]的原因是什么?

Java:Foreach 循环在 int 数组上没有按预期工作?

这个问题在这里已经有了答案:Whydoestheforeachstatementnotchangetheelementvalue?(6个答案)关闭5年前。我有一个非常简单的循环:int[]positions={1,0,0}//printcontentofpositionsfor(inti:positions){if(i现在,我希望得到的是:array:1,0,0array:1,-1,-1但是我得到了array:1,0,0array:1,0,0只是……为什么?亲切的问候,水母

用于接受有效主机名、IPv4 或 IPv6 地址的 Java 正则表达式

有没有人有一个好的(最好是经过测试的)正则表达式来只接受有效的DNS主机名、IPv4或IPv6地址? 最佳答案 我知道您可能被迫使用正则表达式。但是,如果可能,最好避免为此任务使用正则表达式,而是使用Java库类来进行验证。如果您想同时进行验证和DNS查找,那么InetAddress.getByName(String)是个不错的选择。这将一次性处理DNS、IPv4和IPv6,并返回一个包装整齐的InetAddress实例,其中包含DNS名称(如果提供)和IPv4或IPv6地址。如果您只想进行句法验证,那么Apachecommons有

java - 在java中将int分配给byte?

intval=233;byteb=(byte)val;System.out.println(b);我有一个简单的案例:我有一个具有某个值的整数,我想将该值转换为一个字节以供输出。但是在这种情况下,一个负值就来了。如何将int值成功转为byte类型? 最佳答案 Javabyte范围是-128到127。您不可能在不溢出的情况下将整数233存储在一个字节中。 关于java-在java中将int分配给byte?,我们在StackOverflow上找到一个类似的问题:

java - 将 int 数组的内容复制到 Java 中的 double 组?

我正在尝试将int数组的内容复制到double类型的数组中。我必须先施放它们吗?我成功地将一个int类型的数组复制到另一个int类型的数组中。但是现在我想编写代码,将内容从数组A复制到数组Y(int到double)。这是我的代码:publicclassCopyingArraysEtc{publicvoidcopyArrayAtoB(){double[]x={10.1,33,21,9},y=null;int[]a={23,31,11,9},b=newint[4],c;System.arraycopy(a,0,b,0,a.length);for(inti=0;i

java - 如何将 Vector<Integer> 转换为 int[]?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:HowtoconvertListtoint[]inJava?是否有一些方法可以将Vector转换为int[]?谢谢

java - 在实际 Java 程序中使用 IPv6

现在IPv6的使用正在慢慢开始,所以我目前正在修复和更新所有应用程序以为IPv6做好准备。其中一个应用程序是Java编辑器JOSM(http://josm.openstreetmap.de/)。即使操作系统使用IPv6,Java也不会在默认配置中真正使用IPv6。根据http://docs.oracle.com/javase/1.5.0/docs/guide/net/ipv6_guide/#using我将java.net.preferIPv6Addresses设置为true以让它使用IPv6。结果是有关互联网连接断开的用户错误报告。Java似乎只切换到使用IPv6地址而不是IPv4,除