java实现的判断括号是否成对的代码,()[]{}都可以
本来想找找现成的,去,都写的好复杂。自己写一个吧。挺有成就感。哈哈
package com.test.jiexi;
import java.util.Stack;
public class Check {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String s="(1){CHI[与|和] || CAT[J] LOGIC[G|D]}+(2){CAT[A] || OF_AMBI[A]}+(3){CHI[的]||CAT[N]}";
Stack<Character> sc=new Stack<Character>();
char[] c=s.toCharArray();
for (int i = 0; i < c.length; i++) {
if (c[i]=='('||c[i]=='['||c[i]=='{') {
sc.push(c[i]);
}
else if (c[i]==')') {
if (sc.peek()=='(') {
sc.pop();
}
}else if (c[i]==']') {
if (sc.peek()=='[') {
sc.pop();
}
}else if (c[i]=='}') {
if (sc.peek()=='{') {
sc.pop();
}
}
}
if (sc.empty()) {
System.out.println("成对");
}else {
System.out.println("不成对");
}
}
}
java实现的判断括号是否成对的代码,()[]{}都可以的更多相关文章
- [Java]利用栈判断括号是否完整配对
利用栈实现判断字符串中的括号是否都是配对的. 主要算法是依次读取字符串中的每一个字符,如果是左括号则将左括号压入栈中,如果是右括号则从栈中弹出最上面的字符,若两者不是同种括号或栈内已经没有字符就返回f ...
- 逆波兰(加、减、乘、除、括号)表达式原理及C++代码实现
当我们输入一个数学表达式,是中缀表达式,我们首先转换为后缀表达式(逆波兰表达式),然后再进行求值. 代码思路: (1)首先对输入的中缀表达式合法性进行判断,bool isStringLegal(con ...
- Java中类型判断的几种方式
1. 前言 在Java这种强类型语言中类型转换.类型判断是经常遇到的.今天就细数一下Java中类型判断的方法方式. 2. instanceof instanceof是Java的一个运算符,用来判断一个 ...
- excel VBA把一个单元格内容按逗号拆分并依次替换到另一个单元格的括号里面(本题例子,把文本中的括号换成{答案}的格式,并按顺序填空)
方法1:运用excel单元格拆分合并实现 思路:用VBA正则查询左侧括号个数,对右侧单元格逐一按逗号.顿号等符号分列,同时左侧按括号分列(分列只能按括号单边分列),分列完成后按要求合并,本题事例把括号 ...
- Java中如何将String转成Date
Java中如何将String转成Date 最近在开发Json数据反序列化为Java对象的时候发现spring mvc 和 Jackson 对Date类型对支持不是特别好,虽然在Java对象序列化为Js ...
- java integer对象判断两个数字是否相等
java integer对象判断两个数字是否相等,不一定对 问题发生的背景:javaweb的项目,起先,因为在java中实体类中的int类型在对象初始化之后会给int类型的数据默认赋值为0,这样在很多 ...
- Java学习-020-Properties 判断是否存在对应的 key 项
在日常的脚本编写过程中,通常会判断配置文件中是否存在对应的配置项,以判断是否执行相应的业务逻辑. 小二上码...若有不足之处,敬请大神指正,不胜感激! 判断是否存在 key 项(配置项)的方法源码如下 ...
- Java中如何判断当前环境是大端字节顺序还是小端字节顺序
Java非字节类型的基本类型,除了布尔型都是由组合在一起的几个字节组成的.这些数据类 型及其大小总结在表 2-1 中. 表:基本数据类型及其大小 数据类型 大小(以字节表示) Byte 1 Char ...
- sql事务,在sql2000里判断执行是否成功用@@ERROR 判断
原文:sql事务,在sql2000里判断执行是否成功用@@ERROR 判断 贴个sql事务,在sql2000里判断执行是否成功用@@ERROR 判断 这个东西多少还是有点问题,sql2005了可以用t ...
随机推荐
- Lightoj 1011 - Marriage Ceremonies
You work in a company which organizes marriages. Marriages are not that easy to be made, so, the job ...
- YTU 2432: C++习题 对象数组输入与输出
2432: C++习题 对象数组输入与输出 时间限制: 1 Sec 内存限制: 128 MB 提交: 1603 解决: 1152 题目描述 建立一个对象数组,内放n(n<10)个学生的数据( ...
- YTU 1074: You are my brother
1074: You are my brother 时间限制: 1 Sec 内存限制: 128 MB 提交: 10 解决: 7 题目描述 Little A gets to know a new fr ...
- 并不对劲的bzoj2638
为了反驳很对劲的太刀流,并不对劲的片手流决定与之针锋相对. 很对劲的太刀流-> 2638: 黑白染色 Time Limit: 20 Sec Memory Limit: 256 MBSubmit ...
- snnu1111(子序列求和)
1111: 子序列求和 Time Limit: 3 Sec Memory Limit: 64 MBSubmit: 10 Solved: 2[Submit][Status][Web Board] [ ...
- SetWindowPos
SetWindowPos函数改变一个子窗口,弹出式窗口或顶层窗口的尺寸,位置和Z序.子窗口,弹出式窗口,及顶层窗口根据它们在屏幕上出现的顺序排序.顶层窗口设置的级别最高,并且被设置为Z序的第一个窗口. ...
- 关于CentOS 7安装jdk1.8
安装之前先检查一下系统有没有自带open-jdk 命令: rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj 如果没有输入信息表示没有安装. ...
- rake db:migrate 与 bundle exec rake db:migrate 的区别(copy)
[说明:资料来自http://blog.csdn.net/lihuan974683978/article/details/8715414] 之前一直没弄明白rake db:migrate 与 bun ...
- json知识笔记
1.全称:JavaScript Object Notation 2.数据格式 3. 数据结构-object String+基本类型(或者数据结构) 数据结构-Array [基本类型] 4.一个样例a ...
- CodeForces E. Goods transportation【最大流+dp最小割】
妙啊 首先暴力建图跑最大流非常简单,s向每个i连流量为p[i]的边,每个i向t连流量为s[i]的边,每个i向j连流量为c的边(i<j),但是会又T又M 考虑最大流=最小割 然后dp求最小割,设f ...