1.Java中从键盘中接收数据
从键盘中获取不同类型的数据,需要使用Scanner类
- 导包:import java.util.Scanner
- Scanner类的实例化
Scanner scan=new Scanner(System.in)
- 调用相关方法获取对应数据类型的数据
/*
一般的方法为:
Scanner.next():字符串
Scanner.nextInt():整形
Scanner.nextDouble():浮点数
Scanner.nextBoolean():布尔型
Scanner.next
*/
//接收Int型数据
import java.util.Scanner;
class HelloChina{
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
int num=scan.nextInt();
System.out.println(num);
}
}
2. 随机数的获取
/*
Math.random():产生从[0,1)的随机数
返回数据类型为double
*/
3.计算日期的方法
问题描述:
从键盘中输入月份与日期,计算当前为该年的第几天?(2月默认为28天)
解决方法:
-
通常思路:
import java.util.Scanner; class Test{ public static void main(String [] args){ Scanner scan=new Scanner(System.in); int month=scan.nextInt(); int day=scan.nextInt(); swith(month) { case 1:sumDay=day;break; case 2:sumDay=31+day;break; case 3:sumDay=28+31+day;break; ..... } } } //此种方法存在大量冗余
-
改进方法
import java.util.Scanner; class Test{ public static void main(String [] args){ Scanner scan=new Scanner(System.in); int month=scan.nextInt(); int day=scan.nextInt(); int sumDay=0; swith(month) { case 12:sumDay+=30; case 11:sumDay+31; case 10:sumDay+=30; .....; case 2:sumDay+=31; case 1:sumDay+=day; } } } //此方法避免了冗余
注意:
判断闰年的标准:
- 可以被4整除,不能被100整除
- 可以被400整除