互逆字符串就是两个字符串完全相反比如:123456和654321 asdfg123和321gfdsa
思路:让第一个字符串拿出第一位和第二个字符串拿出最后一位这样比对下去。如果全都相等即为互逆字符串。
代码主体:
public class StrJude {
//判断是否为互逆字符串
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("输入两段等长字符串,我来判断是否为互逆字符串");
//键盘输入的第一个值赋给next
String next = scanner.next();
//键盘输入的第二个值赋给shuru
String shuru = scanner.next();
//定义的i是让第一个字符串拿出第一位数
int i=0;
//第二个for的i1是拿出字符串的最后一位开始比较
for (int i1 = shuru.length() - 1; i1 >= 0 && i1 < shuru.length(); i1--) {
//让第一个字符串的第一位和第二个字符串的最后一位比较看是否相等
if (shuru.charAt(i1) == next.charAt(i)) {
//输出每一位比对的结果
System.out.println("与" + (i + 1) + "位相同");
//不相等就不是互逆字符串,直接跳出循环
} else {
break;
}
//让第一个字符串比对的角标+1
i++;
}
//如果从头比到尾了,那么i就是个数,说明中涂没跳出循环,那就是都相等即为逆序数
if (i == next.length()) {
System.out.println("是逆序数");
//反之就不是逆序数
} else {
System.out.println("不是逆序数");
}
}
}
输出结果:
输入两段等长字符串,我来判断是否为互逆字符串
123456
654321
与1位相同
与2位相同
与3位相同
与4位相同
与5位相同
与6位相同
是逆序数
Process finished with exit code 0