Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python程序转换成Java_Java_Python - Fatal编程技术网

Python程序转换成Java

Python程序转换成Java,java,python,Java,Python,所以我开始上我的第二节计算机科学课!对于我的第一个类,我们使用python,对于这个类,我们使用Java。我们的第一个任务(基本上只是练习)是将这个垃圾程序从Python转换成Java,而我正经历着一段痛苦的时光 有人能帮我做些什么,嗯,给我一些建议吗?也许对初学者来说是个不错的网站。。。。有点了解Python的人(仅从第一门CS课程的角度) 1) 用python def winCraps(): roll = rollDice() if roll == 7 or roll == 11:

所以我开始上我的第二节计算机科学课!对于我的第一个类,我们使用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) 蟒蛇

def rollDice():
原始输入(“按下滚动…”)
die1=随机范围(1,7)
die2=随机范围(1,7)
总和=die1+die2
打印“您滚动”,die1,“+”,die2,“=”,和
回报金额
这件事把我弄糊涂了。randrange在Java中会是什么

爪哇

static int rollDice(){
系统输出打印(“按滚动…”);
double die1=数学随机();
double die2=数学随机();
die1=(int)die1*6+1;
die2=(int)die2*6+1;
int sum=(int)die1+(int)die2;
System.out.println(“您滚动了”+die1+“+”+die2+“=”+sum+”);
回报金额;
}

*请记住,我只是在学习这些东西lol

您需要修复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中,您必须始终以分号结束每个语句

我建议您在
randrange()
上查找文档。一旦你知道了它的确切功能,谷歌搜索这些关键词,再加上Java这个词


在使用语言的过程中,您会很快发现,API可能非常不同。Java中可能没有与之等价的
randrange
,但您可能会找到两个或三个函数,可以组合起来做同样的事情。

randrange可以用中的方法代替。与Python一样,Java有一个广泛的标准库,您应该参考它。

在Java转换中,您的第一个程序中的一个主要错误是条件

类似(roll=2&&3&&12)的操作将2指定给roll,然后应用and运算符。你也忘了if。您还有其他Python版本

你想要的是:

否则如果(滚动==2 | |滚动==3 | |滚动==12)

至于随机数,Java中有一个函数

randrange在Java中是什么

通过调用该方法,可以从Java的random类中获得特定范围内的随机整数。比如说,

Random rand = new Random();
int a = rand.nextInt(7);

将为您提供一个大于等于0且小于7的随机整数。这与Python中的
randrange
不完全相同,但您可以将其用作对象数组的索引,或者用作单个骰子的卷值。

System.out.print
不会导致系统等待有人按enter键。为此,您需要对
系统执行一些操作。在
中,很可能是因为它在等待输入时阻塞

此外,在Java中,程序开始使用main方法执行。确切地说,一个可执行类是这样开始的:

// You'll need the Random class, as per other answers
import java.util.Random;
// assuming WinCraps is the class name
public class WinCraps {
    // args in this example is a string array of command-line arguments
    public static void main(String[] args) {
        // This is where your main method (that calls winCraps?) would be
    }

    // Other methods
}
另外,这个类中直接从main调用的任何方法在Java中也必须是静态的

1),或者在Python中“操作符是”| |“不是”&&”,而比较操作符是“==”

所以

应该是

if( roll == 7 || roll == 11 ) {
而不是

 if( roll = 7 && 11 ){
2)randrange是:从那里您可以搜索:

这将引导您实现以下目标:

使用此算法(a)在Internet上搜索Python函数,b)了解它的功能c)在java中搜索它)查找您的下一个作业,您就完成了


您可以在这里再次询问,这就是本网站的全部内容

用英语写出Python程序的功能。一行一行地看一遍,然后向自己解释什么是计算,换句话说……发生了什么

然后,根据该描述编写Java程序


永远不要试图将程序文本从一种语言转换成另一种语言。这样你会遇到很多问题,因为每种语言都是不同的,不管它们看起来有多相似。

你不应该用“| |”而不是“&&”?我想你从OP的Java代码中继承了这个错误。Python正确地使用了“or”,但它不应该是
返回false而不是
返回(false)(真的也是一样)?@Fred,我当然知道。你指出来后我就注意到了。接得好。@R.Bemrose作为标准答案是的,但无论哪种方式,它的语法都是正确的。看在上帝的份上,继续使用你从PythonMaybe中学到的缩进技巧可能是因为你有“roll==7或roll==1”跟“应该是”,后面跟你第一次做的完全一样的文本?@Kaleb:可能是!,这就是为什么下层选民应该发表评论,这样我们就可以修正它。谢谢
if roll == 7 or roll == 11:
if( roll == 7 || roll == 11 ) {
 if( roll = 7 && 11 ){