1217 实验四 递归下降语法分析程序设计
2015-12-31 15:38
501 查看
import java.util.Scanner;
public class dealMain {
public dealMain() {
// TODO 自动生成的构造函数存根
String allChar = new String();
Scanner input=new Scanner(System.in);//定义键盘接收数据
System.out.print("请输入:");
allChar = input.next();
char[] p =allChar.toCharArray();
for (int i = 0; i < p.length-1; i++) {
char c = p[i];
if((c=='/'||c=='*'||c=='+'||c=='-'||c=='=')){
if(p[i+1]=='/'||p[i+1]=='*'||p[i+1]=='+'||p[i+1]=='-'||p[i+1]=='='){
System.out.println("符号语法错误");
System.exit(0);
}else if(i==0&&c!='-'){
System.out.println("符号语法错误");
System.exit(0);
}
}
if(48<=c&&c<=57){
if((p[i+1]>=65&&p[i+1]<=90)||(p[i+1]>=97&&p[i+1]<=122)){
System.out.println("变量语法错误");
System.exit(0);
}
}
if((p[i+1]>=65&&p[i+1]<=90)||(p[i+1]>=97&&p[i+1]<=122)){
if(48<=c&&c<=57){
System.out.println("变量语法错误");
System.exit(0);
}
}
}
System.out.println("是正确的表达式");
}
public static void main(String[] args) {
new dealMain();
}
}
public class dealMain {
public dealMain() {
// TODO 自动生成的构造函数存根
String allChar = new String();
Scanner input=new Scanner(System.in);//定义键盘接收数据
System.out.print("请输入:");
allChar = input.next();
char[] p =allChar.toCharArray();
for (int i = 0; i < p.length-1; i++) {
char c = p[i];
if((c=='/'||c=='*'||c=='+'||c=='-'||c=='=')){
if(p[i+1]=='/'||p[i+1]=='*'||p[i+1]=='+'||p[i+1]=='-'||p[i+1]=='='){
System.out.println("符号语法错误");
System.exit(0);
}else if(i==0&&c!='-'){
System.out.println("符号语法错误");
System.exit(0);
}
}
if(48<=c&&c<=57){
if((p[i+1]>=65&&p[i+1]<=90)||(p[i+1]>=97&&p[i+1]<=122)){
System.out.println("变量语法错误");
System.exit(0);
}
}
if((p[i+1]>=65&&p[i+1]<=90)||(p[i+1]>=97&&p[i+1]<=122)){
if(48<=c&&c<=57){
System.out.println("变量语法错误");
System.exit(0);
}
}
}
System.out.println("是正确的表达式");
}
public static void main(String[] args) {
new dealMain();
}
}
相关文章推荐
- 1231实验四 递归下降语法分析程序设计
- segment fault本质
- 使用路由器和花生壳如何在个人电脑上架构网站,通过域名访问 - 待整理
- ubuntu安装php
- 25 个 Java 机器学习工具和库
- JqMobi 基础知识
- C#反射是什么
- Spring mvc——接收对象Json数据,<mvc:annotation-driven/><context:annotation-config/><context:component-scan/>
- UIScrollView配合定时器和手动实现图片轮播无限循环
- POJ 3565 Ants
- [Java][MyBatis]物理分页实现
- 本地电脑连接阿里云RDS Mysql数据库问题(10038错误)
- POSIX标准小结
- php7 对返回值的限定
- PowerBuilder
- 类加载器--深入探讨 Java 类加载器
- 利用Jmeter进行分布式性能测试
- mysql误操作引起的问题
- 【STL】list
- githug游戏--通关文档