Java判断回文字符串_java将字符串反转输出

Java判断回文字符串_java将字符串反转输出java判断回文字符串几种简单的实现:1.将字符串倒置后逐一比较,实现如下:publicclassHuiWenTest{/***@SERLIN*/publicstaticvoidmain(String[]args){Stringstr=””;System.out.println(“请输入一个字符串”);Scannerin

大家好,又见面了,我是你们的朋友全栈君。java判断回文字符串几种简单的实现:


1.将字符串倒置后逐一比较,实现如下:

 public class HuiWenTest {
	/**
	 * @SERLIN
	 */
	public static void main(String[] args) {
		String str = "";
		System.out.println("请输入一个字符串");
		Scanner input = new Scanner(System.in);
		str = input.next();

		StringBuffer sb = new StringBuffer(str);
		sb.reverse();// 将Str中的字符串倒置

		int count = 0;
		for (int i = 0; i < str.length(); i++) {
			if (str.charAt(i) == sb.charAt(i)) {
				count++;
			}
		}
		if (count == str.length()) {
			
			System.out.println("此字符串是一个回文字符串");
		} else {
			System.out.println("此字符串不是一个回文字符串");
		}
	}
}

2.将字符串倒置后创建新字符串直接比较,实现如下:

public class HuiWenTest2 {
	/**
	 * @SERLIN
	 */
	public static void main(String[] args) {
		System.out.println("请输入一个字符串");
		Scanner input = new Scanner(System.in);
		String str = input.next();
		StringBuilder sb=new StringBuilder(str);
		sb.reverse();//将str倒置的方法
		String newStr=new String(sb);
		if(str.equals(newStr)){
			System.out.println(str+"是回文字符串");
		}else{
			System.out.println(str+"不是回文字符串");
		}
	}
}

3.使用截取字符串的方式比较,实现如下:

public class HuiWenTest3 {
	/**
	 * @SERLIN
	 */
	public static void main(String[] args) {
		System.out.println("请输入一个字符串");
		Scanner input = new Scanner(System.in);
		String str = input.next();
		int count = 0;
		for (int i = 0; i < str.length() / 2; i++) {
		if ((str.substring(i, i + 1)).equals(str.substring(str.length() - 1- i, str.length() - i))) {
				count++;
			}
		}
		if (count == str.length() / 2) {
			System.out.println("是回文字符串");
		}else{
			System.out.println("不是回文字符串");
		}
	}
}

4.判断回文数字(判断纯数字),实现如下

public class HuiWenNum {
	/**
	 * @SERLIN
	 */
	public static void main(String[] args) {
		int n;
		System.out.println("请输入一个整数:"); 
		// 如果结果为回文数,跳出循环
		while (true) {
			Scanner InpuNum = new Scanner(System.in);
			n = InpuNum.nextInt();
			if (isHuiWen(n)) {
				System.out.println(n + "是回文数!");
				break;
			} else {
				System.out.println(n + "不是回文数!");
			}
		}
	}


	// 判断的数字是否是回文数
	public static boolean isHuiWen(int n) {
		int m = reverse(n);
		if (m == n) {
			return true;
		} else {
			return false;
		}
	}


	// 将输入的数字进行倒置,以便进行判断是否是回文数
	public static int reverse(int n) {
		int temp = 0;// 临时变量
		int j = 0;// 倒置后的数字
		temp = n;// 将输入的数字赋值给临时变量
		while (temp != 0) {
			j = j * 10 + temp % 10;
			temp /= 10;
		}
		return j;
	}
}


当然,还能先将数字转为字符串再判断,方法同上面的字符串判断一样.

除了上面的方法,当然还有其他很多,比如使用递归等.
也可以自己实现倒序字符串方法,如果大家有更好,更高效的方法希望能贴出来,大家一起学习!

  
微笑
微笑
微笑

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135043.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 树莓派简单教程(一)「建议收藏」

    树莓派简单教程(一)「建议收藏」一、什么是树莓派基于ARM的微型电脑主板,其系统基于linux二、树莓派能做什么2.1挖矿【树莓派:居然拿我干这事?———6分钟使用树莓派,编译CPU挖矿程序测试算力。-哔哩哔哩】https://b23.tv/tvx06lM…

    2022年10月14日
    2
  • asp.net core中使用log4net

    asp.net core中使用log4net和之前的ASP.NETMVC中的使用LOG4NET的方法有些不同,这里先记录一下,使用步骤如下:1.建立ASP.NETCORE项目中,NUGET中搜索log4net后下载安装2.根目录建立log4net.config文件,内容如下:&lt;?xmlversion="1.0"encoding="utf-8"?&gt;&lt;configuration&gt; &lt;!–T…

    2022年7月11日
    25
  • python处理异常的关键字_如果抛出异常应用哪些关键字

    python处理异常的关键字_如果抛出异常应用哪些关键字一.抛出异常Python用异常对象(exceptionobject)表示异常情况,遇到错误后,会引发异常。如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(Traceback,一种错误信息)终止执行。raise语句Python中的raise关键字用于引发一个异常,基本上和C#和Java中的throw关键字相同,如下所示:importtracebackdefthrow_error():…

    2022年10月18日
    2
  • web服务器之nginx与apache建议收藏

    最近准备架设php的web服务器,以下内容可供参考。1、nginx相对于apache的优点:轻量级,同样起web服务,比apache占用更少的内存及资源抗并发,nginx处理请求是异步非阻塞的,而ap

    2021年12月20日
    45
  • 【ubuntu】修改Ubuntu的apt-get为国内镜像源的方法

    【ubuntu】修改Ubuntu的apt-get为国内镜像源的方法

    2021年7月2日
    84
  • leetcode第三题_九八K

    leetcode第三题_九八K有 n 根长度互不相同的木棍,长度为从 1 到 n 的整数。请你将这些木棍排成一排,并满足从左侧 可以看到 恰好 k 根木棍。从左侧 可以看到 木棍的前提是这个木棍的 左侧 不存在比它 更长的 木棍。例如,如果木棍排列为 [1,3,2,5,4] ,那么从左侧可以看到的就是长度分别为 1、3 、5 的木棍。给你 n 和 k ,返回符合题目要求的排列 数目 。由于答案可能很大,请返回对 109 + 7 取余 的结果。示例 1:输入:n = 3, k = 2输出:3解释:[1,3,2], [2,3,

    2022年8月9日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号