用栈来校验---分隔符匹配---的java算法
来源:互联网 发布:java安装错误代码1603 编辑:程序博客网 时间:2024/05/19 20:57
import java.util.Stack;public class BracketChecker { public static void main(String[] args) { if(args.length<1) { System.out.println(" please enter the input string containing delimiters that needs to be checked."); System.exit(0); } System.out.println("the input string is: "+args[0]); boolean matchFlag=true; Stack<Character> theStack=new Stack<Character>(); for(int j=0; j<args[0].length(); j++) { char ch=args[0].charAt(j); switch(ch) { case '{': case '[': case '(': theStack.push(ch); break; case '}': case ']': case ')': if(theStack.empty()) { System.out.println("Error : prematurely empty! nothing matches final "+ch+" at index "+j); matchFlag=false; } else { char chx=theStack.pop(); if( (ch=='}' && chx!='{')|| (ch==']' && chx!='[')|| (ch==')' && chx!='(') ) { System.out.println("Error : "+ch+" doesn't match the previous "+chx+" at index "+j); matchFlag=false; } } break; default: break; } //end switch }//end for loop //在这里,所有的字符都被处理了,如果此时栈中还有字符 if(!theStack.empty()) { matchFlag=false; String temp=""; while(!theStack.empty()) { temp+=theStack.pop(); } System.out.println("Error : missing right delimiter "+temp); } if( matchFlag) { System.out.println("Correct! the delimiters of the original string are all matched ."); } }}
0 0
- 用栈来校验---分隔符匹配---的java算法
- 栈的应用:分隔符匹配问题-编写判断java语句中分隔符是否匹配的程序
- 《Java数据结构与算法》笔记-CH4-3用栈实现分隔符匹配
- 分隔字符串的匹配
- 分隔符匹配
- 分隔符匹配
- 数据结构Java实现——①栈-->栈的应用二、分隔符匹配
- Java栈实现判断分隔符是否匹配
- java自动匹配路径分隔符Windows、Linux自动区分
- 匹配逗号分隔的内容
- (C++) 分隔符匹配
- Java实现括号匹配校验
- JAVA校验和算法的实现
- JAVA校验和算法的实现
- CRC16校验算法的Java实现
- java校验中文姓名合法性(需要支持生僻字与分隔符·)
- 分隔符分隔的字符串
- BCC 校验算法 (java)
- poj 1201 Intervals
- uva10594(最小费用最大流)
- Linux下Makefile的automake生成全攻略
- Merge Sorted Array
- Cocos2d-js中实现惯性滑动效果
- 用栈来校验---分隔符匹配---的java算法
- 三角形判断
- Model/View好处
- Examples for using socat
- innerhtml
- 恢复高考I恩特合计人家呃呃官方价格管控覅日一日日基金
- flexviewer popupconfig泡沫信息窗口关于图层字段是date类型的显示
- 关于数组二三事
- 用VMware安装Ubuntu 12.04详细过程图解