1. 程式人生 > >迅雷真題 輸入一個有符號的整數,逆序輸出

迅雷真題 輸入一個有符號的整數,逆序輸出

import java.util.Scanner;

/**
 * 
 */
/**   
 * @author jueying:   
 * @version 建立時間:2018-10-24 下午08:52:14   
 * 類說明   
 */
/**
 * @author jueying
 *
 */
public class Main {
	int top=-1;//棧頂指標
	int size=0;//棧大小
	static char b[];//棧空間
	static int k;
	/*
	 * 使用棧實現
	*/
	public void fun(char number){
		b[++top]=number;
		++size;
	}
	
	public void print(){
		boolean g=false;//是否有輸出過非0
		if(k<0){//如果是負數,先輸出負號
		System.out.print('-');
		}
		while(top>=0){ 
			 if(k==0){//如果是0輸出0,結束迴圈
			 System.out.print(0);
			 break;
			 }else if(b[top]!='0'||g){//如果非0 在沒有輸出非0數之前不能輸出含有0的數,如果已經輸出過非0數,那麼後面的0可以輸出
				 g=true;
				 System.out.print(b[top]);
			 }
			 top--;
		}
		
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
         Scanner sc=new Scanner(System.in);
         Main t= new Main();
         k=sc.nextInt();
         b=new char[(""+k).length()];
         char c[]=(""+k).toCharArray();;
         for(int i=0;i<c.length;i++){
        	 if(c[i]>=48&&c[i]<=58){
        		 t.fun(c[i]);
        	 }
         }
        t.print();
	}

}