1. 程式人生 > >Java實現:將一個數逆序輸出

Java實現:將一個數逆序輸出

轉載請標註地址:https://blog.csdn.net/A_BlackMoon/article/details/80064092

這樣的一道題的話,拿到題目後我是這樣想的。

一、這個數是否是字串,字串的話可以有多種方式進行;

1、利用String類的toCharArray(),再倒序輸出陣列的方法

import javax.swing.JOptionPane; 
   
public class ReverseString { 
       
    public static void main (String args[]){ 
        String originalString; 
        String resultString = "";    
           
        originalString = JOptionPane.showInputDialog("Please input a String: "); 
           
        char[] charArray = originalString.toCharArray(); 
       
        for (int i=charArray.length-1; i>=0; i--){ 
            resultString += charArray[i]; 
        } 
           
        JOptionPane.showMessageDialog(null, resultString, "Reverse String", JOptionPane.INFORMATION_MESSAGE); 
    } 
} 
import javax.swing.JOptionPane;  
  
public class ReverseString {  
      
    public static void main (String args[]){  
        String originalString;  
        String resultString = "";     
          
        originalString = JOptionPane.showInputDialog("Please input a String: ");  
          
        char[] charArray = originalString.toCharArray();  
      
        for (int i=charArray.length-1; i>=0; i--){  
            resultString += charArray[i];  
        }  
          
        JOptionPane.showMessageDialog(null, resultString, "Reverse String", JOptionPane.INFORMATION_MESSAGE);  
    }  
}
2、利用String類提供的subString()方法,利用遞迴的辦法輸出倒序字串
import javax.swing.JOptionPane;  
  
public class ReverseString {  
    public static void reverseString (String str){  
        if (str.length() == 1){  
            System.out.print(str);  
        }  
        else{  
            String subString1 = str.substring(0, str.length()-1);  
            String subString2 = str.substring(str.length()-1);  
              
            System.out.print(subString2);  
              
            reverseString (subString1);           
        }  
    }  
      
    public static void main (String args[]){  
        String originalString;  
          
        originalString = JOptionPane.showInputDialog("Please input a String: ");  
          
        reverseString (originalString);       
    }  
} 
import javax.swing.JOptionPane;  
  
public class ReverseString {  
    public static void reverseString (String str){  
        if (str.length() == 1){  
            System.out.print(str);  
        }  
        else{  
            String subString1 = str.substring(0, str.length()-1);  
            String subString2 = str.substring(str.length()-1);  
              
            System.out.print(subString2);  
              
            reverseString (subString1);           
        }  
    }  
      
    public static void main (String args[]){  
        String originalString;  
          
        originalString = JOptionPane.showInputDialog("Please input a String: ");  
          
        reverseString (originalString);       
    }  
} 
3、不把字串定義為String類,而是定義成一個StringBuffer類,用StringBuffer類中的reverse()方法直接倒序字串。
import javax.swing.JOptionPane;  
      
    public class ReverseString {  
        public static void reverseString (String str){  
            StringBuffer stringBuffer = new StringBuffer (str);  
             
            System.out.print(stringBuffer.reverse());  
        }  
         
        public static void main (String args[]){  
            String originalString;  
             
            originalString = JOptionPane.showInputDialog("Please input a String: ");  
             
            reverseString (originalString);         
        }  
    }

二、數字型別的進行數字的倒序輸出

    import java.util.Scanner;//要使用scanner這個類,就需要匯入一個輸入介面相關的包  
    public class HelloWorld {  
        public static void main(String[] args)  
        {  
            //System.out.println("Hello java");  
            Scanner s = new Scanner(System.in); //建立一個物件用來輸入  
            System.out.println("請輸入一個數字");  
            int n = s.nextInt();//讀取資料  
            int t = n ;  
            int save_number = 0 ;   
            while(n != 0)  
            {  
                save_number = save_number * 10 + n % 10 ;   
                n /= 10 ;  
            }  
            System.out.println("save:"+save_number);//輸出  
        }  
    }  
其實,這一塊應用遞迴也挺好的。當然方法也有其他的,程式設計便是這樣同一種需求有多種實現方式,關鍵看在實際的業務中如何去使用。現在是倒序輸出,如果是排序直接上個雙層for迴圈也OK。