java编写一个程序,用户输入一个正整数,把它的各位数字颠倒一下,并输出颠倒后结果

如题所述

代码如下:

import java.util.Scanner;

public class ReverseNumber {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int num = scanner.nextInt();
        StringBuilder stringBuilder = new StringBuilder();
        String reverseStr = stringBuilder.append(num).reverse().toString();
        System.out.println(reverseStr);
        //如果想要整型,再转换一次
        int reverseNum = Integer.valueOf(reverseStr);
//        System.out.println(reverseNum);
    }
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-05-15
public class Test {
public static void main(String[] args) {
try {
System.out.println("请输入一个正整数");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
//转换为字符串
String str = String.valueOf(num);
char[] charArray = str.toCharArray();
System.out.println("结果为:");
for (int i = charArray.length-1; i >= 0; i--) {
System.out.print(charArray[i]);
}
} catch (Exception e) {
System.out.println("抱歉!输入有误!");
}
}
}

追问

后面有部分看不到可以截图发一个么

追答

第2个回答  2018-05-15
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入一两位的整数");
int a = 0;
while(true){
try {
a = in.nextInt();
if(a>=10){
break;
}else{
System.out.println("请输入一两位的整数");
a = in.nextInt();
}
} catch (Exception e) {
System.out.println("请输入整数");
}
}
String dao=String.valueOf(a);
String daoshu = dao.charAt(dao.length()-1)+""+dao.substring(0,dao.length()-1);
System.out.println(daoshu);
in.close();
}
}
运行结果 :
请输入一两位的整数
10086
61008追问

可以用取余的方法试一下么?我是初学者方法越简单越好。谢了

追答

Scanner in = new Scanner(System.in);
System.out.println("请输入一两位的整数");
int a = in.nextInt();
String dao=String.valueOf(a);
String daoshu = dao.charAt(dao.length()-1)+""+dao.substring(0,dao.length()-1);
System.out.println(daoshu);
in.close();
运行结果也是一样的
String daoshu = dao.charAt(dao.length()-1)+""+dao.substring(0,dao.length()-1); 这个就是把最后一个截取出来放到第一位 剩下的不变 但是输入整数位数 必须是两位 以及两位以上

追问

我是想假如输入一个138得到的结果应该是831,输入的是10086应该输出68001这样子的程序。麻烦了

追答

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入一两位的整数");
int a = in.nextInt();
String dao=String.valueOf(a);
String aa="";
for(int i = dao.length()-1; i>=0;i--){
aa+=dao.charAt(i);
}
System.out.println(aa);
in.close();
}
楼下那个程序 基本是对的 这个你参考下

本回答被网友采纳

java编写一个程序,用户输入一个正整数,把它的各位数字颠倒一下,并输...
代码如下:import java.util.Scanner;public class ReverseNumber { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个整数:"); int num = scanner.nextInt(); StringBuilder stringBuilder = new StringBuilder()...

编写一个程序;用户输入一个正整数,把它的各位数字前后颠倒一下,并输...
include<stdio.h>void reverse(int n){while(n%10==0)n\/=10; while(n>0) {printf("%d",n%10); n\/=10; }}int main(){int n; scanf("%d",&n); reverse(n); return 0; }

编写一个程序;用户输入一个正整数,把它的各位数字前后颠倒一下,并输...
include <stdio.h> void main(){ int n,s=0;printf("请输入一个整数:");scanf("%d",&n);while(n!=0){ s=s*10+n%10;n\/=10;} printf("%d",s);}

检查下我的程序输入一个正整数,计算该数各位数字的和,并输出倒序数
之前你在那里写了一句printf,没注意到下面有else,你的if和else不匹配,把输出n的那句话去掉就可以了。然后你最后的思路是对的,只是没有逆序输出,其他的没问题。

Java 编写程序实现给一个不多于5位的正整数,求它是几位数,并且逆序打印...
public static void convert(int num) {if (num < 0) {System.out.println("输入一个正整数!");return;}\/\/ 求位数int step = 1;int result;int temp = 10;while (true) {result = num \/ temp;if (result > 0) {temp *= 10;step++;} else {System.out.println("位数:" + ...

JAVA 给一个不多于5位的正整数,要求:1、求它是几位数,2、逆序打印出各 ...
new Scanner(System.in);System.out.println("输入一个5位或5位以下的数字");int num = scan.nextInt();String s = String.valueOf(num);System.out.println("输入数字的长度为:"+s.length());for(int i=s.length()-1;i>=0;i--){ System.out.print(s.substring(i,i+1));} ...

java编程 输入一个整数,从高位开始逐位输出它的各位数字。
import java.util.Scanner;public class Test40032 { public static void main(String[] args) { int ri, repeat;int digit;long n, temp, pow;Scanner in = new Scanner(System.in);repeat = in.nextInt();for (ri = 1; ri <= repeat; ri++) { n = in.nextLong();\/*---*\/ if...

求Java写一个类用于演示输入一个5位数,计算出各位数的总和,并倒序输出...
import java.*;import java.util.Scanner;public class Test4 { public static void main(String[] args){ System.out.println("请输入一个五位数:");Scanner sc = new Scanner(System.in);int num = sc.nextInt();System.out.println("该数字各位和为"+getSum(num));System.out.println("...

编写一个 Java 字符界面程序,在键盘上输入一个 4 位的正整数,如果输入...
public static void main(String[] args) { Scanner scanner = new Scanner(System.in);int inputNum;for (; ; ) { System.out.println("请输入一个4位整数: ");inputNum = scanner.nextInt();if (inputNum > 0) { break;} } int sum = 0;String inputNumStr = String.valueOf(...

java 3.输入任意一个三位数,将其各位数字反序输出(例如输入123,输出32...
一个没有判断的笨拙代码: public static void main(String[] args) { Scanner sc=new Scanner(System.in);String s=sc.next();int num=Integer.valueOf(s);int geWei=num%100%10;int shiWei=num\/10%10;int baiWei=num\/100;String result=geWei+""+shiWei+""+baiWei;System.out.println(...

相似回答