###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);*/ }
}
|