java无法让数组显示两个方法之间匹配的值
我有三种方法。第一个在工作中首当其冲,在一个数组中包含10个值。第二个方法的唯一目的是创建一个数组,其中包含5个不同于第一个方法中的值。最后一个方法是比较这两个值,然后显示这两个值之间匹配的值(不应该有任何匹配的值)。我已经发现了一些关于比较两个数组并显示true或false的问题,并且在使用这些方法时失败了。任何帮助都将不胜感激。我也理解这一点。长度意味着数组必须具有相同的长度才能进行比较。但是,如果数组的长度不相同,如何进行比较
import java.util.stream.*;
public class ArrayMethodDemo
{
public static void main(String[] args)
{
int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int sum = 0;
System.out.println("Numbers in numerical order are:");
for(int x = 0; x < numbers.length; ++x)
System.out.println(numbers[x]);
System.out.println("Numbers in reverse order are:");
for(int x = numbers.length - 1; x >= 0; x--)
System.out.println(numbers[x]);
System.out.println("The sum of all numbers is:");
int sumNumbers = IntStream.of(numbers).sum();
System.out.println(sumNumbers);
System.out.println("All numbers less than 6 are:");
for(int x = 0; x < numbers.length; ++x)
{
if(numbers[x] < 6)
{
System.out.println(numbers[x]);
}
}
System.out.println("All numbers higher than the average value 5.5 are:");
for(int x = 0; x < numbers.length; x++)
{
sum = sum + numbers[x];
}
double average = 1.0d * sum / numbers.length;
for(int x = 0; x < numbers.length; x++)
{
if(numbers[x] > average)
{
System.out.println(numbers[x]);
}
}
System.out.println("All numbers that are similar between both arrays are:");
System.out.println(compareArrays());
}
public static int[] newNumbers()
{
int[] newNumbers = {11, 12, 13, 14, 15};
return newNumbers;
}
public static void compareArrays(int[] numbers, int[] newNumbers)
{
boolean b = true;
for(int x = 0; x < newNumbers.length; x++)
{
if(newNumbers[x] == numbers[x])
{
b = true;
}
else
{
b = false;
}
}
}
}
# 1 楼答案
首先:在print语句中调用comparararays()方法,该方法不会返回要打印的值
第二:在应该调用的时候,没有使用任何参数调用l comparararays()方法,因为它指定了两个参数,如果没有参数,比较将找不到要比较的值
我认为你的代码应该是这样的: