重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
做了一个简单的模拟,代码如下:
创新互联公司从2013年开始,先为榆次等服务建站,榆次等地企业,进行企业商务咨询服务。为榆次企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
你的问题出要是出在控制上。
我估计你这个方法中的isBlack 这个变量是自动切换的,
黑棋下完了,isBlack = false; 白棋下完了 isBlack = true;
这样,就会出问题,因为你的线程是没有停止的,所以,blackTime--; 或 whiteTime--; 是一直在进行的。而且 canPlay 没有用上。
你看一下 if (isBlack) 中的代码,这是我没有改动的
你再看一下 else 中的代码, 那是我改过的。
可以不会出现负数。
再一个,我觉得只要有一方时间到了,就该停止线程,canPlay的作用应该就是停止线程。
一方时间用完,应该是负吧,不该等到双方时间都 用完啊。
新游戏时,重新启动线程
----------------------------------------------------------------------------------------------
import javax.swing.JOptionPane;
public class Time extends Thread {
int maxTime = 1;
boolean isBlack = false;
int blackTime = 60;
int whiteTime = 60;
boolean canPlay = true;
public static void main(String[] args) {
new Time().start();
}
public void run() {
// 判断是否有时间的限制
if (maxTime 0) {
while (true) {
if (isBlack) {
blackTime--;
if (blackTime == 0) {
JOptionPane.showMessageDialog(null, "黑方游戏结束");
canPlay = false;
} else if (blackTime 0) {
}
} else {
if (whiteTime 0) {
whiteTime--;
} else if (whiteTime == 0 canPlay) {
JOptionPane.showMessageDialog(null, "白方游戏结束");
canPlay = false;
} else if (whiteTime 0) {
}
}
// 时间的显示这个是黑方的时间
String blackMessage = blackTime / 3600 + ":"
+ (blackTime / 60 - blackTime / 3600 * 60) + ":"
+ (blackTime - blackTime / 60 * 60);
// 白方的时间
String whiteMessage = whiteTime / 3600 + ":"
+ (whiteTime / 60 - whiteTime / 3600 * 60) + ":"
+ (whiteTime - whiteTime / 60 * 60);
System.out.println(whiteMessage);
try {
Thread.sleep(100);// 倒计时是1秒一秒揍的,所以要判断,用一秒来判断到底是黑棋还是白棋。
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
你好!
先新建一个java
project;再在这个project上新建一个class,class的名字要程序中的class名字一样(你这个程序中的是GUI_Chat);然后把代码贴上去(不要eclipse生成的代码),按住ctrl+s保存,然后编译运行就OK了。参考文档:
仅代表个人观点,不喜勿喷,谢谢。
你写过JavaEE的程序没,就是Java Web的程序,一般用的是SSH比较多,就是Spring、Struts和Hibernate。如果你做文库这些阅读类的,用富客户端坐比较好,一般选用Extjs或者Ajax就可以了。如果你学过Flex,那么用Flex+Spring+Hibernate也是可以的。简单说就是用Ajax或者Extjs或者Flex+Spring+Hibernate就可以了。
这种东西用富客户端是很方便的,用extjs肯定可以的,实际上Flex会更优秀些。你们公司不用框架的吗!!从文件读取数据,这个不太合实际,如果文件多的时候很难管理!!建议使用框架!
顺便说下,豆丁网那个很可能是嵌套了Flex,因为对Adobe flash player有感知。
文件夹:build-存放编译后的class文件
nbproject-存放项目的具体配置文件
src-java源代码存放文件夹
test-JUnit测试文件存放位置
Build.xml构建描述文件,因为Netbeans的编译打包是基于ant的,build就是ant实现自动编译打包的描述文件。
manifest.mf是打包的时候需要的一个清单文件,是对打包后的jar包中的文件的一个描述下文件。
original.java,点虐 beans_automatic_build,这两个文件不知道你用的什么Netbeans版本,在我的版本中并未生成此文件。
build-impl.xml是对Build.xml文件的具体描述,Build.xml其实并未实现具体的ant构建脚本,具体是在该文件中实现的,如果你看过build.xml的源代码,就会发现一句import file="nbproject/build-impl.xml"/,这你就知道是什么意思了。