编译java程序时遇到问题

时间:2012-02-26 00:41:15

标签: java compiler-errors implementation

我正在尝试编写一个接受类似于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>;
                                                ^

2 个答案:

答案 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");

这些错误大多数都是微不足道的,你应该多练习一点来理解这门语言。此外,编译器的错误消息应该有所帮助。