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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java设计模式之行为型:备忘录模式

    Java设计模式之行为型:备忘录模式

    2021年10月4日
    43
  • proc 储过程

    proc 储过程

    2021年5月3日
    134
  • arduino概述_arduino serial

    arduino概述_arduino serial[实践笔记]ArduinoのSerial.println()主要内容Arduino与其他元器件常用串口通信,本文章在主要通过实践方式介绍Serial.println()的同时,牵扯到一些常用的串口操作函数,一下会带领想入门Arduino的同学层层深入,如有错误还请不吝赐教。正文Serial.available()>0Serial.available()的意思是:返回串口缓冲区中当前剩余的字符个数。一般用这个函数来判断串口的缓冲区有无数据,当Serial.available()>0

    2022年10月2日
    3
  • JAVA 输入输出

    JAVA 输入输出JAVA输入输出

    2022年5月9日
    35
  • 软件测试方法中黑盒测试法主要用于测试_黑盒测试一般由谁完成

    软件测试方法中黑盒测试法主要用于测试_黑盒测试一般由谁完成黑盒(又叫功能测试、数据驱动测试):1.黑盒测试发现错误类型:功能错误和遗漏界面错误数据库错误性能错误初始化和终止错误2.黑盒测试:程序外部接口进行的3.黑盒测试就是根据功能需求来设计测试用例,验证软件是否按照预期要求工作。4.黑盒测试技术主要有等价类划分法、边界值法、判定表法、因果图法、场景法等。5.等价类划分法测试技术是依据软件系统输入集合、输出集合或操作集合实现功能的相同性为依据,对其进行的…

    2022年10月3日
    3
  • ffplay播放器移植VC的工程:ffplay for MFC[通俗易懂]

    ffplay播放器移植VC的工程:ffplay for MFC[通俗易懂]ffplay播放器移植VC的工程:ffplayforMFC本文介绍一个自己做的FFPLAY移植到VC下的开源工程:ffplayforMFC。本工程将ffmpeg项目中的ffplay播放器(ffplay.c)移植到了VC的环境下。并且使用MFC做了一套简单的界面。它可以完成一个播放器播放视频的基本流程:解协议,解封装,视频/音频解码,视音频同步,视音频输出。此外还包含一些控制功能:播放,暂停/继

    2022年6月24日
    24

发表回复

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

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