1. 程式人生 > >輸入一個整數,將這個整數以字串的形式逆序輸出

輸入一個整數,將這個整數以字串的形式逆序輸出

題目描述

描述:

輸入一個整數,將這個整數以字串的形式逆序輸出

程式不考慮負數的情況,若數字含有0,則逆序形式也含有0,如輸入為100,則輸出為001

 


輸入描述:

  

輸入一個int整數



輸出描述:

  

將這個整數以字串的形式逆序輸出


輸入例子:
1516000

輸出例子:
0006151


我覺得題目不難,我做的方法是不是不太好?感覺不精練。

但是我又想到,題目說了要是字串的形式逆序,如果不要求字串的話,應該直接每次while都print一個數字,程式碼會更簡潔吧。


然後過程中還是出了兩個小錯誤:

1、

  while(flag){
            
            st.add(""+i%10);
            i=i/10;
            if(i==0){
                flag=false;
            }
        }

這個flag的判斷一定要在i=i/10;之後,不然就會多一個0,別問我怎麼知道的....


2、

 /*  for(int j=st.size()-1;j>=0;j--){
            re=re+st.get(j);
        }*/
  for(int j=0;j<=st.size()-1;j++){
           re=re+st.get(j);
       }

因為新增的時候就是逆序了,所以不要倒序輸出啦!! 【咦這裡是不是其實可以直接處理String.....0.0】



  
  1. import java.util.Scanner;
  2. import java.util.ArrayList;
  3. public class Main{
  4. public static void main(String args[]){
  5. Scanner sc= new Scanner(System.in);
  6. long num=sc.nextInt();
  7. System.out.println(Fun(num));
  8. }
  9. public static String Fun(long num){
  10. String re= "";
  11. long i=num;
  12. ArrayList<String> st= new ArrayList<String>();
  13. boolean flag= true;
  14. while(flag){
  15. st.add( ""+i% 10);
  16. i=i/ 10;
  17. if(i== 0){
  18. flag= false;
  19. }
  20. }
  21. /* for(int j=st.size()-1;j>=0;j--){
  22. re=re+st.get(j);
  23. }*/
  24. for( int j= 0;j<=st.size()- 1;j++){
  25. re=re+st.get(j);
  26. }
  27. return re;
  28. }
  29. }


走,看看大神怎麼做的:

1、用StringBuffer.....哎..!!


  
  1. 連結:https: //www.nowcoder.com/questionTerminal/ae809795fca34687a48b172186e3dafe
  2. 來源:牛客網
  3. import java.util.*;
  4. public class Main {
  5.      public static void main(String[] args){
  6.         Scanner scan = new Scanner(System.in);
  7.         String str = scan.nextLine();
  8.         StringBuffer sb = new StringBuffer(str);
  9.         sb.reverse();
  10.         System.out.println(sb.toString());
  11.     }
  12.  
  13. }

2、跟我想法差不多的簡潔版:


  
  1. 連結:https: //www.nowcoder.com/questionTerminal/ae809795fca34687a48b172186e3dafe
  2. 來源:牛客網
  3. import java.util.*;
  4. public class Main{
  5.      public static void main(String []args){
  6.         Scanner sc = new Scanner(System.in);
  7.          int num = sc.nextInt();
  8.          int i= 0;
  9.         String res= "";
  10.          
  11.          while(num!= 0){
  12.              int t1=num% 10;
  13.              int t2=num/ 10;
  14.             res=res+String.valueOf(t1);
  15.             i++;
  16.             num=t2;
  17.         }
  18.         System.out.println(res);
  19.     }
  20. }