目录
一、写在前面(不想看直接第二步)
知道会没人看,但为了自我感动,还是写点废话吧。毕竟,原创不易~
点赞
二、gitte与压缩包
三、运行结果
四、项目结构
五、具体代码
Cifa_analyise_SanYuan.java
package text01;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class Cifa_analyise_SanYuan {
JFrame frame=new JFrame("单词三元组序列");
JTable table;
DefaultTableModel dtm;
String title[]= {"行号","单词内容","单词种类"};
String data[][]=new String[][] {};
String no_MainString;
void init(String Yuan) {
frame.setVisible(true);
frame.setBounds((1500-500)/2+50, (800-400)/2+50, 500, 400);
frame.setResizable(true);
frame.setIconImage(new ImageIcon("src/data/image/词法分析三元序列图标.png").getImage());
see_data(Yuan);
}
private void see_data(String Yuan) {
no_MainString="";
no_MainString+=Yuan;
dtm=new DefaultTableModel(data,title) {
@Override
public boolean isCellEditable(int hang,int lie) {
return false;
}
};
add_data();
}
private void add_data() {
table=new JTable();
String arr[]=new String[3] ;
String arr2[]=no_MainString.split("\n");
String Real[][]=new String[5000][100];
int Real_len[]=new int[5000];
//数据分割
for(int i=0;i<arr2.length;i++) {
//每行字符串的个数
int k=0;
int zuoBiao=0;
//查找第一个非空格字符
for(int j=0;j<arr2[i].length();j++) {
if(!(arr2[i].charAt(j)+"").equals(" ")) {
zuoBiao=j;
break;
}
}
//分割字符串存到数组
for(int j=zuoBiao;j<arr2[i].length();j++) {
if((arr2[i].charAt(j)>='a'&&arr2[i].charAt(j)<='z')||(arr2[i].charAt(j)>='A'&&arr2[i].charAt(j)<='Z')){
for(;j<arr2[i].length();j++) {
if((arr2[i].charAt(j)>='a'&&arr2[i].charAt(j)<='z')||(arr2[i].charAt(j)>='A'&&arr2[i].charAt(j)<='Z')
||(arr2[i].charAt(j)>='0'&&arr2[i].charAt(j)<='9')) {
if(Real[i][k]==null)
//刚开始的内容可能为空但空会保存为null字符串
Real[i][k]="";
Real[i][k]+=arr2[i].charAt(j);
}
else {
//由于外层有循环所以会再加1
j--;
break;
}
}
k++;
}
else if(arr2[i].charAt(j)>='0'&&arr2[i].charAt(j)<='9') {
for(;j<arr2[i].length();j++) {
if(arr2[i].charAt(j)>='0'&&arr2[i].charAt(j)<='9') {
if(Real[i][k]==null)
Real[i][k]="";
Real[i][k]+=arr2[i].charAt(j);
}
else {
j--;
break;
}
}
k++;
}
else if((""+arr2[i].charAt(j)).equals(" ")){
for(;j<arr2[i].length();j++) {
if(!(""+arr2[i].charAt(j)).equals(" ")) {
j--;
break;
}
}
}
else {
if(Real[i][k]==null)
Real[i][k]="";
Real[i][k]+=arr2[i].charAt(j);
k++;
}
Real_len[i]=k;
}
}
//单一字符-->双字符
for(int i=0;i<arr2.length;i++) {
for(int j=0;j<Real_len[i]-1;j++) {
if((""+Real[i][j]).equals(":")&&(""+Real[i][j+1]).equals("=")) {
Real[i][j+1]=null;
Real[i][j]=":=";
}
if((""+Real[i][j]).equals(".")&&(""+Real[i][j+1]).equals(".")){
Real[i][j+1]=null;
Real[i][j]="..";
}
}
}
//将空的字符串进行消除
for(int i=0;i<arr2.length;i++) {
//去重次数
int k=0;
for(int j=0;j<Real_len[i];j++) {
if(Real[i][j]==null) {
k++;
for(int q=j;q<Real_len[i]-1;q++){
Real[i][q]=Real[i][q+1];
}
j--;
}
}
Real_len[i]-=k;
}
for(int i=0;i<arr2.length;i++) {
int id=i+1;
arr[0]=""+id;
for(int j=0;j<Real_len[i];j++) {
arr[1]=Real[i][j];
arr[2]=new Way().cifa_analysie_format(arr[1]);
dtm.addRow(arr);
table.setModel(dtm);
}
}
frame.add(table);
JScrollPane jsp=new JScrollPane(table);
frame.add(jsp);
}
}
Cifa_analyise.java
package text01;
import java.awt.FileDialog;
import java.awt.Font;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.ImageIcon;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
public class Cifa_analyise {
String data_file_String;
JFrame frame=new JFrame("词法分析DFA");
TextArea taArea;
JMenuBar menuBar;
JMenuItem fileItem;
JMenuItem analyiseItem;
JMenuItem Zhushi_Item;
JDialog dialog;
FileDialog fileDialog;
File file;
void init(){
frame.setVisible(true);
frame.setResizable(true);
frame.setBounds((1500-800)/2+50, (800-600)/2+50, 800, 600);
frame.setIconImage(new ImageIcon("src/data/image/DFA图标.jpg").getImage());
menuBar=new JMenuBar();
fileItem=new JMenuItem("导入文件");
menuBar.add(fileItem);
taArea=new TextArea("");
taArea.setFont(new Font("楷体",Font.BOLD,15));
fileItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
fileDialog=new FileDialog(frame, "选择导入的文件",fileDialog.LOAD);
fileDialog.setVisible(true);
file=new File(fileDialog.getDirectory(), fileDialog.getFile());
data_file_String=new Way().Read_Data(file);
taArea.setText(data_file_String);
}
});
analyiseItem=new JMenuItem("三元序列");
menuBar.add(analyiseItem);
analyiseItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(taArea.getText()==null||taArea.getText().length()==0) {
JOptionPane.showMessageDialog(frame, "输入内容为空!");
}
else {
new Cifa_analyise_SanYuan().init(taArea.getText());
}
}
});
Zhushi_Item=new JMenuItem("取消注释");
menuBar.add(Zhushi_Item);
Zhushi_Item.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String yuan=taArea.getText();
yuan=new Way().cifa_analyise_del(yuan);
taArea.setText(yuan);
}
});
frame.add(taArea);
frame.setJMenuBar(menuBar);
}
}
Dialog_keyWord_add.java
package text01;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class Dialog_keyWord_add extends JDialog{
public Dialog_keyWord_add(JFrame jf,String title,boolean isModel,String Yuan) {
super(jf, title, isModel);
this.setBounds((1500-200)/2+50, (800-150)/2+50, 200, 150);
Box mainBox=Box.createVerticalBox();
Box nameBox=Box.createHorizontalBox();
JLabel label=new JLabel("内容:");
nameBox.add(Box.createHorizontalStrut(20));
nameBox.add(label);
JTextField tf=new JTextField(1);
mainBox.add(Box.createVerticalStrut(20));
nameBox.add(Box.createHorizontalStrut(20));
nameBox.add(tf);
nameBox.add(Box.createHorizontalStrut(30));
mainBox.add(nameBox);
mainBox.add(Box.createVerticalStrut(20));
//添加
Box btnBox=Box.createHorizontalBox();
JButton button=new JButton("添加");
button.setBackground(new Color(133, 224, 255));
button.setBorder(BorderFactory.createRaisedBevelBorder());
btnBox.add(Box.createHorizontalStrut(30));
btnBox.add(button);
mainBox.add(btnBox);
mainBox.add(Box.createVerticalStrut(20));
this.add(mainBox);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String addString=tf.getText();
String change_String;
if(addString.length()==0||addString==null){
JOptionPane.showMessageDialog(jf, "添加失败!\n没有数据");
}
else if(new Way().ZiChuan_find(Yuan, addString)) {
JOptionPane.showMessageDialog(jf, "添加失败!\n关键字中已存在内容");
}
else {
String arr[]=new String[] {};
change_String=Yuan+addString+",";
new Way().Wrtie_Data(change_String, "src/data/关键字表.txt");
JOptionPane.showMessageDialog(jf, "字符表\n添加"+addString+"成功!");
jf.setVisible(false);
}
}
});
}
}
Dialog_keyWord_change.java
package text01;
import java.awt.Color;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
public class Dialog_keyWord_change extends JDialog{
public Dialog_keyWord_change(JFrame jf,String title,boolean isModeal,String Yuan) {
super(jf,title,isModeal);
this.setBounds((1500-200)/2+50, (800-150)/2+50, 200, 150);
Box vbox=Box.createVerticalBox();
Box hBox=Box.createHorizontalBox();
JLabel label=new JLabel("ID");
TextField tf=new TextField(1);
hBox.add(Box.createHorizontalStrut(40));
hBox.add(label);
hBox.add(Box.createHorizontalStrut(45));
hBox.add(tf);
hBox.add(Box.createHorizontalStrut(70));
vbox.add(Box.createVerticalStrut(15));
vbox.add(hBox);
Box h2Box=Box.createHorizontalBox();
JLabel label2=new JLabel("改后字符");
TextField tf2=new TextField(1);
h2Box.add(Box.createHorizontalStrut(15));
h2Box.add(label2);
h2Box.add(Box.createHorizontalStrut(10));
h2Box.add(tf2);
h2Box.add(Box.createHorizontalStrut(40));
vbox.add(Box.createVerticalStrut(10));
vbox.add(h2Box);
JButton button=new JButton("修改");
Box h3Box=Box.createHorizontalBox();
button.setBorder(BorderFactory.createRaisedBevelBorder());
button.setBackground(new Color(133, 224, 255));
h3Box.add(Box.createHorizontalStrut(25));
h3Box.add(button);
vbox.add(Box.createVerticalStrut(10));
vbox.add(h3Box);
vbox.add(Box.createVerticalStrut(10));
this.add(vbox);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String id_String=tf.getText();
String change_String=tf2.getText();
String arr[]=Yuan.split(",");
if(id_String==null||id_String.length()==0) {
JOptionPane.showMessageDialog(jf, "I修改失败!\nID里面没有内容");
}
else if(!new Way().isNumeric(id_String)){
JOptionPane.showMessageDialog(jf,"修改失败!\nID不为数字类型");
}
else {
int ID=Integer.parseInt(id_String);
if(ID<1||ID>arr.length)
JOptionPane.showMessageDialog(jf, "修改失败!\nID超出范围");
else if(change_String.length()==0){
JOptionPane.showMessageDialog(jf, "修改失败\n修改后的字符串内容不能为空");
}
else if(new Way().ZiChuan_find(Yuan, change_String)) {//添加字符
JOptionPane.showMessageDialog(jf, "修改失败!\n该字符串在原表中已存在");
}
else {
String op=arr[ID-1];
String content=Yuan.replace(""+op,change_String);
new Way().Wrtie_Data(content,"src/data/关键字表.txt");
JOptionPane.showMessageDialog(jf, "修改成功\n"+"原 ID:"+ID+" 字符串:"+op+"\n"+"现 ID:"+ID+" 字符串:"+change_String);
jf.setVisible(false);
}
}
}
});
}
}
Dialog_keyWord_del.java
package text01;
import java.awt.Color;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
public class Dialog_keyWord_del extends JDialog{
public Dialog_keyWord_del(JFrame jf,String title,boolean isModel,String Yuan) {
super(jf,title,isModel);
this.setBounds((1500-200)/2+50, (800-150)/2+50, 200, 150);
Box vbox=Box.createVerticalBox();
Box hbox=Box.createHorizontalBox();
JLabel label=new JLabel("ID");
hbox.add(Box.createHorizontalStrut(35));
hbox.add(label);
hbox.add(Box.createHorizontalStrut(30));
TextField tf=new TextField(1);
hbox.add(tf);
hbox.add(Box.createHorizontalStrut(70));
vbox.add(Box.createVerticalStrut(25));
vbox.add(hbox);
vbox.add(Box.createHorizontalStrut(10));
vbox.add(Box.createVerticalStrut(20));
Box pbox=Box.createHorizontalBox();
JButton button=new JButton("删除ID");
button.setBackground(new Color(133, 224, 255));
button.setBorder(BorderFactory.createRaisedBevelBorder());
pbox.add(Box.createHorizontalStrut(5));
pbox.add(button);
vbox.add(pbox);
vbox.add(Box.createVerticalStrut(20));
this.add(vbox);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String del_String=tf.getText();
String arr[]=Yuan.split(",");
if(del_String.length()==0||del_String==null) {
JOptionPane.showMessageDialog(jf,"删除失败!\n没有数据");
}
else if(!new Way().isNumeric(del_String)) {
JOptionPane.showMessageDialog(jf,"删除失败!\n删除内容不为数字类型");
}
else {
int ID=Integer.parseInt(del_String);
if(ID<1||ID>arr.length) {
JOptionPane.showMessageDialog(jf, "删除失败!\nID超出范围");
}
else{
JOptionPane.showMessageDialog(jf, "删除ID:"+ID+"成功");
String del_afterString=del(Yuan,ID-1);
new Way().Wrtie_Data(del_afterString,"src/data/关键字表.txt");
System.out.println("删除后的字符串-----"+del_afterString+"--------");
jf.setVisible(false);
}
}
}
});
}
private String del(String Yuan,int index) {
String after_String="";
String arr[]=Yuan.split(",");
for(int i=0;i<Yuan.indexOf(arr[index]);i++) {
after_String+=Yuan.charAt(i);
}
for(int i=Yuan.indexOf(arr[index])+arr[index].length()+1;i<Yuan.length();i++) {
after_String+=Yuan.charAt(i);
}
return after_String;
}
}
Dialog_zifuBiao_add.java
package text01;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class Dialog_zifuBiao_add extends JDialog{
public Dialog_zifuBiao_add(JFrame jf,String title,boolean isModel,String NOT_main_string) {
super(jf,title,isModel);
this.setBounds((1500-200)/2+50, (800-150)/2+50, 200, 150);
Box mainBox=Box.createVerticalBox();
Box nameBox=Box.createHorizontalBox();
JLabel label=new JLabel("内容:");
nameBox.add(Box.createHorizontalStrut(20));
nameBox.add(label);
JTextField tf=new JTextField(15);
mainBox.add(Box.createVerticalStrut(20));
nameBox.add(Box.createHorizontalStrut(30));
nameBox.add(tf);
nameBox.add(Box.createHorizontalStrut(65));
mainBox.add(nameBox);
mainBox.add(Box.createVerticalStrut(20));
Box btnBox=Box.createHorizontalBox();
JButton button=new JButton("添加");
button.setBackground(new Color(255, 228, 196));
button.setBorder(BorderFactory.createRaisedBevelBorder());
btnBox.add(Box.createHorizontalStrut(10));
btnBox.add(button);
mainBox.add(btnBox);
mainBox.add(Box.createVerticalStrut(20));
this.add(mainBox);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String addString=tf.getText();
String change_String;
if(addString.length()>1) {
JOptionPane.showMessageDialog(jf, "添加失败!\n只能添加单字符");
}
else if(addString.length()==0||addString==null){
JOptionPane.showMessageDialog(jf, "添加失败!\n没有数据");
}
else if(CZ(addString,NOT_main_string)==0) {
JOptionPane.showMessageDialog(jf, "添加失败!\n字符表中已存在内容");
}
else {
change_String=NOT_main_string+addString;
JOptionPane.showMessageDialog(jf, "字符表\n添加"+addString+"成功!");
new Way().Wrtie_Data(change_String, "src/data/字符表.txt");
jf.setVisible(false);//添加数据后不点击x依旧可以添加重复数据,和线程有关系,所以只能隐藏frame打开再显示
}
}
});
}
private int CZ(String addString,String NOT_main_string) {
if(NOT_main_string.indexOf(addString)==-1)
return 1;
return 0;
}
}
Dialog_zifuBiao_change.java
package text01;
import java.awt.Color;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
public class Dialog_zifuBiao_change extends JDialog{
public Dialog_zifuBiao_change(JFrame jf,String title,boolean isModel,String nOT_main_String) {
super(jf,title,isModel);
this.setBounds((1500-200)/2+50, (800-150)/2+50, 200, 150);
Box vbox=Box.createVerticalBox();
Box hBox=Box.createHorizontalBox();
JLabel label=new JLabel("ID");
TextField tf=new TextField(1);
hBox.add(Box.createHorizontalStrut(35));
hBox.add(label);
hBox.add(Box.createHorizontalStrut(30));
hBox.add(tf);
hBox.add(Box.createHorizontalStrut(70));
vbox.add(Box.createVerticalStrut(15));
vbox.add(hBox);
Box h2Box=Box.createHorizontalBox();
JLabel label2=new JLabel("改后字符");
TextField tf2=new TextField(1);
h2Box.add(Box.createHorizontalStrut(15));
h2Box.add(label2);
h2Box.add(Box.createHorizontalStrut(10));
h2Box.add(tf2);
h2Box.add(Box.createHorizontalStrut(70));
vbox.add(Box.createVerticalStrut(10));
vbox.add(h2Box);
JButton button=new JButton("修改");
Box h3Box=Box.createHorizontalBox();
button.setBorder(BorderFactory.createRaisedBevelBorder());
button.setBackground(new Color(255, 228, 196));
h3Box.add(button);
vbox.add(Box.createVerticalStrut(10));
vbox.add(h3Box);
vbox.add(Box.createVerticalStrut(10));
this.add(vbox);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String id_String=tf.getText();
String zifu_String=tf2.getText();
if(id_String==null||id_String.length()==0) {
JOptionPane.showMessageDialog(jf, "I修改失败!\nID里面没有内容");
}
else if(!new Way().isNumeric(id_String)){
JOptionPane.showMessageDialog(jf,"修改失败!\nID不为数字类型");
}
else {
int ID=Integer.parseInt(id_String);
if(ID<1||ID>nOT_main_String.length())
JOptionPane.showMessageDialog(jf, "修改失败!\nID超出范围");
else if(zifu_String.length()==0){
JOptionPane.showMessageDialog(jf, "修改失败\n修改后的字符内容不能为空");
}
else if(nOT_main_String.indexOf(zifu_String)!=-1) {//添加字符
JOptionPane.showMessageDialog(jf, "修改失败!\n该字符在原表中已存在");
}
else if(zifu_String.length()>1){
JOptionPane.showMessageDialog(jf, "修改失败\n修改后的字符只能有1位");
}
else {
String op=""+nOT_main_String.charAt(ID-1);
String content=nOT_main_String.replace(""+nOT_main_String.charAt(ID-1),zifu_String);
new Way().Wrtie_Data(content,"src/data/字符表.txt");
JOptionPane.showMessageDialog(jf, "修改成功\n"+"原 ID:"+ID+" 字符:"+op+"\n"+"现 ID:"+ID+" 字符:"+zifu_String);
jf.setVisible(false);
}
}
}
});
}
}
Dialog_zifubiao_del.java
package text01;
import java.awt.Color;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
public class Dialog_zifubiao_del extends JDialog{
public Dialog_zifubiao_del(JFrame jf,String title,boolean isModeal,String NOT_main_string) {
super(jf,title,isModeal);
this.setBounds((1500-200)/2+50, (800-150)/2+50, 200, 150);
Box vbox=Box.createVerticalBox();
Box hbox=Box.createHorizontalBox();
JLabel label=new JLabel("ID");
hbox.add(Box.createHorizontalStrut(35));
hbox.add(label);
hbox.add(Box.createHorizontalStrut(30));
TextField tf=new TextField(1);
hbox.add(tf);
hbox.add(Box.createHorizontalStrut(70));
vbox.add(Box.createVerticalStrut(25));
vbox.add(hbox);
vbox.add(Box.createHorizontalStrut(10));
vbox.add(Box.createVerticalStrut(20));
Box pbox=Box.createHorizontalBox();
JButton button=new JButton("删除ID");
button.setBackground(new Color(255, 228, 196));
button.setBorder(BorderFactory.createRaisedBevelBorder());
pbox.add(Box.createHorizontalStrut(5));
pbox.add(button);
vbox.add(pbox);
vbox.add(Box.createVerticalStrut(20));
this.add(vbox);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String del_String=tf.getText();
if(del_String.length()==0||del_String==null) {
JOptionPane.showMessageDialog(jf,"删除失败!\n没有数据");
}
else if(!new Way().isNumeric(del_String)) {
JOptionPane.showMessageDialog(jf,"删除失败!\n删除内容不为数字类型");
}
else {
int ID=Integer.parseInt(del_String);
if(ID<1||ID>NOT_main_string.length()) {
JOptionPane.showMessageDialog(jf, "删除失败!\nID超出范围");
}
else{
JOptionPane.showMessageDialog(jf, "删除ID:"+ID+"成功");
String del_afterString=del(NOT_main_string,ID-1);
new Way().Wrtie_Data(del_afterString,"src/data/字符表.txt");
System.out.println("删除后的字符串-----"+del_afterString+"--------");
jf.setVisible(false);
}
}
}
});
}
//删除指定位置字符,并返回删除后的新数据
private String del (String Yuan,int index) {
String DEL_after="";
//DEL_after=DEL_after+Yuan.substring(1);//sub似乎有问题重写吧如果加入的第一个数据 是空格那不会加进去
for(int i=0;i<=index-1;i++) {
DEL_after+=Yuan.charAt(i);
}
for(int i=index+1;i<Yuan.length();i++) {
DEL_after+=Yuan.charAt(i);
}
return DEL_after;
}
}