2013-04-07 2 views
1

명. 몇 일 전 자바를 배우기 시작했고, NetBeans가 클래스를 컴파일 할 수없는 이유를 이해하지 못합니다.불법 시작 유형

import java.util.Scanner; 

public class FirstMode 
{ 

    Scanner input = new Scanner(System.in); 
    public String arrayCall() 
    { 
     return "Press the array of digits (Example: 1, 2, 3, 5, 6)"; 
    } 
    String array = input.nextLine(); 
    for(int i = 0; i < array.length(); i++) 
    { 

    } 
} 

변수 "i"가있는 행에 오류가 있습니다. 왜?

답변

5

의 선

String array = input.nextLine(); 
for(int i = 0; i < array.length(); i++) 
{ 

} 

는 방법

1

메서드 또는 생성자 또는 이니셜 라이저 블록 내부에서 이러한 종류의 호출을 수행해야합니다. 클래스에서 알몸으로 매달려 있으며 유효한 Java가 아닙니다.

0

문은 메서드 내에 포함되어 있지 않습니다. 메소드 안에 모든 명령문이 있어야합니다.

0
import java.util.Scanner; 

public class FirstMode 
{ 

    Scanner input = new Scanner(System.in); 
    public String arrayCall() 
    { 
     return "Press the array of digits (Example: 1, 2, 3, 5, 6)"; 
    } 

    public void someMethod() { 
     //you can't write following lines in a class scope 
     String array = input.nextLine(); 
     for(int i = 0; i < array.length(); i++) 
     { 

     } 
    } 
} 
1

내가 당신의 질문을 이해하지에 있어야하지만 코드에 대한 발언이있다.

코드를 실행하려면 다른 클래스 파일에 넣지 않는 한 정적 기본 메서드가 필요합니다.

여기는 도움이 될만한 희망입니다.

import java.util.Scanner; 

public class test 
{ 

static Scanner input = new Scanner(System.in); 

public static void main(String...args){ 
    System.out.println(arrayCall()); 
    String array = input.nextLine(); 

    for(int i = 0; i < array.length(); i++) 
    { 
     //do some processing... 
    } 

} 

public static String arrayCall() 
{ 
    return "Press the array of digits (Example: 1, 2, 3, 5, 6)"; 
} 


}