【问题标题】:Java, how to store multiple integers, separated by comma, into one variableJava,如何将多个以逗号分隔的整数存储到一个变量中
【发布时间】:2016-01-28 10:08:18
【问题描述】:

在Java中,我想设置一个可以存储多个整数(RGB值)的变量,整数用逗号分隔。 比如我现在的代码是这样的

background(255,255,0);  // This changes my GUI background color to yellow.

我想要的代码是

type yellow = (Here goes the yellow's RGB value 255,255,0)
background(yellow);

我的问题是如何设置变量 yellow 以便它可以替换实际的 RGB 值。 谢谢。

【问题讨论】:

  • 获取一个具有颜色 rgb 格式的字符串变量。需要时用逗号分隔, 并使用它
  • 一个变量只存储一个值。但是一个数组可以存储多个值。例如a[0], a[1], a[2].
  • @Satya 那么它不是“用逗号分隔”。我假设他正在寻找 String int a + ', ' + int b + ..
  • @Stultuske Yes Op 正在寻找逗号分隔的值。但这里不可能用字符串。
  • 这取决于 background 方法是如何定义的——如果它只需要 3 个整数,我想你不能只传递一个变量(在方法调用中没有“自动解包” Java 中的级别)

标签: java processing


【解决方案1】:

到目前为止,您得到的所有答案都以某种方式解决了您描述的问题。 但问题是:它们并没有真正的帮助。

从不将信息放入字符串并依赖解析它们。如果你真的想这样做;那么你真的不需要像java这样的静态编译语言的所有开销。那么你最好使用 python、ruby 等语言......这让你更容易处理“字符串化”信息。

你想做的是:学习面向对象。所以,你想代表颜色。然后为代表颜色的类建模。这可能看起来像:

public class Color {
  private final int r, g, b;
  public Color(int r, ... {
    this.r = r

等等。然后你可以写下像

这样的颜色
Color yellow = new Color(255,255,0)

见鬼;你甚至可以开始并声明 constants 代表有用的预定义颜色。

你知道,就像现有的 Java AWT 颜色class

所以:请花时间学习和理解我所说的概念;请记住:将字符串用于此类目的绝对不好

【讨论】:

  • 这是一个很好的一般答案,但这个问题是关于 processing 的,它有自己的 color 类型。有关更多信息,请参阅我的答案。
  • 谢谢;我确实忽略了这一点。
【解决方案2】:

Processing 已经有一个您应该使用的 color 类型 - 您不应该创建自己的类型或使用 java.awt.Color

相反,只需使用现有的color 类型和color() 函数:

color yellow = color(255, 255, 0);
background(yellow);

更多信息可以在the Processing reference找到。

【讨论】:

    【解决方案3】:

    嗯,我认为你的问题有一些很好的答案。但只是补充一下,你提到你在做一个 GUI 程序,我猜你在使用 swings,你可以简单地调用方法

    setBackground(Color.yellow);
    

    在使用从 Component 继承的类创建的所有对象上。

    【讨论】:

    • 这个问题是关于processing,而不是Swing。
    猜你喜欢
    • 1970-01-01
    • 2013-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-30
    • 2022-03-30
    • 2022-07-09
    • 1970-01-01
    相关资源
    最近更新 更多