2014-11-11 2 views
0

현재 Java 소개 과정을 진행 중입니다. 제가 입문 과정에만 있기 때문에 저는 여전히 Java에 익숙하지 않으므로이를 염두에 두십시오.Java 추상 오류 및 회선 그래프를 생성해야합니다.

지금은 학교 과제를 위해 노력 중이며 약간의 장애가 있습니다.

내 할당 (... 등등 등등 bv 또는 값 ev1 또는 년 1 값 ev2 또는 년 2 값을 시작)는 사용자가 숫자 입력을 받아 프로그램을 작성하는 것이며, 다음을 사용 computeRate 내가 필요한 속도를 계산하기 위해 만든 방법 (이것은 흥미로운 것과 그렇지 않은 것)입니다.

다음과 같은 선 그래프를 만들기 위해 시작 값에서부터 최종 연도 값 또는 5까지 모든 입력 값을 사용해야합니다. Drawing a simple line graph in Java, 내 그래프를 제외하고는 받아 들일 수 있어야합니다. 모든 사용자 입력 값을 이전에 사용한 다음 해당 값과 비율을 점을 그리기 위해 사용하고 연결하여 해당 예제의 것과 같은 선 그래프를 만듭니다.

Rate_Graph가되지 않습니다 :

내 첫 번째 문제는 이미 import 문에서 첫 번째 줄에 발생
import java.awt.*; 
import javax.swing.*; 
import java.awt.event.*; 
public class Rate_Graph extends JApplet implements ActionListener 
{ 
JLabel bv, ev1, ev2, ev3, ev4, ev5; 
JTextField bv1, ev_1, ev_2, ev_3, ev_4, ev_5; 
JButton go, add1, add2, add3, add4, add5; 
public void init() 
{ 
    setLayout(new FlowLayout()); 

    bv = new Jlabel("Enter beginning value:"); 
    bv1 = new JTextField(5); 
    go = new JButton("Add!"); 
    go.addActionListener(this); 

    ev1 = new Jlabel("Enter year 1 value:"); 
    ev_1 = new JTextField(5); 
    add1 = new JButton("Add!"); 

    ev2 = new Jlabel("Enter year 2 value:"); 
    ev_2 = new JTextField(5); 
    add2 = new JButton("Add!"); 

    ev3 = new Jlabel("Enter year 3 value:"); 
    ev_3 = new JTextField(5); 
    add3 = new JButton("Add!"); 

    ev4 = new Jlabel("Enter year 4 value:"); 
    ev_4 = new JTextField(5); 
    add4 = new JButton("Add!"); 

    ev5 = new Jlabel("Enter b value:"); 
    ev_5 = new JTextField(5); 
    add5 = new JButton("Add!"); 
    add5.addActionListener(this); 

    add(bv); add(ev1); add(ev2); add(ev3); add(ev4); add(ev5); 
    add(bv1); add(ev_1); add(ev_2); add(ev_3); add(ev_4); add(ev_5); 
    add(go); add(add1); add(add2); add(add3); add(add4); add(add5); 
} 
public double computeRate() 
{ 
    double rate = (Math.pow(ev_5/bv1, 1.0/5.0) - 1); 
    System.out.println("The rate is:" + rate); 
} 
} 

, 오류 코드는 말한다 : 여기

는 지금까지이 그 코드입니다 abstract이며 java.awt.event.ActionListener의 추상 메소드 actionPerformed (ActionEvent)를 대체하지 않습니다.

나는이 문제에 대한 더 간단한 수정의 일부를 (이 클래스는 추상적 인 선언에 포함하지만 그 과정의 올바른 수정되지 않도록 그 코드에서 다른 문제를 개발),하지만 그들 중 누구도 보이지 않는다 시도 일하다.

두 번째 문제점은 모든 값에 대해 사용자의 입력을 받아들이고 선 그래프를 만들 수 있도록 선 그래프 코드를 적용하는 방법을 찾는 것입니다. 어떤 도움을 주시면 고맙겠습니다. 다시 한번 Java에 대해 매우 새롭다는 것을 다시 한번 기억하십시오.

+0

먼저 [인터페이스] (https://docs.oracle.com/javase/tutorial/java/IandI/createinterface.html)와 [인터페이스 란 무엇입니까?] (https : // docs. 인터페이스가 무엇인지 어떻게 사용하는지 이해하려면 oracle.com/javase/tutorial/java/concepts/interface.html). 그런 다음 [Action Listener 작성 방법] (http://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html) – MadProgrammer

+0

*을 읽으십시오. "Java에 아직 아주 익숙하므로 반드시 확인하십시오. 그것을 염두에 두십시오. "* 이것은 Q & A 사이트이며 헬프 데스크가 아니므로 유의하십시오. 차이점에 대해 명확히 알았다면 이것을 스레드 당 하나의 질문으로 나눕니다. –

답변

0

.... implements ActionListener을 입력하면 실제로 인터페이스를 구현할 것임을 컴파일러에 알립니다. 여기에는 implementing 구현되지 않은 메소드가 포함됩니다.

이 경우 implementactionPerformed(java.awt.ActionEvent) 방법이 필요합니다.

이 방법을 작성하는 방법을 보려면 link을보십시오.

클래스가 추상 클래스 인 경우 추상 클래스를 인스턴스화 할 수 없으므로 컴파일러는이 메서드의 구현이 클래스를 하위 클래스로 만드는 클래스에 있다고 가정합니다.

+0

감사합니다.그게 문제를 해결하는 데는 충분했지만 이제는 내 코드에서 computeRate() 메소드에 문제가있다. 정확한 문제를 해결하기 위해 새로운 질문이 생겨났습니다. 링크는 다음과 같습니다. http://stackoverflow.com/questions/26880927/method-that-takes-user-input. 언제나처럼 어떤 도움이 appreiated입니다! – Fyree