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

📄 exc.java

📁 a small Excel made bye java and javacc
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* Generated By:JavaCC: Do not edit this line. Exc.java */
package javacctp;
import tpdos.*;
import javax.swing.JOptionPane;
import java.io.PrintStream ;
import java.io.ByteArrayInputStream;
 public class Exc implements ExcConstants {
        public Exc(String Text){
                this(new ByteArrayInputStream(Text.getBytes(), 0, Text.length()));
        }
public  Object evale()
    throws ParseException, TokenMgrError, NumberFormatException
    {
      return formul();
          }
          double previousValue = 0.0 ;
          double [][]arguments=new double [20][20] ;
      int [] tab=new int[20];
          /************************************************/

double sume(int i)
{
double r = 0 ;
 for (int j = 0 ; j <= tab[i] ; j ++)
  r += arguments[i][j] ;

 return r ;
}
/****************************************************/
 int entier(int s)
 { int k=0;
          if(s>=65||s<=90 ){ k=s-65 ;return k; }
          else if(s>=97||s<=122){k=s-97;return k;}
          else return k;
          }
/************************************************/
void recalcul(String chaine){
        for(int i=0;i<=Excel.table.getRowCount();i++){
                for(int j=0;j<=Excel.table.getColumnCount();j++){
        Excel.tablesave[i][j].equals(chaine);  }}
  }
/************************************************/
double moyenne(int imb)
{
 double r = 0 ;
 for (int i = 0 ; i <= tab[imb] ; i ++)
   r += arguments[imb][i] ;

 return (r / (tab[imb] + 1)) ;
}
/***************************************************/
double facto(double i)
{

 long r = 1 ;
 for (int j = 1 ; j <= i ; j ++)
  r *= j ;
 return r ;
}
/****************************************************/
double max(int i)
{

 double r = -10000 ;
 for (int j = 0 ; j <= tab[i] ; j ++)
  if (r < arguments[i][j])
   r = arguments[i][j] ;
 return r ;
}
/*********************************************************/
double min(int i)
{

 double r = 10000;
 for (int j = 0 ; j <= tab[i] ; j ++)
  if (r > arguments[i][j])
   r = arguments[i][j] ;
 return r ;
}
/****************************************************/
double prode(int i)
{

 double r = 1 ;
  for (int j = 0 ; j <= tab[i] ; j ++)
  r *= arguments[i][j] ;
 return r ;
}
/***************************************************/
double var(int i)
{

 double r = 0 ;
 double m ;
 m = moyenne(i) ;
 for (int j = 0 ; j <= tab[i] ; j ++)
  r += (arguments[i][j] - m) * (arguments[i][j] - m) ;

 return (r / (tab[i] + 1)) ;
}
/****************************************************/
double ecarttype(int i)
{

 return (Math.sqrt(var(i)));
}

/************************************************************************************/
  final public Object formul() throws ParseException, NumberFormatException {
    jj_consume_token(egal);
    previousValue = expression();
    jj_consume_token(EOL);
                        {if (true) return (Object)(previousValue) ;}
    throw new Error("Missing return statement in function");
  }

/*********************************/
  final public double expression() throws ParseException {
double k,value;
    value = t();
    label_1:
    while (true) {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case or:
        ;
        break;
      default:
        jj_la1[0] = jj_gen;
        break label_1;
      }
      jj_consume_token(or);
      k = t();
                if ((k != 0) || (value != 0))
                                   value= 1 ;
                                  else
                                   value= 0 ;
    }
                 {if (true) return value;}
    throw new Error("Missing return statement in function");
  }

/*******************************/
  final public double t() throws ParseException {
double k,value;
    value = t1();
    label_2:
    while (true) {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case and:
        ;
        break;
      default:
        jj_la1[1] = jj_gen;
        break label_2;
      }
      jj_consume_token(and);
      k = t1();
                    if ((k == 0) || (value == 0))
                                   value = 0 ;
                        else
                                   value = 1 ;
    }
      {if (true) return value;}
    throw new Error("Missing return statement in function");
  }

