A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 清风幕竹 中级黑马   /  2016-5-24 13:08  /  651 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

###10.22_常见对象(Scanner获取数据出现的小问题及解决方案)(掌握)
* A:两个常用的方法:
        * public int nextInt():获取一个int类型的值
        * public String nextLine():获取一个String类型的值
* B:案例演示
        * a:先演示获取多个int值,多个String值的情况
        * b:再演示先获取int值,然后获取String值出现问题
        * c:问题解决方案
                * 第一种:先获取一个数值后,在创建一个新的键盘录入对象获取字符串。
                * 第二种:把所有的数据都先按照字符串获取,然后要什么,你就对应的转换为什么。(后面讲)
案例:
package com.itheima.scanner;

import java.util.Scanner;

public class Demo2_Scanner {

        /**
         * @param args
         */
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                /*//第一个小操作
                System.out.println("请输入第一个整数:");
                int i = sc.nextInt();
                System.out.println("请输入第二个整数:");
                int j = sc.nextInt();
                System.out.println("i = "+i+", j = "+j);*/
               
                /*//第二个小操作
                System.out.println("请输入第一个字符串:");
                String line1 = sc.nextLine();
                System.out.println("请输入第二个字符串:");
                String line2 = sc.nextLine();
                System.out.println("line1 = "+line1+", line2 = "+line2);*/
                //第三个小操作
                //如果输入10回车,没有输入第二个字符串就已经输出结果:i = 10, line2 =
                /*
                 * nextInt()是键盘录入整数的方法,当我们录入10的时候
                 * 其实在键盘上录入的是10和\r\n,nextInt()方法只获取10就结束了
                 * nextLine()是键盘录入字符串的方法,可以接收任意类型,但是他凭什么能获取一行呢?
                 * 通过\r\n,只要遇到\r\n就证明一行结束,nextLine()遇到\r\n就结束了
                 */
                /*System.out.println("请输入第一个整数:");
                int i = sc.nextInt();
                System.out.println("请输入第二个字符串:");
                String line2 = sc.nextLine();
                System.out.println("i = "+i+", line2 = "+line2);
                //为了证明line2中并没有存放\r\n,因为nextLine()遇到\r\n就结束了,所以不会存入line2中
                System.out.println(i);
                System.out.print("111111111111");
                System.out.print(line2);
                System.out.println("22222222222");*/
               
                //解决上面的问题,方案1:再创建一个Scanner,但是浪费空间
                //方案2:因为键盘录入的都是字符串,所以都用nextLine()方法,然后再进行转换
               
                int i = sc.nextInt();
                Scanner sc2 = new Scanner(System.in);
                String line = sc.nextLine();
                System.out.println(i);
                System.out.println(line);
        }

}

###10.23_常见对象(Math类概述和方法使用)
* A:Math类概述
        * Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
* B:成员方法
        * public static int abs(int a)// 绝对值
        * public static double ceil(double a)// 天花板
        * public static double floor(double a)//地板
        * public static int max(int a,int b) min自学//最大值
        * public static double pow(double a,double b)//a的b次方
        * public static double random()//0.0~0.1  [)之间的随机数
        * public static int round(float a) 参数为double的自学//四舍五入
        * public static double sqrt(double a)//平方根

案例:
package com.heima.otherclass;

public class Demo1_Math {       
        public static void main(String[] args) {
                System.out.println(Math.PI);
                System.out.println(Math.abs(-10));                          //取绝对值
               
                //ceil天花板
                /*
                 * 13.0
                 * 12.3
                 * 12.0
                 */
                System.out.println(Math.ceil(12.3));                        //向上取整,但是结果是一个double
                System.out.println(Math.ceil(12.99));
               
                System.out.println("-----------");
                //floor地板
                /*
                 * 13.0
                 * 12.3
                 * 12.0
                 */
                System.out.println(Math.floor(12.3));                        //向下取整,但是结果是一个double
                System.out.println(Math.floor(12.99));
               
                //获取两个值中的最大值
                System.out.println(Math.max(20, 30));
               
                //前面的数是底数,后面的数是指数
                System.out.println(Math.pow(2, 3));                                //2.0 ^ 3.0
               
                //生成0.0到1.0之间的所以小数,包括0.0,不包括1.0
                System.out.println(Math.random());
               
                //四舍五入
                System.out.println(Math.round(12.3f));
                System.out.println(Math.round(12.9f));
               
                //开平方
                System.out.println(Math.sqrt(4));
                System.out.println(Math.sqrt(2));
                System.out.println(Math.sqrt(3));
        }

}



###10.24_常见对象(Random类的概述和方法使用)
* A:Random类的概述
        * 此类用于产生随机数如果用相同的种子创建两个 Random 实例,
        * 则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。
* B:构造方法
        * public Random()
        * public Random(long seed)
* C:成员方法
        * public int nextInt()
        * public int nextInt(int n)(重点掌握)
案例:
package com.heima.otherclass;

import java.util.Random;

public class Demo2_Random {
        public static void main(String[] args) {
                Random r = new Random();
                /*int x = r.nextInt();
               
                System.out.println(x);*/
               
                for(int i = 0; i < 10; i++) {
                        //System.out.println(r.nextInt());
                        System.out.println(r.nextInt(100));                        //要求掌握,生成在0到n范围内的随机数,包含0不包含n
                }
               
                /*
                 * -1244746321
                        1060493871
                       
                        -1244746321
                        1060493871

                 */
                /*Random r2 = new Random(1001);
               
                int a = r2.nextInt();
                int b = r2.nextInt();
               
                System.out.println(a);
                System.out.println(b);*/
        }

}

1 个回复

倒序浏览
good!!!!!!!!!!!!1
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马