2012-02-26 103 views
-1

我在编写一个程序,它接受类型可比的DataSet类,以便它可以找到最大值和最小值。唯一的问题是我无法编译任何一个,而且我对如何解决错误有些困惑。由于编译java程序时遇到问题

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

感谢大家的括号,但现在我得到了更多的错误: – James 2012-02-26 00:49:31

回答

0

当心失踪parantesis:

DataSet<String> ds = new DataSet<String>(); 

而且,你misuing的 “工具” 关键字。对于泛型,您应该使用扩展关键字。因此,应改为:

public class DataSet<T extends Comparable<T>> 

你还缺少“”传递字符串参数时:

DataSet<String> ds = new DataSet<String>(); 
ds.add("man"); 
ds.add("woman"); 

大部分错误是非常容易的,你应该尝试练习多一点理解语言。此外,来自编译器的错误消息应该有所帮助。

+0

谢谢你,但我仍然得到错误。还有什么似乎是错的? – James 2012-02-26 01:02:35

0

你缺少的括号:

DataSet<String> ds = new DataSet<String>(); 
相关问题