我正在尝试编写一个接受类似于DataSet类的类型的程序,以便它可以找到最大值和最小值。唯一的问题是我无法编译任何一个,我对如何修复错误感到有点困惑。感谢
DataSet.java:
public class DataSet<T implements Comparable>
{
private T maximum;
private T least;
private int count;
public void add(T x)
{
if(count == 0){
least = x;
maximum = x;
}
else if(least.compareTo(x) > 0)
least = x;
else if(maximum.compareTo(x) < 0)
maximum = x;
count++;
}
public T getMaximum()
{
return maximum;
}
public T getLeast()
{
return least;
}
}
错误:
java:5: error: '(' or '[' expected
DataSet<String> ds = new DataSet<String>;
^
1 error
比较的:
public interface Comparable
{
public int compareTo(Object other);
}
这里没有错误
public class DataSetTester
{
public static void main(String[] args)
{
DataSet<String> ds = new DataSet<String>;
ds.add(man);
ds.add(woman);
System.out.println("Maximum Word: " + ds.getMaximum());
}
}
错误:
java:5: error: '(' or '[' expected
DataSet<String> ds = new DataSet<String>;
^
答案 0 :(得分:0)
你错过了parens:
DataSet<String> ds = new DataSet<String>();
答案 1 :(得分:0)
注意缺少的偏执行为:
DataSet<String> ds = new DataSet<String>();
此外,您错过了“implements”关键字。对于泛型,您应该使用 extends 关键字。因此,它应该是:
public class DataSet<T extends Comparable<T>>
传递字符串参数时,你也错过了“”:
DataSet<String> ds = new DataSet<String>();
ds.add("man");
ds.add("woman");
这些错误大多数都是微不足道的,你应该多练习一点来理解这门语言。此外,编译器的错误消息应该有所帮助。