递归练习---控制台输入一整数,纵向输出(方式一)

package cn.digui_2015_11_5_周四;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
 * 2015.11.5  8:28 周四。 给一个非负整数,纵向输出
 */
public class ZhengShuOutPutZongXiang {
 public static StringBuffer strBuff = new StringBuffer();
 public static void main(String[] args) {
  System.out.println("Entry a num:");
  String str = getString();
  System.out.println("您输入的整数是:-->"+Integer.valueOf(str));
  System.out.println("格式化输出如下形式:");
  intFormat(str); 
 }
 
 public static void intFormat(String str){
  StringBuffer result = recIntFortmat(str);
  System.out.println(result);
 }
 private static StringBuffer recIntFortmat(String str){
  int len = str.length();
  if(len == 1){
   return strBuff.append(str);
  }else{
   int div = (int)Math.pow(10, len-1);  
   int result = Integer.valueOf(str)/div;
   int remainder = Integer.valueOf(str)%div;  

   strBuff.append(result).append("\n");
   return recIntFortmat(String.valueOf(remainder));
  }
  
 }
 
 
 public static String getString(){
  InputStreamReader isr = new InputStreamReader(System.in);
  BufferedReader buff = new BufferedReader(isr);
  try {
   return buff.readLine();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return null;
 }
 
}

你可能感兴趣的:(java,递归)