2017-01-05 2 views
-3

에 대한 오류 메시지 받기 컴파일 할 때마다 cmd에서받는 오류 메시지입니다 ... 오류 : 메서드 선언이 잘못되었습니다; 반환 유형이 필요합니다. static main (String args [])정적 메인

이것은 내 코드입니다 (마지막 선언시 오류가 나타남).

import java.awt.Color; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

import javax.swing.JPanel; 
import javax.swing.JWindow; 

public class Counter extends JPanel implements ActionListener { 
    private static final long serialVersionUID = 1L; 
    private final font FONT = new Font("Impact", Font.PLAIN, 72); 
    private final File SOUND = new File("sound/tick.wav"); 

    private Timer timer; 
    private int time; 

    public Counter() { 
     set0paque(false); 
     setPrefferedSize(new Dimension(400,400)); 
     time = 60; 
     timer = new Timer(1000, this); 
     timer.start(); 
    } 


    @Override 
    public void paintComponent(Graphics g) { 
     super.paintComponent(g); 
     Graphics2D g2 = (Graphics2D) g; 
     g2.setRenderingHint(RenderingHints,KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); 
     g2.setFont(FONT); 
     g2.setColor(Color.GREEN); 
     String text = "00:" +String.valueOf(time); 
     int width = g.getFontMetrcis().stringWidth(text); 
     g2.drawString(text, getWidth()/2 - width/2, getHeight()/2); 
    } 

    @Override 
    public void actionPerformed(ActionEvent e) { 
     time--; 

     if(time == 0) { 
      shutdown(); 
     } 
     repaint(); 
     playsound(); 

    } 

    private void shutdown() { 
     try{ 
      Runtime runtime = Runtime.getRuntime(); 
      runtime.exec("shutdown -s -t 0"); 
      Systen.exit(0); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

    public static main(String args[]) { 
     JWindow window = new JWindow(); 
     window.add(new Counter()); 
     window.pack(); 
     window.setBackground(new Color(0,0,0,0)); 
     window.setLocationRelativeTo(null); 
     window.setVisible(true); 
    } 
} 

감사합니다 :

+2

'공공 정적 메인 (문자열 인수 []) {'->'공개 static void main (String args []) {'당신은 반환 타입을 잊어 버렸습니다. –

+0

오류 메시지는 문제가 무엇인지 정확하게 알려줍니다 : 당신이'main()'메소드에 * 반환 값 *을 지정하지 않았습니다. 이 메소드를 응용 프로그램의 진입 점으로 사용할 수 있기를 원한다면 원하는 반환 유형은'void '입니다. –

+0

약간의 노력으로 너는 이것을 알아낼 수 있었다. 오류 메시지를 볼 때 당황하지 말고주의 깊게 보지 말고 *** 무슨 뜻인지 생각해보십시오. 당신은 구글 자바 메인 메소드와 같은 main을 가진 다른 자바 프로그램의 어떤 예도 google 할 수 있고 그 예제를 당신 자신의 코드와 비교할 수있다. 게으르거나 부주의하거나 결론에 도달하지 마십시오. 인내와 집중력을 키우는 데 많은 도움이 될 것입니다. – clearlight

답변

2

모든 메소드 선언은 반환 형식이 있어야합니다. (main의 경우처럼) 당신이 아무것도 반환하지 않으려면 void로 반환 유형을 선언해야합니다

public static void main(String args[]) { 
    // Here --^ 
+0

하지만 19 개의 새로운 오류 메시지가 나타납니다. – Konstantin

관련 문제