2013-04-07 10 views
1

ребята. Несколько дней назад я начал изучать Java, и я не понимаю, почему 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)"; 
} 


}