2014-10-25 7 views
1

Я создаю приложение, и я пытаюсь найти способ получить данные из одного класса в другой класс.Получить данные из другого класса

в моем основном классе Водитель, у меня есть функция, которая бросает две кубики, а затем я получаю их сумму. Эта функция создается в классе под названием Dices. У меня есть новый класс под названием Игроки, где мне нужно получить данные из броска кубиков из моего основного класса.

Код является следующей

public class Player { 
public String spillernavn; 
public int pos; 



public String SpillerNavn() { 
     return spillernavn; 
    } 
public int move(int steps){ 
    move=??; 
    pos=steps+pos; 
    return ??; 
} 
public int SpillerPos() { 
     return pos; 
    } 
} 

Methode public int move(int steps){} где мне нужно использовать данные из кости бросает, а затем сделать добавление поз, которые выступают за позицию.

Основная функция заключается в следующем

public static void main(String[] args) { 

     //Intializing dices 
     Dice die1 = new Dice(); 
     Dice die2 = new Dice(); 

     //Summ of dice 
     int sum = die1.throwDice() + die2.throwDice(); 
+0

Не следует ли держать класс игрока Drive и Dice-переменные и действительно бросают кости? Это не похоже на то, что ваш основной метод должен это делать. –

+0

Ваше право. Но как я могу это сделать. Я пытаюсь понять, но не повезло. – user1098185

+0

Мы никогда не узнаем, что вы делаете неправильно, если не показываете нам свою попытку. Пожалуйста, покажите нам ваш класс или класс. –

ответ

1

Имя файла: Имя Dice.java

import java.util.Random; 



public class Dice { 

    private Random random; 

    public Dice() { 

     random = new Random(); 
    } 

    public int throwDice() { 

     int num = 0; 

     while(num == 0) // Dice doesn't have a zero, so keep looping unless dice has a zero. 
      num = random.nextInt(7); // returns a random number between 0 - 6 

     return num; 
    } 
} 

Файл: Players.java

public class Players { 

    private int sum; 


    public Players(int sum) { 

     this.sum = sum; // You got the data from `Driver class` here. 
     // You got the sum of two dice. Now do whatever you want to. 
    } 
} 

public class Driver { 

    public static void main(String[] args) { 

     Dice dye1 = new Dice(); 
     Dice dye2 = new Dice(); 
     int sum = dye1.throwDice() + dye2.throwDice(); 
     Players player = new Player(sum); // Passing the data to Class Players 
    }  
} 

Для передачи данных, вам нужно передать аргумент в ()

+0

Извини, что я плохой. Но когда я печатаю, я получаю «Игроки @ 7852e922» – user1098185

+0

Вам нужно создать метод в 'class Player', который возвращает сумму. И напечатайте это значение. –

1

Вы могли бы сделать что-то подобное.

public class Player { 
public String spillernavn; 
public int pos; 



public String SpillerNavn() { 
    return spillernavn; 
} 

public int move(int steps, int move){ 
    move=move; 
    pos=steps+pos; 
    return ??; 
} 

public int SpillerPos() { 
    return pos; 
} 
} 

Затем в основной:

public static void main(String[] args) { 

    //Intializing dices 
    Dice die1 = new Dice(); 
    Dice die2 = new Dice(); 

    //Summ of dice 
    int sum = die1.throwDice() + die2.throwDice(); 

    player.move(steps, move); 

Для дальнейшего использования. Вероятно, вы должны создать экземпляр своих кубиков в своем классе. Это просто передача данных между классами. Геттеры и сеттеры.

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