zoukankan      html  css  js  c++  java
  • 02-课堂问题总结归纳

    1、编写一个方法,使用以上算法生成指定数目(比如1000个)

    代码:import java.util.Random;

    import java.util.Scanner;

    public class Suijishu {

    public static void main(String[] args) {

    Random rand=new Random();

    Scanner in=new Scanner(System.in);

    int i;

    System.out.println("请输入产生随机数的个数:");

    i=in.nextInt();

    for(int j=0;j<i;j++)

    {

    int x=rand.nextInt(100);//随机产生一个种子

    int seed=(7^5*x+0)%(21483647-1);

    System.out.println(seed+"");

    }

    }

    }

    2、请看以下代码,你发现有什么特殊之处吗?

    代码:

    public class MethodOverload{

         public static void main(String[] args){

             System.out.println(“The square of integer  7  is ”+square(7));

             System.out.println(“ The square of double 7.5 is ”+square(7.5));

          }

         public static int square(int x){

              return x*x;

          }

         public static double square(double y)

         {

            return y*y;

         }

      }

    }

    两个函数功能相同,参数类型不同。以上代码展示了java的方法重载,类型不同。

    注:满足以下条件的两个或多个方法构成“重载”关系:

    1)方法名相同;

    2)参数类型不同,参数个数不同,或者是参数类型的顺序不同。

    3、查看一下JDKSystem.out.println()方法,你发现了什么?

    查阅资料:Systemjava.Lang里面的一个类。OutSystem提供的用于标准输出的流,在没有重定向的情况下,会直接打印到终端,而println这个方式实际上是prinstream类提供的功能。

    4、思考以下代码所计算出50的阶乘为什么会是负数?

    import java.util.Scanner;


    public class CalculateN {

    /**
    * @param args
    */
    public static void main(String[] args) {
    System.out.print("请输入N:");
    Scanner scanner=new Scanner(System.in);
    int number=scanner.nextInt();
    System.out.println(number+"!="+calculateN2(number));

    }

    public static long calculateN(int n) {
    if(n==1 || n==0){
    return 1;
    }

    return n*calculateN(n-1);
    }

    public static BigInteger calculateN2(int n) {
    if(n==1 || n==0){
    return BigInteger.valueOf(1);
    }
    return BigInteger.valueOf(n).multiply(calculateN2((n-1)));
    }
    }

    javaint类型的数值占32位,是有符号的。类似地,long类型的数值占64位:

    由于计算机使用固定的位数来保存数值,因此,能处理的数值大小是有限的,当要处理的数值超过了这一范围时,计算机将会自动截断数值的二进制表示为它所能处理的最多位数,这将导致错误的处理结果。

    Java提供了一个BigInteger类,支持大整数的加减乘除运算。

    public static BigInteger calculateN2(int n) {

    if(n==1 || n==0)

    {

    return BigInteger.valueOf(1);

    }

    return BigInteger.valueOf(n).multiply(calculateN2((n-1))); }

  • 相关阅读:
    按位与、或、非、异或总结
    Linux 挂载命令
    Linux 文件系统常用命令
    Linux 系统命令sudo权限
    Linux 文件系统属性chattr权限
    Linux 文件特殊权限-Sticky BIT
    Linux 文件特殊权限-SetGID
    Linux 文件特殊权限-SetUID
    Linux 递归acl权限和默认acl权限
    Linux 最大有效权限与删除ACL
  • 原文地址:https://www.cnblogs.com/xxlya/p/7659948.html
Copyright © 2011-2022 走看看