一尘不染

编程java确定一个对称的单词

java

我在这里是新手,但是我很难弄清楚如何编写代码来确定单词的输入,并查看第一个单词是否与单词的结尾匹配。您可以输入abba并得到答案,它是均匀对称的,而aba是奇数对称的。

请告诉我如何:(

仅两件事。

首先 我想知道它是奇数还是偶数(字母数除以2,如果以0.5结尾,则是奇数对称的,如果是整数则是均数对称的。

第二, 我想获取单词中字母的位置(即1 = n,2 = n-1,3 = n-2 …),作为执行的主要思想。奇数对称的单词,忽略最后剩下的字母。

我感谢任何先发制人或想法:)谢谢!

感谢KDiTraglia,我编写了代码并进行了编译,这就是我的意思。我再也没有了。

报告的问题:

线程“主”中的异常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
}

}}


阅读 238

收藏
2020-12-03

共1个答案

一尘不染

您可以使用模运算符来确定单词的字母数是偶数还是奇数(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语法。

2020-12-03