Java 方法练习

求:2+22+222+2222。。。【递归】

package D;
import java.util.*;

public class Digu {
	static void su(int n) {
		int a=0,b=0;
		for(int i=1;i<=n;i++) {
		a=a*10+2;
		b+=a;		
			
		}
		System.out.println(b);
	}
	

	public static void main(String[] args) {
		// TODO Auto-generated method stub
      Scanner sc=new Scanner(System.in);
      System.out.println("请输入n值 ");
      int n1=sc.nextInt();//这里将输入值加入到su()中。
      su(n1);
      sc.close();
	}

}

Question:已知有一个数列:f(0) = 1,f(1) = 4,f(n+2) = 2 * f(n+1) + f(n),其中n是大于0的整数,求f(n)的值(提示:使用递归)

package D;
import java.util.*;
public class Digui{
	public static int f(int n) {
		if (n == 0)
			return 1;
		else if (n == 1)
			return 4;
		else
			return 2 * f(n-1) + f(n-2);//虽然题目要求	,记得转成f(n)=的形式
	public static void main(String[] args) {		
			System.out.print("输入n值");
			Scanner sc = new Scanner(System.in);
			int n=sc.nextInt();		
		    f(n);
		    System.out.println(f(n));
		    sc.close();
	}	
}

求某个三位数以内的水仙花数: 水仙花数:一个数各个位上的立方之和,等于本身

package D;
import java.util.*;
public class Digui{
	static int a,b,c;//百位,十位,个位
	static void f(int n)//提取数
	{
		a=n/100;
		b=n/10%10;
		c=n%10;
	}
	static boolean haha(int n)//判断是否为水仙花数
	{	
		f(n);
		if((Math.pow(a, 3)+Math.pow(b, 3)+Math.pow(c, 3))==n)
			return true;
		else
			return false;
	}

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int num=sc.nextInt();
		for(int i=100;i<=num;i++)
		{
			if(haha(i))
				System.out.println(i+" ");
		}
      sc.close();
	}
}

小美在朝阳公园溜旺财

package D;
public class PracticeDemo01 
{
	public static void main(String[] args) 
	{
		Renwu nvhai=new Renwu();
		nvhai.name="小美";
		Dongwu dog=new Dongwu();
		dog.name="旺财";
		nvhai.dongzuo(dog);
		
	
	}
}
class Renwu{
	String name;
	public void dongzuo(Dongwu na){
		
	System.out.println(name+"在朝阳公园遛"+na.name);
	}
	
	}
	
class Dongwu{
	String name;
	
	
}

 

你可能感兴趣的:(Jav)