在java中交错浮点数和字符串

时间:2011-11-01 21:53:34

标签: java

我需要交错2个浮点数组,浮点数,字符串并将它们放在一个列表中。

float[] array1;
float[] array2;
float value1;
float value2;
string name1;
string name2;

在输出中的内容如下:

{array1[i], array2[i], "name1", value1, value2, "name2",  value1, value....}

这可能在java?

好吧我正在尝试这个但它不会工作:

static Object[] dumoToCurve(final float[] x, final float[] y)   {
    final Object[] output = new Object[x.length * 2];
    float value= 1;

    for (int i=0; i < x.length; i++){

        output[i << 1] = x[i];
        output[(i << 1) + 1] = y[i];
        output[(i << 1) + 2] = "b0";
        output[(i << 1) + 3] = x[i]+value;
        output[(i << 1) + 4] = y[i]+value;
        output[(i << 1) + 5] = "b1";
    }

    return output;
}

我需要演员吗?如何?

4 个答案:

答案 0 :(得分:1)

我不知道你的数据结构代表什么,但是将它建模为一个类更好吗?例如:

// completely made up class
class Player {
  ...
  private float[] latitudeHistory;
  private float[] longitudeHistory;
  private float currentLatitude;
  private float currentLongitude;
  private String playerName;
}

答案 1 :(得分:1)

以下是您编辑的答案。我面前没有Java编译器来测试它。所以我不确定它是否会起作用。此外,我认为其中一些可以通过自动(非)拳击简化。

for (int i=0; i < x.length; i++){

    output[ i << 1     ] = new Float(x[i]);
    output[(i << 1) + 1] = new Float(y[i]);
    output[(i << 1) + 2] = "b0";
    output[(i << 1) + 3] = new Float(x[i] + value);
    output[(i << 1) + 4] = new Float(y[i] + value);
    output[(i << 1) + 5] = "b1";
}

从数组中提取float值:

float val = ((Float)output[0]).floatValue();

如果演员表失败,它会给你一个例外。

最后,您可能想要考虑不同的设计模式。

答案 2 :(得分:0)

是的,是的, 只需将其放入对象数组

即可
Object[] myObjects = new Object[] {array1[i], array2[i], "name1", value1, value2, "name2",  value1, value....};

答案 3 :(得分:0)

烨。

这是一个例子

   int i = 4;
   long j = 323232333;
   String k = "dadasdad";
   char c = 'a';
   Object [] x = {c,i,j,k};

    for( Object z : x){
            System.out.println(z);
    }