【发布时间】:2015-04-14 02:00:41
【问题描述】:
就像标题所说的那样,我已经尝试了几个小时。
System.out.print ("Please input the first name: ");
name1 = in.next();
if (name1.substring(0,1).equals("[a-zA-Z]"))
System.out.println("\t" + name1.substring(0,1).toUpperCase()+name1.substring(1).toLowerCase() + " is in the name list");
else if (name1.substring(0,1).equals("[0-9]"));
System.out.println("error");
这是不适合我的部分代码。 我真的不知道我哪里错了,我是这个初学者。 使用这段代码,无论我写什么,我都会返回第二个 System.out.println,这是错误的。如果字符串不以数字开头,我希望程序显示错误消息。另外,请使用 if 语句来执行此操作,因为我无法使用我未涵盖的内容,否则我会搜索它。
【问题讨论】:
-
你认为
equals("a-zA-Z")做了什么,你为什么这么认为? -
确实如此。
equals不是正则表达式匹配。 -
@SotiriosDelimanolis 这是我在使用“包含”后使用的最后一件事,认为它与包含相同。
-
如果要在
Character.isAlphabetic和Character.isLetter之间做出选择,请查看有关 the difference between them 的帖子以获取 TL;DR,如果它总是英文,没关系 :-) -
@Tarik:它稍微更强,但我根本不认为它是一个骗子,因为 Ascalonian 已经详细说明了原因。
标签: java