⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 complexnumbercalculate.java

📁 一个复数计算的程序
💻 JAVA
字号:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class complexnumbercalculate extends Applet implements ActionListener
{
	Label     prompt,
	          prompta,promptb,prompt1,prompt2,
	          prompt1a,prompt1b,prompt2a,prompt2b;  //定义各标签
	TextField input1real,input1mag,
	          input2real,input2mag,
	          input3real,input3mag,
	          input4real;                          //定义输入
	Label     ii,i1,i2;                            //标记i
	Label     aadd,aadd1,aadd2;                    //标记+
	Button btn;
	double numareal=0.0,numamag=0.0,
	       numbreal=0.0,numbmag=0.0,
	       nummreal=0.0,nummmag=0.0,
	       numn=0.0;                               //初始化






	  public void init()

	  {  prompt=new Label("         ");
	     prompta=new Label("         ");
	     promptb=new Label("     ");
		 prompt1=new Label("请输入待相加得复数a和复数b:");
		 prompt1a=new Label("复数a:");
		 prompt1b=new Label("复数b:");
		 prompt2=new Label("请输入待相加得复数m和实数n:");
		 prompt2a=new Label("复数m:");
		 prompt2b=new Label("实数n:");   //标记

		 ii=new Label(" i ");
		 i1=new Label(" i ");
		 i2=new Label(" i ");       //i标记

		 aadd=new Label(" + ");
		 aadd1=new Label(" + ");
		 aadd2=new Label(" + ");    //+标记

		 input1real= new TextField(5);   //a实部输入处
		 input1mag=new TextField(5);     //a虚部输入出

		 input2real=new TextField(5);    //b实部输入处
		 input2mag=new TextField(5);     //b虚部输入处

		 input3real=new TextField(5);    //m实部输入处
		 input3mag=new TextField(5);     //m虚部输入处

		 input4real=new TextField(5);    //实数n


		 btn=new Button("计算 ");            //计算按纽


		 add(prompt1);    //标签输入两个复数
		 add(prompt);    //空格

		 add(prompt1a);  //复数a
		 add(input1real);//复数a得实部
		 add(aadd);        //标记+
		 add(input1mag);   //复数a得虚部
		 add(ii);          //标记i

		 add(prompt1b);    //复数b
		 add(input2real);  //复数b实部
		 add(aadd1);       //标记+
		 add(input2mag);   //复数b虚部
		 add(i1);          //标记i

		 add(prompt2);   //标签复数和实数
		 add(prompta);      //空格

		 add(prompt2a);    //复数m
		 add(input3real);    //复数m实部
		 add(aadd2);         //标记+
		 add(input3mag);     //复数m虚部
		 add(i2);          //标记i

		 add(prompt2b);      //实数n标签
		 add(input4real);   //实数n
		 add(promptb);     //空格

		 add(btn);         //计算

		 btn.addActionListener(this);

	  }

	  public void paint(Graphics g)
	  {
		  ComplexNumber a=new ComplexNumber(numareal,numamag);
		  ComplexNumber b=new ComplexNumber(numbreal,numbmag);
		  ComplexNumber m=new ComplexNumber(nummreal,nummmag);
		  double n=numn;                     //定义各参加计算的复数

          g.drawString("计算结果:",50,100);
		  g.drawString("a + b = "+(a.complexAdd(b)).tostring(),160,100);
		  g.drawString("a - b = "+(a.complexMinus(b)).tostring(),160,120);
		  g.drawString("a * b = "+(a.complexMulti(b)).tostring(),160,140);
		  g.drawString("a / b = "+(a.complexDivide(b)).tostring(),160,160); //调用复数类中的方法计算并输出

		  g.drawString("m + n = "+(m.complexAdd(n)).tostring(),500,100);
		  g.drawString("m - n = "+(m.complexMinus(n)).tostring(),500,120);
		  g.drawString("m * n = "+(m.complexMulti(n)).tostring(),500,140);
		  g.drawString("m / n = "+(m.complexDivide(n)).tostring(),500,160); //同上

	  }
	  public void actionPerformed(ActionEvent e)
	  {

		  numareal=Double.valueOf(input1real.getText()).doubleValue();//获得a得实部
		  numamag=Double.valueOf(input1mag.getText()).doubleValue();  //获得a得虚部

		  numbreal=Double.valueOf(input2real.getText()).doubleValue();
		  numbmag=Double.valueOf(input2mag.getText()).doubleValue();     //获得复数b得虚实部

		  nummreal=Double.valueOf(input3real.getText()).doubleValue();
		  nummmag=Double.valueOf(input3mag.getText()).doubleValue();    //m得虚实部

		  numn=Double.valueOf(input4real.getText()).doubleValue();    //数n
		  repaint();
	  }

}

