Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 设计一个类,该类有4个私有数据,并且有一个方法返回私有数据中最大的一个_Java - Fatal编程技术网

Java 设计一个类,该类有4个私有数据,并且有一个方法返回私有数据中最大的一个

Java 设计一个类,该类有4个私有数据,并且有一个方法返回私有数据中最大的一个,java,Java,我被困在如何返回私有数据的最大值上。我不太擅长编程,正在努力学习。我不会为您编写代码,但这里是我的解释。您需要一个方法,例如getMaximum,并且需要将每个值相互比较以找到最大值 假设a1=1000,a2=100,a3=1,a4=10000。您需要将一些临时变量设置为a1的值(因为它是第一个值)。假设我们有a1,并自动将其设置为b。 b现在设置为1000,我们必须将其与剩余的值进行比较,因此如果a2>b,则b=a2,冲洗并重复剩余的变量。最后返回b 对于这个算法,我能给出的最好建议就是简单

我被困在如何返回私有数据的最大值上。我不太擅长编程,正在努力学习。

我不会为您编写代码,但这里是我的解释。您需要一个方法,例如getMaximum,并且需要将每个值相互比较以找到最大值


假设a1=1000,a2=100,a3=1,a4=10000。您需要将一些临时变量设置为a1的值(因为它是第一个值)。假设我们有a1,并自动将其设置为b。 b现在设置为1000,我们必须将其与剩余的值进行比较,因此如果a2>b,则b=a2,冲洗并重复剩余的变量。最后返回b


对于这个算法,我能给出的最好建议就是简单地写下一些值,然后找出如何找到最大值。通过这种方式,您将学到更多,并发现它可以帮助您更快地解决未来的问题。将其可视化非常有帮助。希望这有帮助。

您应该创建下一个方法

public class Quadruple {
private int a1, a2, a3, a4;

public Quadruple(){
    int a1, a2, a3, a4=0;
    }

public Quadruple(int a1, int a2, int a3, int a4){
    this.a1=a1;
    this.a2=a2;
    this.a3=a3;
    this.a4=a4;
}

好吧,想想你在纸上是怎么做的。想象一下,有人给了你一张纸,上面有4个数字,而你一次只能比较两个数字——你如何找到最大值?(顺便说一句,这有多种方法。)您必须循环使用它们。使用for循环?当然,
for
循环可以工作。现在,您在该循环中会做什么?(提示)如果您将整数存储在
int[]
数组中,而不是存储在4个单独的变量中,这可能会使您的循环想法更容易实现如果我是您,我会返回前两个数字的最大值和后两个数字的最大值。我很确定我基本上理解它。我很难想象事情应该是怎样的。另一个选择是使用API Math.max(int,int)来实现。比较a1和A2将值返回到b,比较a3和a4将值返回到c,比较b和c得到最大值,int)
public int getLargest() {
    return getLargest(a1,a2,a3,a4);
}

private int getLargest(int... as) {
    int a = 0;
    for (int an: as) if (an > a) a = an;
    return a;
}