首页 > 试题广场 >

反向输出一个四位数

[编程题]反向输出一个四位数
  • 热度指数:77864 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}给定一个四位整数 n1000 \leqq n \leqq 9999),将其各位数字反向输出。若反向后高位为零,也需保留该零。

输入描述:
\hspace{15pt}在一行中输入一个四位整数 n1000 \leqq n \leqq 9999)。


输出描述:
\hspace{15pt}输出一个四位整数,为 n 反向后的结果;若高位为零,也需保留。
示例1

输入

1234

输出

4321

说明

在这个样例中,输入的四位数是 1234,反向输出后得到 4321
示例2

输入

1000

输出

0001

说明

在这个样例中,输入的四位数是 1000,反向输出后得到 0001,注意保留了前导零。
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String n=in.nextLine();
        StringBuilder e=new StringBuilder(n);
        String x=e.reverse().toString();
        System.out.println(x);
    }
}
发表于 2025-11-03 15:38:15 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        
        int a = in.nextInt();

        // 拆分四位:千位、百位、十位、个位
        int qian = a / 1000;
        int bai = (a / 100) % 10;
        int shi = (a / 10) % 10;
        int ge = a % 10;

        // 反转后:个位→千位,十位→百位,百位→十位,千位→个位
        
        int reverse = ge * 1000 + shi * 100 + bai * 10 + qian;

        // 格式化输出:%04d 表示“至少4位,不足补0”; 比如输入 1000, 输出 0001,保留前面的0;
        System.out.printf("%04d\n",reverse);

        in.close();
    }
}
通过数字计算实现(比如巩固 “取位” 逻辑),可通过拆分每一位再拼接,最后用格式化输出补零

2. 第二种方法,直接使用 StringBuilder
public class Main {
    public static void main (String [] args) {
        Scanner sc = new Scanner (System.in);
// 1. 读取四位整数(直接转字符串更方便处理反转和零)
        String numStr = sc.next ();
// 2. 用 StringBuilder 的 reverse () 方法反转字符串
        String reversedStr = new StringBuilder (numStr)
            .reverse ()
            .toString ();
// 3. 直接输出反转后的字符串(天然保留前导零)
        System.out.println (reversedStr);
sc.close();}


  • 读取输入:直接用sc.next()读取输入(读取输入的字符串)的四位整数(本质是字符串),避免先转int再转String的多余步骤。
  • 反转字符串StringBuilder是 Java 中处理字符串修改的工具类,其reverse()方法能直接反转字符串(如"1000"→"0001","1234"→"4321")。
  • 输出结果:反转后的字符串直接输出,无需额外处理,天然符合 “保留前导零” 的要求。


发表于 2025-10-04 13:12:13 回复(0)
public class Main {
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
       
            int number = in.nextInt();
            int reciprocal = 0;
            while(number>0)
            {
                int digit = number%10;
                number/=10;
                reciprocal=10*reciprocal+digit;
            }
            System.out.println(reciprocal);
    }
}看来还是想少了
发表于 2025-09-12 21:38:26 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();

        reserve_print(n);
    }
    
    //递归
    public static int reserve_print(int n){
        if (n > 0){
            System.out.print(n%10);
            return reserve_print(n/10);
        } else {
            return n;
        }
    }
}

发表于 2024-08-09 19:40:34 回复(0)
import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) { 
            String[] num = in.next().split("");
            ArrayList<String> numList = new ArrayList<>(Arrays.asList(num));
            Collections.reverse(numList);
            numList.forEach(System.out::print);
        }
    }
}

编辑于 2024-03-01 16:00:25 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String[] str = in.nextLine().split("");

        for(int i = str.length - 1; i >= 0; i--) {
            System.out.print(str[i]);
        }
    }
}
发表于 2023-10-26 10:42:14 回复(0)
import java.util.Arrays;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        StringBuilder str = new StringBuilder(sc.nextLine());
        System.out.println(str.reverse());
    }
}

发表于 2022-11-03 15:32:07 回复(0)
import java.util.Scanner;
import java.util.ArrayList;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String s = in.nextLine();
            String[] sList=s.split("");
            ArrayList<Integer> array=new ArrayList<Integer>();
            for(int i=s.length()-1;i>=0;i--){
                array.add(Integer.valueOf(sList[i]));
            }
            for(int i=0;i<array.size();i++){
                System.out.print(array.get(i));

            }           
            
        }
    }
}

