1071 小赌怡情(JAVA)

简介: 常言道“小赌怡情”。这是一个很简单的小游戏:首先由计算机给出第一个整数;然后玩家下注赌第二个整数将会比第一个数大还是小;玩家下注 t 个筹码后,计算机给出第二个数。若玩家猜对了,则系统奖励玩家 t 个筹码;否则扣除玩家 t 个筹码。

 

常言道“小赌怡情”。这是一个很简单的小游戏:首先由计算机给出第一个整数;然后玩家下注赌第二个整数将会比第一个数大还是小;玩家下注 t 个筹码后,计算机给出第二个数。若玩家猜对了,则系统奖励玩家 t 个筹码;否则扣除玩家 t 个筹码。

注意:玩家下注的筹码数不能超过自己帐户上拥有的筹码数。当玩家输光了全部筹码后,游戏就结束。

输入格式:

输入在第一行给出 2 个正整数 T 和 K(≤ 100),分别是系统在初始状态下赠送给玩家的筹码数、以及需要处理的游戏次数。随后 K 行,每行对应一次游戏,顺序给出 4 个数字:

n1 b t n2

image.gif

其中 n1n2 是计算机先后给出的两个[0, 9]内的整数,保证两个数字不相等。b 为 0 表示玩家赌,为 1 表示玩家赌t 表示玩家下注的筹码数,保证在整型范围内。

输出格式:

对每一次游戏,根据下列情况对应输出(其中 t 是玩家下注量,x 是玩家当前持有的筹码量):

    • 玩家赢,输出 Win t! Total = x.
    • 玩家输,输出 Lose t. Total = x.
    • 玩家下注超过持有的筹码量,输出 Not enough tokens. Total = x.
    • 玩家输光后,输出 Game Over. 并结束程序。

    输入样例 1:

    100 4
    8 0 100 2
    3 1 50 1
    5 1 200 6
    7 0 200 8

    image.gif

    输出样例 1:

    Win 100!  Total = 200.
    Lose 50.  Total = 150.
    Not enough tokens.  Total = 150.
    Not enough tokens.  Total = 150.

    image.gif

    输入样例 2:

    100 4
    8 0 100 2
    3 1 200 1
    5 1 200 6
    7 0 200 8

    image.gif

    输出样例 2:

    Win 100!  Total = 200.
    Lose 200.  Total = 0.
    Game Over.

    image.gif

    代码实现:

    import java.io.*;
    /**
     * @author yx
     * @date 2022-07-24 23:57
     */
    public class Main {
        static PrintWriter out=new PrintWriter(System.out);
        static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));
        static StreamTokenizer in=new StreamTokenizer(ins);
        public static void main(String[] args) throws IOException {
            in.nextToken();
            int T=(int) in.nval;
            in.nextToken();
            int K=(int) in.nval;
            for (int i = 0; i < K; i++) {
                in.nextToken();
                int n1=(int) in.nval;
                in.nextToken();
                int b=(int) in.nval;
                in.nextToken();
                int t=(int) in.nval;
                in.nextToken();
                int n2=(int) in.nval;
                if(T-t<0){
                    System.out.println("Not enough tokens.  Total = "+T+".");
                    continue;
                }
                if((n2>n1&&b==1)||(n2<n1&&b==0)){
                    System.out.println("Win "+t+"!  Total = "+(T+t)+".");
                    T=T+t;
                }else {
                        System.out.println("Lose "+t+".  Total = "+(T-t)+".");
                        T=T-t;
                    if(T<=0){
                        System.out.println("Game Over.");
                        return;
                    }
                }
            }
        }
    }

    image.gif

    image.gif编辑

    相关文章
    |
    Java
    103.【Java Microbenchmark Harness】(三)
    103.【Java Microbenchmark Harness】
    58 0
    103.【Java Microbenchmark Harness】(三)
    |
    3月前
    |
    IDE Java 应用服务中间件
    Java“NoSuchMethodFoundError”解决
    “NoSuchMethodError”是Java运行时错误,表示调用了不存在的方法。通常由方法签名变更或不同版本的类文件不兼容引起。解决方法包括检查依赖版本、清理编译缓存和确保所有类文件一致。
    308 3
    |
    3月前
    |
    存储 安全 Java
    Java“ArrayStoreException”解决
    Java中的ArrayStoreException发生在尝试将错误类型的对象存储到特定类型对象的数组中时。解决方法包括:确保数组元素类型与赋值对象类型一致,使用泛型集合替代数组以增强类型安全。
    55 4
    |
    8月前
    |
    Java 物联网 编译器
    Java
    Java
    60 0
    |
    Oracle Java 关系型数据库
    什么是java
    什么是java
    122 0
    1105 链表合并(JAVA)
    给定两个单链表 L1​=a1​→a2​→⋯→an−1​→an​ 和 L2​=b1​→b2​→⋯→bm−1​→bm​。如果 n≥2m,你的任务是将比较短的那个链表逆序,然后将之并入比较长的那个链表,得到一个形如 a1​→a2​→bm​→a3​→a4​→bm−1​⋯ 的结果。例如给定两个链表分别为 6→7 和 1→2→3→4→5,你应该输出 1→2→7→3→4→6→5。
    |
    Java
    logYF.java
    logYF.java
    75 0
    |
    Java
    Java一些常见的坑
    总是觉得自己Java基础还是不行,需要恶补。今天偶然mark了一本《Java解惑》,其中以端程序的方式罗列了95个即常见又不常见的xian(坑)jing(儿),拿来瞻仰一下。
    61 0
    |
    Java
    Java常见的坑(二)
    你猜上述程序输出的是什么? 是 ABC easy as 123 吗? 你执行了输出操作,你才发现输出的是 ABC easy as [C@6e8cf4c6 ,这么一串丑陋的数字是什么鬼? 实际上我们知道字符串与任何数值的相加都会变为字符串,上述事例也不例外, numbers输出其实实际上是调用了Object.toString()方法,让numbers转变为'[c' + '@' + 无符号的十六进制数。
    65 0
    |
    前端开发 Java 关系型数据库
    JAVA知识
    那么问题来了,JAVA为啥需要这么多类加载器(当然是多层负责每层对应的类系统,而且多态这个磨人的妖精很是厉害,需要多层加载机制进行处理。–个人理解)
    20411 0