Как использовать переменные в одном методе в другой метод? - PullRequest
0 голосов
/ 13 октября 2018

Так что мне было интересно, если кто-то может показать мне, как я могу вызвать / ссылаться на переменную из одного метода в другой метод.Например,

public static void main(String[] args) 
{
    System.out.println("Welcome to the game of sticks!");
    playerNames();
    coinToss();
}

public static void playerNames()
{
    Scanner input = new Scanner(System.in);
    System.out.println();

    System.out.print("Enter player 1's name: ");
    String p1 = input.nextLine();

    System.out.print("Enter player 2's name: ");
    String p2 = input.nextLine();

    System.out.println();
    System.out.println("Welcome, " + p1 + " and " + p2 + ".");
}

public static void coinToss()
{
    System.out.println("A coin toss will decide who goes first:");
    System.out.println();
    Random rand = new Random();
    int result = rand.nextInt(2);
    result = rand.nextInt(2);
    if(result == 0)
    {
        System.out.println(p1 + " goes first!");
    }
    else
    {
        System.out.println(p2 + " goes first!");
    }           
}

Я хочу использовать p1 и p2 из playerNames () внутри coinToss (), чтобы я мог просто объявить, кто идет первым, но я просто не могу понять, как вызывать переменные.

Мой вопрос не сильно отличается от других, однако я не мог понять ответы, которые давали другие.Как только я отправил это, я получил ответ от группы добрых людей:)

Ответы [ 3 ]

0 голосов
/ 14 октября 2018

то, что вы ищете, называется переменными экземпляра, проверьте это.https://www.tutorialspoint.com/java/java_variable_types.htm

0 голосов
/ 14 октября 2018

Все, что мне нужно было сделать, это создать экземпляр / статические переменные снаружи!Вот так:

static String name1;
static String name2;

Это было очень легко.Спасибо всем за помощь!

0 голосов
/ 14 октября 2018

Я предполагаю, что вы новичок в Java, потому что кажется, что вы не знакомы с концепцией полей (то есть вы можете поместить переменные вне методов).

public class YourClass {
    static String p1;
    static String p2;

    public static void main(String[] args) 
    {
        System.out.println("Welcome to the game of sticks!");
        playerNames();
        coinToss();
    }

    public static void playerNames()
    {
        Scanner input = new Scanner(System.in);
        System.out.println();

        System.out.print("Enter player 1's name: ");
        p1 = input.nextLine();

        System.out.print("Enter player 2's name: ");
        p2 = input.nextLine();

        System.out.println();
        System.out.println("Welcome, " + p1 + " and " + p2 + ".");
    }

    public static void coinToss()
    {
        System.out.println("A coin toss will decide who goes first:");
        System.out.println();
        Random rand = new Random();
        int result = rand.nextInt(2);
        result = rand.nextInt(2);
        if(result == 0)
        {
            System.out.println(p1 + " goes first!");
        }
        else
        {
            System.out.println(p2 + " goes first!");
        }           
    }

}
...