java中复数四则运算的小程序

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
//复数类的定义
class ComplexNumber {
    //定义复数里的实部与虚部;
    private double RealPart , ImaginPart;
    //缺省情况的构造方法;
    public ComplexNumber(){
        RealPart = 0;
        ImaginPart = 0;
    }
    //有形参的构造方法;
    public ComplexNumber(double r,double i){
        RealPart = r;
        ImaginPart = i;
    }
    //获取当前对象的实部;
    public  double getRealPart(){
        return RealPart;
    }
    //获取当前对象的虚部;
    public double getImaginPart(){
        return ImaginPart;
    }
    //修改当前对象的实部;
    public void setRealPart(double r){
        RealPart = r;
    }
    //修改当前对象的虚部;
    public void setImaginPart(double i){
        ImaginPart = i;
    }
    //当前的复数对象与形参复数相加方法;
    public ComplexNumber ComplexNumberAdd(ComplexNumber c){
        ComplexNumber result = new ComplexNumber();
        /*因为实部与虚部均以private修饰,所以要通过复数类中的setRealPart()与setImaginPart()方法来修改;
        *两复数的实部相加
        **/
        result.setRealPart(this.RealPart+c.getRealPart());
        //两复数的虚部相加;
        result.setImaginPart(this.ImaginPart+c.getImaginPart());
        return result;
    }
    //当前复数对象与一实数相加;
    public ComplexNumber ComplexNumberAdd(double c){
        ComplexNumber result = new ComplexNumber();
        //实部加上实数;
        result.setRealPart(this.RealPart+c);
        //虚部不变;
        result.setImaginPart(this.ImaginPart);
        return result;
    }
    //当前复数对象减去形参复数对象;
    public ComplexNumber ComplexNumberMinus(ComplexNumber c){
        ComplexNumber result = new ComplexNumber();
        //当前复数的实部减去形参对象的虚部;
        result.setRealPart(this.RealPart-c.getRealPart());
        //当前复数的虚部减去形参对象的虚部;
        result.setImaginPart(this.ImaginPart-c.getImaginPart());
        return result;
    }
    //当前复数对象减去某一实数;
    public ComplexNumber ComplexNumberMinus(double c){
        ComplexNumber result = new ComplexNumber();
        //复数对象的实部减去实数;
        result.setRealPart(this.RealPart-c);
        //复数对象的虚部不变;
        result.setImaginPart(this.ImaginPart);
        return result;
    }
    //当前复数对象乘以形参复数对象运算的方法;
    public ComplexNumber ComplexNumberMuti(ComplexNumber c){
        ComplexNumber result = new ComplexNumber();
        //当前复数与形参复数相乘后实部的结果;
        result.setRealPart(this.RealPart*c.getRealPart()-this.ImaginPart*c.getImaginPart());
        //当前复数与形参复数相乘后虚部的结果;
        result.setImaginPart(this.RealPart*c.getImaginPart()+this.ImaginPart*c.getRealPart());
        return result;
    }
    //当前复数与某一实数相乘的运算方法;
    public ComplexNumber ComplexNumberMuti(double c){
        ComplexNumber result = new ComplexNumber();
        result.setRealPart(this.RealPart*c);
        result.setImaginPart(this.ImaginPart*c);
        return result;
    }
    //当前复数对象除以某一复数的运算方法;
    public ComplexNumber ComplexNumberDivi(ComplexNumber c){
        ComplexNumber result = new ComplexNumber();
    //复数c中实部和虚部的平方和;
        double d = c.getRealPart()*c.getRealPart()+c.getImaginPart()*c.getImaginPart();
        result.setRealPart((this.RealPart*c.getRealPart()+this.ImaginPart*c.getImaginPart())/d);
        result.setImaginPart((this.ImaginPart*c.getRealPart()-this.RealPart*c.getImaginPart())/d);
        return result;
    }
    //将当前的复数对象以字符串的形式表示
    public String toString(){
        return ""+this.RealPart+"+"+this.ImaginPart+"i";
    }
}
//复数的四则运算在Applet程序的实现;
public class ComplexNumberDemo extends Applet implements ActionListener{
    //定义a、b、c、d四个文本框分别存储复数下x、y的实部与虚部;
    TextField a,b,c,d;
    Label title;
    //参加运算的复数对象x、y运算结果result的定义;
    ComplexNumber x,y,result;
    Button bu;
    //定义一个选择菜单,用以选择运算方法(加、减、乘、除);
    Choice ch;
    //applet的初始化过程;
    public void init(){
        a = new TextField(5);
        b = new TextField(5);
        c = new TextField(5);
        d = new TextField(5);
        ch = new Choice();
        ch.add("加");
        ch.add("减");
        ch.add("乘");
        ch.add("除");
        bu = new Button("确定");
        title = new Label("请输入两个复数:");
        add(title);
        add(a);
        add(new Label("+"));
        add(b);
        add(new Label("i"));
        add(ch);
        add(c);
        add(new Label("+"));
        add(d);
        add(new Label("i"));       
        add(bu);
        bu.addActionListener(this);
    }
    //触发事件的处理过程;
    public void actionPerformed(ActionEvent e){
        //两复数对象的初始化;
        x = new ComplexNumber(Double.parseDouble(a.getText()),Double.parseDouble(b.getText()));
        y = new ComplexNumber(Double.parseDouble(c.getText()),Double.parseDouble(d.getText()));
        //ch.getSelectedIndex()方法获取选择菜单中选中的菜单的索引(该索引以0开始计算);
        //捕获选择菜单中的运算方法,并调用相应的运算方法;
        switch(ch.getSelectedIndex()){
        case 0:result = x.ComplexNumberAdd(y);
                  break;
        case 1:result = x.ComplexNumberMinus(y);
                  break;
        case 2:result = x.ComplexNumberMuti(y);
                  break;
        case 3:result = x.ComplexNumberDivi(y);
                  break;
        default:break;
        }
        repaint();
    }
    public void paint(Graphics g){
        //运算结果的显示;
        if(x!=null&y!=null)
        g.drawString(""+ch.getSelectedItem()+"运算的结果为:"+result, 10, 100);
    }
}
//<applet code = "ComplexNumberDemo.class" width = 800 height = 500></applet>

