java 2分钟_Java怎么判断他是否在2分钟内执行了任务?
展开全部
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Timer;
import java.util.TimerTask;
/**
* Created by Administrator on 2017/8/22.
*/
public class mian {
static String player1 = "1号玩家";
static String player2 = "2号玩家";
static String attacker = player1;//默认player1先攻击
static String beAttacker = player2;//默认player2先被攻击
static boolean isTimeOver = false;//是否攻击超时
public static void main(String[] args) {
while (true) {
System.out.println(attacker + "攻击回合e69da5e887aa3231313335323631343130323136353331333363383436,是否发动攻击? 是:1 否:任意符号 回车确定.");
getSystemIn();
}
}
/**
* 获取控制台的命令;
*/
public static void getSystemIn() {
Timer timer = new Timer();
timerTest(timer);
boolean attacked = false;//是否成功攻击
try {
while (isTimeOver == false) {//是否超时
if (System.in.available() == 0) continue;//用户时候在控制台输出了命令
BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
String s = sc.readLine();//读取用户命令
if ("1".equals(s)) {//攻击命令
attack(attacker, beAttacker);//调用攻击方法
attacked = true;//攻击成功
} else {
System.out.println(attacker + "主动放弃攻击,攻守转换!");
}
timer.cancel();//用户给出指令,取消定时器.
break;//跳出接受命令功能
}
if (attacked == false && isTimeOver == true) {//只有用户没有攻击,并且攻击超时时才打印
System.out.println(attacker + "攻击超时,攻守转换!");
}
isTimeOver = false;//将攻击超时标志重新置为flase
attackTransition(attacker, beAttacker);//攻守转换
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 攻守转换
*
* @param _attacker 攻击者
* @param _beAttacked 被攻击者
*/
public static void attackTransition(String _attacker, String _beAttacked) {
String cache = null;
cache = _attacker;
attacker = _beAttacked;
beAttacker = cache;
}
public static void timerTest(Timer timer) {
timer.schedule(new TimerTask() {
public void run() {
new Thread(new Runnable() {
@Override
public void run() {
try {
isTimeOver = true;//将超时标志置为true
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}).start();
}
}, 2000*60);// 设定指定的时间time,此处为60*2000毫秒(2分钟)
}
/**
* 攻击方法
*
* @param attacker 攻击者
* @param beAttacked 被攻击者
*/
public static void attack(String attacker, String beAttacked) {
System.out.println(attacker + "开始攻击" + beAttacked);
}
}
结果:
看你的逻辑挺好玩的.这里不要试图使用Scanner,因为Scanner会阻塞当前线程.除非有方法能够主动打破阻塞(我没找到).所以这里我自己写了个读取的小逻辑.
java 2分钟_Java怎么判断他是否在2分钟内执行了任务?相关推荐
- 能否构成三角形的条件代码_Java 如何判断一个点是否在一个三角形内
题目描述: 如何判断一个点是否在一个三角形内. 测试样例: 自定义的POINT类: class POINT{ int x; int y; public POINT(int x,int y){ this ...
- java 30分钟_java 实现当前时间加减30分钟的时间代码
如代码所示: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date now = new ...
- java当前时间减1分钟_java 实现当前时间加减30分钟的时间代码
如代码所示: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date now = new ...
- java中文字符_Java 完美判断中文字符
Java判断一个字符串是否有中文一般情况是利用Unicode编码(CJK统一汉字的编码区间:0x4e00–0x9fbb)的正则来做判断,但是其实这个区间来判断中文不是非常精确,因为有些中文的标点符号比 ...
- java识别中文_Java 完美判断中文字符的方法
Java判断一个字符串是否有中文一般情况是利用Unicode编码正则来做判断,但是其实这个区间来判断中文不是非常精确,以下是比较完善的判断方法 Java判断一个字符串是否有中文一般情况是利用Unico ...
- java 微秒 时间_Java中时间的计算 年月日小时分钟秒毫秒微秒
//用到的类 DateUtils //这个类存在于 org.apache.commons.lang.time.DateUtils; //也就是这个包 commons-lang-2.3.jar //AP ...
- java 网页编码_JAVA如何判断网页编码
前言 最近做一个搜索项目,需要爬取很多网站获取需要的信息.在爬取网页的时候,需要获得该网页的编码,不然的话会发现爬取下来的网页有很多都是乱码. 分析 一般情况下,网页头信息会指定编码,可以解析head ...
- java web试题_Java web开发经典面试题汇总(内附答案详解)
原标题:Java web开发经典面试题汇总(内附答案详解) 1.说出Servlet 的生命周期,并说出Servlet 和CGI 的区别? 答:Web 容器加载Servlet 并将其实例化后,Servl ...
- java map key是否存在_java如何判断map集合中是否存在key?
java如何判断map集合中是否存在key?,方法,遍历,不存在,键值,是一个 java如何判断map集合中是否存在key? 易采站长站,站长之家为您整理了java如何判断map集合中是否存在key? ...
最新文章
- python记录当前系统时间 生成照片直接命名
- 《你不知道的Javascript--上卷 学习总结》(原型)
- C#保存图片到特定目录
- 基于SegNet和UNet的遥感图像分割代码解读
- 手机web开发的感想
- Java属性loadFromXML()方法与示例
- 吉哥系列故事――完美队形II(HDU-4513)
- 蓝桥杯 反置数 数论
- javaScript中获取时间
- 王者荣耀s12赛季服务器维护,王者荣耀S12赛季延期,这篇攻略让我段位狂涨!
- Ubuntu 网速显示,ssh配置
- 嵌入式大佬 | 嵌入式C语言知识点万字总结
- 高级php工程师需要掌握的知识点
- 海量数据大课学习笔记(2)-不在其位要谋其政,技术Leader能力模型提升-小滴课堂
- python进阶练习题:IRR计算 - 盈利能力的评价【难度:2级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶
- 360奇舞团钟恒:选用Vue.js进行组件化开发,我们遇到了哪些坑?
- 【制作fnt格式字体】 BMFont中文字体图集制作的方法~
- 计算机 难题_寻找免费难题的最佳网站
- iphone12android在线啥意思,iOS12要来了,你还不知道这些iPhone的隐藏功能?
- Android App内截屏监控及涂鸦功能实现
热门文章
- go python perl混合开发
- C语言:n个数的阶乘之和
- 【实验技术笔记】融合基因 + 长片段基因 + 突变基因 表达载体构建
- 数字实现千分位分隔符
- html 引入网页title的图标,生成 .ico 图标
- php 判断app浏览器打开,手机浏览器下判断是否安装某app,并判断是否打开该应用...
- Windows Server 2008 R2使用WDS服务实现批量安装操作系统演示
- Android的数据存储:SharedPrefrence存储,手机内部文件存储,手机外部文件存储
- 制作一个简单HTML+CSS个人网页设计(web前端大作业)
- TCP连接的建立和释放过程详解(三次握手、四次挥手)