版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/pxl20171799/article/details/85055218
题目:任意给定一个正整数,将其形成一个逆序数据并输出
分析:本题有两种做法:
一、将整数的每一个数据提取出来存放到数组中输出,
二、用字符串转化成整数,逆序输出
第一种方法:需要两个类
第一个类:,定义数据属性,实现基本的方法
在写逆序输出的时候要注意以下几点:
1,若原来的整数最后面是0,则在逆序输出的时候第一个数字不能输0--------------如何解决?
当遇到0时则不输出
2,解决第一个问题的基础上,若整数的内部有0,例如302300,内部的也不会输出,-----------------如何解决?
记录每一个数字的下标,输出时,按照下标输出
第二个类:测试类
详细代码
package 逆序输出;
public class NX {
private int n;
public NX(int n) {
this.n = n;
}
public NX() {}
public int getN() {
return n;
}
public void setN(int n) {
this.n = n;
}
public void nixu()
{
int i=0;
int[] a=new int[100];
while(n!=0) {
a[i]=n%10;
i++;
n=n/10;
}
int pos=0;
for(int j=0;j<i;j++)
{
//System.out.println(a[0]);
if(a[j]!=0) {
pos=j;
break;
}
}
for(int j=pos;j<i;j++)
{
System.out.print(a[j]);
}
}
}
package 逆序输出;
public class Main_test {
public static void main(String[] args) {
NX nx=new NX(500400300);
nx.nixu();
}
}
第二种做法:
package 逆序输出;
public class NX1 {
private String string;
public NX1(String string) {
this.string = string;
}
public NX1() {}
public String getString() {
return string;
}
public void setString(String string) {
this.string = string;
}
public void nixu()
{
StringBuffer s=new StringBuffer(string);
int b=Integer.parseInt(s.reverse().toString());//toString 一定不能省略
System.out.println(b);
}
}
package 逆序输出;
public class Main_test1 {
public static void main(String[] args) {
NX nx=new NX(12003400);
nx.nixu();
}
}