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

📄 calculator.java

📁 This is source rmi with java
💻 JAVA
字号:
import java.util.*;

public class calculator
{
    double com[];int numberFunc=1;
    double x1,x2,delta;
    Vector vx,vy;
    double arrX[],arrY[];
    double max,min;
    int toaDoX[],toaDoY[],gocX,gocY;
    public double kx,ky;
    function fc;

	public calculator(int numberFunc,double com[],double x1,double x2)
	 {
		this.numberFunc=numberFunc;this.com=com;
		this.x1=x1;this.x2=x2;
		vx=new Vector();vy=new Vector();
		delta=0.001;fc=new function();
	 }
	public void calculate()
	 {
	   int i=0;
	   double x=x1+i*delta;
	   double y;
	   while(x<x2)
	    {
		   vx.addElement(String.valueOf(x));
		   y=fc.getValue(numberFunc,com,x);
		   vy.addElement(String.valueOf(y));
		   i++;
		   x=x1+i*delta;
	    }
	 }
   public void  max_min()
    {
	   calculate();Double f;
	   arrX=new double[vx.size()];
	   arrY=new double[vy.size()];
	   for(int i=0;i<vx.size();i++)
	    {
			f=new Double(vx.elementAt(i).toString());
			arrX[i]=f.doubleValue();
	    }
	   for(int i=0;i<vy.size();i++)
	    {
			f=new Double(vy.elementAt(i).toString());
			arrY[i]=f.doubleValue();
	    }
	   max=arrY[0];min=arrY[0];
	   for(int i=0;i<vy.size();i++)
	   {
		  max=Math.max(max,arrY[i]);min=Math.min(min,arrY[i]);
	   }
    }
   public void calCoordinate()
   {
	  max_min();
	  kx=600/Math.abs(x2-x1);ky=500/Math.abs(max-min);
	  for(int i=0;i<vx.size();i++)
	    {  arrX[i]=arrX[i]*kx;}
	  for(int i=0;i<vy.size();i++)
	    {arrY[i]=arrY[i]*ky;}
	  toaDoX=new int[vx.size()];toaDoY=new int[vy.size()];
	  gocX=(int)(Math.abs(x2-x1)*kx/2);
	  //gocX=300;
	  if(com[0]>=0){gocY=(int)(Math.abs(max-min)*ky)-(int)(Math.abs(min)*ky);}
	  else{gocY=(int)(Math.abs(max)*ky)+50;}
	  Double d;
	  for(int i=0;i<vx.size();i++)
	   {
		  d=new Double(arrX[i]);
		  toaDoX[i]=d.intValue()+gocX;
	   }
	  for(int i=0;i<vy.size();i++)
	   {
		  d=new Double(arrY[i]);
		  toaDoY[i]=gocY-d.intValue();
	   }
   }
   public  String[] getNameFunc()
   {return fc.getNameFunc();}
   public  int getNumberCoff(int numberFunc)
    {return fc.getNumberCoff(numberFunc);}
   public int[] getCoordinateX()
    {
	   calCoordinate();
	   return toaDoX;
	}
  public int[] getCoordinateY()
    {
	   calCoordinate();
	   return toaDoY;
	}
  public int[] getAxisX()
  {
	calCoordinate();
	int axisX[]=new int[3];
	axisX[0]=(int)(x1*kx)+gocX;
	axisX[1]=(int)(x2*kx)+gocX;
	axisX[2]=gocY;
	return axisX;
  }
  public int[] getAxisY()
  {
	  calCoordinate();
	  int axisY[]=new int[3];
	  axisY[0]=toaDoY[0];axisY[1]=toaDoY[0];
	  for(int i=0;i<toaDoY.length;i++)
	  {
		  axisY[0]=Math.min(axisY[0],toaDoY[i]);
		  axisY[1]=Math.max(axisY[1],toaDoY[i]);
	  }
	  axisY[2]=gocX;
	  return axisY;
  }
}

⌨️ 快捷键说明

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