JAVA经典算法50题(8)

时间:2026-01-19

public static void main(String[] args) {
Demo24 use = new Demo24();
System.out.println("请输入:");
Scanner in = new Scanner(System.in);
long a = in.nextLong();
if (a < 0 || a >= 100000) {
System.out.println("Error Input, please run this program Again!");
System.exit(0);
}
if (a >= 0 && a <= 9) {
System.out.println(a + "是一位数");
System.out.println("按逆序输出是:" + a);
} else if (a >= 10 && a <= 99) {
System.out.println(a + "是二位数");
System.out.println("按逆序输出是:");
use.converse(a);
} else if (a >= 100 && a <= 999) {
System.out.println(a + "是三位数");
System.out.println("按逆序输出是:");
use.converse(a);
} else if (a >= 1000 && a <= 9999) {
System.out.println(a + "是四位数");
System.out.println("按逆序输出是:");
use.converse(a);
} else if (a >= 10000 && a <= 99999) {
System.out.println(a + "是五位数");
System.out.println("按逆序输出是:");
use.converse(a);
}
}
public void converse(long l) {
String s = Long.toString(l);
char[] ch = s.toCharArray();
for (int i = ch.length - 1; i >= 0; i--) {
System.out.print(ch[i]);
}
}
}
个人版方法:
import java.util.Scanner;
public class Demo24 {
public static void main(String[] args) {
System.out.println("请输入:");
Scanner in = new Scanner(System.in);
String str = in.next();
if (str.matches("\\d+")) { //正则表达式
System.out.println("输入的是" + str.length() + "位数");
StringBuffer buf = new StringBuffer(str);
System.out.println(buf.reverse());//字符串反转
}
}
}

【程序25】 题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
原方法:
import java.util.Scanner;
public class Demo25 {
static int[] a = new int[5];
static int[] b = new int[5];
public static void main(String[] args) {
boolean is = false;
System.out.println("Please input:");
Scanner in = new Scanner(System.in);
long l = in.nextLong();
if (l > 99999 || l < 10000) {
System.out.println("Input error, please input again!");
l = in.nextLong();
}
for (int i = 4; i >= 0; i--) {
a[i] = (int) (l / (long) Math.pow(10, i));
l = (l % (long) Math.pow(10, i));
}
System.out.println();
for (int i = 0, j = 0; i < 5; i++, j++) {
b[j] = a[i];
}
for (int i = 0, j = 4; i < 5; i++, j--) {
if (a[i] != b[j]) {
is = false;
break;
} else {
is = true;
}
}
if (is == false) {
System.out.println("is not a Palindrom!");
} else if (is == true) {
System.out.println("is a Palindrom!");
}
}
}
个人版:
import java.util.Scanner;
public class Demo25 {
public static void main(String[]
args) {
System.out.println("请输入:");
Scanner in = new Scanner(System.in);
String str = in.next();
int l = Integer.parseInt(str);//转

…… 此处隐藏:347字,全部文档内容请下载后查看。喜欢就下载吧 ……
JAVA经典算法50题(8).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:4.9 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:19元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219