Нужна помощь: введите int из консоли и передайте его в метод другого класса - PullRequest
0 голосов
/ 31 мая 2010

Я новичок. Я хочу прочитать число a из консоли и затем сохранить их в переменной для использования в качестве передачи в другой класс (другой файл .java).

Как мне кодировать 2 класса?

public class PassedInMethod{ 

   private int a;

   public PAssMethod(int a) { 
      a = a; // TODO: where to get the a? 
      System.out.println("a was passed in!"+a);
   }
} 



public class Mainclass {

  public static void main( String args[] ) {
      Scanner input = new Scanner( System.in );

      int a;

      System.out.print( "Enter your nember: " );
      a = input.nextInt();

      PassedInMethod(int a);
   }
}

Ответы [ 3 ]

2 голосов
/ 31 мая 2010

Если вы хотите создать экземпляр класса PassedInMethod, в котором переменная-член a содержит значение, переданное конструктору.

Попробуйте изменить

PassedInMethod(int a);

до

PassedInMethod myObj = new PassedInMethod(a);

Кроме того, если вы хотите обновить переменную экземпляра до значения аргумента, вам нужно сделать

this.a = a;

поскольку аргумент «скрывает» переменную экземпляра.

Если вы не хотите создавать экземпляр и просто вызываете метод в другом классе, вам нужно сделать метод статическим, например:

public static void PassMethod(int a) {
    // ....
}

Затем можно вызвать метод, подобный этому

PassedInMethod.passMethod(a);

PassedInMethod однако это не очень хорошее название для класса, но я уверен, что это было только ради примера в вопросе.

0 голосов
/ 31 мая 2010

Это выглядит как то, что вы хотите. В вашем коде было несколько синтаксических ошибок и тому подобное.

public class PassedInMethod {
    private int a;

    public PAssMethod(int a) { 
        this.a = a;
        System.out.println("a was passed in!"+a);
    }
}

public class Mainclass {
    public static void main( String args[] ) {
        Scanner input = new Scanner( System.in );
        int a;

        System.out.print( "Enter your nember: " );
        a = input.nextInt();

        PassedInMethod myobj = new PassedInMethod();
        myobj.PAssMethod(a);
    }
}
0 голосов
/ 31 мая 2010

Вам нужно изменить

PassedInMethod(int a);

Для

new PassedInMethod(a);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...