Java整形检测输入字符字符串方法

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: Java整形检测输入字符字符串方法
package game;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Scanner;
public class Game {
  static int vu = 0;
  static int wgold = 100;
  static int dgold = 100;
  public static void Hs(int hs){//计算花色
    hs/=13;
    if(hs==4){
      hs=3;
    }
    switch (hs) {
    case 0:
      System.out.print("黑桃");
      break;
    case 1:
      System.out.print("梅花");
      break;
    case 2:
      System.out.print("方块");
      break;
    case 3:
      System.out.print("红桃");
      break;
    }
  }
  public static void Enter() throws IOException  {//停顿
      System.out.println("按回车继续");
      new BufferedReader(new InputStreamReader(System.in)).readLine();
  }
  private static void Pai(int pai) {
    switch (pai) {
    case 1:
      System.out.println("A");
      break;
    case 11:
      System.out.println("J");
      break;
    case 12:
      System.out.println("Q");
      break;
    case 13:
      System.out.println("K");
      break;
    default:
      System.out.println(pai);
      break;
    }
  }
  public static void main(String[] args) throws IOException {
    Scanner input = new Scanner(System.in);
    System.out.println("                   抽牌游戏                                                     ");
    System.out.println("游戏规则");
    System.out.println("比大小,A最大  。牌大小一样比花色,黑桃最大,其次是梅花,方块,红桃");
    System.out.println("初始金币  玩家 100 电脑金币 100\n开始自动下注10金币");
    while(wgold>0){
      while(dgold>0){
        Enter();
        wgold-=10;
        dgold-=10;
        System.out.println("玩家金币 "+wgold+"\n电脑金币 "+dgold);
        System.out.println("玩家抽牌");
        Enter();
        int hs,pai;//玩家牌花色,牌数
        int dhs,dpai;//电脑牌花色,牌数
        hs=(int)(1+Math.random()*52);//玩家抽的花色
        pai=(int)(1+Math.random()*13);//玩家抽的牌
        Hs(hs);
        Pai(pai);
        System.out.println("请问是否加注  加注输入加注金币数(不能超过现有金币数)  不加注输入0   电脑自动跟");
        jwvu();
        if(pai==1){
          pai=14;//A最大
        }
        Enter();
        System.out.println("电脑抽牌");
        dhs=(int)(1+Math.random()*52);
        dpai=(int)(1+Math.random()*13);
        Hs(dhs);
        Pai(dpai);
        if(pai>dpai){
          System.out.println("玩家胜利");
          if(vu==0){
            wgold+=10*2;
          }else{
            wgold+=10*2+vu*2;
          }
          System.out.println("玩家金币"+wgold+"电脑金币"+dgold);
          Enter();
        }else if(pai<dpai){
          System.out.println("电脑胜利");
          if(vu==0){
            dgold+=10*2;
          }else{
            dgold+=10*2+vu*2;
          }
          System.out.println("玩家金币"+wgold+"电脑金币"+dgold);
          Enter();
        }else if(pai==dpai){
          if(hs<dhs){
            System.out.println("玩家胜利");
            if(vu==0){
              wgold+=10*2;
            }else{
              wgold+=10*2+vu*2;
            }
            System.out.println("玩家金币"+wgold+"电脑金币"+dgold);
            Enter();
          }else if(hs>dhs){
            System.out.println("电脑胜利");
            if(vu==0){
              dgold+=10*2;
            }else{
              dgold+=10*2+vu*2;
            }
            System.out.println("玩家金币"+wgold+"电脑金币"+dgold);
            Enter();
          }else{
            System.out.println("平局");
            if(vu==0){
              dgold+=10;
              wgold+=10;
            }else{
              dgold+=10+vu;
              wgold+=10+vu;
            }
            System.out.println("玩家金币"+wgold+"电脑金币"+dgold);
            Enter();
          }
        }
        if(wgold==0 || dgold==0)break;
      }
      if(wgold==0 || dgold==0)break;
    }
    if(wgold<=0)System.out.println("!!!电脑最终获胜!!!");
    if(dgold<=0)System.out.println("!!!玩家最终获胜!!!");
  }
  public static void jwvu(){//控制加注数输入
    while(true){
      Scanner input = new Scanner(System.in);
      if(input.hasNextInt()){
        vu = input.nextInt();
        }else{
        System.out.println("... 金币用整数计算  重新输入");
        jwvu();
        break;
        }
      if(vu==0){
        break;
      }else if(vu>0 && vu<=wgold){
        System.out.println("已加注");
        wgold-=vu;
        if(dgold>vu){
          dgold-=vu;
        }else{
          dgold-=dgold;
        }break;
      }else{
        System.out.println("输入错误 重新输入");
        continue;
      }
    }
  }
}
相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
3天前
|
Java
判断不为空和不为空串的方法java
判断不为空和不为空串的方法java
|
1天前
|
传感器 数据采集 网络协议
Java串口通信:从十六进制字符串到字节数组的正确转换与发送
Java串口通信:从十六进制字符串到字节数组的正确转换与发送
15 4
|
1天前
|
网络协议 Java
Java中如何使用Socket类检测端口是否存在
Java中如何使用Socket类检测端口是否存在
13 4
|
3天前
|
Java
在Java中,如何将字符串转换为浮点数?
【4月更文挑战第30天】在Java中,如何将字符串转换为浮点数?
7 0
|
3天前
|
Java API
【亮剑】Java的List,如何删除重复的元素,教你三个方法搞定!
【4月更文挑战第30天】本文介绍了三种Java中删除List重复元素的方法:1) 使用HashSet,借助其不允许重复值的特性;2) 利用Java 8 Stream API的distinct()方法;3) 对自定义对象重写equals()和hashCode()。每种方法都附带了代码示例,帮助理解和应用。
|
3天前
|
存储 Java C语言
【Java探索之旅】数据类型与变量 浮点型,字符型,布尔型,字符串型
【Java探索之旅】数据类型与变量 浮点型,字符型,布尔型,字符串型
11 0
|
4天前
|
IDE Java 开发工具
基于Java程序设计的实验教学方法优化与实践
基于Java程序设计的实验教学方法优化与实践
15 1
|
4天前
|
Java
JAVA刷题之字符串的一些个人思路
JAVA刷题之字符串的一些个人思路
|
6天前
|
存储 Java 索引
【JAVA】HashMap的put()方法执行流程
【JAVA】HashMap的put()方法执行流程
|
1天前
|
存储 缓存 前端开发
Java串口通信技术探究3:RXTX库线程 优化系统性能的SerialPortEventListener类
Java串口通信技术探究3:RXTX库线程 优化系统性能的SerialPortEventListener类
10 3