迅雷真題 輸入一個有符號的整數,逆序輸出
阿新 • • 發佈:2018-11-17
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(); } }