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

📄 parenthesis.java

📁 java算法大全
💻 JAVA
字号:
import java.awt.*;class Parenthesis implements DrawingObj {    int x, y;    Subscript[] str = null;    Parenthesis[] parens;    Font font;    int right = 0;    Color col = Color.red;    public Parenthesis(Subscript[] str, Font font) {	this.x = 0; this.y = 0;	this.font = font;	this.str = str;	this.parens = null;    }    public Parenthesis(Parenthesis[] p, Font font) {	this.x = 0; this.y = 0;	this.font = font;	this.str = null;	this.parens = p;    }    public int getRight() {	draw(null);	return right;    }    public int getX() {	return x;    }    public Parenthesis getLeftParen() {	if (parens == null)	    return null;	else	    return parens[0];    }    public int getY() {	return y;    }    public void move(int x, int y) {	this.x = x;	this.y = y;	draw(null);    }    public void setColor(Color col) {	this.col = col;    }    public void draw(Graphics g) {	if (str == null) {	    // parens is not null	    parens[0].move(x + 9, y);	    for (int i = 1; i < parens.length; i++)	        parens[i].move(parens[i-1].getRight(), y);	    right = parens[parens.length-1].getRight() + 9;	    if (g == null)		return;	    g.setColor(col);	    g.setFont(font);	    g.drawString("(", x, y);	    for (int i = 0; i < parens.length; i++)		parens[i].draw(g);	    g.setColor(col);	    g.setFont(font);	    g.drawString(")", right - 9, y);	} else if (str.length == 1) {	    // only one subscripted num to be enclosed in parenthesis	    // no need to put parenthesis	    str[0].move(x, y);	    right = str[0].getRight();	    if (g == null) // just to check the right most posn		return;    	    str[0].draw(g);	} else {	    // parenthesis around more than 1 subscripted nums	    str[0].move(x + 9, y);	    for (int i = 1; i < str.length; i++)	    	str[i].move(str[i-1].getRight(), y);	    right = str[str.length-1].getRight() + 9;	    if (g == null)		return;	    g.setColor(col);	    g.setFont(font);	    g.drawString("(", x, y);	    for (int i = 0; i < str.length; i++)		str[i].draw(g);	    g.setColor(col);	    g.setFont(font);	    g.drawString(")", right - 9, y);	}    }}

⌨️ 快捷键说明

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