zoukankan      html  css  js  c++  java
  • 动手动脑及课后作业02

    1.SquareIntTest.java中不用static如何还能使用Square函数

    解决方法:

    2、

    代码:

    import java.util.Scanner;
    
    public class Suiji {
    
    	public static void main(String[] args) {
    		System.out.print("请输入要输出的随机数个数:");
    		Scanner s = new Scanner(System.in);
    		int num = s.nextInt();
    		
    		//生成随机数
    		int seed = (int)(Math.random() * 1000);
    		int a = (int)(Math.random() * 1000);
    		int c = (int)(Math.random() * 1000);
    		int m = (int)(Math.random() * 1000);
    		
    		for(int i = 0;i < num;i++)
    		{	
    			seed = (a * seed + c) % m;
    			System.out.print(seed + " ");
    		}
    	}
    
    }
    

     结果:

     

    3.动手动脑

    方法的重载,方法名相同,但引用的参数类型不同,调用的方法就会不同。

    4.课后作业1

    (1)代码:

    import java.util.Scanner;
    
    public class Zuhe1 {
    
    	public static void main(String[] args) {
    		System.out.print("请输入组合数的上标k,下标n:");
    		Scanner s = new Scanner(System.in);
    		int k = s.nextInt();
    		int n = s.nextInt();
    
    		if(k > n)
    			System.out.println("输入有误!");
    		else
    		{
    			int result = Cal(n)/(Cal(k) * Cal(n - k));
    			System.out.println("结果为:" + result);
    		}
    	}
    	
    	public static int Cal(int x)
    	{
    		if(x == 0 || x == 1)
    			return 1;
    		else
    			return x * Cal(x - 1);
    	}
    
    }
    

      运行结果截图:

    (2)代码:

    import java.util.Scanner;
    
    public class Zuhe2 {
    
    	public static void main(String[] args) {
    		System.out.print("请输入组合数的上标k,下标n:");
    		Scanner s = new Scanner(System.in);
    		int k = s.nextInt();
    		int n = s.nextInt();
    
    		if(k > n)
    			System.out.println("输入有误!");
    		else
    		{
    			int result = Cal(n, k);
    			System.out.println("结果为:" + result);
    		}
    	}
    	
    	public static int Cal(int x,int y)
    	{
    		if(y == 0 || x == y)
    			return 1;
    		else
    		{
    			int k = 1,j = 1,i;  
    			for(i = x;i > x - y;i--)  
    			{   
    				k = k * (i) / j;
    				j++;  
    	        }  
    			return k;  	
    		}
    	}
    
    }

    结果截图:

    5.课后作业2:递归编程解决汉诺塔问题。用Java实现

    代码:

    package T3;
    import java.util.Scanner;
    
    public class Hanoi {
    
    	public static void main(String[] args) {
    		System.out.println("汉诺塔有三个座A、B、C,初始状态为A上有一些盘子,要将盘子移动到C上。");
    		System.out.print("请输入盘子数:");
    		Scanner N = new Scanner(System.in);
    		int n = N.nextInt();
    		
    		System.out.print("移动方法为:");
    		solve('A','B','C',n);
    	}
    	
    	public static void solve(char start,char temp,char end,int num)
    	{
    		if(num == 1)
    			System.out.printf("%c --> %c  ",start,end);
    		else
    		{
    			solve(start,end,temp,num - 1);
    			System.out.printf("%c --> %c  ",start,end);
    			solve(temp,start,end,num - 1);	
    		}
    	}
    
    }
    

      结果:

    6.课后作业3:使用递归方式判断某个字串是否是回文( palindrome )

    代码:

    package demo;
    
    import java.util.Scanner;
    
    public class IsHuiwen {
    
    	public static void main(String[] args) {
    		System.out.print("请输入字符串:");
    		Scanner S = new Scanner(System.in);
    		String s = S.nextLine();
    		
    		if(Huiwen(s) == 1)
    			System.out.println(s + "是回文数!");
    		else
    			System.out.println(s + "不是回文数!");
    	}
    	
    	public static int Huiwen(String str)
    	{
    		if(str.length() == 0||str.length() == 1)
    			return 1;
    		else
    		{
    			char First = str.charAt(0);
    			char End = str.charAt(str.length() - 1);
    			if(First != End)
    				return 0;
    		}
    		return Huiwen(str.substring(1,str.length() - 1));
    	}
    
    }

    结果截图:

  • 相关阅读:
    CodeForces
    设计模式之装饰模式和代理模式区别与联系
    java反射 概念
    Java 反射详解 转载
    Spring--AOP 例子
    MD5加密
    面向对象编程思想(OOP)
    软件测试assert
    junit4.9测试用例 spring测试用例 Assert 注解
    断言
  • 原文地址:https://www.cnblogs.com/fylove/p/5966024.html
Copyright © 2011-2022 走看看