代码如下,具体逻辑请参考注释:
成都创新互联主要从事成都网站设计、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务江安,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
public class Fanz {
// 反转
public static int fanzhuang(int num) {
// 把整数num转成String,再转成char数组
char[] charArr = Integer.toString(num).toCharArray();
// 这样每个数字都变成一个char了
// 对数组反转
char tmp;
// 把第1个 和 倒数1 换位置
// 把第2个 和 倒数2 换位置
// 一直到中间位置:所以i charArr.length / 2,这里除了2
for (int i = 0; i charArr.length / 2; i++) {
tmp = charArr[i];
charArr[i] = charArr[charArr.length - i - 1];
charArr[charArr.length - i - 1] = tmp;
}
// 重新生成字符串,再转数字
String fStr = new String(charArr);
return Integer.valueOf(fStr);
}
// 测试方法
public static void main(String[] args) {
int n = 8945245;
// int n = 123456;
int fn = fanzhuang(n);
System.out.println(fn);
}
}
亲,回答也需要时间与精力,如果回答满意,请及时采纳,谢谢!
java反向输入整数的位数可以采用取余判断的方式,示例如下:
import java.util.Scanner;
public class Dd {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请输入一个整数:");
int n=in.nextInt();//得到输入的整数
int sum=0;
int i=1;
while(n0){//当余数不为0的时候,继续操作
int d=n%10;
sum=sum*10+d;
n=n/10;
}
System.out.println(sum);
}
}
import java.util.Scanner;
public class Test1 {
public static void main (String[] args){
System.out.print("请输入一个正整数:");
String str=getString();
String result="";
for(int i=str.length()-1;i=0;i--){
result+=str.charAt(i);
}
System.out.println("该数字的反转数为:"+result);
System.out.println("该数字有"+result.length()+"位数");
}
public static String getString(){
Scanner scan=new Scanner(System.in);
return scan.next().trim();
}
}
1、可以把这个5个数分解存在一个数组里面
2、通过循环判断是否相等,循序次数就是长度整除2
在设置一个状态标记,为TRUE就是回数,为false就不是,在循环中,一旦不相等就把状态标记改为false,终止循环,当循环结束时,状态标记还是为true就是回数。
import java.util.Scanner;
/*
* 第三章 java运算符
* 课后作业 判断回文数
* 5.2.1 由用户输入一个整数,判断是不是回文数(完全对称的数),如果是 打印 true, 否则打印false
* 提示:本题仅要求判断一个五位数是不是回文数
* 通过除法运算和求模运算符,可以分别求出一个五位数的每位上的值,然后进行比较。
* Palindrome 回文数
*/
public class zuoye0352 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入要判断是否为回文数的数值:");
int i=sc.nextInt();
String str=""+i;
if(str.length()%2==0){
System.out.println(i+"不是回文数!"+str.length()%2);
}
//判断反转后 值是否相等 从而
else if(i==fanzhuan(i)){
System.out.println(i+"是回文数~");
}
else
System.out.println(i+"不是回文数!");
}
private static int fanzhuan(int input) {
int output = 0;//
while(input0){
//output= output*10;
output=output*10+input%10;
input=input/10;
}
return output;
}
}
不知道这样写是不是符合你的要求?
public class Temp {
public static void main(String[] args) {
String str = String.valueOf(12345);
StringBuffer buff = new StringBuffer();
System.out.println(str);
for(int i=str.length()-1;i=0;i--){
buff.append(str.charAt(i));
}
String retStr = buff.toString();
Integer retInt = Integer.valueOf(retStr);
System.out.println(retInt);
}
}