所以,我开始上我的第二节计算机科学课!对于我的第一个类,我们使用了python,对于这个类,我们使用了Java。我们的第一个任务(差不多就是练习)是把这个垃圾程序从Python转换成Java,我正经历着一段地狱般的时光。
有没有人能帮我做点什么,并给我一些建议?也许是一个适合初学者的好网站……某种程度上了解Python的人(仅从第一门CS课程的角度来看)。
1)在python中
def winCraps():
roll = rollDice()
if roll == 7 or roll == 11:
return True
elif roll == 2 or roll == 3 or roll == 12:
return False
else:
return rollForPoint(roll)
这是我将其转换为java的尝试。
public int winCraps{
roll = rollDice();
if (roll = 7 && 11){
return (true);
}
else (roll =2 && 3 && 12){
return(false);
}
else{
return rollforPoint(roll);
}
}
2) Python
def rollDice():
raw_input("Press <Enter> to roll...")
die1 = randrange(1,7)
die2 = randrange(1,7)
sum = die1 + die2
print "You rolled", die1, "+", die2, "=", sum
return sum
这件事把我搞糊涂了。在Java中,randrange会是什么??
Java
static int rollDice(){
System.out.print("Press <Enter> to roll...");
double die1 = Math.random();
double die2 = Math.random();
die1 = (int) die1*6+1;
die2 = (int) die2*6+1;
int sum = (int)die1 + (int)die2;
System.out.println("You rolled "+die1+ " + "+die2+ " = "+sum+".");
return sum;
}
*请记住,我只是在学习这些东西,哈哈
发布于 2010-01-21 21:16:56
您需要修复if语句"==“操作符检查是否相等,并且必须将要检查的变量放在语句的每个部分中。
public int winCraps{
roll = rollDice();
if (roll == 7 || roll == 11) {
return true;
}
else if(roll == 2 || roll == 3 || roll == 12) {
return false;
}
else{
return rollforPoint(roll);
}
}
在rollDice()方法中,为每个骰子赋值的方式是不正确的。我建议阅读随机数(因为这是家庭作业,我把它留给你)。
此外,请记住,在java中,您必须始终以分号结束每条语句。
发布于 2010-01-21 21:24:02
在Java语言中会是什么?
您可以通过调用nextInt(int n)方法从Java类中获取特定范围内的随机整数。例如,
Random rand = new Random();
int a = rand.nextInt(7);
这与>=中的randrange
不完全相同,但您可以将其用作对象数组的索引,或用作单个骰子的值。
发布于 2010-01-21 21:18:52
随机范围可以被java.util.Random中的方法替代。像Python一样,Java有一个广泛的标准库,您应该参考一下。
https://stackoverflow.com/questions/2112952
复制相似问题