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

📄 3140643_tle.java

📁 北大大牛代码 1240道题的原代码 超级权威
💻 JAVA
字号:
import java.util.*;

public class Main
{

	public static void main(String [] args)
	{
		new Main().run();
	}

	private void run()
	{
		Scanner cin = new Scanner (System.in);
		int n;
		String exp;

		n = cin.nextInt();
		for(int cas = 1; cas <= n; cas++)
		{
			System.out.print("Word #"+cas+": ");
			exp = cin.next();
			System.out.println((isSet(exp)?"":"No ")+"Set");
		}
	}

	private boolean isSet(String exp)
	{
		int len = exp.length();

		if(len < 2)
			return false;
		if(exp.charAt(0)!='{'||exp.charAt(len-1)!='}')
			return false;
		return isElementlist(exp.substring(1,len-1));
	}

	private boolean isElementlist(String exp)
	{
		return isEmpty(exp)||isList(exp);
	}

	private boolean isEmpty(String exp)
	{
		return exp.length()==0;
	}

	private boolean isList(String exp)
	{
		if(isElement(exp))
			return true;
		for(int i = 0; i < exp.length(); i++)
		{
			if(exp.charAt(i)==',')
			{
				if(isElement(exp.substring(0,i))&&isList(exp.substring(i+1)))
					return true;
			}
		}
		return false;
	}

	private boolean isElement(String exp)
	{
		return isAtom(exp)||isSet(exp);
	}

	private boolean isAtom(String exp)
	{
		return exp.length()==1&&(exp.charAt(0)=='{'||exp.charAt(0)=='}'||exp.charAt(0)==',');
	}

}

⌨️ 快捷键说明

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