小练习——if,switch语句,根据年份计算生肖

本文介绍了如何使用Java编程,通过控制台输入获取用户年份,然后利用if和switch语句计算并输出用户的生肖。详细讲解了Scanner类的使用以及不同类型的条件判断结构在计算生肖中的应用。
摘要由CSDN通过智能技术生成

需求:根据用户输入的年份计算他是什么生肖

举例:输入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("输入有误,请输入数字!");
        }
    }
}

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值