/******************************/
  final public double t1() throws ParseException {
 double k,value;
    value = t2();
    label_3:
    while (true) {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case Egal:
      case Diff:
      case Inf:
      case Sup:
      case SupE:
      case InfE:
        ;
        break;
      default:
        jj_la1[2] = jj_gen;
        break label_3;
      }
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case Egal:
        jj_consume_token(Egal);
        k = t2();
                     if (value == k)
                   value = 1 ;
                   else
                  value = 0 ;
        break;
      case Diff:
        jj_consume_token(Diff);
        k = t2();
                    if (value != k)
                  value = 1 ;
                  else
                  value = 0 ;
        break;
      case SupE:
        jj_consume_token(SupE);
        k = t2();
                    if (value >= k)
                  value = 1 ;
                  else
                  value = 0 ;
        break;
      case Sup:
        jj_consume_token(Sup);
        k = t2();
                    if (value > k)
                  value = 1 ;
                  else
                  value = 0 ;
        break;
      case InfE:
        jj_consume_token(InfE);
        k = t2();
                    if (value <= k)
                  value = 1 ;
                  else
                  value = 0 ;
        break;
      case Inf:
        jj_consume_token(Inf);
        k = t2();
                    if (value < k)
                  value = 1 ;
                  else
                  value = 0 ;
        break;
      default:
        jj_la1[3] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
      }
    }
      {if (true) return value;}
    throw new Error("Missing return statement in function");
  }

/********************************/
  final public double t2() throws ParseException, NumberFormatException {
 double k ;
double value ;
    value = t3();
    label_4:
    while (true) {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case plus:
      case moins:
        ;
        break;
      default:
        jj_la1[4] = jj_gen;
        break label_4;
      }
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case plus:
        jj_consume_token(plus);
        k = t3();
                 value+=k;
        break;
      case moins:
        jj_consume_token(moins);
        k = t3();
                   value-=k;
        break;
      default:
        jj_la1[5] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
      }
    }
                         {if (true) return value;}
    throw new Error("Missing return statement in function");
  }

/*************************************************/
  final public double t3() throws ParseException, NumberFormatException {
 double k;
 double value;
    value = fact();
    label_5:
    while (true) {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case mult:
      case div:
        ;
        break;
      default:
        jj_la1[6] = jj_gen;
        break label_5;
      }
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case mult:
        jj_consume_token(mult);
        k = fact();
                   value*=k;
        break;
      case div:
        jj_consume_token(div);
        k = fact();
                   value/=k;
        break;
      default:
        jj_la1[7] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
      }
    }
 {if (true) return value;}
    throw new Error("Missing return statement in function");
  }

/**************************************************/
  final public double fact() throws ParseException, NumberFormatException {
double value ;
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case po:
    case p:
    case Sinu:
    case Cosi:
    case Tang:
    case Abs:
    case Acos:
    case Asin:
    case Atan:
    case Coshy:
    case Sinhy:
    case Tanhy:
    case Arrondi:
    case Exp:
    case Ln:
    case Log:
    case racine:
    case puissance:
    case fact:
    case minimum:
    case maximum:
    case moy:
    case sum:
    case prod:
    case Vari:
    case Ecartype:
    case sous:
    case valeur:
    case id:
      value = fact1();
                         {if (true) return value;}
      break;
    case moins:
      jj_consume_token(moins);
      value = fact1();
                         {if (true) return -value;}
      break;
    case plus:
      jj_consume_token(plus);
      value = fact1();
                         {if (true) return value;}
      break;
    default:
      jj_la1[8] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
    throw new Error("Missing return statement in function");
  }

/**************************************************/
  final public double fact1() throws ParseException, NumberFormatException {
double value;
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case po:
      jj_consume_token(po);
      value = expression();
      jj_consume_token(pf);
                                   {if (true) return value;}
      break;
    case p:
    case Sinu:
    case Cosi:
    case Tang:
    case Abs:
    case Acos:
    case Asin:
    case Atan:
    case Coshy:
    case Sinhy:
    case Tanhy:
    case Arrondi:
    case Exp:
    case Ln:
    case Log:
    case racine:
    case puissance:
    case fact:
    case minimum:
    case maximum:
    case moy:
    case sum:
    case prod:
    case Vari:
    case Ecartype:
    case sous:
    case valeur:
    case id:
      value = fonction();
   {if (true) return value;}
      break;
    default:
      jj_la1[9] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
    throw new Error("Missing return statement in function");
  }

  final public double fonction() throws ParseException, NumberFormatException {
 double value;
double k,j;
Token t ;
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case Sinu:
      jj_consume_token(Sinu);
      jj_consume_token(po);
      k = expression();
      jj_consume_token(pf);
                                    {if (true) return Math.sin(k);}
      break;
    case Cosi:

⌨️ 快捷键说明

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