integral.java

来自「Java编写的表达式计算器, 即可以像我们书写表达式那样直接输入计算表达式, 程」· Java 代码 · 共 100 行

JAVA
100
字号
package parser;


import java.util.*;
/**
 * 这个类用于存储一个整数类型
 * @author zouhao
 */
public class Integral extends Token{
	ArrayList<Digit> integral;
        /**
         * 构造函数
         * @param first 整数的第一位
         */
	Integral(Digit first)
	{
		type = "Integral";
		integral = new ArrayList<Digit>();
		integral.add(first);
	}
        /**
         * 构造函数
         * @param other 用另一个对象初始化
         */
	Integral(Integral other)
	{
                type = "Integral";
		integral = new ArrayList<Digit>();
		integral = other.integral;
	}
        /**
         * 构造函数
         * @param input 等待初始化成整数类型的字符串
         * @param f 整数类型的第一个字符
         */
	Integral(String input,String f)
	{
                type = "Integral";
		integral = new ArrayList<Digit>();
		int index = 0;
		Digit first = new Digit(f);
		integral.add(first);
		index++;
                if(index != input.length())
                    f = input.substring(index, index+1);
                else return;
		while(Character.isDigit(f.charAt(0)))
		{
			Digit temp = new Digit(f);
			integral.add(temp);
			index++;
			if(index != input.length())
                             f = input.substring(index, index+1);
                        else return;
		}
	}
        /**
         * 获得整数类型的长度
         * @return 返回的长度
         */
	int getL()
	{
		return integral.size();
	}
        /**
         * 用于返回对象的值
         * @return 将值作为字符串类型返回
         */
        public String getToken()
        {
            return toString();
        }
        /**
         * 用于返回对象的值
         * @return 将值作为double类型返回
         */
	public double getValue()
	{
		double r = 0;
		int i;
		double j = 1;
		for(i=integral.size()-1;i>=0;i--)
		{
			r += integral.get(i).di*j;
			j *= 10;
		}
		return r;
	}
	public String toString()
	{
		String di = "";
		int i;
		for(i=0;i<integral.size();i++)
		{
			di += integral.get(i).di;
		}
		return di;
	}
}

⌨️ 快捷键说明

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