「兔子游戏java」兔子游戏怎么玩
本篇文章给大家谈谈兔子游戏java,以及兔子游戏怎么玩对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、JAVA龟兔赛跑问题
- 2、Java的龟兔赛跑多线程问题
- 3、java 编写 有一对兔子 写的程序哪儿不对了,我是初学者,高手们帮下忙。
- 4、带个java游戏是兔子吃萝卜的 叫什么名字
- 5、求助:关于一对兔子的JAVA题(会的进!)
- 6、一个手机游戏,让你去救一只兔子,然后收集蜘蛛丝,蓝羽毛之类的东西,名字好像有野人什么的
JAVA龟兔赛跑问题
先让兔子进入阻塞状态,然后等乌龟跑完终点后唤醒兔子线程就行;下面是各个方法的配套使用(网上copy的,总结的很不错)1. sleep() 方法:sleep() 允许 指定以毫秒为单位的一段时间作为参数,它使得线程在指定的时间
内进入阻塞状态,不能得到CPU 时间,指定的时间一过,线程重新进入可执行状态。
典型地,sleep() 被用在等待某个资源就绪的情形:测试发现条件不满足后,让线程阻塞一段时间后
重新测试,直到条件满足为止。
2. suspend() 和 resume() 方法:两个方法配套使用,suspend()使得线程进入阻塞状态,并且不会
自动恢复,必须其对应的resume() 被调用,才能使得线程重新进入可执行状态。典型地,suspend() 和
resume() 被用在等待另一个线程产生的结果的情形:测试发现结果还没有产生后,让线程阻塞,另一个
线程产生了结果后,调用 resume() 使其恢复。
3. yield() 方法:yield() 使得线程放弃当前分得的 CPU 时间,但是不使线程阻塞,即线程仍处于
可执行状态,随时可能再次分得 CPU 时间。调用 yield() 的效果等价于调度程序认为该线程已执行了足
够的时间从而转到另一个线程。
4. wait() 和 notify() 方法:两个方法配套使用,wait() 使得线程进入阻塞状态,它有两种形式
,一种允许指定以毫秒为单位的一段时间作为参数,另一种没有参数,前者当对应的 notify() 被调用或
者超出指定时间时线程重新进入可执行状态,后者则必须对应的 notify() 被调用。
详情请见
Java的龟兔赛跑多线程问题
public class Competition {
private volatile static boolean gameOver = false;//用来标记是否有人到达终点,到达终点后游戏结束
//乌龟的实现方式
static class Tortoise implements Runnable{
private volatile int total = 0;//用来记录当前已经前行了多少距离
@Override
public void run() {
while(!gameOver){
int step = (int)(Math.random()*5+1);//产生1-5的随机数
total += step;
try {
Thread.sleep(200);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public int getTotal(){
return total;
}
}
//兔子的实现方式
static class Rabbit implements Runnable{
private volatile int total = 0;
@Override
public void run() {
while(!gameOver){
int step = (int)(Math.random()*5+1);
total += step;
try {
Thread.sleep(200);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public int getTotal(){
return total;
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
final Tortoise tortoise = new Tortoise();
final Rabbit rabbit = new Rabbit();
new Thread(tortoise).start();
new Thread(rabbit).start();
//下面多起了一个线程,相当于比赛的时候的裁判员,他每隔一段时间就看一下是否有人到达终点,若有人到达则宣判该人获胜,游戏结束
new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
while(!gameOver){
int torLen = tortoise.getTotal();//获得乌龟前行的距离
int rabLen = rabbit.getTotal();//获得兔子前行的距离
System.out.println("乌龟:"+torLen+",兔子"+rabLen);
if(torLen = 100 rabLen 100){
System.out.println("乌龟获胜!!!");
gameOver = true;
}else if(rabLen = 100 torLen 100){
System.out.println("兔子获胜!!!");
gameOver = true;
}else if(rabLen =100 torLen = 100){//这里有可能两人同时到达终点
System.out.println("同时到达终点!!!");
gameOver = true;
}
try {
Thread.sleep(210);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}).start();
}
java 编写 有一对兔子 写的程序哪儿不对了,我是初学者,高手们帮下忙。
import java.util.Scanner;
public class Rabbit
{
static int func(int x){
if(x==1 || x==2)
return 1;
else
return func(x-1)+func(x-2);
}
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
System.out.println(func(n));
}
}
带个java游戏是兔子吃萝卜的 叫什么名字
是不是两只兔子,可以双人玩的,一只绿色的一只红色的的
你搜下《兔子吃萝卜》游戏名字就是这个,,这个是3D的,说明和你的挺像
求助:关于一对兔子的JAVA题(会的进!)
package com.efreda.sweet;
import java.util.*;
/**
*
* @author Sweet
* @discribtion 一个实例代表一对兔子,这里没有考虑兔子的死亡
*/
public class Rabbit {
private int bornMonth;//生产间隔
private int grow;//成长月数
private boolean isParent;//是否是父兔子
public Rabbit(int bornMonth,boolean isParent){
this.bornMonth=bornMonth;
this.grow=0;
this.isParent=isParent;
}
public void addGrow(){
this.grow++;
}
public boolean isBorn(int month){
if(this.isParent){
if(month%this.bornMonth==0){
return true;
}else{
return false;
}
}else{
if((month%this.bornMonth==0)(this.grow3)){
return true;
}else{
return false;
}
}
}
public static void main(String args[]){
ArrayListRabbit array=new ArrayListRabbit();
Rabbit parent=new Rabbit(1,true);/*实例化第一对父兔子,根据条件,他们的生产间隔为一个月*/
array.add(parent);
for(int i=1;i=12;i++){//循环12个月
//首先让每一只兔子的成长度加1
for(int j=0;jarray.size();j++){
array.get(j).addGrow();
}
//然后判断兔子是否生产
for(int j=0;jarray.size();j++){
if(array.get(j).isBorn(i)){
Rabbit child=new Rabbit(3,false);/*这里产生的兔子都是子兔子了*/
array.add(child);
}
}
}
System.out.print(array.size()*2);/*打印出兔子的只数,因为一个实例是2只兔子,所以这里乘以2*/
}
}
一个手机游戏,让你去救一只兔子,然后收集蜘蛛丝,蓝羽毛之类的东西,名字好像有野人什么的
你好,
这款手机游戏应该是野人岛的,下载这款手机游戏的安卓版本的话,你可以直接去电脑管家的安卓游戏里面去搜索下载的,是可以非常简单找到的,然后直接点击下载就可以安装到手机的!
如下:打开腾讯电脑管家→【软件管理】→【安卓游戏】→搜索游戏→将手机与电脑连接 直接搜索游戏名称就可以找到了
搜索 野人岛 就可以了!
更多问题去电脑管家企业平台提问吧!
腾讯电脑管家企业平台:
关于兔子游戏java和兔子游戏怎么玩的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。