zoukankan      html  css  js  c++  java
  • 开学第三周暨回文的检测

    首先定义回文,字符串长度为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!");
    }
    }
    }

    运行结果如下:

  • 相关阅读:
    1253:抓住那头牛
    1251:仙岛求药
    1330:【例8.3】最少步数
    1329:【例8.2】细胞
    1216:红与黑
    1217:棋盘问题
    回溯法与深度优先搜索的关系
    自然数的拆分
    100——第35例
    100——第34例
  • 原文地址:https://www.cnblogs.com/studya/p/11585449.html
Copyright © 2011-2022 走看看