解决方案 »
- 传智播客的入学测试题—来看看自己基础如何吧
- 大家帮小弟看下if语句括号位置不同造成得影响
- 关于dom读xml文件时,子节点数与实际文件中的节点数不一致的问题。多读了2个“#text”
- 啥错?急!!!
- 计算1+2+3+4+……+n值大于等于500的最小n值
- printf方法在Eclipse中编译出错
- 经各位指点之后,简历修改如下,请给点意见,谢谢
- 关于Java clone的问题
- 请问如何将tomcat设为每次访问jsp时都重新编译
- 我想买台二手笔记本作编程,请问java编程的最低配置是多少,价几何
- 关于SwingWorker和Swing显示的一些问题
- 怎样在Eclipse下配置Tomcat,步骤写详细一点
public class test { private String str1 = null; public test(String str) {
this.str1 = str;
int ch1 = str.length();
// 取字符串前半段和半段
//这里不要减一,下同,具体参见String.substring(start,end)方法
char[] len1 = str.substring(0, str.length() / 2).toCharArray();
char[] len2 = str.substring(str.length() / 2, str.length())
.toCharArray(); // 取字符串前半段第一个字符和后半段最后一个字符
int i = 0;
int j = str.length() / 2 - 1;
// 判断字符串是否为0或1
if ((ch1 == 0) || (ch1 == 1)) {
System.out.println("不对称");
} else {
// 判断字符串是否双数
if ((ch1 % 2) == 0) {
//加上判断语句,防止数组越界,并且把字符比较放到判断越界后面
for (; (i<len1.length) && (j>=0) && (len1[i]==len2[j]); i++, j--) {
if (j == 0) {
System.out.println("对称");
}
}
} else {
System.out.println("不对称");
} } } public static void main(String[] args) {
new test("abba"); }}
len[i]是char型的,
用==比较没啥问题,
不清楚你们什么逻辑用这个吧,省得写这多判断
final String a = "abba";
System.out.println(a.equals(new StringBuffer(a).reverse().toString()));
System.out.println(a.equals(new StringBuffer(a).reverse().toString()));
原来这种方式更省事,谢谢指点。