2016-07-25 6 views
0

나는 자바에 익숙하지 않으며 내가 얻는 오류를 이해하지 못한다. 이클립스는 그것을 고치는 방법을 내게 추천하지 않는다.자바 구문 오류 이해

내 코드 아래에 다음과 같은 오류가 점점 오전 :

import java.io.FileOutputStream; 
import java.net.URL; 
import java.nio.channels.Channels; 
import java.nio.channels.ReadableByteChannel; 

public class main { 
    URL website = new URL("http://ts.vtggames.net/extras.zip"); 
    ReadableByteChannel rbc = Channels.newChannel(website.openStream()); 
    FileOutputStream fos = new FileOutputStream("extras.zip"); 
    fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); 
} 
+0

메소드와 같은 일종의 블록에 명령문을 넣어야합니다. –

+0

참조 : http://stackoverflow.com/questions/18795467/system-out-println-statement-outside-any-method-in-java, http://stackoverflow.com/questions/12062481/why-cant-i -do-assignment-outside-a-method – azurefrog

답변

1

이 "이 토큰 후 예상, 식별자"

"구문 오류 토큰에"준 getChannel을하는 문 :

fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); 

블록으로 이동해야합니다. 기본적으로 에 있어야합니다.에 싸여있는 구문 구조가 있습니다..

다른 줄은 변수 선언입니다. 이들은 블록 바깥으로 갈 수 있습니다. 이것이 첫 번째 구문 오류가 fos.getChannel() 줄에있는 이유입니다.

당신이처럼 main 방법에있는 모든 라인을 넣을 수는 :

@AndyTurner가 언급 한 바와 같이
public class main { 
    public static void main(String[] args) { // <-- Add this line 
    URL website = new URL("http://ts.vtggames.net/extras.zip"); 
    ReadableByteChannel rbc = Channels.newChannel(website.openStream()); 
    FileOutputStream fos = new FileOutputStream("extras.zip"); 
    fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); 
    } // <-- and this line 
} 
0

,이 자바

  • 수업 시작해야 적절한 자바 코드가 아닙니다 대문자 문자
  • 메인 코드를
  • public static void main(String[] args)으로 지정하여 독립 실행 형 클래스를 실행해야합니다.
+1

"Java 클래스는 대문자로 시작해야합니다."아니요. 이것은 단순한 대회입니다. –

+1

"모든 실행 코드는 메서드에 있어야합니다."아니요, 메서드가 아닌 이니셜 라이저 블록에있을 수 있습니다. –

+0

@AndyTurner 나는 그것이 곧 게시되었음을 깨달았다. :). – Jeeter