今天的动手动脑做的是一个判断是否是回文的程序;
先要建立从键盘输入一段字符串,然后我外面的大类用的是一个do while的循环,然后定义一个整形的变量来存储所输入字符串的长度。
然后便写了一个test的函数,用来递归判断所输入的字符串是不是回文,定义了两个字符变量来截取比对所对应的字符,然后用了两个if判断语句来判
断。第二个if语句中利用了递归,递归的时候是利用字符串的长度减去1。
主程序:
package TWO;
import java.util.Scanner;
public class Palindrome {
public static void main(String[] args) {
int k=1;
do{
System.out.println("请输入一串字符串");
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
int size=str.length();
int m=test(str,size);
if(m==1)
System.out.println("此字符串是回文");
else {
System.out.println("此字符串不是回文");
}
}while(k==1);
}
public static int test(String str,int size){
int a,b,j=0;
char c1,c2;
a=str.length()-size;
b=str.length()-(a+1);
//获取字符串
c1=str.charAt(a);
c2=str.charAt(b);
//输入的是一个或者是0个字符串时候判断;
if(a==b||c1==c2){
j=1;
}
if(a!=b&&a<b&&c1==c2)
test(str, size-1);
return j;
}
}
总结:
我觉得我在设计这个程序的的时候最难的部分是思考判断它是否是回文的时候设计思路;到底该怎样实现,定义多少个变量,我觉得难得不是编程而是思考该怎么编程的思路。