黑马程序员技术交流社区
标题:
判断是否是回文,为什么不对呢?求大神。
[打印本页]
作者:
Death、
时间:
2015-1-4 21:28
标题:
判断是否是回文,为什么不对呢?求大神。
package com.itheima;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test3 {
public static void main(String[] args) throws IOException {
// 创建一个输入流,接收输入的字符串
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = null;
while ((line = br.readLine()) != null) {
if ("".equals(line))
break;
// 创建一个布尔型变量,用于返回判断的结果
boolean s = isDCC(line);
// 调用方法
System.out.println(s);
}
}
private static boolean isDCC(String line) {
// 根据传入的字符创建一个缓存对象 sb
StringBuffer sb = new StringBuffer(line);
// 将字符的内容倒置,存入到另一个对象
StringBuffer sb1 = sb.reverse();
将两个对象转换成数组
char[] s1 = sb.toString().toCharArray();
char[] s2 = sb1.toString().toCharArray();
//判断两个数组中的元素是否相等
boolean s = true;
for(int i=0;i<s1.length;i++){
if(s1[i] == s2[i]){
s = true;
}
else{
s = false;
/break;
}
}
return s;
}
}
作者:
常强儿
时间:
2015-1-4 21:47
sb.reverse();是把sb给逆序了,StringBuffer sb1=sb.reverse();更是把两个都指向了一个对象,结果当然永远是true;
作者:
Eagle
时间:
2015-1-5 14:18
// 回文数判断,是就返回true,不是则返回false
public static boolean isPalindrome(int num) {
StringBuilder sb = new StringBuilder();
StringBuilder sb1 = new StringBuilder();
sb.append(num);
sb1.append(num);
//反转缓冲区
sb.reverse();
if(sb.toString().equals(sb1.toString()))
return true;
return false;
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2