我参加了编程II课程,我们一直在编写课程。现在我们已经分配了作业来编写驱动程序类来合并这些类。作业陈述
使用在课堂上完成的模具,骰子和玩家类,写一个 司机班让三名球员轮流掷骰子。 第一个积累总分为35分或以上的玩家是赢家。" 例如,如果玩家1掷出3,则他们的得分为3.然后玩家2 劳斯莱斯。然后玩家3.当每个玩家滚动时,他们的滚动被添加到 他们以前的分数。
我已经开始编写它了,但是我的错误是我的程序中的几个项目无法解析为某个类型。我也完全不知道如何开始创建循环来执行所要求的操作。这就是我到目前为止所做的:
import java.util.Scanner;
public class DiceRace {
public static void main(String[] args){
Player player1;
Player player2;
Player player3;
Dice dice;
Scanner keyboard;
keyboard=new Scanner(System.in);
dice=new Dice();
System.out.print("First player's name: ");
player1=keyboard.next();
System.out.print("Second player's name: ");
player2=keyboard.next();
System.out.print("Third player's name: ");
player3=keyboard.next();
}//Ending bracket of method main
}//Ending bracket of class DiceRace
答案 0 :(得分:0)
看起来你是初学者。您应该做一些教程或类似的东西来了解基础知识:)此外,如果您开始熟悉IDE(如Eclipse),那么编程将更加容易,因为IDE可以为您提供错误的详细描述,即使写代码。
在上面的示例中,您需要自己创建两个类Dice
和Player
,因为默认情况下它们不在Java
中。
方法keyboard.next()
从控制台读取输入并将其作为String
类型的对象返回,而不是Player
。因此,您无法为变量player1
分配结果String
。
您可能需要的是具有成员变量Player
的{{1}}对象。这是一个例子:
String name
然后你可以在public final class Player {
private String mName;
public Player(final String name) {
mName = name;
}
public String getName() {
return mName;
}
}
:
main-method
接下来,您可能希望player1 = new Player(keyboard.next());
System.out.println("Name of player1 is: " + player1.getName());
拥有Dice
方法:
roll
然后,在public final class Dice() {
private Random mRandom;
public Dice() {
mRandom = new Random();
}
public int roll() {
// Returns a random number between 1 and 6 (inclusive)
return mRandom.nextInt(6) + 1;
}
}
你可以做到:
main
现在对于游戏逻辑,让我们保持简单,初学者友好:
Dice dice = new Dice();
System.out.println("Let's roll the dice: " dice.roll());
祝你好运:)
答案 1 :(得分:0)
您可以为每个玩家创建3种方法,以及玩游戏的方法。在每个玩家的方法中,它首先使用包含玩家名称的参数调用play方法,并且play方法将其打印出来以便玩家知道它是谁。一旦播放方法完成,它将调用下一个播放器方法,然后调用播放器,最后返回播放器1.