java中,计算器的除法运算为什么会出现

2020-11-25 22:03:10 字数 5445 阅读 5496

1楼:匿名用户

也许运用除法的时候 程序把被除数 除数或则结果 转换为了 浮点型

你去看看

祝楼主好运

java程序编写一个计算器类,要求实现加、减、乘、除运算,注意在进行除法运算时,如果除数为0,

2楼:小童鞋_成

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class caculator extends jframe implements keylistener{ //构造caculator类

private container content;//构造容器private jbutton bcancel; //清除按钮private jbutton b=new jbutton[16]; //构造按钮数组

private char lastop; //操作符号private boolean countable; //用于判断是否可计算

3楼:匿名用户

用java定义一个类,实现加减乘除计算功能,把结果输出?

帮我解释下java计算器**中的除法运算谢谢

4楼:mr_陈帅康

跟上面的加减法是一样的道理,result = result/double.parsedouble(textshow.gettext());

5楼:濮轩闭力

java中字符串的相等,请不要用==号,应该改成s.equals("==")

else

if(s=="退格")

这个方法不太好,比如我输入1,再退格,应该等于0.1吗?

用java做的计算器中小数点部分的**在怎么写?

6楼:匿名用户

跟小数没有关系啊,+ - * /

把2个数都设置成double类型的,

或者float类型的就可以了。

如果我理解的不对,请指出。

7楼:匿名用户

你是要取小数点以后的数字吧,比如说小数位12.323你就要323这个部分。

你可以首先将这个小数,转成string类型,然后再用substring方法去截取小数部分啊。

为什么我的科学计算器,除法运算只显示运算过程,不显示运算结果?

8楼:侯军伟

说明书上第5页,配置计算机设定,先按键shift和mode 进入后选择2linelo(按一下数字2)就可以啦

9楼:如此坏坏

楼主设置模式的问题,设置的现实结果为分数,所以~·~诶,计算器没问题,拜托

10楼:匿名用户

输入输出系统是计算机从外部世界接收信息和向外部世界反馈运算结果的手段。对于你现在看的叫显示器脚下的饿叫机箱手拿的叫鼠标按的叫键盘和起来差不多

11楼:郭彩音

因为你上面的都是无限小数,计算器只能显示分数

12楼:艾露莎

那就是你的计算器有问题

java float除法的问题

13楼:山水阿锐

您好,1、整数的除法:

0做除数抛运行时异常;两整数商会做取整运算,float或double与一个整数做除法运算,则商位float或者double类型,例如:

system.out.println("------------int相关除法----------");

system.out.println("12/10="+12/10);

system.out.println("12f/10="+12f/10);

system.out.println("12d/10="+12d/10);

system.out.println("12/10f="+12/10d);

system.out.println("12/10d="+12/10f);

------------int相关除法----------

12/10=1

12f/10=1.2

12d/10=1.2

12/10f=1.2

12/10d=1.2

2、double(或float)除法运算:

0可以做除数,得到的是一个分正负的无穷大;当两个数的绝对值均为0.0时候,商等于nan。当0.0/x,x不等0.0时候,得到的一个带符号位0.0:

package lavasoft.zerotest;

/*** 浮点型数据的除法运算测试

* * @author leizhimin 2009-12-21 9:00:37

*/ public class testzero

} public static double div(double a, double b)

public static float div(float a, float b)

}运算输出:

------------double型----------

2.3/0.0 = infinity

2.3/-0.0 = -infinity

0.0/0.0 = nan

0.0/-0.0 = nan

0.0/0.1 = 0.0

0.0/-0.1 = -0.0

x1无穷大!

x2无穷大!

x3非数字!

x4非数字!

x1 = double.positive_infinity

x1 = double.negative_infinity

------------float型----------

2.3/0.0 = infinity

2.3/-0.0 = -infinity

0.0/0.0 = nan

0.0/-0.0 = nan

0.0/-0.1 = -0.0

------------比较测试----------

infinity

3.4028235e38

a/b的商已经超过了float的最大值了!

process finished with exit code 0

陷阱:零在整数预算中不可以做除数,否则抛运行时异常。

零在浮点运算中可以做除数,返回值为无穷大。

nan各不相同,可看做是java设计上的一个缺陷。

浮点型(float或double)的除法运算可以接受任何数值,并且结果总是返回一个浮点型的数值。这个数值可能是不合法的,需要进行判断和验证。

3、求余:和除法差不多。

system.out.println(23%4);

system.out.println(23%-4);

system.out.println(-23%4);

system.out.println(23f%4);

system.out.println(23d%4);

system.out.println(23%4f);

system.out.println(23%4d);

system.out.println(23f%0);

system.out.println(23%0.0);

system.out.println(0.0%0.0);

运行结果:

3 3-3 3.0

3.03.0

3.0nannannan陷阱:

符号位由被除数决定。

对于double、float,api都提供了几个有用的判断方法,要注意运用其写出安全的**:

boolean isinfinite()

如果该 double 值的大小是无穷大,则返回 true;否则返回 false。

static boolean isinfinite(double v)

如果指定数字的大小是无穷大,则返回 true;否则,返回 false。

boolean isnan()

如果此 double 值是非数字(nan)值,则返回 true;否则,返回 false。

static boolean isnan(double v)

如果指定的数字是一个非数字 (nan) 值,则返回 true;否则,返回 false。

double、float类中都提供了一些常量,也可用于判断,当然这些常量也很有意思,看看源码就知道了。

public static final double positive_infinity = 1.0 / 0.0;

public static final double negative_infinity = -1.0 / 0.0;

public static final double nan = 0.0d / 0.0;

14楼:匿名用户

这个不是属于结果出错,只是计算的精度的问题。

这里计算的精度到底是你的计算器精度不够还是你的程序精度不够呢?你要验证一下才知道的。

现实中很少有用到小数点后4位之后的。这个问题我觉得不用太过计较。

用java作计算器怎样才能实现混合运算

15楼:司马刀剑

public class counterdemo}

用java写计算器中两个大数作除法的思路算法是什么?

16楼:

bigdecimal类可以实现

import java.math.bigdecimal;

/*** 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指

* 定精度,以后的数字四舍五入。

* @param v1 被除数* @param v2 除数

* @param scale 表示表示需要精确到小数点以后几位。

* @return 两个参数的商

*/public static double div(double v1,double v2,int scale)

17楼:匿名用户

java中不是有个大数字类吗?

java写计算器的问题为什么一定要这段**,双精度浮点数的运算?后面的一段**为什么会有try catch?

18楼:匿名用户

上面的双精度浮点数的运算可能是因为计算机在进行小数点后面多位的乘除等运算的时候会有极小的计算误差,这个应该是对这个误差有一个判断的操作

下面这个try...catch...是因为double.valueof()的时候,将字符串转为double类型,而字符串如果是纯数字则没问题,如果字符串中有非数字的字符则会抛出异常

为什么婚姻中女人会出现性冷淡的行为

1楼 匿名用户 性冷淡的女性会因为没有兴奋感,导致 分泌的液体不足或者 不够润滑,导致 疼痛,甚至是出血的情况,因此会更加厌恶性生活,从而条件反射的非常抗拒和厌恶,对性欲也是在一步一步的减弱,最后可能会因为性的问题导致双方感情的破裂,婚姻走向破裂的结果。如果是一两次没有达到高潮,那是正常的现象,但是...