
正文
java复数运算代码 java定义复数类,计算复数加法,并运行
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
1.运用java 编写一个复数类,有实部和虚部,并实现复数的加减乘除运算?
public class ComplexNumber {
/**
* @param args
*/
int shi,xu;//复数的实部和虚部
public ComplexNumber(int n,int ni){
shi = n;
xu = ni;
}
public void ComplexShow(){
String output = "";
output+=shi;
if(xu=0){
output+="+";
}
output+=xu;
output+="i";
System.out.println(output);
}
public void ComplexShow1(){//不要换行
String output = "";
output+=shi;
if(xu=0){
output+="+";
}
output+=xu;
output+="i";
System.out.print(output);
}
public static void ComplexAdd(ComplexNumber x1,ComplexNumber x2){//实现两个复数相加
ComplexNumber cn = new ComplexNumber(0, 0);//将两个复数相加等于cn
cn.shi = x1.shi + x2.shi;
cn.xu = x1.xu + x2.xu;
cn.ComplexShow();
}
public static void ComplexMinus(ComplexNumber x1,ComplexNumber x2){//实现两个复数相减,第一个数减第二个数
ComplexNumber cn = new ComplexNumber(0, 0);//将两个复数相加等于cn
cn.shi = x1.shi - x2.shi;
cn.xu = x1.xu - x2.xu;
cn.ComplexShow();
}
public static void ComplexMultiply(ComplexNumber x1,ComplexNumber x2){//实现两个复数相乘
ComplexNumber cn = new ComplexNumber(0, 0);//将两个复数相加等于cn
cn.shi = x1.shi * x2.shi - x1.xu * x2.xu;
cn.xu = x1.xu * x2.shi + x2.xu * x1.shi;
cn.ComplexShow();
}
public static void ComplexDivide(ComplexNumber x1,ComplexNumber x2){//实现两个复数相除,第一个数除以第二个数
ComplexNumber x2_gong = new ComplexNumber(x2.shi,0-x2.xu);//求被除数的共轭复数
ComplexNumber cn = new ComplexNumber(0, 0);//将两个复数相加等于cn
cn.shi = x1.shi * x2_gong.shi - x1.xu * x2_gong.xu;//x1/x2,求分子实部
cn.xu = x1.xu * x2_gong.shi + x2_gong.xu * x1.shi;//x1/x2,求分子虚部
int fenMu = x2.shi * x2.shi + x2.xu * x2.xu;
if(fenMu!=0){
System.out.print("(");
cn.ComplexShow1();
System.out.print(")");
System.out.println("/"+fenMu);
}
else
System.out.println("分母为零,无法相除");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ComplexNumber cn = new ComplexNumber(-1, -1);//初始化复数
cn.ComplexShow();//显示复数
ComplexNumber c1 = new ComplexNumber(-1, -1);
ComplexNumber c2 = new ComplexNumber(1, 1);
System.out.print("加:");
ComplexAdd(c1, c2);
System.out.print("减:");
ComplexMinus(c1, c2);
System.out.print("乘:");
ComplexMultiply(c1, c2);
System.out.print("除:");
ComplexDivide(c1, c2);//自己化简
}
}
相关问答
Q1: 编写Java Applet程序,实现复数矩阵的加法,乘法运算
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class fushu extends JFrame{
DComplexNumber x=new DComplexNumber();
DComplexNumber y=new DComplexNumber();
//窗体布局
JLabel Lab1=new JLabel("实部 ");
JLabel Lab2=new JLabel("虚部 ");
JLabel Lab3=new JLabel();
JTextField text1=new JTextField(8);
JTextField text2=new JTextField(8);
JButton btn1=new JButton("设置第一个复数");
JButton btn2=new JButton("设置第二个复数");
JButton btn3=new JButton("+");
JButton btn4=new JButton("-");
public fushu(){
setTitle("复数运算");
Container contentPane=this.getContentPane();
contentPane.setLayout(new GridLayout(4,1));
JPanel panel1=new JPanel();
panel1.add(Lab1);
panel1.add(text1);
panel1.add(btn1);
JPanel panel2=new JPanel();
panel2.add(Lab2);
panel2.add(text2);
panel2.add(btn2);
JPanel panel3=new JPanel();
panel3.add(btn3);
panel3.add(btn4);
JPanel panel4=new JPanel();
panel4.add(Lab3);
contentPane.add(panel1);
contentPane.add(panel2);
contentPane.add(panel3);
contentPane.add(panel4);
registerEventHandlers();
this.pack();
}
//为按钮注册事件
private void registerEventHandlers() {
btndiyifuActionEventHander diyifushu=new btndiyifuActionEventHander();
btn1.addActionListener(diyifushu);
btndierfuActionEventHander dierfushu=new btndierfuActionEventHander();
btn2.addActionListener(dierfushu);
btnjiaActionEventHander jia=new btnjiaActionEventHander();
btn3.addActionListener(jia);
btnjianActionEventHander jian=new btnjianActionEventHander();
btn4.addActionListener(jian);
}
public static void main(String[] args){
fushu fushuys=new fushu();
fushuys.setVisible(true);
}
//第一复数按钮事件
private class btndiyifuActionEventHander implements ActionListener{
public void actionPerformed(ActionEvent e) {
x=new DComplexNumber(Integer.parseInt(text1.getText()),Integer.parseInt(text2.getText()));
text1.setText("");
text2.setText("");
Lab3.setText("第一个复数是"+x.Ttostring());
}
}
//第二复数按钮事件
private class btndierfuActionEventHander implements ActionListener{
public void actionPerformed(ActionEvent e){
y=new DComplexNumber(Integer.parseInt(text1.getText()),Integer.parseInt(text2.getText()));
text1.setText("");
text2.setText("");
Lab3.setText("第二个复数是"+y.Ttostring());
}
}
//加按钮事件
private class btnjiaActionEventHander implements ActionListener{
public void actionPerformed(ActionEvent e) {
ComplexNumber f=new ComplexNumber();
f=DComplexNumber.he(x,y);
Lab3.setText(x.Ttostring()+"+"+y.Ttostring()+"="+f.Ttostring());
}
}
//减按钮事件
private class btnjianActionEventHander implements ActionListener{
public void actionPerformed(ActionEvent e){
DComplexNumber f=new DComplexNumber();
f=DComplexNumber.cha(x,y);
Lab3.setText(x.Ttostring()+"-"+y.Ttostring()+"="+f.Ttostring());
}
}
}
//创建ComplexNumber类
public class ComplexNumber{
public int real;
public int imaginary;
public ComplexNumber(){
}
public ComplexNumber(int a,int b){
real=a;
imaginary=b;
}
public int getReal(){
return real;
}
public void setReal(int mReal){
real=mReal;
}
public int getImaginary(){
return imaginary;
}
public void setImaginary(int mImaginary){
imaginary=mImaginary;
}
public static ComplexNumber he(ComplexNumber X,ComplexNumber Y){
ComplexNumber Complex=new ComplexNumber();
Complex.real=X.real+Y.real;
Complex.imaginary=X.imaginary+Y.imaginary;
return Complex;
}
public String Ttostring(){
return ("("+real+(imaginary0?"-"+imaginary*(-1):"+"+imaginary)+"i"+")");
}
}
//创建DComplexNumber类
public class DComplexNumber extends ComplexNumber{
public DComplexNumber(){
}
public DComplexNumber(int x,int y){
this.real=x;
this.imaginary=y;
}
public static DComplexNumber cha(DComplexNumber X,DComplexNumber Y){
DComplexNumber c=new DComplexNumber();
c.real=X.real-Y.real;
c.imaginary=X.imaginary-Y.imaginary;
return c;
}
}
Q2: java 编写一个可对复数进行加减运算的程序
1、real和image这两个field前面的static去掉。
2、public Complex() 这个构造器去掉,如果要接受输入的话,应该放到main方法里,这样这个类更清晰。
3、静态方法Complex_add和Complex_minus没指定返回值类型,应该返回的是Complex。另外方法名字首字母应小写。
4、参考这个:
Q3: 如何用java程序编写输入两个复数,然后进行那个加减乘,最后显示结果。
例如:ai+b ci+d
加法:int a,b,c,d;int x,y; x=a+c; y=b+d
结果就为:xi+y 这很简单 再输出的时候要变为字符串型 这样你就可以再x后加个i 形成xi的形式了
减法: int a,b,c,d;int x,y; x=a-c; y=b-d
结果就为:xi+y 这很简单 再输出的时候要变为字符串型 这样你就可以再x后加个i 形成xi的形式了
乘法: int a,b,c,d;int x,y;
x=a*d+b*c y=b*d-a*c
结果就为:xi+y 这很简单 再输出的时候要变为字符串型 这样你就可以再x后加个i 形成xi的形式了
关于java复数运算代码和java定义复数类,计算复数加法,并运行的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






