gpt4 book ai didi

java - 增加3个变量

转载 作者:行者123 更新时间:2023-12-01 14:02:40 25 4
gpt4 key购买 nike

在我的程序中,我有三个变量:当其中一个变量达到 100 时,必须出现“变量首先到达终点线”的字样。

如何组织第二个和第三个变量的到达,使它们像这样出现:

variable1-arrived first
variable2-finished second
variable3 finished third

救命!

public Corsa(String name)
{
this.name = name;
System.out.println("Start: " + name);
System.out.println("---------------");
}

public void run()
{
while(finita == false)
{
try
{
avanza = (int) (Math.random()*20+1);
percorso = percorso + avanza;
System.out.println(name + " has path " + percorso + " meters");
if(percorso < 100)
{
System.out.println("---------------");
sleep = (int) (Math.random()*20+1);
Thread.sleep(sleep);
}
else
{
System.out.println("---------------");
System.out.println("---------------");
System.out.println(name + " came in first");
finita = true;
}
}
catch(InterruptedException e){}
Thread.yield();
}
}

}

最佳答案

我还没有测试过这个(所以它甚至可能无法编译),但是类似下面的东西应该可以工作:

public class myRace
{
private int distance = 100;
private float offset = 20;
public int runners[3];

public void run()
{
// Set all runners to 0
for ( int i = 0; i < runners.length; i++ )
runners[i] = 0;

// Run the race and stop when at least 1 runner has reached the distance...
boolean finished = false;
while ( !finished )
{
for ( int i = 0; i < runners.length; i++ )
{
runners[i] += (int)((Math.random() * offset) + 1);
if ( runners[i] >= distance ) finished = true;
}
}
// Race finished now sort the runners
TreeMap<String, int> ranking = new TreeMap<String, int>();
for ( int i = 0; i < runners.length; i++ )
{
// A TreeMap is sorted on its key, not the value!
// The runners number is tagged on, just in case two runners have finished on the same distance.
String sortedKey = Integer.toString(runners[i]) + "." + Integer.toString(i);
ranking.put(sortedKey, i);
}
// Print the results
int pos = 1;
for ( Map.Entry entry : ranking.entrySet() )
{
String key = entry.getKey();
String distance = key.subString(0, key.indexOf(".")); // chop off the "." + runners number.

System.out.println("#" + pos + // position
"." + entry.getValue() + // who
", Distance = " + distance); // distance covered

pos++; // this does take in account whether multiple runners finished on the same distance.
}
}
}

关于java - 增加3个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19224205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com