相关疑难解决方法(0)

我需要将int变量转换为double

可能重复:
Java整数除法:你如何产生双重?

我的朋友正试图将某种计算作为课堂上的任务,他遇到了一些麻烦......我希望你能帮助他.

问题是他从用户那里获得了一个输入(必须是,它是任务的一部分).他试图在下面的代码中将其转换为double,但这不起作用.无论如何,结果都是int.

double firstSolution = ((b1 * a22 - b2 * a12) / (a11 * a22 - a12 * a21));
double secondSolution = ((b2 * a11 - b1 * a21) / (a11 * a22 - a12 * a21));
Run Code Online (Sandbox Code Playgroud)

如果你需要更多解释,我会问他.提前致谢!

java

58
推荐指数
4
解决办法
52万
查看次数

Java中的简单划分 - 这是一个错误还是一个功能?

我正在Java应用程序中尝试这个简单的计算:

System.out.println("b=" + (1 - 7 / 10));
Run Code Online (Sandbox Code Playgroud)

显然我想要b=0.3输出,但这就是我得到的b=1.

什么?!为什么会这样?

如果我做:

System.out.println("b=" + (1 - 0.7));
Run Code Online (Sandbox Code Playgroud)

我得到了正确的结果b=0.3.

这里出了什么问题?

java division

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

在Java中分割双精度时的奇怪行为

当我使用双打在Java中将317除以219时,我得到1.
例如:

double b = 317/219;
System.out.println(b);
Run Code Online (Sandbox Code Playgroud)

输出为:1.

这是因为它是一个重复的小数?不得不使用BigDecimal而不是烦人的.

java double divide

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

"长x = 1/2"是等于1还是0,为什么?

如果我有类似的东西:

long x = 1/2;
Run Code Online (Sandbox Code Playgroud)

这不应该四舍五入到1?当我在屏幕上打印时,它会说0.

c java integer-division long-integer

8
推荐指数
3
解决办法
8229
查看次数

Java整数 - 双重分裂混淆

计划1

int sum = 30;  
double avg = sum / 4; // result is 7.0, not 7.5 !!!
Run Code Online (Sandbox Code Playgroud)

VS.

计划2

int sum= 30   
double avg =sum/4.0 // Prints lns 7.5
Run Code Online (Sandbox Code Playgroud)

这是因为程序1中的'4'是一个字面整数吗?所以30/4会给我7.但是由于这个数据类型是double,我们需要添加.0到end.'7.0'

程序2有4.0,它充当文字双.int/double总是会给出double,因为它更精确.所以我们得到'7.5'.我不明白双重数据类型对结果做了什么.它实际上不需要做任何事情,因为双数据类型的条件已经满足.(从计算中得到最准确的结果).

我错了吗?我鼓励你纠正我!这就是我学习的方法.. :)

java

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

初学者Java问题(int,float)

int cinema,dvd,pc,total;
double fractionCinema, fractionOther;
fractionCinema=(cinema/total)*100; //percent cinema
Run Code Online (Sandbox Code Playgroud)

因此,当我运行代码来显示fractionCinema时,它只给我零.如果我将所有的整数改为双打,那么它就会给我我想要的东西.但是,我在其他地方使用电影,电脑和总数,它们必须显示为整数,而不是小数.我该怎么办?

java

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

将数字提高到分数幂java

我使用了以下代码:

double pow = 3/7;

double num = 85;

System.out.println(Math.pow(num, pow));
Run Code Online (Sandbox Code Playgroud)

预期结果:

6.71...
Run Code Online (Sandbox Code Playgroud)

输出是

1.0
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?

java math pow exponential

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

C#和Java:3/2*3.2 = 3.2,为什么?

考虑以下C#和Java,

double d = 3 / 2 * 3.2;
Run Code Online (Sandbox Code Playgroud)

Java的

System.out.println(d); // 3.2
Run Code Online (Sandbox Code Playgroud)

C#

Console.WriteLine(d); //3.2
Run Code Online (Sandbox Code Playgroud)

它跳过3/2,

我们知道正确的答案应该是4.8

如果我改变

double d = 3.00 / 2 * 3.2;
Run Code Online (Sandbox Code Playgroud)

我可以得到4.8,

所以我想问一下,如果(3/2*3.2)是非法的,为什么eclipse和vs2008没有错误?以及如何在C#和Java中防止这个问题?

c# java

4
推荐指数
4
解决办法
3192
查看次数

这个部门出了什么问题?

这是代码:

class testsum
{ 
    public static void main(String arg[]) 
    {
        double sum=0; 
        double fraction;
        fraction=-1/9;
        System.out.println("fraction: "+fraction); 
        fraction=-1; 
        fraction=fraction/9; 
        System.out.println("fraction: "+fraction); 
    } 
} 
Run Code Online (Sandbox Code Playgroud)

输出0然后是-0.11111111

为什么是第一个输出0而不是-0.11111111111

java floating-point

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

Java,从方法返回一个值

我在这里做了一段简单的java代码,它是一个被调用来将华氏温度转换为摄氏温度的方法.然而,当我运行它时,输出始终是0.0.

我不能让它输出正确的计算.可能有一些我忘记做的傻事,有人可以帮帮我吗?

public class ExampleQ {

    public static void main(String[] args) {

        System.out.println(Celsius(50));
    }

    public static double Celsius(double F)
    {
        return (5 / 9) * (F - 32);
    }
}
Run Code Online (Sandbox Code Playgroud)

java methods return return-value

3
推荐指数
2
解决办法
626
查看次数