public static boolean check(int k){
String str = ""+k;
int strLen = str.length();
int point = strLen;
int oldLen = 0,newLen = 0;
char first = 'a',end = 'a';
if (str == "")
{
System.out.println("数值为空");
return false;
}
System.out.println("不是四位数");
for (int i=0;ioldLen;i++)
first = str.charAt(i);
end = str.charAt(point-1);
point--;
if (first == end)
newLen++;
if (oldLen == newLen)
return true;
}else {
public static void main(String[] args) {
boolean is = check(k);
if (is)
System.out.println(k+"是回文数");
// System.out.println(k+"不是回文数");
①.001是回文数
①.111是回文数
哪不懂在问我吧
import?java.util.Scanner;
public?class?A?{
public?static?void?main(String[]?args)?{
Scanner?scanner?=?new?Scanner(System.in);
System.out.println("请输入一个字符串:");
String?str?=?scanner.next();
boolean?isloop?=?isLoop(str);
if?(isloop)?{
System.out.println(str?+?"是回文字符");
}?else?{
System.out.println(str?+?"不是回文字符");
public?static?boolean?isLoop(String?str)?{
if?(str.charAt(i)?!=?str.charAt(j))?{
return?false;
return?true;
对于回文这个问题,我们一般的解决方法是用递归
package com.axjy.yzn;
public class Recursive {
System.out.println("Is abcba a Palindrome?"+isPalindrome("abcdcba"));
public static boolean isPalindrome(String s){
if(s.length()=1){
}else if(s.charAt(0) != s.charAt(s.length()-1)){
return isPalindrome(s.substring(1,s.length()-1));
这段代码是判断输入的字符串是不是回文.
所谓回文,是指诸如:abcba这样的字符串,也就是说第一个字母也最后一个字母相同,第二个字母与倒数第二个字母相同,以些类推.
这段代码的关键是下面这几句:
j++;
下面是这段代码的注释,希望能帮到你~!
import java.util.Scanner;
public class PalindromeV1 {
Scanner sc = new Scanner(System.in);//接受从控制台的输入
System.out.println("输入一个字符串: ");
String word = sc.next();//将用户输入的字符串保存到word中
int i = word.length();//获取输入的字符串的长度,保存到i中
int j = 0;//初始化变量j
//判断是否为回文
System.out.println("输入字符串是回文.");
else
System.out.println("输入字符串不是回文.");
这个问题,你可以逆向思考
现在出现的现象是无论输入什么,最终都会是回文,那也就是说,当执行
System.out.println("是回文");}
else{
System.out.println("不是回文");}
一定都是执行的第一个打印语句
也就是说这equals两个比较对象一定是相等,换句话说这个两个对象其实指的是一个对象,只是不同的引用名而已
也就是说reverse()方法是直接返回了本对象
查看源码证实:
/**
*/
@Override
public?synchronized?StringBuffer?reverse()?{
toStringCache?=?null;
super.reverse();
return?this;
可以看到最终返回this,也就是返回的是本对象,也就证实了刚的想法
所以综上所诉,现在再来看一下整个代码的执行过程
创建了一个StringBuffer对象str1,里面包装的字符串是"上海自来水
"
打印对象str1,所以此时打印的是:上海自来水
个人建议写法
因为你只是需要做一个回文的功能,所以呢可以只是把StringBuffer的reverse方法作为一个工具即可,所以建议如下写法
String?str1?=?"上海自来水";
System.out.println("原来的话为:"+str1);
看你的要求真麻烦
给你一个简单的不行联系我
public class test{
public static void main(String []dafd){
int num=(new Scanner(System.in)).nextInt();
String s=num.toString();
boolean b=true;
if(s.charAt(i)!=s.charAt(s.length-i-1)){
b=false;
break;
System.out.pirntln(num+(b?"是":"不是")+"回文数");
以上就是土嘎嘎小编为大家整理的java判断回文字符代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!