发表于 2022-10-31 16:59:48 回复(0)
import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        String str=sc.next();
        StringBuilder sb=new StringBuilder(str);
        System.out.print(sb.reverse());
    }
}

发表于 2022-08-08 22:39:42 回复(0)
import java.util.*;
public class Main {
    public static void main(String[] arg) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int[] arr = new int[4];
        for (int i = 0; i <4; i++) {
            arr[i]=a/(int)(Math.pow(10,i))%10;
             System.out.print(arr[i]);
        } 
    }
}

发表于 2022-07-05 15:05:34 回复(0)
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext()){
            int num = scanner.nextInt();
            //个位
            int onesPlace = num % 10;
            //十位
            int tensPlace = num / 10 % 10;
            //百位
            int thousandsPlace = num / 100 % 10;
            //千位
            int tenThousandsPlace = num / 1000 % 10;
            System.out.println(onesPlace + "" + tensPlace + "" + thousandsPlace + "" + tenThousandsPlace);
        }
    }
}

发表于 2022-06-28 11:53:02 回复(0)
import java.util.*;
public class Main{
public static void main(String love[]){
   Scanner input=new Scanner(System.in);
   String s=input.next();
    for(int i=s.length()-1;i>=0;i--){
        System.out.print(s.charAt(i));
    }   
    input.close();
} 
}

发表于 2022-05-11 13:57:34 回复(0)

取巧

import java.util.Scanner;

/**
 *
 * @Title          反向输出一个四位数
 * @Description    将一个四位数,反向输出。
 * 输入描述:
 *      一行,输入一个整数n(1000 <= n <= 9999)。
 * 输出描述:
 *      针对每组输入,反向输出对应四位数。
 * @author weijunfu<ijunfu @ qq.com>
 * @date 2022/03/18 00:19
 * @version 1.0.0
 *
 */

public class Main {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        String line = in.nextLine();
        
        StringBuilder sb = new StringBuilder(line);
        System.out.println(sb.reverse().toString());

        in.close();
    }
}


发表于 2022-03-18 00:22:50 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String num = scanner.nextLine();
        num = new StringBuffer(num).reverse().toString();
        System.out.print(num);
    }
}


发表于 2021-10-19 16:24:24 回复(0)
import java.util.Scanner;

import static java.lang.Math.pow;

public class Main {
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        String newnum = "";
        while (n>0){
            int wei = n % 10;
//            System.out.println(wei);
            n = n / 10;
//            System.out.println(n);
            newnum = newnum+wei;
        }
        System.out.println(newnum);
    }
}

发表于 2021-10-14 12:46:47 回复(0)
import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        String s = in.nextLine();
        StringBuilder sb = new StringBuilder(s).reverse();
        System.out.println(sb);
    }
}

发表于 2021-09-02 10:20:26 回复(0)
import java.util.Scanner;
public class Main {
    public static void main(String args[]) {
        Scanner input = new Scanner(System.in);
        int num=input.nextInt();
        while(num!=0){
            int temp=num%10;
            num/=10;
            System.out.print(temp);
        }

    }
} 
发表于 2021-08-20 09:19:15 回复(0)
import java.util.Scanner;
public class Main
{
    public static void main(String [] args)
    {
        Scanner sc = new Scanner(System.in);
        
        int num = sc.nextInt();
        int temp = num;
        int c= 0;
        int cnt = 0;
        while (temp != 0)
        {
            c = c *10 + temp % 10;
            if(c == 0)
            {
                cnt++;
            }
            temp/=10;
            
        }
        
        if (cnt !=0)
        {
            for (int i=0; i<cnt; i++)
            {
                System.out.print("0");
            }
            System.out.print(c);
        }
        else
        {
            System.out.println(c);
        }
        
    }
}

发表于 2021-08-15 20:20:49 回复(0)
import java.util.Scanner;
public class Main{
    public static void main(String [] args)
    {
    Scanner sc =  new Scanner(System.in);
    String str= sc.next();
    Integer integer = Integer.parseInt(str);
    System.out.println(integer%10+""+integer%100/10+integer%1000/100+integer/1000);
    }
}

发表于 2021-07-18 22:08:48 回复(0)

问题信息

难度:
29条回答 4756浏览

热门推荐

通过挑战的用户

查看代码
反向输出一个四位数