Java代码挑战是一个新的定期段,从Reddit的 dailyprogrammer 那里获得最佳挑战。这里的情况有些不同,因为我们关注的是Java。仅仅有一个可行的解决方案是不够的;我们正在寻找带有测试的最干净的Java代码。我们欢迎第三方库,但如果你能在没有第三方库的情况下完成,对其他人来说会更容易理解。
如果你能把你的解决方案放在评论里,那就去做吧,但最好把你的答案放在GitHub里,并在评论里附上链接。下周我们将分享最佳解决方案,并分享我们所看到的最佳代码实践!
这是一个更强大的两部分挑战,可能需要更长的时间来完成--我真的很期待看到你想出的解决方案!
Splurth星球的居民正在建立他们自己的 元素周期表 。就像地球上的元素周期表对每个元素都有一个化学符号( H
代表氢, Li
代表锂,等等),Splurth的也是如此。然而,它们的化学符号必须遵循某些规则。
B
不是硼的有效符号。 Hg
对水星无效,但 Cy
是有效的。 Vr
对银是有效的,但 Rv
是无效的。明确地说, Ma
和 Am
对镁都有效,因为有一个 a
出现在 m
之后,还有一个 m
出现在 a
之后。 Nn
对氙是有效的,但 Xx
和 Oo
是无效的。 作为Splurth原子和原子相关物品委员会的成员,你必须确定一个拟议的化学符号是否符合这些规则。
写一个函数,给定两个字符串,一个是元素名称,一个是该元素的拟议符号,确定该符号是否符合规则。如果你愿意,你可以解析程序的输入并输出结果,但这不是必须的。
符号将正好有两个字母。元素名称和符号都将只包含字母a-z。元素名和符号的第一个字母都是大写的,其余都是小写的。(如果你觉得这太有挑战性了,也可以假设两者都是小写的。)
Spenglerium, Ee -> true
Zeddemorium, Zr -> true
Venkmine, Kn -> true
Stantzon, Zt -> false
Melintzum, Nn -> false
Tullium, Ty -> false
Gozerium -> Ei
, Slimyrine -> Ie
。 Zuulon -> 11
.