2013-09-29 2 views
-1

Здравствуйте, я хочу создать метод в main? Так что это код, где я хочу конкретизирована метод:Почему я не могу создать метод в основном методе

import java.io.*; 
import java.util.Random; 
class input{ 
public static void main (String args[]){ 
void Randomises() { 
    int writabledata; 
    Random a=new Random(); 
    writabledata=a.nextInt(); 

} 
}} 
+5

Вы не можете создавать методы в методах. Это правило. –

+0

Вы не можете создать метод внутри метода в Java. –

+0

Спецификация Java, как и большинство других языков –

ответ

5

Java не позволяет создавать методы в методе. Это общее правило и НЕ относится к методу main.

0

Вы не можете создавать методы в методах на Java. Вы можете использовать его как дополнительный метод своего класса и называть его формой main.

2

Возможно, то, что вы ищете, чтобы создать дополнительные статические методы в классе:

public final class MyCommand { 
    private MyCommand() { 
     // 
    } 

    private static void releaseTheCatsOfWar() { 
     System.out.println("Meow!"); 
    } 

    public static void main(String[] args) { 
     releaseTheCatsOfWar(); 
    } 
} 

Конечно, было бы лучше сделать:

public final class MyCommand { 
    private MyCommand() { 
     // 
    } 

    private void releaseTheCatsOfWar() { 
     System.out.println("Meow!"); 
    } 

    public static void main(String[] args) { 
     MyCommand that = new MyCommand(); 
     that.releaseTheCatsOfWar(); 
    } 
} 
+0

+1 для отличного имени метода! – icyitscold

0

public static void main не является классом, это метод в классе. И ваш класс - input (кстати, вы должны начать имя класса с заглавной буквой, например), в которой вы определяете метод main, из которого запускается ваша программа.

0

Хотя это совершенно бессмысленно, самый близкий путь вы получите для достижения ваших результатов заключается в следующем:

public class Main { 

    private static interface MethodMaker{ 

     void randomise(); 

    } 

    public static void main(String[] args) { 

     MethodMaker methodMaker = new MethodMaker(){ 

      @Override 
      public void randomise() { 
       // DO SOMETHING 

      } 

     }; 

     methodMaker.randomise(); 

    } 
} 
0

Вы должны поставить метод вне основной ,, и назвать его просто в основном, , например:

import java.io.*; 
import java.util.Random; 
class input{ 
    public static void main (String args[]){ 

       Randomises(); 

    } 

    public void Randomises() { 
    int writabledata; 
    Random a=new Random(); 
    writabledata=a.nextInt(); 

     } 

} 
+0

Чтобы это сработало, «Randomises» должны быть статическими. –

Смежные вопросы