吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2975|回复: 5
收起左侧

[Java 转载] 分享一个自己写的判断回文数的程序

[复制链接]
Aecav 发表于 2017-10-4 14:32
[Java] 纯文本查看 复制代码
import java.util.Scanner;
class AntiNum{
	int EN,TNT,FT,BT;
	boolean AR;
	AntiNum(){
		System.out.println("Please input the number");
		Scanner t = new Scanner(System.in);
		int a = t.nextInt();
		this.EN=a;
		this.compute();
		this.result();
	}
	void result(){
		if(AR == true){
			System.out.println(EN+" is a Palindrome");
		}else{
			System.out.println(EN+" is not a Palindrome");
		}
	}
	void compute(){
		FT =1;
		BT = this.getlength(EN);
		Mark:
		while(BT >= FT){
			if(this.taste(FT) == this.taste(BT)){
				AR = true;
				FT++;
				BT--;
			}else{
				AR = false;
				break;
			}
		}
		
	}
	int taste(int a){
		int b;
		if(a == 1){
			b = EN%miC(a);
		}else{
			b = (EN%miC(a) - EN%this.miC(a - 1)) / this.miC(a - 1);
		}
		return b;
	}
	int miC(int b){
		int a = 10;
		int c = a; 
		if(b <= 0){
			a = 0;
		}else{
			for(int d = 2;d <= b;d++){
			a = a * c;
			}
		}
		return a;
	}
	int getlength(int a){
		Integer a1 = a;
		int b = a1.toString().length();
		return b;
	}
	
}
class NumTest{
	public static void main(String[] args){
		AntiNum test = new AntiNum();
	}
}

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
mtpkiss + 1 + 1 鼓励新人

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

SeriousSnow 发表于 2017-10-4 15:02
乍一看,,还真不知道你写的是啥.....可能确实是我太菜了,,不过感觉不应该那么麻烦吧
[Java] 纯文本查看 复制代码
import java.util.Scanner;

class num_int
{
    int num;
    num_int(int num)
    {
        this.num = num;
    }
    boolean isprime()
    {
        int num2 = num, ys, sum=0;
        while (num2>0)
        {
            ys = num2 % 10;
            sum = sum * 10 + ys;
            num2 = num2 / 10;
        }
        return num == sum;
    }

    boolean isprime2()
    {
        String num2 = String.valueOf(num);
        String num2_ = num2;
        boolean result = true;
        int len = num2.length();
        for(int i = 0;i < len;i++)
            if(num2.charAt(i) != num2_.charAt(len-i-1))
            {
                result = false;
                break;
            }
        return result;
    }
}

public class Main
{
    public static void main(String[] args)
    {
        System.out.println("Please Input a number:");
        Scanner in = new Scanner(System.in);
        int num = in.nextInt();
        num_int t = new num_int(num);
        System.out.println(t.isprime());
        System.out.println(t.isprime2());
    }
}
qyjixq 发表于 2017-10-4 15:20
Thonnn 发表于 2017-10-4 15:23
呃,其实回文判断从来都没有那么麻烦,先转字符串,再分割成数组,再逆置,再判断是否相等就完了
 楼主| Aecav 发表于 2017-10-4 16:30
Thonnn 发表于 2017-10-4 15:23
呃,其实回文判断从来都没有那么麻烦,先转字符串,再分割成数组,再逆置,再判断是否相等就完了

我还没学数组
mtpkiss 发表于 2017-10-31 16:43
字符串kotlin 提供了反转的方法 上面的代码换成kotlin的话
[Java] 纯文本查看 复制代码
fun main(args: Array<String>) {
	var scan = Scanner(System.`in`)
	var num = scan.nextInt().toString()
	print(num.reversed() == num)
}
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 08:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表