qqqqqqqqqqqq

来源:互联网 发布:淘宝拍视频用什么软件 编辑:程序博客网 时间:2024/06/05 03:22
import java.util.*;public class Test {    static String[] word = {"int","if","then","while","else","do"};    static String[] tag = {"+","-","*","/","=","==","<",">","!="};    static String[] split = {"(","{","}",",",";",")"};    //char[] num = {'0','1','2','3','4','5','6','7','8','9'};    static HashMap<String,String> map ;    public static void analyze(String str){        int i = 0;        if(str.charAt(i)=='0'||str.charAt(i)=='1'||str.charAt(i)=='2'||str.charAt(i)=='3'||str.charAt(i)=='4'||                str.charAt(i)=='5'||str.charAt(i)=='6'||str.charAt(i)=='7'||str.charAt(i)=='8'||                str.charAt(i)=='9'){            while(i<str.length()){                if(str.charAt(i)=='0'||str.charAt(i)=='1'||str.charAt(i)=='2'||str.charAt(i)=='3'||str.charAt(i)=='4'||                        str.charAt(i)=='5'||str.charAt(i)=='6'||str.charAt(i)=='7'||str.charAt(i)=='8'||                        str.charAt(i)=='9'){                    i++;                }else{                    map.put("不合法", map.get("不合法")+" "+str);                    return;                }                map.put("NUM",str);            }        }else if(str.charAt(i)=='a'||str.charAt(i)=='b'||str.charAt(i)=='c'                ||str.charAt(i)=='d'||str.charAt(i)=='e'||str.charAt(i)=='f'||str.charAt(i)=='g'||                str.charAt(i)=='h'||str.charAt(i)=='i'||str.charAt(i)=='j'||str.charAt(i)=='k'||                str.charAt(i)=='l'||str.charAt(i)=='m'||str.charAt(i)=='n'||str.charAt(i)=='o'||                str.charAt(i)=='p'||str.charAt(i)=='q'||str.charAt(i)=='r'||str.charAt(i)=='s'||                str.charAt(i)=='t'||str.charAt(i)=='w'||str.charAt(i)=='v'||str.charAt(i)=='w'||                str.charAt(i)=='x'||str.charAt(i)=='y'||str.charAt(i)=='z'){            for(int j=0;j<word.length;j++){                if(word[j].equals(str)){                    map.put("保留字", str);                    return;                }            }            map.put("标识符", str);        }else if(str.charAt(i)=='+'||str.charAt(i)=='-'||str.charAt(i)=='*'||                str.charAt(i)=='/'||str.charAt(i)=='='||str.charAt(i)=='>'||str.charAt(i)=='<'||str.charAt(i)=='!'){            for(int j=0;j<tag.length;j++){                if(tag[j].equals(str)){                    map.put("tag", str);                    return;                }            }            map.put("不合法", str);            return;        }else{            for(int j=0;j<split.length;j++){                if(split[j].equals(str)){                    map.put("分隔符", str);                    return;                }            }            map.put("不合法", str);            return;        }    }    public static void main(String[] args) {        map = new HashMap();        Scanner in = new Scanner(System.in);        System.out.println("请输入您的程序,以\"#\"结尾");        String str;        while(!(str=in.next()).equals("#")){            analyze(str);        }        Iterator iter = map.entrySet().iterator();        while(iter.hasNext()){            Map.Entry entry = (Map.Entry) iter.next();            String key = (String)entry.getKey();            String value = (String)entry.getValue();            System.out.println(key+": "+value);        }    }}

原创粉丝点击