我正在调用truncate方法来截断double值,以便在十进制之后应该有一个数字(没有四舍五入),
For Ex.truncate(123.48574) = 123.4.
我的截断方法是这样的
public double truncate (double x) {
long y = (long) (x * 10);
double z = (double) (y / 10);
return z;
}
Run Code Online (Sandbox Code Playgroud)
除了这个奇怪的输出外,几乎所有的值都能正常工作.
double d = 0.787456;
d = truncate(d + 0.1); //gives 0.8 as expected. Okay.
Run Code Online (Sandbox Code Playgroud)
但,
double d = 0.7;
d = truncate(d + 0.1); //should also give 0.8. But its giving 0.7 only.
//Strange I don't know why?
Run Code Online (Sandbox Code Playgroud)
事实上它适用于所有其他0.1,0.2,0.3,0.4,0.5,0.6, - ,0.8,0.9
我的意思,例如,
double d = 0.8;
d = …Run Code Online (Sandbox Code Playgroud) 我正在重写超类中的方法,但是我想要同步这个方法.是允许的吗?有什么可以替代?
与之不同ArrayList,没有get(int index)方法Queue可以在指定位置检索元素.
有人请告诉我如何实现这个目标Queue?
谢谢.
我正在使用 intel i386、Ubuntu 14。显示的 OpenJDK 版本信息$java -version是
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.2) (7u65-2.5.2-3~14.04)
OpenJDK Server VM (build 24.65-b04, mixed mode)
Run Code Online (Sandbox Code Playgroud)
正如此处提到的,我已将所需的二进制文件复制hsdis-i386.so到以下位置
/usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/server
Run Code Online (Sandbox Code Playgroud)
和
/usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client
Run Code Online (Sandbox Code Playgroud)
然后我按照这个博客解决方法并尝试获取java程序的汇编代码。我使用下面的命令来测试示例 java 程序MyClass.java
java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly -XX:PrintAssemblyOptions=hsdis-print-bytes -XX:CompileCommand=print,MyClass MyClass
Run Code Online (Sandbox Code Playgroud)
我在控制台上收到的消息是
OpenJDK Server VM warning: PrintAssembly is enabled; turning on DebugNonSafepoints to gain additional output
CompilerOracle: unrecognized line "print Test"
c = 50
Run Code Online (Sandbox Code Playgroud)
哪里MyClass.java
public class MyClass{
public static void main(String [] args){ …Run Code Online (Sandbox Code Playgroud) 我观察到,Scanner当用于文件读取工作时,两个参数:File和FileInputStream.
Scanner scan = new Scanner(new File("myfile.txt"));
Run Code Online (Sandbox Code Playgroud)
和
Scanner scan = new Scanner(new FileInputStream("myfile.txt"));
Run Code Online (Sandbox Code Playgroud)
但是,我不知道这两个定义之间的区别.是否有任何与性能相关的差异?哪一个更喜欢?
有人请解释一下.谢谢.
java ×5
bigdecimal ×1
collections ×1
double ×1
file ×1
jvm ×1
jvm-hotspot ×1
overriding ×1
synchronized ×1