大二下学期学习进度(二)

所花时间:15个小时左右(很大一部分时间花在了数组2的问题上)

代码量:400行左右(很少)大部分时间花在看代码,查知识点上。

博客量:两篇

这周通过数组的问题学了很多知识,列举如下:

      1.类型转换问题

       1.)int -> String

 
      int i=12345;
      String s="";
      第一种方法:s=i+"";
      第二种方法:s=String.valueOf(i);
      这两种方法有什么区别呢?作用是不是一样的呢?是不是在任何下都能互换呢?
 
     2.) String -> int
 
      s="12345";
      int i;
      第一种方法:i=Integer.parseInt(s);
      第二种方法:i=Integer.valueOf(s).intValue();

      2.判断是否输入为纯数字

Scanner input = new Scanner(System.in);
             if(input.hasNextInt()){
                    int num = input.nextInt();
             System.out.println(num);
             }/*
             hasNextInt()方法是判断控制台接收是否为数字,
             当你在控制台输入一个字符的时候,hasNextInt()判断你输入这个字符是不是数字,
             而不是接收值,当if判断通过之后执行接收,也就是你输入的那个字符,*/
             else{ System.out.println("请输入正确数字!~"); } }
3.大整数问题
int ran = (int)(Math.random()*10000000) - (int)(Math.random()*100000000);
BigInteger a = new BigInteger(String.valueOf(ran));
1.赋值:
BigInteger a=new BigInteger("1");
BigInteger b=BigInteger.valueOf(1);
2.运算:
① add(); 大整数相加 
BigInteger a=new BigInteger(“23”); 
BigInteger b=new BigInteger(“34”); 
a. add(b);
15.BigInteger构造函数:
一般用到以下两种:
BigInteger(String val);
将指定字符串转换为十进制表示形式;
BigInteger(String val,int radix);
将指定基数的 BigInteger 的字符串表示形式转换为 BigInteger
 
     4.随机数问题
  1. math.random()*100
是指让系统随机选取大于等于 0.0 且小于 100.0 的伪随机数。
 
解释分析如下:
 
1、函数:Math.random();
 
2、功能:产生大于等于 0 小于 1 的一个随机数;
 
3、公式:Math.random()*(n-m)+m,生成大于等于m小于n的随机数;
 
例:设置一个随机1到3(取不到3)的变量
 
int  num = (int)(Math.random()*2+1);
 
  1. 首先明确Math.pow(x,y)的作用就是计算x的y次方,其计算后是浮点数,这里先看一个例子
例2:Math.pow(x,y)这个函数是求x的y次方,x,y的值都是浮点类型的,pow(64,1/3),64的1/3次方,如果口头上来算的话,可以看成64的3次方根,但是计算机不会这样算,他会先求出1/3的值,1/3中1和3均为int类型,所以值为0,然后y这个值是浮点类型,所以自动转换为0.0,任何数字的0次幂都为1,所有这个地方求出来的值为1,而不是4
原文地址:https://www.cnblogs.com/zzstdruan1707-4/p/10549323.html