2019/9/23 课堂测试一 回文

   今天java课依旧和之前的一样,后两节测试,测试一时回文,而且要用递归来写。

  思路:第一个字符和最后一个字符是否相等,若相等则判断第二个和倒数第二个是否相等,直到剩余一个或者0个字符则结束。若其中有一个不相等,则不是回文。

  如果发现错误,请留言指出,谢谢大佬!

代码:

package com.javaclass2;

import java.util.Scanner;

public class TestPalindrome {
static int num=0;
public static int test(String str,int x) {
if(num==str.length()/2||num==str.length()/2+1) {
return num+1;
}else {
if(str.charAt(num)==str.charAt(str.length()-1-num)) {
num++;
return test(str,num);
}else {
return 0;
}
}
}
public static void main(String args[]) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str=scanner.next();
int x=test(str,num);
if(x==0) {
System.out.println("不是回文");    
}
if(x==str.length()/2||x==str.length()/2+1) {
System.out.println("是回文");
}
}
}

 

 运行结果:

 

 

 

 

这次测试自己用的时间比较多,非常不理想,在自己总是在改方法,以后还得多加练习。

 

posted @ 2019-09-23 18:53  littlemelon  阅读(111)  评论(0编辑  收藏  举报