您的位置:首页 > 编程语言 > Java开发

java判断回文的两种方法

2018-03-17 19:51 204 查看
第一种:面向过程:
从字符串Str.length()/2开始向两端移动进行对比 ,boolean用来确定一个返回值判断是否回文Scanner input = new Scanner(System.in);
try{
System.out.println("Enter a three-digit interger:");
String integer = input.next();
int i = integer.length()/2-1;//从字符串中间往左
int j = integer.length()/2+1;//从字符串中间往右
boolean c = true;//默认为真
for(;i >= 0 || j < integer.length();i--,j++){//遍历整个字符串判断是否为回文
if(integer.charAt(i) != integer.charAt(j))
c = false;
else
c = true;
}
if(c == false)
System.out.println(integer+" is not a palindrome");
else
System.out.println(integer+" is a palindrome");
}finally{
input.close();
}第二种:面向对象:
使用StringBuffer定义一个对象integerBuffer,对integerBuffer进行反转赋值给普通String类型 string,将两者进行对比
需要注意的是,StringBuffer和String不是同一种类型,不能直接进行对比或者是强制转换。Scanner input = new Scanner(System.in);
try{
System.out.println("Enter a three-digit interger:");
String string ;
StringBuffer integerBuffer1 = new StringBuffer(input.next());
string = integerBuffer1.toString();//将输入对象转换为String类型的字符串,赋值给string
if(string.equals(integerBuffer1.reverse().toString())){//判断string是否和反转后的字符串相同
System.out.println(string+" is a palindrome");
}
else{
System.out.println(string+" is not a palindrome");
}
}finally{
input.close();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java