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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/505096.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言预处理详解

前言 上篇博客我们总结了编译与链接,有说过编译里第一步是预处理,那本篇博客将对预处理进行进一步的详细的总结 个人主页:小张同学zkf 若有问题 评论区见 感兴趣就关注一下吧 目录 1. 预定义符号 2. #define 定义常量 3. #define定义宏 4…

零失误微信支付商家转账到零钱功能开通教程

商家转账到零钱是什么? 使用商家转账到零钱这个功能,可以让商户同时向多个用户的零钱转账。商户可以使用这个功能用于费用报销、员工福利发放、合作伙伴货款或分销返佣等场景,提高效率。 商家转账到零钱的使用场景有哪些? 商家…

如何使用Axure RP制作网页原型并结合IIS服务实现公网访问本地HTML网页

文章目录 前言1.在AxureRP中生成HTML文件2.配置IIS服务3.添加防火墙安全策略4.使用cpolar内网穿透实现公网访问4.1 登录cpolar web ui管理界面4.2 启动website隧道4.3 获取公网URL地址4.4. 公网远程访问内网web站点4.5 配置固定二级子域名公网访问内网web站点4.5.1创建一条固定…

STM32CubeIDE基础学习-RS232通信

STM32CubeIDE基础学习-RS232通信 文章目录 STM32CubeIDE基础学习-RS232通信前言第1章 工程配置第2章 代码编写第3章 实验现象总结 前言 RS232也是串口的一种,RS-232是由电子工业协会(Electronic Industries Association, EIA)所制定的异步传输标准接口。在1962年发布…

sql之每日五题day01--多表联查/聚合函数

sql错题记录 含有聚合函数的不能用where升序排列order byleft join多表联查inner join不返回null三表联查 含有聚合函数的不能用where SQL19 分组过滤练习题 题目:现在运营想查看每个学校用户的平均发贴和回帖情况,寻找低活跃度学校进行重点运营&#x…

PHP远程命令执行与代码执行原理利用与常见绕过总结

PHP远程命令执行与代码执行原理利用与常见绕过总结 远程命令执行 相较于SQL注入漏洞,远程命令执行更加少见。由于是直接执行系统命令,所以相较于前者此漏洞会更加危险: 攻击者通过远程命令执行漏洞可以直接掌控服务器攻击者可以通过存在此…

C语言:动态内存管理(二)

目录 前言 1.3 realloc​编辑 3、常见动态内存管理错误 3.1 对空指针的解引用操作 3.2 对动态开辟的空间进行越界访问 3.3 对非动态开辟内存使用free释放 3.4 使用free释放一块动态内存开辟的一部分 3.5 对同一块空间的多次释放 3.6 动态内存开辟之后忘记释放 总结 前…

python用户管理系统(加密)

在用户管理系统中使用哈希算法对用户密码进行加密处理 import hashlibusers []# 用户类,包含基本信息 class User:def __init__(self, name, password, emailNone):self.name nameself.password self._encrypt_password(password) # 加密密码self.email email…

ViveNAS性能调试笔记(一)

ViveNAS是一个开源的NAS文件服务软件,有一套独立自创的架构,ViveNAS希望能做到下面的目标: - 能支持混合使用高性能的介质(NVMe SSD)和低性能介质(HDD,甚至磁带)。做到性能、成本动态均衡。因此ViveNAS使用…

力扣刷题Days28-第二题-11.盛水最多的容器(js)

目录 1,题目 2,代码 3,学习与总结 3.1思路回顾 1,如何遍历 2,算法流程 3.2剖析问题 1,题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, h…

WordPress AutomaticPlugin SSRF漏洞复现(CVE-2024-27954)

0x01 产品简介 WordPress是一款免费开源的内容管理系统(CMS),最初是一个博客平台,但后来发展成为一个功能强大的网站建设工具,适用于各种类型的网站,包括个人博客、企业网站、电子商务网站等,并逐步演化成一款内容管理系统软件。 0x02 漏洞概述 WordPress AutomaticPlu…

jsp中设置动态时间

第一步 在head中写入meta <head><meta charset"UTF-8" http-equiv"Refresh" content"1"> </head> 第二步在head中写入函数 <head><meta charset"UTF-8" http-equiv"Refresh" content"…

网站可扩展架构设计——领域驱动设计(上)

从公众号转载&#xff0c;关注微信公众号掌握更多技术动态 --------------------------------------------------------------- 一、【DDD】领域驱动设计简介 1.什么是DDD——应对复杂性的利器 DDD不是架构&#xff0c;而是一种架构设计方法论&#xff0c;它通过划分领域边界…

HarmonyOS实战开发-一次开发,多端部署-音乐专辑

简介 基于自适应和响应式布局&#xff0c;实现一次开发、多端部署音乐专辑页面。 相关概念 一次开发&#xff0c;多端部署&#xff1a;一套代码工程&#xff0c;一次开发上架&#xff0c;多端按需部署。支撑开发者快速高效的开发支持多种终端设备形态的应用&#xff0c;实现对…

【算法】记忆化搜索

概念 举例 拿斐波那契数列举例 可以发现一般的求解过程中&#xff0c;有很多重复的子问题&#xff0c;递归的本质就是深度优先遍历&#xff0c;如果此时我们可以记录下此时的值然后记录在哈希表中&#xff0c;下一次递归前先去哈希表中查找如果有该值的答案直接返回即可。 这…

大数据 - Hadoop系列《五》- HDFS文件块大小及小文件问题

系列文章&#xff1a; 大数据- Hadoop入门-CSDN博客 大数据 - Hadoop系列《二》- Hadoop组成-CSDN博客 大数据 - Hadoop系列《三》- HDFS&#xff08;分布式文件系统&#xff09;概述_大量小文件的存储使用什么分布式文件系统-CSDN博客 大数据 - Hadoop系列《三》- MapRedu…

[flink 实时流基础] flink 源算子

学习笔记 Flink可以从各种来源获取数据&#xff0c;然后构建DataStream进行转换处理。一般将数据的输入来源称为数据源&#xff08;data source&#xff09;&#xff0c;而读取数据的算子就是源算子&#xff08;source operator&#xff09;。所以&#xff0c;source就是我们整…

PostCSS的安装及使用(1):安装

在不同操作系统上安装PostCSS的步骤大致相同&#xff0c;因为PostCSS是基于Node.js的一个JavaScript工具&#xff0c;是依赖于Node.js环境和npm&#xff08;Node包管理器&#xff09;。 PostCSS官网&#xff1a; GitHub地址&#xff1a; GitHub - postcss/postcss: Transformi…

WebScraper网页数据爬取可视化工具使用(无需编码)

前言 Web Scraper 是一个浏览器扩展&#xff0c;可以实现无需编码即可爬取网页上的数据。只需按照规则进行配置&#xff0c;即可实现一键爬取导出数据。 安装 进入Google应用商店安装此插件&#xff0c;安装步骤如下&#xff1a; 进入Google应用商店需要外网VPN才能访问&…

学生寝室恶性负载识别模块

学生寝室恶性负载识别模块系统是石家庄光大远通电气公司一种专门用于学生寝室电力管理的系统&#xff0c;旨在识别并限制使用违规或高风险的电器设备&#xff0c;以保障学生的用电安全和节约能源。该系统通过先进的电力检测技术和算法&#xff0c;能够实时监测寝室内的电力使用…