草庐IT

integer-programming

全部标签

java - Integer.parseInt(string) 实际上是如何工作的?

最近被问到这个问题,不知道答案。有人可以从高层次上解释Java如何获取字符/字符串并将其转换为int。 最佳答案 通常是这样完成的:初始化结果为0对字符串中的每个字符执行此操作结果=结果*10从字符中获取数字('0'是48ASCII(或0x30),因此只需从字符ASCII码中减去它即可得到数字)将数字添加到结果中返回结果编辑:如果您将10替换为正确的基数并调整从相应字符获取数字的方式,这适用于任何基数(对于低于10的基数应该正常工作,但需要稍加调整以适应更高的基数-例如十六进制-因为字母与数字相隔7个字符)。编辑2:字符到数字值的转

Java integer++i 不改变值

我刚刚做了这个简单的“程序”:publicstaticvoidmain(String[]args){inti=1;intk=0;while(true){if(++i==0)System.out.println("loop:"+++k);}}运行这个程序后,我立即得到输出:(...)loop:881452loop:881453loop:881454loop:881455loop:881456loop:881457loop:881458(...)好像i总是0。事实上,当我在Eclipse中调试时,在暂停程序时,i将始终为零。单步执行循环时,i会递增,但在恢复和挂起调试器时,i再次为0。当我

Java integer++i 不改变值

我刚刚做了这个简单的“程序”:publicstaticvoidmain(String[]args){inti=1;intk=0;while(true){if(++i==0)System.out.println("loop:"+++k);}}运行这个程序后,我立即得到输出:(...)loop:881452loop:881453loop:881454loop:881455loop:881456loop:881457loop:881458(...)好像i总是0。事实上,当我在Eclipse中调试时,在暂停程序时,i将始终为零。单步执行循环时,i会递增,但在恢复和挂起调试器时,i再次为0。当我

environment-variables - "system32\java.exe"和 "Program Files\Java\jdk1.6.0_33\bin\java.exe"有什么区别?

我刚刚在WindowsXP中安装了JavaJDK6u33。即使我没有设置PATH环境变量,我也可以在命令提示符下运行java-version。当我在(java.exe)中运行此命令for%i时,请执行@echo。%~$PATH:i,我得到这个输出:C:\WINDOWS\system32\java.exe当我检查我的电脑时,我发现有2个java.exe:1.C:\ProgramFiles\Java\jdk1.6.0_33\bin\java.exe2.C:\WINDOWS\system32\java.exe请问system32\java.exe和ProgramFiles\Java\jdk1

environment-variables - "system32\java.exe"和 "Program Files\Java\jdk1.6.0_33\bin\java.exe"有什么区别?

我刚刚在WindowsXP中安装了JavaJDK6u33。即使我没有设置PATH环境变量,我也可以在命令提示符下运行java-version。当我在(java.exe)中运行此命令for%i时,请执行@echo。%~$PATH:i,我得到这个输出:C:\WINDOWS\system32\java.exe当我检查我的电脑时,我发现有2个java.exe:1.C:\ProgramFiles\Java\jdk1.6.0_33\bin\java.exe2.C:\WINDOWS\system32\java.exe请问system32\java.exe和ProgramFiles\Java\jdk1

java - ArrayList<Integer> 接受字符串

publicclassMain{publicstaticvoidmain(String[]args){ArrayListar=newArrayList();Listl=newArrayList();l.add("a");l.add("b");ar.addAll(l);System.out.println(ar);}}输出:[a,b]不能直接加String至ArrayListar,但通过使用addAll()这是可能的。如何添加String至ArrayList其类型已被指定为Integer?任何人都可以突出明确的实现细节及其背后的原因吗? 最佳答案

java - ArrayList<Integer> 接受字符串

publicclassMain{publicstaticvoidmain(String[]args){ArrayListar=newArrayList();Listl=newArrayList();l.add("a");l.add("b");ar.addAll(l);System.out.println(ar);}}输出:[a,b]不能直接加String至ArrayListar,但通过使用addAll()这是可能的。如何添加String至ArrayList其类型已被指定为Integer?任何人都可以突出明确的实现细节及其背后的原因吗? 最佳答案

java - 为什么 notifyAll() 在 Integer 上同步时会引发 IllegalMonitorStateException?

为什么这个测试程序会导致java.lang.IllegalMonitorStateException?publicclasstest{staticIntegerfoo=newInteger(1);publicstaticvoidmain(String[]args){synchronized(foo){foo++;foo.notifyAll();}System.err.println("Success");}}结果:Exceptioninthread"main"java.lang.IllegalMonitorStateExceptionatjava.lang.Object.notifyA

java - 为什么 notifyAll() 在 Integer 上同步时会引发 IllegalMonitorStateException?

为什么这个测试程序会导致java.lang.IllegalMonitorStateException?publicclasstest{staticIntegerfoo=newInteger(1);publicstaticvoidmain(String[]args){synchronized(foo){foo++;foo.notifyAll();}System.err.println("Success");}}结果:Exceptioninthread"main"java.lang.IllegalMonitorStateExceptionatjava.lang.Object.notifyA

java - 找不到 tools.jar。请检查 C :\Program Files\Java\jre1. 8.0_151 是否包含有效的 JDK 安装

虽然我手动配置了JDK项目结构file/Projectstructure它仍然显示此错误FAILURE:构建失败并出现异常。`出了什么问题:任务':sample:compileReleaseJavaWithJavac'执行失败。Couldnotfindtools.jar.PleasecheckthatC:\ProgramFiles\Java\jre1.8.0_151containsavalidJDKinstallation.`我很困惑为什么它仍在寻找C:\ProgramFiles\Java\jre1.8.0_151而不是JDK 最佳答案