山科java实验3-1 编写一个Java应用程序。用户从键盘输入一个整数,程序将判断这个数是几位数并输出其位数,并判断这个数是否是回文数(是,则输出“是回文数”,否则输出“不是回文数”)。

编写一个Java应用程序。用户从键盘输入一个整数,程序将判断这个数是几位数并输出其位数,并判断这个数是否是回文数(是,则输出“是回文数”,否则输出“不是回文数”)。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。要求:定义两个方法,一个用于获取一个整数的位数,一个用于返回一个整数是否为回文数。

方法1

package 作业1;
import java.util.Scanner;
/*
//逐个逆置然后比较
//这是没写方法的
public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String n = "";
		int i;
		Scanner scanner = new Scanner(System.in);
		n = scanner.nextLine();
		
        StringBuffer n2 = new StringBuffer(n);
        n2.reverse();//字符串逆置
        
		int sum = 0;
		for(i = 0;i < n.length();i++)//直接比较
		{
			if(n.charAt(i) == n2.charAt(i))
				sum++;
		}
		System.out.println(n.length());
		if(sum == n.length())
			System.out.println("Y");
		else
			System.out.println("N");
        scanner.close();
	}
	
}
*/

//这是写方法的
public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String n = "";
		Scanner scanner = new Scanner(System.in);
		n = scanner.nextLine();
		System.out.println(GetLength(n));
		JudgeHuiwen(n);
		scanner.close();
		
		
	}
	public static int GetLength(String ss)
	{
		return ss.length();
	}
	public static boolean JudgeHuiwen(String ss)
	{
		StringBuffer n = new StringBuffer(ss);
        n.reverse();//字符串逆置
        
		int i,sum = 0;
		for(i = 0;i < ss.length();i++)//直接比较
		{
			if(ss.charAt(i) == n.charAt(i))
				sum++;
		}
		if(sum == ss.length())
		{
			System.out.println("是回文数");
			return true;
		}
			
		else
		{
			System.out.println("不是回文数");
			return false;
		}
	}
}

方法2:

方法二的话就是你把它当整数输入,之后判断回文时再把int变成string。这样就可以避免输入空格(123 321)这种错误的情况造成答案错误。

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int n ;
		Scanner scanner = new Scanner(System.in);
		    n = scanner.nextInt();
		System.out.println(GetLength(n));
		JudgeHuiwen(n);
		scanner.close();
		
		
	}
	public static int GetLength(int ss)
	{
		int i = 0,j;
		for(j = 0;j < ss;ss/=10)
		{
			if(ss > 0)
			{
				i++;
			}
		}
		return i;
	}
	public static boolean JudgeHuiwen(int ss)
	{
		String a = "";
		a = ss+ "";
		StringBuffer n = new StringBuffer(a);
        n.reverse();//字符串逆置
        int i,sum = 0;
		for(i = 0;i < a.length();i++)//直接比较
		{
			if(a.charAt(i) == n.charAt(i))
				sum++;
		}
		if(sum == a.length())
		{
			System.out.println("是回文数");
			return true;
		}
		else
		{
			System.out.println("不是回文数");
			return false;
		}
	}
}

 

    原文作者:markconca的博客
    原文地址: https://blog.csdn.net/weixin_42110638/article/details/83651015
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