第一种:面向过程:

从字符串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();

}

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