转载请标注地址: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。