黑马程序员技术交流社区

标题: 50道java基础题——每帖2题 [打印本页]

作者: 744919632    时间: 2015-12-19 12:32
标题: 50道java基础题——每帖2题
【程序23】
题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。
  
public class  Prog23{
  
    public static void main(String[] args){
  
        System.out.println(getAge(5,2));
  
    }
  
    //求第m位同志的年龄
  
    private static int getAge(int m,int n){
  
        if(m==1)
  
           return 10;
  
        else
  
           return getAge(m-1,n)+n;      
  
    }
  
}
  
【程序24】
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
  
public class  Prog24{
  
    public static void main(String[] args){
  
        int n = Integer.parseInt(args[0]);
  
        int i = 0;
  
        int[] a = new int[5];
  
        do{
  
            a = n%10;
  
           n /= 10;
  
           ++i;
  
        }while(n!=0);
  
        System.out.print("这是一个"+i+"位数,从个位起,各位数字依次为:");
  
        for(int j=0;j<i;j++)
  
           System.out.print(a[j]+" ");
  
    }
  
}
  






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2