Java一次性使用if语句的多个值?

时间:2015-10-24 22:05:51

标签: java

updated! see at the end..

我在这里遇到了这个小问题。从一个方法我会得到一堆我想用于进一步测试的变量,所以例如我会得到一个变量:float xMax = 1

我使用这个变量做一些重要的测试:

if(number > xMax) {
    System.out.println("test, test")
}

现在问题在于我想动态添加更多变量,但仍然会检查每次更新。

int counter = 0;
float xMax;

privat void method() {
    if(counter < 6) {
        counter++;
        xMax = counter;
    }
}

在这段代码中,我将用当前计数器编号填充xMax变量,直到它达到6.0,所以最后检查将仅用于6.0,但在执行期间出现的所有其他(1.0,2.0,3.0,4.0) ,5.0)当我测试时会迷路..

(if(number >  xMax))

我完全想要测试所有出现的数字,而不仅仅是最后一个。如何实现这一目标?

希望我已经足够清楚了,也许我需要用一些浮动列表(不知道如何)这样做..我真的不知道,所以感谢您的帮助!

更新:

考虑到我想在创建后存储值,在我的代码中我计算了最小值和最大值,现在我想存储x次:

if (xMin > xVertices) xMin = xVertices;

如果文本文件只包含一个模型,则只执行一次..如果两次,则两次,三次,三次,依此类推。现在我将如何使用float数组?

4 个答案:

答案 0 :(得分:0)

这里的主要见解是您不想比较变量而是。例如,您可以通过列表从方法返回可变数量的值。有了这个,你只需要确定列表中的所有值都满足你的条件。

答案 1 :(得分:0)

您的方法返回一堆变量,可能是在集合中。那么除了最后一个变量之外的所有变量如何才是真正的神秘之处。你恐怕要发布你剩下的代码了。

答案 2 :(得分:0)

尝试使用数组存储所有数字。

//6 represents the amount of numbers you want to store
Float[] xMax = new Float[6];

privat void method() 
{
    //Fill the array with numbers
    for(int i = 0; i<xMax.length; i++)
    {   
        xMax[i] = i;
    }
}

现在您已设置了数字,请致电您的测试:

    for(int i = 0; i<xMax.length; i++)
    {   
        if(number > xMax[i]) 
        {
           System.out.println("test, test");
        }
    }

++++++++++ UPDATE ++++++++++ 如果我理解正确你想存储x值,但你不知道x有多大?然后你可以使用整数的ArrayList:

List<Integer> list = new ArrayList<Integer>();

    for(int i = 0; i<xMax.length; i++)
    {   
        if(number > xMax[i]) 
        {
          list.add(number)
        }
    }

结果是一个数字列表,由测试处理。如果您想从此列表中获取号码,请致电:

list.get(index)

其中“index”是数字在列表中的位置。

答案 3 :(得分:0)

如果您只在列表中添加了一个元素,则此元素在位置0中可用,使用get(0)而不是get(1)。但是,例外情况表明您的列表大小为0.您是否真的在控制台的循环函数中看到了打印输出?

您应该在调试器中运行程序并检查数组列表以确切了解发生了什么。

你没有发布任何显示实际被调用的循环函数的代码,如果是这样的话它解释了为什么数组列表是空的......