📄 tastcifa.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 + -