首页 > 其他 > 详细

开学第三周暨回文的检测

时间:2019-09-25 17:29:02      阅读:109      评论:0      收藏:0      [点我收藏+]

首先定义回文,字符串长度为1或0为回文,其次当出现字符串为奇数时,运行(length-1)/2次后,只剩下最中间的一个字符,所以不必检测;当字符串长度为偶数,运行(length/2)次后,所有字符运行完毕。

所以可知,字符串长度对程序的运行次数没有影响,都是运行(length/2)次(java中整数的运算都是取整数部分)。

之后,定义一个boolean类型的变量a,用来判定最后输出判定结果。读取字符串,循环(length/2)次,每次将字符串的第i个字符与第(length-i)个字符进行比较,不同的话直接将a赋值false,当运行(length/2)次之后

如果a值仍然为true,那么即说明该字符串为回文,反之,则不是回文。经过一个if语句的判断,进行结果的输出。

源代码如下:

package two;

import java.util.Scanner;

public class second {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args){
boolean a=false;
System.out.println("Please input a string:");
String str =new String();
str=sc.next();
if(str.length()==0||str.length()==1) {
a=true;
}
else {
int i=str.length()/2;
int j=str.length();
int u=0;
while(i!=0) {
char a1=str.charAt(u);
char a2=str.charAt((j-1)-u);
if(a1==a2) {
i--;
}
else {
a=false;
break;
}
if(i==0) {
a=true;
}
u++;
}
}
if(a) {
System.out.println("YES!,it‘s!");
}
else {
System.out.println("No,it‘s not!");
}
}
}

运行结果如下:

技术分享图片技术分享图片

 

开学第三周暨回文的检测

原文:https://www.cnblogs.com/studya/p/11585449.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!