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

📄 tastcifa.java

📁 我的课程设计
💻 JAVA
字号:

import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.StringTokenizer;

class cf
{
//		保留字
	    String[] keyWords = {"auto","break","case","char","const","continue",
	    "default","do","double","else","enum","float","for","goto","main","if","int",
	     "long","rebister","return","short","signed","sizeof","static","struct",
	     "switch","typedef","union","unsigned","void","volatile","while"};
 
	  //运算符
	    String[] operator = {"+","-","*","/","%","=",".",">","<","?","<=",">="};
	  
	  
	  //分割符
	    String[] sepretor = {";",":","{","}","(",")","[","]",","};
		

	
	    cf(){cifafenxi();}

	
	    
	    void cifafenxi()
	{	
	  
	try
	{	
		char[] kode = new char[1000];
		File f = new File("e:\\eclipse","aa.txt");
        FileReader re;
        re = new FileReader(f);
        re.read(kode);
        int b1=0,b2=0,b3=0,b4=0,b5=0;
        int m1=0,m2=0,m3=0,m4=0,m5=0;
        String aba[] = new String[100];
        String abb[] = new String[100];
        String abc[] = new String[100];
        String abd[] = new String[100];
        String abe[] = new String[100];
        String s = new String(kode);	
        StringTokenizer str1 = new StringTokenizer(s,"\n\t\r;+=-*\"\")(}{][<> ,",true);

        
        int n = str1.countTokens();
        String[] intext = new String[str1.countTokens()];
        
        
        for(int a = 0;a<n;a++)
        {
            intext[a] = str1.nextToken();
         }
        for(int i=0;i<intext.length;i++)
        {
       
            for(int j=0;j<keyWords.length;j++)  //判断为保留字
            {
        
               if(intext[i].equals(keyWords[j]))
               {
            	  m1++;
            	  aba[b1++]=intext[i];
                  i++;
                   
                }
       
             }
               
         
            for(int i1=0;i1<operator.length;i1++)    //判断为运算符
            {
                if(intext[i].equals(operator[i1]))
                {
                    m2++;
                	abb[b2++]=intext[i];
                	
                }
            }
            for(int i2=0;i2<sepretor.length;i2++)    //判断为分隔符 
            {
                 if(intext[i].equals(sepretor[i2]))  
                 {
                	 m3++;
                	 abc[b3++]=intext[i];
                 }
                	 
             }
            
            char[] inChar=intext[i].toCharArray();
            if(Character.isDigit(inChar[0]))
            {
            	m4++;
            	abd[b4++]=intext[i];
            }
            	
            
            if(Character.isLetter(inChar[0])) 
            {
            	m5++;
            	abe[b5++]=intext[i];
            }
            	
        
           
        }
        
         System.out.print("保留字: ");
         for(int x=0;x<m1;x++)
           System.out.print(aba[x]+" ");
         
         System.out.println("\n");
         System.out.print("运算符: ");
         for(int x=0;x<m2;x++)
         {
        	 if(abb[x+1].equals("=")&&(abb[x].equals("<")||abb[x].equals(">")))//判断如果后一个字符为“=”,则称为组合符号,如“〉=”
        	 {
					System.out.print(abb[x]+"="+" ");
					x++;
			 }
        	 else
             System.out.print(abb[x]+" ");
         }
         System.out.println("\n");
         System.out.print("分割符: ");
         for(int x=0;x<m3;x++)
           System.out.print(abc[x]+" ");
         
         System.out.println("\n");
         System.out.print("常数: ");
         for(int x=0;x<m4;x++)
           System.out.print(abd[x]+" ");
         
         System.out.println("\n");
         System.out.print("标示符: ");
         for(int x=0;x<m5;x++)
           System.out.print(abe[x]+" ");
         
	}
	catch(IOException e)
     {}
    }
}


public class Tastcifa
{
	public static void main(String [] args)
	{
		cf c = new cf();
	}
}

⌨️ 快捷键说明

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