「java回文的测试代码」java 回测

博主:adminadmin 2022-11-21 23:58:06 55

本篇文章给大家谈谈java回文的测试代码,以及java 回测对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java编程题判断回文数

Scanner in = new Scanner(System.in);

System.out.println("请输入一个整数N=:");

int input = in.nextInt();

int i = 0;

int sum = 0;

int record=input;

while(true){

i = input%10;

sum =sum*10+i;

input /= 10;

if(input==0) break;

}

if(sum==record)System.out.println("是回文");

else System.out.println("不是回文");

JAVA怎么用循环语句编写一个判别是否为回文数的代码

        Scanner sc = new Scanner(System.in);  

        System.out.println("请输入一个整数:");  

        int num = sc.nextInt();  

  

        String str1 = num + "";  

        // String str1 = Integer.toString(num);  

        // String str1 = String.valueOf(num);  

  

        StringBuilder str2 = new StringBuilder(str1);  

        str2.reverse();  

        int count = 0;  

  

        for (int i = 0; i  str1.length(); i++) {  

            if (str1.charAt(i) != str2.charAt(i)) {  

                System.out.println(str1 + "不是回文数");  

                break;  

            } else {  

                count++;  

            }  

        }  

        if (count == str1.length()) {  

            System.out.println(str1 + "是回文数");  

        }

望采纳

「java回文的测试代码」java 回测

JAVA正话反说判断“回文”,字符串的比较问题,贴代码:

这个问题,你可以逆向思考

现在出现的现象是无论输入什么,最终都会是回文,那也就是说,当执行

if(str1.equals(str2)){

System.out.println("是回文");}

else{

System.out.println("不是回文");}

一定都是执行的第一个打印语句

也就是说str1.equals(str2)一定返回true

也就是说这equals两个比较对象一定是相等,换句话说这个两个对象其实指的是一个对象,只是不同的引用名而已

也就是说str1和str2都是指的一个StringBuffer对象

也就是说reverse()方法是直接返回了本对象

查看源码证实:

/**

 * @since   JDK1.0.2

 */

@Override

public synchronized StringBuffer reverse() {

    toStringCache = null;

    super.reverse();

    return this;

}

可以看到最终返回this,也就是返回的是本对象,也就证实了刚的想法

所以综上所诉,现在再来看一下整个代码的执行过程

创建了一个StringBuffer对象str1,里面包装的字符串是"上海自来水

"

打印对象str1,所以此时打印的是:上海自来水

给对象str1调用reverse()方法,此时并没有新创建一个StringBuffer,而是直接修改了str1里面的包装字符串,改为"水来自海上",并返回了str1对象给str2

所以str1和str2其实都指的是一个StringBuffer(里面包含的都是"水来自海上")

此时打印str2,当然显示的是"水来自海上",其实若这是你再打印哈str1就明白了,因为这个是str1也打印出来的是"水来自海上"

个人建议写法

因为你只是需要做一个回文的功能,因此可以只是把StringBuffer的reverse方法作为一个工具即可,所以建议如下写法

String str1 = "上海自来水";

System.out.println("原来的话为:"+str1);

String str2=new StringBuffer(str1).reverse().toString();

System.out.println("正话反说为:"+str2);

if(str1.equals(str2)){

    System.out.println("是回文");}

else{

    System.out.println("不是回文");}

关于java回文的测试代码和java 回测的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-21,除非注明,否则均为首码项目网原创文章,转载请注明出处。