首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >代码中的数字问题

代码中的数字问题
EN

Stack Overflow用户
提问于 2010-12-20 19:20:16
回答 2查看 84关注 0票数 0

我的代码出了点问题。当我编译它时,它工作得很好,直到我达到了数字相除的地步。我得到的不是带小数的数字,而是0。正如您所看到的,我已经将最后一个变量更改为双精度,但没有任何有意义的结果。

我必须做些什么才能改变这一点?

代码语言:javascript
复制
        int[] arr = new int[2];
        System.out.println("enter two numbers: ");
        arr[0] = sc.nextInt();
        arr[1] = sc.nextInt();

        int summa = arr[0]+arr[1];

        System.out.println("What's "+arr[0]+" + "+arr[1]+" ?");
        int vad = sc.nextInt();

        if (summa == vad)
            System.out.println("Correct!");
        else
            System.out.println("Wrong - The right answer is "+summa);


        int summa2 = arr[0]-arr[1];
        System.out.println("What's "+arr[0]+" - "+arr[1]+" ?");
        int vad2 = sc.nextInt();

        if (summa2 == vad2)
            System.out.println("Correct!");
        else
            System.out.println("Wrong - The right answer is: "+summa2);


        int summa3 = arr[0]*arr[1];
        System.out.println("What's "+arr[0]+" * "+arr[1]+" ?");
        int vad3 = sc.nextInt();

        if (summa3 == vad3)
            System.out.println("Correct!");
        else
            System.out.println("Wrong - The right answer is "+summa3);


        double summa4 = arr[0]/arr[1];
        System.out.println("What's "+arr[0]+" / "+arr[1]+" ?");
        double vad4 = sc.nextInt();

        if (summa4 == vad4)
            System.out.println("Correct!");
        else
            System.out.println("Wrong - The right answer is "+summa4);



}

}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-20 19:23:56

你正在阅读1,it it be .

2您需要转换为下面的double校验码

代码语言:javascript
复制
    double summa4 = ((double)arr[0])/arr[1];
    System.out.println("What's "+arr[0]+" / "+arr[1]+" ?");
    double vad4 = sc.nextDouble();

    if (summa4 == vad4)
        System.out.println("Correct!");
    else
        System.out.println("Wrong - The right answer is "+summa4);
票数 4
EN

Stack Overflow用户

发布于 2010-12-20 19:24:21

虽然summa4变量的类型是double,但它的计算是在整数除法中完成的。因此,结果不会有任何小数位。

例如,如果5和2都是整数或存储在int类型变量中的值,则5/2 =2而不是2.5。

更改:

代码语言:javascript
复制
double summa4 = arr[0]/arr[1]; 

代码语言:javascript
复制
double summa4 = 1.0*arr[0]/arr[1];
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4489124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档