TA的每日心情 | 开心 2022-5-13 17:03 |
|---|
签到天数: 16 天 连续签到: 1 天 [LV.4]偶尔看看III
管理员
  
- 积分
- 680
|
反序输出一个整数的三种方法(比如输入1234,输出4321)
主要是没有限定位数,不然我们可以用这种熟悉的方法来做:- import java.util.Scanner;
- public class A{
- //输入一个整数,倒序后输出
- public static void main(String[] args) {
- Scanner input = new Scanner(System.in);
- System.out.println("请输入一个4位的整数:");
- int a = input.nextInt();//原始数
- int q=a/1000%10;
- int b=a/100%10;
- int s=a/10%10;
- int g=a/1%10;
- System.out.println(""+g+s+b+q);
- }
- }
复制代码 但是它没有限定是多少位,所以我们就要另想办法了。
首先靠逻辑思维用逻辑方法来做:- import java.util.Scanner;
- public class B{
- //输入一个整数,倒序后输出
- public static void main(String[] args) {
- Scanner input = new Scanner(System.in);
- System.out.println("请输入一个整数:");
- int a = input.nextInt();//原始数
- int b = 0;//保存倒序后的数
- while(a > 0) {
- b = b * 10 + a % 10;//a%10是取个位上的数
- a = a / 10; //将最后一位去掉
- }
- System.out.println(b);
- }
- }
复制代码 不理解循环部分到底什么意思的,请看下图
假设输入1234
输出4321
需要注意的是,如果数字以零结尾的话,会出现这种情况:
后面的零会消失,所以可以把上面的b换成字符串用拼接的方式:- import java.util.Scanner;
- public class C{
- //输入一个整数,倒序后输出
- public static void main(String[] args) {
- Scanner input = new Scanner(System.in);
- System.out.println("请输入一个整数:");
- int a = input.nextInt();//原始数
- String b= 0;//保存倒序后的数
- while(a > 0) {
- b = b+ a % 10;//a%10是取个位上的数
- a = a / 10; //将最后一位去掉
- }
- System.out.println(b);
- }
- }
复制代码 OK,上面是用逻辑思维做的,我们还可以用java给我们提供的工具:- import java.util.Scanner;
- public class D{
- //输入一个整数,倒序后输出,答案
- public static void main(String[] args) {
- Scanner input = new Scanner(System.in);
- StringBuffer s = new StringBuffer();
- System.out.println("请输入一个整数:");
- s.append(input.nextInt());//这里可以用.next(),容错率更高
- System.out.println(s.reverse());
- }
- }
复制代码 reverse();是StringBuffer中一个可以反序输出字符串的方法- import java.util.Scanner;
- public class E{
- //输入一个整数,倒序后输出,答案
- public static void main(String[] args) {
- Scanner input = new Scanner(System.in);
- System.out.println("请输入一个整数:");
- String s=input.next();
- char[]a=s.toCharArray();
- for (int i = a.length-1;i>=0;i--){
- System.out.print(a[i]);
- }
- }
- }
复制代码 String里的一个toCharArray()的方法,将字符串转成一个char数组,再反序输出即可
帖子到这里结束,大家如果有更好的方法,欢迎回复^_^
|
|