基本上我必须在groovy上设计和实现它,这是对特定段落进行编码和解码吗?
答案 0 :(得分:0)
你可以查看这个
http://groovy.codehaus.org/ExpandoMetaClass+-+Dynamic+Method+Names
显示了编解码器的典型用例。
基本上类似(来自该链接)
class HTMLCodec {
static encode = { theTarget ->
HtmlUtils.htmlEscape(theTarget.toString())
}
static decode = { theTarget ->
HtmlUtils.htmlUnescape(theTarget.toString())
}
}
你不会使用HtmlUtils,但结构是一样的。
编辑 - 这是一个关于如何进行替换的示例。请注意,这可能更加时髦,并且它不处理标点符号,但它应该有帮助
def plainText = 'hello'
def solutionChars = new char[plainText.size()]
for (def i = 0; i < plainText.size(); i++){
def currentChar = plainText.charAt(i)
if (Character.isUpperCase(currentChar))
solutionChars[i] = Character.toLowerCase(currentChar)
else
solutionChars[i] = Character.toUpperCase(currentChar)
}
def cipherText = new String(solutionChars)
println(solutionChars)
编辑 - 这是一个更加时髦的解决方案
def plainText = 'hello'
def cipherText = ""
plainText.each {c ->
if (Character.isUpperCase((Character)c))
cipherText += c.toLowerCase()
else
cipherText += c.toUpperCase()
}
println(cipherText)