【发布时间】:2017-04-19 09:55:46
【问题描述】:
我正在尝试编写一个程序来查找两个数组中的最大元素。如果数组包含相似的元素,它将返回最高的相互元素。如果数组不包含相似的元素,则返回 -1。我已经完成了 90% 的程序。我设法返回了最高的数字,我只是不知道如何返回 -1,因为我们只能做一个返回语句!有什么帮助吗?
public class finalLargestInCommon
{
public static void main(String [] args)
{
//array declaration
int [] array1 = {3, 8, 5, 2, 7, 9};
int [] array2 = {5, 1, 22, 7, 2, 15, 3};
int [] array3 = {35, 12, 19, 35, 45};
int [] array4 = {55, 99, 12};
int [] array5 = {33, 11, 77, 44, 55};
int [] array6 = {99, 88, 222, 66, 1000};
System.out.println(LargestInCommon(array1, array2));
System.out.println(LargestInCommon(array3, array4));
System.out.println(LargestInCommon(array5, array6));
}
public static int LargestInCommon (int [] a, int [] b)
{
//variable declaration
int i = 0;
int k = 0;
int greatest = 0;
int notPresent = -1;
for(i = 0; i < a.length; i++)
{
for(k = 0; k < b.length; k++)
{
if(a[i] == b[k])
greatest = a[i];
}
}
return(greatest);
}
}
【问题讨论】:
-
感谢@batty 的编辑
-
代码不起作用。尝试将 array2 的第二个元素从 1 更改为 8 并检查。这将提示您需要改进的地方。而且,从技术上讲,您可以在一个方法中拥有两个或多个 return 语句。
标签: java arrays for-loop methods int