相关疑难解决方法(0)

内部划分:为什么1/3 == 0的结果?

我写的是这段代码:

public static void main(String[] args) {
    double g = 1 / 3;
    System.out.printf("%.2f", g);
}
Run Code Online (Sandbox Code Playgroud)

结果是0.为什么这样,我该如何解决这个问题?

java integer-division

95
推荐指数
3
解决办法
13万
查看次数

为什么两个整数的除法在Java中返回0.0?

int totalOptCount = 500;
int totalRespCount=1500; 
float percentage =(float)(totalOptCount/totalRespCount);
Run Code Online (Sandbox Code Playgroud)

为什么这总是返回值0.0?另外我想将其格式化为00.00格式并转换为字符串?

java floating-point integer-division

49
推荐指数
3
解决办法
6万
查看次数

Java中的除法总是导致零(0)?

下面的函数从共享偏好,权重和高度中获取两个值,我使用它们来计算BMI,当我打印值的内容时,我得到我在sharedprefs中输入的值(这很好)但是当我运行时对它们进行除法运算,结果总是得到0 ..错误在哪里?

public int computeBMI(){
    SharedPreferences customSharedPreference = getSharedPreferences(
            "myCustomSharedPrefs", Activity.MODE_PRIVATE);

    String Height = customSharedPreference.getString("heightpref", "");
    String Weight = customSharedPreference.getString("weightpref", "");

    int weight = Integer.parseInt(Weight);
    int height = Integer.parseInt(Height);
    Toast.makeText(CalculationsActivity.this, Height+" "+ Weight , Toast.LENGTH_LONG).show();

    int bmi = weight/(height*height);
    return bmi;

}
Run Code Online (Sandbox Code Playgroud)

java android division

14
推荐指数
2
解决办法
2万
查看次数

在java中将华氏度转换为摄氏度

我正在尝试将华氏度转换为摄氏度.现在我有一个错误,当我使用它时:

double fahrenheit=input.nextDouble();

double celsius= ( **5** /9)*(fahrenheit-32);(Error)
Run Code Online (Sandbox Code Playgroud)

然后我再次尝试给(5.0)那么它的工作原因是什么?

java

2
推荐指数
1
解决办法
221
查看次数

为什么这个Java长计算会返回NaN?

import java.util.*;
import java.lang.*;
import java.io.*;

public class MyClass {
    public static void main (final String[] args) {
        float distanceInMeters = 0.0f;
        long time = 1439230171182L;
        long previousTime = 1439230111554L;
        float speed = (distanceInMeters / 1000) / ((time - previousTime)/3600000);
        System.out.println(speed);
    }
}
Run Code Online (Sandbox Code Playgroud)

该计算返回"NaN".有谁知道为什么?

java nan long-integer

1
推荐指数
2
解决办法
804
查看次数

数学pow返回1.0

我是java dev中的新手,所以它可能是一个微不足道的问题:

double u130 = (1 / 30);
double q1 = Math.pow(1.025, u130);
Run Code Online (Sandbox Code Playgroud)

q1等于1.0,但应该是1.0008234259155

u130 = 0.0也错了.

我的理解是双倍的小数位,所以问题出在哪里?

顺便说一句,我在Android设备上测试,这应该是一个限制?!

谢谢

java android

0
推荐指数
1
解决办法
251
查看次数

为什么java返回0?

为什么在分裂时Java返回?我试过的代码是010/60

double pay_per_minute = (10/60);
Run Code Online (Sandbox Code Playgroud)

10是每小时的工资率,60是分钟.

java netbeans

-6
推荐指数
1
解决办法
475
查看次数