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。
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值