首页 > 代码库 > 课堂动手动脑

课堂动手动脑

      1.生成1000个随机数只需要将循环的次数增多,而生成范围内的随机数只需要修改随机数后面乘的数即可,如下图所示即为生成50个随机数。

                                                                    技术分享

2.有关于int和double类型的方法我们发现使用double类型可以生出浮点数,使计算更加精确,如下图所示。

                                          技术分享

3.使用递归的思想来计算组合数,我们可以先使用递归的思想将每一个元素的阶乘求出,然后在使用算法求出第一个位置的组合数,然后自己调用自己即可,具体代码如下:

import java.math.BigInteger;
import java.util.Scanner;
public class project {
public static void main(String[] args)
{
System.out.println("输入N");
Scanner scan = new Scanner(System.in);
System.out.println("输入k");
Scanner scan1 = new Scanner(System.in);
int number1 = scan.nextInt();
int number2 = scan1.nextInt();
System.out.println("The result is :" + calculateN2(number1,number2));
}
public static long calculateN(int n){
if(n<=0){
return 1;
}
else
{
return n*calculateN(n-1);

}
}
public static long calculateN2(int n,int k){

if(calculateN(n) == 0 || calculateN(k) == 0)
{
return 0;
}
else
{
return calculateN(n)/(calculateN(k)*calculateN(n-k));

}
}

}

运行结果如图所示:

技术分享

4.判断字符串是否为回文,我们也可以使用递归的方法,对一个字符串进行递归的遍历,然后判断出它是否为回文数,具体如下:

package com.axjy.yzn;
public class Recursive {
public static void main(String[] args) {
System.out.println("Is abcba a Palindrome?"+isPalindrome("abcdcba"));
}
public static boolean isPalindrome(String s){
if(s.length()<=1){
return true;
}else if(s.charAt(0) != s.charAt(s.length()-1)){
return false;
}
return isPalindrome(s.substring(1,s.length()-1));
}
}

这次的动手动脑我们比较熟练的学会了Java中的一些方法以及递归的思想。是我们能够更加好的利用Java进行解题。

 

课堂动手动脑