需求:根据用户输入的年份计算他是什么生肖
举例:输入2024年,控制台会显示你属龙
所用技术:控制台输入 Scanner
if 语句 / switch语句
控制台输入
Java控制台输入的三种实现方法:使用标准输入对象System.in,使用Scanner和使用字符流从控制台输入
使用控制台输入有三个步骤:
1、引入Scanner类
import java.util.Scanner;
2、创建Scanner对象
Scanner scan = new Scanner(System.in);
3、接收控制台输入的数据
int
n=sc.nextInt();
//接收整数类型输入
String n=sc.nextLine();
//接收字符串
char
n=(
char
)System.in.read();
//直接获取一个字符
char
n=sc.next().charAt(
0
);
//先从控制台接收字符串,再接收它的第一个字符
Java的选择语句
[1] if单分支语法结构:
if(布尔表达式){
语句块
}
if语句对布尔表达式进行一次判定,若判定为真,则执行{}中的语句块,否则跳过该语句块。流程图如图所示:
[2] if 双分支语法结构:
if(布尔表达式){
语句块1
}else{
语句块2
}
当布尔表达式为真时,执行语句块1,否则,执行语句块2。也就是else部分。流程图如图所示:
[3] if 多分支语法结构:语法结构:
if(布尔表达式1) {
语句块1;
} else if(布尔表达式2) {
语句块2;
}……
else if(布尔表达式n){
语句块n;
} else {
语句块n+1;
}
当布尔表达式1为真时,执行语句块1;否则,判断布尔表达式2,当布尔表达式2为真时,执行语句块2;否则,继续判断布尔表达式3······;如果1~n个布尔表达式均判定为假时,则执行语句块n+1,也就是else部分。流程图如图所示:
[4] switch 语句也称为 分支语句 ,其和 if 语句有点类似,都是用来判断值是否相等,但 switch 默认只支持 byte 、 short 、 int 、 char 这四种类型的比较, JDK8 中也允许 String 类型的变量做对比
使用if语句代码实现:
import java.util.Scanner;
public class Class_8 {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入你的出生年份:");
int year=sc.nextInt();
// 计算生肖根据 年份除以12求得余数计算生肖
// 余数为 0---猴 1---鸡 2---狗 3---猪 4---鼠 5---牛 6---虎 7---兔 8---龙 9---蛇 10---马 11---羊
int yushu=year%12;
if(yushu==0){
System.out.println("你的属相是猴");
}else if (yushu==1){
System.out.println("你的属相是鸡");
}else if (yushu==2){
System.out.println("你的属相是狗");
}else if (yushu==3){
System.out.println("你的属相是猪");
}else if (yushu==4){
System.out.println("你的属相是鼠");
}else if (yushu==5){
System.out.println("你的属相是牛");
}else if (yushu==6){
System.out.println("你的属相是虎");
}else if (yushu==7){
System.out.println("你的属相是兔");
}else if (yushu==8){
System.out.println("你的属相是龙");
}else if (yushu==9){
System.out.println("你的属相是蛇");
}else if (yushu==10){
System.out.println("你的属相是马");
}else if (yushu==11){
System.out.println("你的属相是羊");
}else{
System.out.println("你的输入有误,请输入数字!");
}
}
}
使用switch语句代码实现:
import java.util.Scanner;
public class Class_8 {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入你的出生年份:");
int year=sc.nextInt();
// 计算生肖根据 年份除以12求得余数计算生肖
// 余数为 0---猴 1---鸡 2---狗 3---猪 4---鼠 5---牛 6---虎 7---兔 8---龙 9---蛇 10---马 11---羊
int yushu=year%12;
switch(yushu){
case 0:
System.out.println("你的属相是猴");
break;
case 1:
System.out.println("你的属相是鸡");
break;
case 2:
System.out.println("你的属相是狗");
break;
case 3:
System.out.println("你的属相是猪");
break;
case 4:
System.out.println("你的属相是鼠");
break;
case 5:
System.out.println("你的属相是牛");
break;
case 6:
System.out.println("你的属相是虎");
break;
case 7:
System.out.println("你的属相是兔");
break;
case 8:
System.out.println("你的属相是龙");
break;
case 9:
System.out.println("你的属相是蛇");
break;
case 10:
System.out.println("你的属相是马");
break;
case 11:
System.out.println("你的属相是羊");
break;
default:
System.out.println("输入有误,请输入数字!");
}
}
}