【问题标题】:Need to show random picture for behaviour需要为行为显示随机图片
【发布时间】:2016-02-11 02:30:14
【问题描述】:

请原谅我的无知,因为我是 Java 编程新手。但是,我需要为下面列出的三种行为中的每一种展示一张图片(随机)。每张图片都有一个指定的图像 - 最好的方法是什么?

String whatsUp()
{
double r;
int myNumber;
String behaviour="";
r = Math.random();
myNumber = (int) (r * 3.0)+1;

switch(myNumber)
{
case 1:
behaviour = "reading";
break;
case 2:
behaviour = "surfing the web";
break;
case 3:
behaviour = "interacting with other students";
break;
}
return behaviour;
}
}

【问题讨论】:

  • 代码中图片的链接在哪里?此外,您的随机数将介于 1 到 200 万之间,我认为这不是您想要的。
  • 链接位于我正在处理的项目的根文件中的 images 文件夹中(即 images/image1、2、3)。
  • 所以如果我理解正确,如果我进入案例 1,那么你会希望它随机显示三张图片中的一张(我假设这是为了让用户可以确定这两张匹配与否)
  • 正确 - 案例 1 将有自己的图片,案例 2 等等。我知道我可以将图片设置为随机显示,但每个行为都应该显示自己指定的图片(如果有意义的话)。
  • 哦,我明白了,我正在研究答案。

标签: java image random


【解决方案1】:

首先,您获取随机数的过程没有多大意义。你想要的是创建一个新的随机对象“r”:

Random r = new Random();

然后你可以使用这个对象来创建一个从零到某个索引的随机数。在你的情况下,这将是三个。

int randomNumber = r.nextInt(index); //replace index with three

但是,这会给出数字 0、1 和 2,因此您需要在数字上加一。

int randomNumber = r.nextInt(index) + 1;

这会给你一个从一到三的随机数。

要将三个图像输入系统,您可以使用 ImageIcon 或类似方法,我会让您自己弄清楚。

然后我会将 ImageIcons 放在 ArrayList 中,以便可以像这样轻松访问它们:

ArrayList<ImageIcon> images = new ArrayList<ImageIcon>();
 images.add(imageOne);
 images.add(imageTwo);
 images.add(imageThree);

因此,当在案例 1、2 或 3 中时,您可以使用您创建的第一个随机数来引用您创建的 ArrayList,就像这样

selectedImage = images.get(r); // the random number acts as the index

这不会显示任何图像;您必须自己弄清楚如何做到这一点,但希望这能让您很好地了解从这里去哪里。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-24
    • 1970-01-01
    • 2023-01-30
    • 2019-09-25
    • 1970-01-01
    相关资源
    最近更新 更多