【发布时间】:2016-09-10 16:48:11
【问题描述】:
我似乎被困在看似非常基本的任务上。我想知道是否有人可以将我引向正确的方向并向我解释问题所在。我创建了一个插入了预制值的数组。现在我必须得到这个数组的最小/最大值并显示它们。我不断收到这两个错误
".java:126: 错误:HighArray 类中的 getMax 方法不能应用于给定类型;"
".java:126: 错误:HighArray 类中的 getMin 方法不能应用于给定类型;"
如果有人可以帮助我并解释为什么会这样,将不胜感激。谢谢!
class HighArray
{
private long[] a;
private int nElems;
public HighArray(int max)
{
a = new long[max];
nElems = 0;
}
//Search Method
public boolean find(long searchKey)
{
int j;
for(j=0; j<nElems; j++)
if(a[j] == searchKey)
break;
if(j == nElems)
return false;
else
return true;
}
//Insert method
public void insert(long value)
{
a[nElems] = value;
nElems++;
}
//Delete method
public boolean delete(long value)
{
int j;
for(j=0; j<nElems; j++)
if( value == a[j] )
break;
if(j==nElems)
return false;
else
{
for(int k=j; k<nElems; k++)
a[k] = a[k+1];
nElems--;
return true;
}
}
//Display Array Contents
public void display()
{
for(int j=0; j<nElems; j++)
System.out.print(a[j] + " ");
System.out.println(" ");
}
//Max Method
public static int getMax(int[] a)
{
int maxValue = a[0];
for(int i=1;i < a.length;i++)
{
if(a[i] > maxValue)
{
maxValue = a[i];
System.out.print("The max value is" + a[i]);
}
}
return maxValue;
}
//Min Method
public static int getMin(int[] a)
{
int minValue = a[0];
for(int i=1;i<a.length;i++)
{
if(a[i] < minValue)
{
minValue = a[i];
System.out.print("The min value is" + a[i]);
}
}
return minValue;
}
}
public class Assignment
{
public static void main(String[] args)
{
int maxSize = 100;
HighArray arr = new HighArray(maxSize);
arr.insert(77);
arr.insert(99);
arr.insert(44);
arr.insert(55);
arr.insert(-22);
arr.insert(88);
arr.insert(-11);
arr.insert(00);
arr.insert(66);
arr.insert(-33);
arr.display();
arr.getMax();
arr.getMin();
int searchKey = 35;
if( arr.find(searchKey) )
System.out.println("Found" + searchKey);
else
System.out.println("Can't Find " + searchKey);
arr.delete(00);
arr.delete(55);
arr.delete(99);
arr.display();
}
}
【问题讨论】:
-
仅供参考:下次尝试只发布相关的代码段。复制粘贴整个代码通常是不切实际的,并且不会让您快速得到答案。
-
在你的课堂上实现
max和min的非静态版本,兼容long[]而不是int[],它会正常工作。
标签: java arrays sorting max min