您的位置:

java马的简单介绍

本文目录一览:

java版马点右键一直叫

空手对着马右键,失败的话,马会踢你下去,按右键骑不上去,只是马会叫。然后继续右键马,建议你开第三人称视角,一直对着马右键,直到马身上出现爱心特效,就说明驯服成功了,但这个时候只能骑马不能操纵马,手拿马鞍对着马右键,这样就能骑着马来回走了。

java 马走日 两点最小步数 用队列

以下是两个线程:

import java.util.*;

public class Thread_List_Operation {

//假设有这么一个队列

static List list = new LinkedList();

public static void main(String[] args) {

Thread t;

t = new Thread(new T1());

t.start();

t = new Thread(new T2());

t.start();

}

}

//线程T1,用来给list添加新元素

class T1 implements Runnable{

void getElemt(Object o){

Thread_List_Operation.list.add(o);

System.out.println(Thread.currentThread().getName() + "为队列添加了一个元素");

}

@Override

public void run() {

for (int i = 0; i 10; i++) {

getElemt(new Integer(1));

}

}

}

//线程T2,用来给list添加新元素

class T2 implements Runnable{

void getElemt(Object o){

Thread_List_Operation.list.add(o);

System.out.println(Thread.currentThread().getName() + "为队列添加了一个元素");

}

@Override

public void run() {

for (int i = 0; i 10; i++) {

getElemt(new Integer(1));

}

}

}

//结果(乱序)

Thread-0为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-0为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-1为队列添加了一个元素

Thread-0为队列添加了一个元素

Thread-0为队列添加了一个元素

Thread-0为队列添加了一个元素

Thread-0为队列添加了一个元素

Thread-0为队列添加了一个元素

Thread-0为队列添加了一个元素

Thread-0为队列添加了一个元素

Thread-0为队列添加了一个元素

java 多线程 赛马

package test;

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Collections;

import java.util.Comparator;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.Set;

import java.util.SortedMap;

import java.util.TreeMap;

import sun.util.logging.resources.logging;

/**

* 2010-1-17 下午03:08:52 Piaolj

*/

public class Racing implements Runnable {

String str;

static Map horses = new TreeMap();// 定义一个全局的Map存放5个马的名字和时间

static int count = 0;// 用于判断县城是否全部结束

static boolean flag = true;// 后面用while(flag)判断count是否为0,如果有兴趣,可以起另外一个线程完成此任务

public Racing(String string) {

// TODO Auto-generated constructor stub

this.str = string;

}

public static void main(String[] args) {

Racing ra1 = new Racing("No.1 Horse");

Racing ra2 = new Racing("No.2 Horse");

Racing ra3 = new Racing("No.3 Horse");

Racing ra4 = new Racing("No.4 Horse");

Racing ra5 = new Racing("No.5 Horse");

Racing checkingThread = new Racing("checkingThread");

Thread t1 = new Thread(ra1);

Thread t2 = new Thread(ra2);

Thread t3 = new Thread(ra3);

Thread t4 = new Thread(ra4);

Thread t5 = new Thread(ra5);

t1.start();

t2.start();

t3.start();

t4.start();

t5.start();

while (flag) {

if (count == 0)// 所有线程结束

{

flag = false;

}

}

// 排序

List infoIds = new ArrayList(horses.entrySet());

Collections.sort(infoIds, new ComparatorMap.Entry() {

public int compare(Map.Entry o1, Map.Entry o2) {// 定义了比较的规则,因为这里是按map的value排序的

Long tmp = Long.parseLong(o1.getValue().toString())

- Long.parseLong(o2.getValue().toString());

return tmp.intValue();

}

});

System.out.println("输出马的名次:");

System.out.println();

for (int i = 0; i infoIds.size(); i++) {

String id = infoIds.get(i).toString();

System.out.println(id);

}

}

public void run() {

// TODO Auto-generated method stub

int CircuitLength = 1000;

int breakpoint = 200;

int tmpint = 200;

long Withtime;

count = count + 1;// 执行了一个线程,正在执行的线程数加1

// System.out.println(Thread.currentThread().getId());

for (int i = 0; i CircuitLength + 1; i++) {

long start = System.currentTimeMillis();

if (i == breakpoint) {

int sleeping = (int) (Math.random() * 5000);

try {

Thread.sleep(sleeping);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

breakpoint = breakpoint + tmpint;

}

if (i == CircuitLength) {

System.out.print(str + "\t" + "\t");

long end = System.currentTimeMillis();

Withtime = (end - start);

System.out.println("With time is:\t" + Withtime);

// 当每匹马跑完将马的时间的马的名称放入map中

horses.put(str, Withtime);

}

}

count = count - 1;// 执行完了一个线程,线程数减1

}

}

时间比较少,写的比较草,呵呵 加了点注释,要是有问题可以发短消息

输出结果:

No.4 Horse With time is: 888

No.3 Horse With time is: 3042

No.5 Horse With time is: 1921

No.2 Horse With time is: 4346

No.1 Horse With time is: 2831

输出马的名次:

No.4 Horse=888

No.5 Horse=1921

No.1 Horse=2831

No.3 Horse=3042

No.2 Horse=4346