有没有办法对 Java 中的 if 语句进行分组
Is there a way to group if statements in Java
我正在编写一个函数来生成一个数组,但是我必须应用很多会影响输出的 if 语句。
我试过只列出它们,但我认为它以某种方式影响了我的输出,它看起来也很麻烦。
static double [] solve (equation b, int k)
{
double [] a = null;
if (b.c > 1)
{
a = new double[k];
for (int i = 0; i < k; i++)
{
b.x0 = (b.c*b.x0)/(b.y0) + (b.d*b.x0);
b.y0 = b.e*(b.x0 + 1)*b.y0;
a[i] = b.y0;
}
}
if (b.d > 0)
{
a = new double[k];
for (int i = 0; i < k; i++)
{
b.x0 = (b.c*b.x0)/(b.y0) + (b.d*b.x0);
b.y0 = b.e*(b.x0 + 1)*b.y0;
a[i] = b.y0;
}
}
if (1 > b.e || b.e > 0)
{
a = new double[k];
for (int i = 0; i < k; i++)
{
b.x0 = (b.c*b.x0)/(b.y0) + (b.d*b.x0);
b.y0 = b.e*(b.x0 + 1)*b.y0;
a[i] = b.y0;
}
return a;
有没有办法对我的 if 语句进行分组,以便如果我的参数在要求的范围内,我将得到一个结果,如果不在要求的范围内,我将得到 'null'。 (还有一些 if 语句,但这可以理解这个想法)。
你的所有循环都做同样的事情,所以一个 if
和 or
中的所有条件应该做。喜欢,
static double[] solve(equation b, int k) {
if (b.c > 1 || b.d > 0 || 1 > b.e || b.e > 0) {
double[] a = new double[k];
for (int i = 0; i < k; i++) {
b.x0 = (b.c * b.x0) / (b.y0) + (b.d * b.x0);
b.y0 = b.e * (b.x0 + 1) * b.y0;
a[i] = b.y0;
}
return a;
}
return null;
}
将您的条件拆分为多个私有方法。
我正在编写一个函数来生成一个数组,但是我必须应用很多会影响输出的 if 语句。
我试过只列出它们,但我认为它以某种方式影响了我的输出,它看起来也很麻烦。
static double [] solve (equation b, int k)
{
double [] a = null;
if (b.c > 1)
{
a = new double[k];
for (int i = 0; i < k; i++)
{
b.x0 = (b.c*b.x0)/(b.y0) + (b.d*b.x0);
b.y0 = b.e*(b.x0 + 1)*b.y0;
a[i] = b.y0;
}
}
if (b.d > 0)
{
a = new double[k];
for (int i = 0; i < k; i++)
{
b.x0 = (b.c*b.x0)/(b.y0) + (b.d*b.x0);
b.y0 = b.e*(b.x0 + 1)*b.y0;
a[i] = b.y0;
}
}
if (1 > b.e || b.e > 0)
{
a = new double[k];
for (int i = 0; i < k; i++)
{
b.x0 = (b.c*b.x0)/(b.y0) + (b.d*b.x0);
b.y0 = b.e*(b.x0 + 1)*b.y0;
a[i] = b.y0;
}
return a;
有没有办法对我的 if 语句进行分组,以便如果我的参数在要求的范围内,我将得到一个结果,如果不在要求的范围内,我将得到 'null'。 (还有一些 if 语句,但这可以理解这个想法)。
你的所有循环都做同样的事情,所以一个 if
和 or
中的所有条件应该做。喜欢,
static double[] solve(equation b, int k) {
if (b.c > 1 || b.d > 0 || 1 > b.e || b.e > 0) {
double[] a = new double[k];
for (int i = 0; i < k; i++) {
b.x0 = (b.c * b.x0) / (b.y0) + (b.d * b.x0);
b.y0 = b.e * (b.x0 + 1) * b.y0;
a[i] = b.y0;
}
return a;
}
return null;
}
将您的条件拆分为多个私有方法。