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

原创文章,作者:MPZJP,如若转载,请注明出处:https://www.506064.com/n/316597.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
MPZJPMPZJP
上一篇 2025-01-09 12:15
下一篇 2025-01-09 12:15

相关推荐

  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Python简单数学计算

    本文将从多个方面介绍Python的简单数学计算,包括基础运算符、函数、库以及实际应用场景。 一、基础运算符 Python提供了基础的算术运算符,包括加(+)、减(-)、乘(*)、除…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • Python满天星代码:让编程变得更加简单

    本文将从多个方面详细阐述Python满天星代码,为大家介绍它的优点以及如何在编程中使用。无论是刚刚接触编程还是资深程序员,都能从中获得一定的收获。 一、简介 Python满天星代码…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29

发表回复

登录后才能评论