Java测试类
我还是一个编程新手,需要一点帮助来编写一个程序。它由两个类组成,一个泛型OrderedPair类和一个ObjectPairTest类。到目前为止,这是我的OrderedPair类: 我使用了下面评论中的一些建议,并将我的ObjectPair类更改为:Java测试类,java,generics,Java,Generics,我还是一个编程新手,需要一点帮助来编写一个程序。它由两个类组成,一个泛型OrderedPair类和一个ObjectPairTest类。到目前为止,这是我的OrderedPair类: 我使用了下面评论中的一些建议,并将我的ObjectPair类更改为: package lab2; public class OrderedPair<F, S>{ public F getFirst; public S getSecond; private F first; pri
package lab2;
public class OrderedPair<F, S>{
public F getFirst;
public S getSecond;
private F first;
private S second;
public OrderedPair(F first, S second ){
this.first = first;
this.second = second;
}
public F getFirst() { return first; }
public S getSecond() {return second;}
public String toString() {return first.toString() + " | "+second.toString();}
public static final OrderedPair<String, Integer> c1 = new OrderedPair<String, Integer>("Pi", 3);
public static final OrderedPair<String,String> c2 = new OrderedPair<String, String>("Great", "Super");
public static final OrderedPair<Integer, Integer> c3 = new OrderedPair<Integer, Integer>(1, 2);
public static final OrderedPair<Float, String> c4 = new OrderedPair<Float, String>( 5f, "Maximum");
public static final OrderedPair<Integer, Float> c5 = new OrderedPair<Integer, Float>(69, 69f);
}
package lab2;
public class OrderedPairTest{
public static void main(String[] args){
System.out.println(c1.toString());
System.out.println(c2.toString());
System.out.println(c3.toString());
System.out.println(c4.toString());
System.out.println(c5.toString());
}//End class Main
}//End class OrderedPairTest
但是,当我尝试运行时,会显示错误消息:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
c1 cannot be resolved
c2 cannot be resolved
c3 cannot be resolved
c4 cannot be resolved
c5 cannot be resolved
at lab2.OrderedPairTest.main(OrderedPairTest.java:6)
感谢大家迄今为止的帮助 添加OrderedPair。在所有这些变量之前
public class OrderedPair<F, S>{
private F first;
private S second;
public OrderedPair(F first, S second ){
this.first = first;
this.second = second;
}
public F getFirst() { return first; }
public S getSecond() {return second;}
public String toString() {return first.toString() + " | "+second.toString();}
public static void test(){
//Five pairs of data
OrderedPair<String, Integer> c1 = new OrderedPair<String, Integer>("Pi", 3);
OrderedPair<String,String> c2 = new OrderedPair<String, String>("Great", "Super");
OrderedPair<Integer, Integer> c3 = new OrderedPair<Integer, Integer>(1, 2);
OrderedPair<Float, String> c4 = new OrderedPair<Float, String>( 5f, "Maximum");
OrderedPair<Integer, Float> c5 = new OrderedPair<Integer, Float>(69, 69f);
System.out.println(c1.toString());
}
}
公共静态无效字符串[]args{
System.out.PrintLOrderedPair.c1.toString;
System.out.PrintLOrderedPair.c2.toString;
System.out.PrintLOrderedPair.c3.toString;
System.out.PrintLOrderedPair.c4.toString;
System.out.PrintLOrderedPair.c5.toString;
}
toString应该能满足您的需求。所以要打印它,您需要输入:System.out.printlnc1.toString;我的答案已经更新了。嗯,奇怪,以前的版本对我有效。不需要。toString。由谁推荐?为什么?当它需要转换成字符串时,它被称为。为什么不写它,让它产生一些东西呢。。。当然,这是一个很好的讨论主题:。我属于隐式阵营。我更喜欢显式,但这是您的选择:通常,测试类与被测试的类位于同一个包中。所以默认的可见性已经足够了。我尝试了你们的一些建议,但是当我试图将测试放在自己的类中时,我似乎遇到了更多的问题。我重新发布了带有错误消息的代码。