java判断回文的两种方法

本文介绍了两种检测回文数的方法:一是通过遍历字符串比较字符实现;二是利用StringBuffer对象进行反转比较。两种方法各有特点,适用于不同场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种:面向过程:

从字符串Str.length()/2开始向两端移动进行对比 ,boolean用来确定一个返回值判断是否回文

Scanner input = new Scanner(System.in);
		try{
		System.out.println("Enter a three-digit interger:");
		String integer = input.next();
		int i = integer.length()/2-1;//从字符串中间往左
		int j = integer.length()/2+1;//从字符串中间往右
		boolean c = true;//默认为真
		for(;i >= 0 || j < integer.length();i--,j++){//遍历整个字符串判断是否为回文
			if(integer.charAt(i) != integer.charAt(j))			
				c = false;					
			else 
				c = true;
		}
		if(c == false)
			System.out.println(integer+" is not a palindrome");
		else 
			System.out.println(integer+" is a palindrome");
		}finally{
			input.close();
		}

第二种:面向对象:

使用StringBuffer定义一个对象integerBuffer,对integerBuffer进行反转赋值给普通String类型 string,将两者进行对比

需要注意的是,StringBuffer和String不是同一种类型,不能直接进行对比或者是强制转换。

Scanner input = new Scanner(System.in);
		try{
		System.out.println("Enter a three-digit interger:");
		String string ;
		StringBuffer integerBuffer1 = new StringBuffer(input.next());
		string = integerBuffer1.toString();//将输入对象转换为String类型的字符串,赋值给string
		if(string.equals(integerBuffer1.reverse().toString())){//判断string是否和反转后的字符串相同
			System.out.println(string+" is a palindrome");
		}
		else{
			System.out.println(string+" is not a palindrome");
		}
		}finally{
			input.close();
		}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值