java - 如何输出每次迭代改变位置的一维数组变量

标签 java arrays

首先,这是我目前正在做的一项任务,我只是希望找到正确的方向,而不是让我的工作为我完成。

我正在尝试使用一维数组来创建“龟兔赛跑”,以获取赛道上的位置,使用 Thread.sleep(1000) 以便用户可以实际观看比赛,并使用 SecureRandom 生成对应于预定向前或向后位置的新数字会在 for 循环的每次迭代中发生变化(一秒 = 一次迭代 = 轨道上的一个新位置)。

我的问题是我不知道从哪里开始打印赛车手的物理位置。我们必须创建一条虚线,并将赛车手放置在各自当前的横向位置上,该位置每秒都在变化,直到他们获胜。我没有代码可以显示这部分程序,因为我不知道从哪里开始。我找不到与此相关的任何信息,你们中有人能为我指出正确的方向吗?

如果我的问题浪费了任何人的时间,我深表歉意。谢谢

最佳答案

你可以尝试这样的事情:

public void printRacerPositions(double harePos, double tortoisePos, double trackLength)
{
    for(int i = 0; i < (harePos / trackLength) * VISUAL_TRACK_LENGTH; i++)
    {
        System.out.print(" ");
    }
    System.out.println("H");

    for(int i = 0; i < VISUAL_TRACK_LENGTH; i++)
    {
        System.out.print("-");
    }
    System.out.println("|");

    for(int i = 0; i < (tortoisePos / trackLength) * VISUAL_TRACK_LENGTH; i++)
    {
        System.out.print(" ");
    }
    System.out.println("T");
}

我不明白你所说的“改变位置”的“一维数组变量”是什么意思,因为这实际上没有任何意义。老实说,我觉得你根本不需要使用数组来解决这个问题。

您可以根据龟兔的速度和您拥有的随机数生成器在每次迭代中更新乌龟和兔子的位置,然后如上所示直观地打印出它们的位置。

注意,您必须定义一个

private int final VISUAL_TRACK_LENGTH; //The horizontal visual size of your track

在某个地方可以让它发挥作用。

(harePos / trackLength) * VISUAL_TRACK_LENGTH

计算将得到野兔完成比赛的百分比,然后将其乘以赛道的实际视觉长度(以字符为单位),这样您的实际赛道长度可以是任何长度,即使它不适合您监控。

关于java - 如何输出每次迭代改变位置的一维数组变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43337273/

相关文章:

java - JFrame 上没有显示任何内容

php - 如何在PHP中对数组中的时间值求和

java - 以优雅的方式检查两个参数是否为 null

java - Gson:如何为链接对象编写反序列化器

java - android 中相同包名的问题

java - 使用 SQLiteAssetHelper 写入数据库

javascript - 对具有 JavaScript 中偏移量的对象数组进行排序

c++ - 将二维数组指针传递给 C++ 中的函数

javascript - 条件合并2个二维数组

javascript - Three.js 使用 raycaster.intersectObject 选择 Object3D 的子级