我是新来的,但我很难弄清楚如何编写代码来确定单词的输入并查看第一个是否与单词的结尾匹配。你可以输入 abba 并得到答案它是均匀对称的而 aba 是奇对称的。
请告诉我如何:(
主要有两件事。
first我想知道它的字母数量是奇数还是偶数(字母数除以2,如果以0.5结尾,则它是奇数对称的,
如果是一个整数,它是均匀对称的。
second我想得到(即 1=n,2=n-1,3=n-2...) 单词中字母的位置作为执行的主要思想。如果奇怪地有最后一个字母对称词,忽略最后一个字母。
我很感激任何先机或想法:) 谢谢!
谢谢 KDiTraglia,我编写了代码并编译了,这就是我输入的内容。我没有进一步的进展。
报告的问题:
线程“main”java.lang.Error 中出现异常:未解决的编译问题:
反向无法解析或不是字段
反向无法解析或不是字段
语法错误,插入“)语句”来完成IfStatement
这就是我从 KDiTraglia 的帮助中得到的
public class WordSymmetric {
public static void main(String[] args) {
String word = "abccdccba";
if ( (word.length() % 2) == 1 ) {
System.out.println("They are oddly symmetric");
//odd
}
else {
System.out.println("They are evenly symmetric");
//even
}
int halfLength = word.length() / 2;
String firstHalf = word.substring(0, halfLength);
String secondHalf = word.substring(halfLength, word.length());
System.out.println(secondHalf.reverse());
if (firstHalf.equals(secondHalf.reverse()) {
System.out.println("They match");
//they match
}
}
}
您可以使用模运算符来确定单词的字母数是偶数还是奇数(java中的%)
if ( (word.length % 2) == 1 ) {
//odd
}
else {
//even
}
然后将字符串分成两半,并将末端的反面与正面进行比较
int halfLength = word.length / 2;
String firstHalf = word.substring(0, halfLength);
String secondHalf = word.substring(halfLength, word.length);
if (firstHalf.equals(secondHalf.reverse()) {
//they match
}
像这样的东西应该可以工作,我只是很快地写了它,可能需要进行一些更改以匹配 java 语法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)