java程序,用java图形界面程序实现乘除运算

【Java】BigDecimal实现加减乘除运算代码
作者:olyx
字体:[ ] 类型:转载 时间:
本篇文章主要介绍了【Java】BigDecimal实现加减乘除运算代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
java.math.BigDecimal
BigDecimal一共有4个够造方法,让我先来看看其中的两种用法:
第一种:BigDecimal(double val)
Translates a double into a BigDecimal.
第二种:BigDecimal(String val)
Translates the String repre sentation of a BigDecimal into a BigDecimal.
使用BigDecimal要用String来够造,要做一个加法运算,需要先将两个浮点数转为String,然后够造成BigDecimal,在其中一个上调用add方法,传入另一个作为参数,然后把运算的结果(BigDecimal)再转换为浮点数。
public static double add(double v1,double v2)
public static double sub(double v1,double v2)
public static double mul(double v1,double v2)
public static double div(double v1,double v2)
public static double div(double v1,double v2,int scale)
public static double round(double v,int scale)
工具类:Arith
* 由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精 确的浮点数运算,包括加减乘除和四舍五入。
public class Arith { // 默认除法运算精度
private static final int DEF_DIV_SCALE = 10; // 这个类不能实例化
private Arith() {
* 提供精确的加法运算。
* @param v1
* @param v2
* @return 两个参数的和
public static double add(double v1, double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.add(b2).doubleValue();
* 提供精确的减法运算。
* @param v1
* @param v2
* @return 两个参数的差
public static double sub(double v1, double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.subtract(b2).doubleValue();
* 提供精确的乘法运算。
* @param v1
* @param v2
* @return 两个参数的积
public static double mul(double v1, double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.multiply(b2).doubleValue();
* 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到 小数点以后10位,以后的数字四舍五入。
* @param v1
* @param v2
* @return 两个参数的商
public static double div(double v1, double v2) {
return div(v1, v2, DEF_DIV_SCALE);
* 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指 定精度,以后的数字四舍五入。
* @param v1
* @param v2
* @param scale
表示表示需要精确到小数点以后几位。
* @return 两个参数的商
public static double div(double v1, double v2, int scale) {
if (scale & 0) {
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
* 提供精确的小数位四舍五入处理。
* @param v 需要四舍五入的数字
* @param scale 小数点后保留几位
* @return 四舍五入后的结果
public static double round(double v, int scale) {
if (scale & 0) {
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具用图形界面实现两个数的加减乘除
时间: 20:46:46
&&&& 阅读:154
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&//输入两个数,实现加减乘除,并用消息框显示计算结果。//黄星,
import javax.swing.JOptionP
//引入.JOptionPane
public class Calculater { public static void main(String args[]) {
//用户输入的两个数。
String firstNumber,secondN
//两个加数,以及和、差、积、商。
int number1,number2,add,sub,mul,
//在消息框中输入两个数。
firstNumber=JOptionPane.showInputDialog("请输入第一个数:");
secondNumber=JOptionPane.showInputDialog("请输入第二个数:");
//将输入的两个数从字符串转化成整数。
number1=Integer.parseInt(firstNumber);
number2=Integer.parseInt(secondNumber);
//对两个整数进行加减乘除运算。
add=number1+number2;
sub=number1-number2;
mul=number1*number2;
div=number1/number2;
//将计算结果输出在消息框中。
JOptionPane.showMessageDialog(null,
number1+"+"+number2+"="+add+"\n"
+number1+"-"+number2+"="+sub+"\n"
+number1+"*"+number2+"="+mul+"\n"
+number1+"/"+number2+"="+div+"\n");
//正常退出。
System.exit( 0 ); }}标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&原文:http://www.cnblogs.com/iloveblog/p/4857661.html
教程昨日排行
&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!8691人阅读
Java(33)
用java实现复数的加减乘除运算
& & 老师在课上布置了几道java编程题,此为其中之一
2. 题目内容
设计一个类Complex,用于封装对复数的下列操作:
(1)一个带参数的构造函数,用于初始化复数成员
(2)一个不带参数的构造函数,调用代参数的构造函数完成对复数成员的初始化。
(3)实现两个复数的加法,减法的静态方法和实例方法。
(4)以复数的标准形式:x+iy 输出此复数
(5) 写两个函数,分别获得复数的实部getReal(),getImage()和虚部。
老师原题如上,自己做了两个复数的加减乘除运算,使用的是实例方法。如果要写静态方法,即类方法,要加static,再根据相应变化修改。区别是:实例方法既可调用实例变量和实例方法,又可调用类变量和类方法。类方法只可调用类变量和类方法。因时间关系,明天还有课,自己就暂且写了实例。
3. 具体代码与解释
* @author Kun Sun
import java.util.S
public class Complex { // 复数类
Complex(){
// 不带参数的构造方法
Scanner input = new Scanner(System.in);
double real = input.nextDouble();
double image = input.nextDouble();
Complex(real,image);
private void Complex(double real, double image) { // 供不带参数的构造方法调用
// TODO Auto-generated method stub
this.real =
this.image =
Complex(double real,double image){ // 带参数的构造方法
this.real =
this.image =
public double getReal() {
public void setReal(double real) {
this.real =
public double getImage() {
public void setImage(double image) {
this.image =
Complex add(Complex a){ // 复数相加
double real2 = a.getReal();
double image2 = a.getImage();
double newReal = real + real2;
double newImage = image + image2;
Complex result = new Complex(newReal,newImage);
Complex sub(Complex a){ // 复数相减
double real2 = a.getReal();
double image2 = a.getImage();
double newReal = real - real2;
double newImage = image - image2;
Complex result = new Complex(newReal,newImage);
Complex mul(Complex a){ // 复数相乘
double real2 = a.getReal();
double image2 = a.getImage();
double newReal = real*real2 - image*image2;
double newImage = image*real2 + real*image2;
Complex result = new Complex(newReal,newImage);
Complex div(Complex a){ // 复数相除
double real2 = a.getReal();
double image2 = a.getImage();
double newReal = (real*real2 + image*image2)/(real2*real2 + image2*image2);
double newImage = (image*real2 - real*image2)/(real2*real2 + image2*image2);
Complex result = new Complex(newReal,newImage);
public void print(){ // 输出
if(image & 0){
System.out.println(real + & + & + image + &i&);
}else if(image & 0){
System.out.println(real + && + image + &i&);
System.out.println(real);
* @author Kun Sun
public class MainClass { // 用于测试复数类
* @param args
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(&请用户输入第一个复数的实部和虚部:&);
Complex data1 = new Complex();
System.out.println(&请用户输入第二个复数的实部和虚部:&);
Complex data2 = new Complex();
// 以下分别为加减乘除
Complex result_add = data1.add(data2);
Complex result_sub = data1.sub(data2);
Complex result_mul = data1.mul(data2);
Complex result_div = data1.div(data2);
result_add.print();
result_sub.print();
result_mul.print();
result_div.print();
4. 测试运行结果截图
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:245743次
积分:3407
积分:3407
排名:第11370名
原创:86篇
转载:23篇
评论:58条
(1)(2)(6)(22)(9)(8)(2)(7)(1)(4)(12)(5)(9)(14)(7)>> 用java编写的计算器,可以实现加减乘除运算。
用java编写的计算器,可以实现加减乘除运算。
所属分类:
下载地址:
xgzlyp_jsq.rar文件大小:5.69 kB
分享有礼! 》
请点击右侧的分享按钮,把本代码分享到各社交媒体。
通过您的分享链接访问Codeforge,每来2个新的IP,您将获得0.1 积分的奖励。
通过您的分享链接,每成功注册一个用户,该用户在Codeforge上所获得的每1个积分,您都将获得0.2 积分的分成奖励。
用java编写的计算器,可以实现加减乘除运算。-prepared with the calculator, can achieve the arithmetic operations.
Sponsored links
源码文件列表
温馨提示: 点击源码文件名可预览文件内容哦 ^_^
jsq.doc39.50 kB07-11-04 02:41
(提交有效评论获得积分)
评论内容不能少于15个字,不要超出160个字。
评价成功,多谢!
下载xgzlyp_jsq.rar
CodeForge积分(原CF币)全新升级,功能更强大,使用更便捷,不仅可以用来下载海量源代码马上还可兑换精美小礼品了
您的积分不足,优惠套餐快速获取 30 积分
10积分 / ¥100
30积分 / ¥200原价 ¥300 元
100积分 / ¥500原价 ¥1000 元
订单支付完成后,积分将自动加入到您的账号。以下是优惠期的人民币价格,优惠期过后将恢复美元价格。
支付宝支付宝付款
微信钱包微信付款
更多付款方式:、
您本次下载所消耗的积分将转交上传作者。
同一源码,30天内重复下载,只扣除一次积分。
鲁ICP备号-3 runtime:Elapsed:373.651ms - init:0.1;find:0.8;t:11.1;tags:2.9;related:302.1;comment:0.2; 5.8
登录 CodeForge
还没有CodeForge账号?
Switch to the English version?
^_^"呃 ...
Sorry!这位大神很神秘,未开通博客呢,请浏览一下其他的吧

我要回帖

更多关于 java图形界面程序 的文章

 

随机推荐