Java-检测回文串

package huiwen;
import java.util.Scanner;
public class Huiwen {

public static void main(String[] args) {
    char[] s=new char[10];
    int k=0;
    String huiwen;
    System .out .println("请输入一个字符串");
    @SuppressWarnings("resource")
    Scanner reader=new Scanner(System.in );
    huiwen=reader.nextLine();
    for(int i=0;il=new char[10];        
    for(int i=0;ifor(int i=0;iif(l[i]==s[i]) {
            k++;
        }

    }
    if(k==s.length )
        System .out .println("该字符串是回文串");
    else
        System .out .println("该字符串不是回文串");
    }

}

img

你的s的长度是10,但是你的回文字符串的长度只有3,使用charAt就超出了,而且l(s.length-i)这里,当i=0时的下标就是s的长度。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7621607
  • 这篇博客也不错, 你可以看下Java-数据类型以及运算符
  • 除此之外, 这篇博客: Java中的泛型中的 泛型类 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    泛型类的声明和泛型方法类似,类名后需接上泛型参数,代表不同的参数类型。如图所示

    public class Test<T> {
        private T t;
        public void add(T t) {
            this.t = t;
        }
        public T get() {
            return t;
        }
        public static void main(String[] args) {
            //todo: 限定了类型为Integer
            Test<Integer> test = new Test<>();
            test.add(1);
        }
    }
    

    上面限定了test实例变量接收的类型为Integer,如果开发者add方法中写入String类型,会报错,提供了类型安全的检测机制
    在这里插入图片描述

  • 您还可以看一下 颜群老师的Java基础入门课程中的 随机数小节, 巩固相关知识点

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^