转载请声明出处

 
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
import java.io.*; public class Book{ double sb; double xb; Book(double x,double y){ this.sb=x; this.xb=y; } Book(){ } public static void main(String args[]){ System.out.println("请输入数据:"); double a=0; double b=0; double c=0; double d=0; String s; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.println("请输入第一个复数的实部:"); try{ s = in.readLine(); a=Double.parseDouble(s); } catch(IOException e) { System.out.println("抛掷异常");} System.out.println("请输入第一个复述的虚部:"); try{ s = in.readLine(); b =Double.parseDouble(s); } catch(IOException e) { System.out.println("抛掷异常");} System.out.println("请输入第二个复述的实部:"); try{ s = in.readLine(); c =Double.parseDouble(s); } catch(IOException e) { System.out.println("抛掷异常");} System.out.println("请输入第二个复述的虚部:"); try{ s = in.readLine(); d =Double.parseDouble(s); } catch(IOException e) { System.out.println("抛掷异常");} Book h; h=new Book(a,b); Book j; j=new Book(c,d); System.out.println("您输入的一个数为:"); toString(h); System.out.println("您输入的二个数为:"); toString(j); Book k; k=new Book(); char z='y'; do{ System.out.println("请选择您要进行的计算:"); System.out.println("1 :进行加法运算"); System.out.println("2 :进行减法运算"); System.out.println("3 :进行修改"); System.out.println("4 :进行乘法运算"); System.out.println("5 :进行除法运算"); System.out.println("6 :查看修改结果"); int i=0; try{ i= Integer.parseInt(in.readLine()); } catch(IOException e) { System.out.println("抛掷异常");} switch(i) { case 1: k.sb=jia(h.sb,j.sb); k.xb=jia(h.xb,j.xb); System.out.println("计算结果的实部为:"+k.sb); System.out.println("计算结果的虚部为:"+k.xb); toString(k); break ; case 2: k.sb=jian(h.sb,j.sb); k.xb=jian(h.xb,j.xb); System.out.println("计算结果的实部为:"+k.sb); System.out.println("计算结果的虚部为:"+k.xb); toString(k); brea
1. 编写一个类实现复数运算复数类ComplexNumber的属性: m_dRealPart:实部,代表复数的实数部分。 m_dImaginPart:虚部,代表复数的虚数部分。 复数类ComplexNumber的方法: ComplexNumber():构造函数,将实部、虚部都置为0。 ComplexNumber(double r,double i):构造函数,创建复数对象的同时完成复数的实部、虚部的初始化,r为实部的初值,i为虚部的初值。 getRealPart():获得复数对象的实部。 getImaginPart():获得复数对象的虚部。 setRealPart(double d):把当前复数对象的实部设置为给定的形式参数的数字。 setImaginaryPart(double d):把当前复数对象的虚部设置为给定的形式参数的数字。 complexAdd(ComplexNumber c):当前复数对象与形式参数复数对象相加,所得的结果也是复数值,返回给此方法的调用者。 complexAdd(double c):当前复数对象与形式参数实数对象相加,所得的结果仍是复数值,返回给此方法的调用者。 complexMinus(ComplexNumber c) :当前复数对象与形式参数复数对象相减,所得的结果也是复数值,返回给此方法的调用者。 complexMinus(double c) :当前复数对象与形式参数实数对象相减,所得的结果仍是复数值,返回给此方法的调用者。 complexMulti(ComplexNumber c):当前复数对象与形式参数复数对象相乘,所得的结果也是复数值,返回给此方法的调用者。 complexMulti(double c):当前复数对象与形式参数实数对象相乘,所得的结果仍是复数值,返回给此方法的调用者。 toString():把当前复数对象的实部、虚部组合成a+bi的字符串形式,其和分别为实部和虚部的数据。 2. 编写Java Application程序使用上题定义的类,检查类定义是否正确。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值