小钿自留地
标题:
反序输出一个整数的三种方法(比如输入1234,输出4321)
[打印本页]
作者:
hext
时间:
2015-2-16 18:57
标题:
反序输出一个整数的三种方法(比如输入1234,输出4321)
反序输出一个整数的三种方法(比如输入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数组,再反序输出即可
帖子到这里结束,大家如果有更好的方法,欢迎回复^_^
欢迎光临 小钿自留地 (http://bbs.hexiaotian.cn/)
Powered by Discuz! X3.2