class ComplexNumber
{
 			double m_dRealPart;
 			double m_dlmaginPart;


 			ComplexNumber()
         		{

            		m_dRealPart=0.0;
            		m_dlmaginPart=0.0;

          		}//构造函数 置零


 			ComplexNumber(double r, double i)
         		{

	          		m_dRealPart=r;
              		m_dlmaginPart=i;

          		}//构造函数 初始化


 			double getRealPart()
         		{

  					return m_dRealPart;

		  		}//获取复数对象的实部


 			double getImaginaryPart()
 				{

  					return m_dlmaginPart;

 		 		}//获取复数对象的虚部


 			void setRealPart(double d)
 				{

	 				m_dRealPart=d;

 		 		}//设置实部


 			void setImaginaryPart(double d)
 				{

			 		m_dlmaginPart=d;

 		 		}//设置虚部


 			ComplexNumber complexAdd(ComplexNumber c)
				 {

					 	ComplexNumber result=new ComplexNumber(0.0,0.0);
	 				 	result.m_dRealPart=c.m_dRealPart+m_dRealPart;
	 				 	result.m_dlmaginPart=c.m_dlmaginPart+m_dlmaginPart;
	 				 	return result;

				  }//复数加法


  			ComplexNumber complexAdd(double c)
  				{

 	 					ComplexNumber result=new ComplexNumber(0.0,0.0);
 	 					result.m_dRealPart=m_dRealPart+c;
 	 					result.m_dlmaginPart=m_dlmaginPart;
 	 					return result;

 				}//复数实数加法


 			ComplexNumber complexMinus(ComplexNumber c)
  				{

 	 					ComplexNumber result=new ComplexNumber(0.0,0.0);
 	 					result.m_dRealPart=m_dRealPart-c.m_dRealPart;
 	 					result.m_dlmaginPart=m_dlmaginPart-c.m_dlmaginPart;
 	 					return result;

 				}//减法


 			ComplexNumber complexMinus(double c)
   				{

  					 	ComplexNumber result=new ComplexNumber(0.0,0.0);
  			         	result.m_dRealPart=m_dRealPart-c;
  	 				 	result.m_dlmaginPart=m_dlmaginPart;
  	                 	return result;

                 }//复数实数减法


			ComplexNumber complexMulti(ComplexNumber c)
                 {

 	                 	ComplexNumber result=new ComplexNumber(0.0,0.0);
 	 				 	result.m_dRealPart=m_dRealPart*c.m_dRealPart-m_dlmaginPart*c.m_dlmaginPart;
 	 				 	result.m_dlmaginPart=m_dRealPart*c.m_dlmaginPart+m_dlmaginPart*c.m_dRealPart;
 	                 	return result;

 				 }//复数乘法


 			ComplexNumber complexMulti(double c)
   				{

  	 					ComplexNumber result=new ComplexNumber(0.0,0.0);
  	 					result.m_dRealPart=m_dRealPart*c;
  	 					result.m_dlmaginPart=m_dlmaginPart*c;
  	 					return result;

  				}//复数实数乘法


  			ComplexNumber complexDivide(ComplexNumber c)
  			     {
					    ComplexNumber result=new ComplexNumber(0.0,0.0);
					    double n=c.m_dRealPart*c.m_dRealPart+c.m_dlmaginPart*m_dlmaginPart;
					    double m=-c.m_dlmaginPart;
					    result.m_dRealPart=(m_dRealPart*c.m_dRealPart-m_dlmaginPart*m)/n;
					    result.m_dlmaginPart=(m_dRealPart*m+m_dlmaginPart*m_dRealPart)/n;
					    return result;

				 }//复数除法

			ComplexNumber complexDivide(double c)
  			     {
					    ComplexNumber result=new ComplexNumber(0.0,0.0);
					    result.m_dRealPart=m_dRealPart/c;
					    result.m_dlmaginPart=m_dlmaginPart/c;
					    return result;

				 }//复数实数除法



			String tostring()
				{

						String s=m_dRealPart+"  +  "+m_dlmaginPart+"  i  ";
   			    		return s;

             	} //转化为字符串



}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -