我正在为我的班级做一个Java练习并遇到错误。它说“不兼容的类型:意外的返回值”。如果有人可以检查我是否正确执行此代码,那也很好。我的指示是创建一个可变的maxValue,它将被初始化为第一个元素。然后我必须将maxValue存储的元素与列表中的另一个元素进行比较。如果数组中的元素大于存储在maxValue中的元素,则假设使用较大的元素存储/更新maxValue。
public class MyArray
{
public static void main(String[] args)
{
int[] ArrayLargestElement = {
45, 38, 27,
46, 81, 72,
56, 61, 20,
48, 76, 91,
57, 35, 78
};
int maxValue = ArrayLargestElement[0]
for (int i=0; i<ArrayLargestElement.length; i++) {
if (maxValue > ArrayLargestElement[i]) {
maxValue = ArrayLargestElement[i];
}
}
return maxValue;
}
}
答案 0 :(得分:0)
main()
是静态无效的。它无法返回maxValue
。我想你想print
。
// return maxValue;
System.out.printf("maxValue = %d%n", maxValue);
但也许你试图将其提取到像
这样的方法public static int getLargestValue(int[] arr) {
if (arr == null) {
return Integer.MIN_VALUE;
}
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
max = Integer.max(max, arr[i]);
}
return max;
}
然后您可以在main()
中将其称为
public static int getLargestValue(int[] arr) {
if (arr == null) {
return Integer.MIN_VALUE;
}
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
max = Integer.max(max, arr[i]);
}
return max;
}
public static void main(String[] args) {
int[] array = { 45, 38, 27, 46, 81, 72, 56, 61, 20, 48, 76, 91, 57, 35,
78 };
System.out.println(getLargestValue(array));
}
答案 1 :(得分:0)
您无法在void Main()
函数中返回值。
写函数返回一个值。
public static int getmax(int max[])
{
int maxValue = max[0]
for (int i=0; i<max.length; i++)
{
if (maxValue > max[i])
{
maxValue = max[i];
}
}
return maxValue;
}
在main
public class MyArray
{
public static void main(String[] args)
{
int[] ArrayLargestElement = {
45, 38, 27,
46, 81, 72,
56, 61, 20,
48, 76, 91,
57, 35, 78
};
System.out.print("Maximum value in ArrayList"+getmax(ArrayLargestElement));
}
/*write your function here */
}
答案 2 :(得分:0)
main()本质上是一种void方法。它并不意味着返回一个值。但是,您可以使用System.out.println向控制台显示maxValue。否则,我建议写一个实际上会为你返回最大值的方法,就像上面列出的方法之一一样。希望这有帮助!