相关疑难解决方法(0)

Java中的整数除法

这是一个基本问题,但我找不到答案.我已经研究了浮点运算和其他一些主题,但似乎没有任何东西可以解决这个问题.我确定我的术语错了.

基本上,我想要两个数量 - 完成和总数 - 并将它们分成一个百分比(已经完成了多少).数量是longs.这是设置:

long completed = 25000;
long total = 50000;

System.out.println(completed/total);  // Prints 0
Run Code Online (Sandbox Code Playgroud)

我已经尝试将结果重新分配给双 - 它打印0.0.我哪里错了?

顺便提一下,下一步是将这个结果乘以100,一旦这个小障碍被推翻,我认为应该很容易.

顺便说一句,这里没有作业,只是普通的老字号(今天可能编码过多).

java math floating-point println long-integer

87
推荐指数
3
解决办法
17万
查看次数

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万
查看次数

分开时输出为零?

也许我看不到明显的事情,但是:

int x1 = 2;
int y1 = 4;
int x2 = 11;
int y2 = 7;
double res = (y2-y1)/(x2-x1);
System.out.println(res);
Run Code Online (Sandbox Code Playgroud)

输出:

0.0
Run Code Online (Sandbox Code Playgroud)

为什么?

java math division

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

标签 统计

java ×3

division ×2

math ×2

android ×1

floating-point ×1

long-integer ×1

println ×1