1. 程式人生 > >Java 逆序輸出

Java 逆序輸出

題目:任意給定一個正整數,將其形成一個逆序資料並輸出

分析:本題有兩種做法:

一、將整數的每一個數據提取出來存放到陣列中輸出,

二、用字串轉化成整數,逆序輸出

  第一種方法:需要兩個類

第一個類:,定義資料屬性,實現基本的方法

在寫逆序輸出的時候要注意以下幾點:

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();
	}

}