zoukankan      html  css  js  c++  java
  • 条件选择结构学习 java 归纳(2)

    java的语法格式,关键字,保留字,常量变量什么的,几乎是每种语言都要学习的。这里直接略过了,开始条件选择结构。
    条件结构的语句要么用if,要么用switch。
    if一般有三种格式:


    switch是以下格式:


    switch格式的特点:

    其实以上说的很干瘪。什么都没说明白。。
    用个实例应该会好点,猜拳游戏。
    我想要和电脑比猜拳。我输入1,代表石头,2代表剪刀,3代表布。电脑随机输入1,2,3,。然后跟我输入的做比较。
    首先要解决的是,我怎么输入1,2,3.

    import java.util.Scanner;//引用Scanner这个库
    Scanner in=new Scanner(System.in);//将输入的功能赋给in
    int person=in.nextInt();//将输入功能定义为Int,并赋给person
    

    然后就是电脑怎么随机输入?有两种方法:
    第一种:

    import java.util.Random;//引用随机库
    Random random=new Random(3);//括号里面的10表示0~2的随机数
    

    第二种:

    int computer=(int)(Math.random()*3);//无需引用库,而且还支持多线程只是需要注意Math输出的随机数是double类型的,所以需要强制转换为int类型
    

    解决了上面两个问题,就要开始对比person和computer,如果person和computer是一样的,那么就是平局。如果不一样,那也要分我赢了还是我输了。这时候可以用到if判断。

                 if(person==computer){
                System.out.println("平局, ");
            }else if(person==1&&computer==3||person==2&&computer==1||person==3&&computer==2){
                System.out.println("您输了, ");
    
            }else {
                System.out.println("您赢了, ");
            }
    

    这样算是搞定了功能部分。另外我还想知道电脑到底是出的是什么?石头,剪刀还是布。我可以这样写:

                    String marks="拳头";
            switch(computer){
            case 1:
                marks="石头";
                break;
            case 2:
                marks="剪刀";
                break;
            case 3:
                marks="布";
                break;
            }
    

    所以我最后的代码是:

        import java.util.Scanner;
        public class guess{
        public static void main(String[] args){
            Scanner in=new Scanner(System.in);
            System.out.println("---猜拳游戏---");
            System.out.println("1.石头,2.剪刀,3,布");
            int person=in.nextInt();
            int computer=(int)(Math.random()*3)+1;
            String marks="拳头";
            switch(computer){
            case 1:
                marks="石头";
                break;
            case 2:
                marks="剪刀";
                break;
            case 3:
                marks="布";
                break;
            }
            if(person==computer){
                System.out.println("平局, 电脑出的是:"+marks+"-_-");
            }else if(person==1&&computer==3||person==2&&computer==1||person==3&&computer==2){
                System.out.println("您输了, 电脑出的是:"+marks+"-^-");
    
            }else {
                System.out.println("您赢了, 电脑出的是:"+marks+"-*-");
            }
        }
    }
    

    运行后,就可以很happy的跟电脑玩猜拳了。而且还不用担心电脑耍诈。

  • 相关阅读:
    什么样的代码称得上是好代码?
    九年程序人生 总结分享
    Docker入门 第一课 --.Net Core 使用Docker全程记录
    阿里云 Windows Server 2012 r2 部署asp.net mvc网站 平坑之旅
    Visual studio 2015 Community 安装过程中遇到问题的终极解决
    Activiti6.0 spring5 工作流引擎 java SSM流程审批 项目框架
    java 进销存 库存管理 销售报表 商户管理 springmvc SSM crm 项目
    Leetcode名企之路
    24. 两两交换链表中的节点
    21. 合并两个有序链表
  • 原文地址:https://www.cnblogs.com/BlueBlog/p/4468997.html
Copyright © 2011-2022 走看看