2014-09-08 1 views
0

저는 프로그래밍에 아직 익숙하지 않습니다. 필자가 쓰는 프로그램에 약간의 도움이 필요합니다. 이 클래스는 일반적인 OrderedPair 클래스와 ObjectPairTest 클래스의 두 클래스로 구성됩니다. 이것은 지금까지 내 OrderedPair 클래스입니다 : 나는 아래의 의견에서 제안의 일부를 사용하고 다음과 같이 내 ObjectPair 클래스를 변경 :자바 테스트 클래스

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); 

    } 

그리고 내 ObjectPairTest 클래스는 다음과 같다 :

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) 

지금까지 당신의 도움에 대해 감사합니다.

+0

당신이 원하는 것을 제공해야합니다. 그래서 그것을 출력하려면 다음과 같이 입력하십시오 : System.out.println (c1.toString()); –

+0

내 대답이 업데이트되었습니다 – ControlAltDel

답변

0
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()); 
    } 
} 
+0

나에게 오류를 적어주세요. – maskacovnik

+0

@MrZalib 수정 주셔서 감사합니다 – maskacovnik

+1

흠, 이상한, 이전 버전이 나를 위해 일했습니다. (totoString() 필요 없음). –

-1

"OrderedPair"를 추가하십시오. 이 변수 앞에 모두 public static void main(String[] args){ System.out.println(OrderedPair.c1.toString()); System.out.println(OrderedPair.c2.toString()); System.out.println(OrderedPair.c3.toString()); System.out.println(OrderedPair.c4.toString()); System.out.println(OrderedPair.c5.toString()); }

+1

일반적으로 테스트 클래스는 테스트중인 클래스와 동일한 패키지에 있습니다. 따라서 기본 가시성으로 충분합니다. – ponomandr

+0

나는 여러분의 제안을 시도했지만 테스트를 자체 클래스에 넣으려고 할 때 더 많은 문제를 겪었습니다. 나는 오류 메시지와 함께 코드를 게시했다. –

+0

슈퍼! 이제 작동합니다. 너희들은 놀랍다. –