在过去的几个小时里,我一直在尝试使用Python作为begninner.我写了一个递归函数,它将recurse(x)作为x返回!在Python和Java中,比较两者.这两段代码是相同的,但由于某种原因,Python一个工作,而Java一个没有.在Python中,我写道:
x = int(raw_input("Enter: "))
def recurse(num):
if num != 0:
num = num * recurse(num-1)
else:
return 1
return num
print recurse(x)
Run Code Online (Sandbox Code Playgroud)
变量num将自身乘以num-1直到达到0,并输出结果.在Java中,代码非常相似,只是更长:
public class Default {
static Scanner input = new Scanner(System.in);
public static void main(String[] args){
System.out.print("Enter: ");
int x = input.nextInt();
System.out.print(recurse(x));
}
public static int recurse(int num){
if(num != 0){
num = num * recurse(num - 1);
} else {
return 1;
}
return num;
}
Run Code Online (Sandbox Code Playgroud)
}
如果我输入25,Python代码返回1.5511x10E25,这是正确的答案,但Java代码返回2,076,180,480,这不是正确的答案,我不知道为什么.
两个代码都遵循相同的过程:
我最近开始学习Web编程的绳索,在阅读一本书时,我展示了两种将.html文件链接到.css文件的方法.
方法1:
<link rel="examplesheet" href="myexamplesheet.css" type="text/css"
media="screen" />
Run Code Online (Sandbox Code Playgroud)
方法2:
<style type="text/css" media="screen">
@import url(examplesheet.css);
</style>
Run Code Online (Sandbox Code Playgroud)
正如一些问题所指出的那样,它们都应该工作,但方法1对我的程序不起作用,即使方法2工作正常.
我的程序很简单.它看起来像这样:
<title> Title Site</title>
<link rel="canvas" href="canvas.css" type="text/css"
media="screen" />
<style type="text/css" media="screen">
@import url(canvas.css);
</style>
<p> We have black text.</p>
<p class="green"> And then we have Green Text.</p>
<p class="warning"> Warning. Warning. Warning.</p>
Run Code Online (Sandbox Code Playgroud)
如果方法1是唯一的那个,则文本将无法正确显示.在Internet Explorer中,它只显示默认文本.但在Firefox和Chrome中,它实际上显示了方法1的错误:
XML解析错误:文档元素之后的垃圾位置:file:/// C:/Users/Zolani/AppData/Local/Temp/sample.xhtml第3行,第1列:
我不确定为什么这只出现在这两个浏览器上.一个网页,详细说明差异谈到把它在文本的头上.我试过,使用"head"标签,它仍然无法正常工作.
现在我可以继续使用方法2并愉快地使用我的程序,但我仍然想知道为什么方法1似乎不能正常工作.有任何想法吗?
注意:我使用的是xhtml而不是html.
对于涉及异常处理的家庭作业练习,我需要生成一个OutOfMemoryError异常,这样我就可以编写一个try-catch并捕获它:
"13.10(OutOfMemoryError)编写一个程序,使JVM抛出OutOfMemoryError并捕获并处理此错误."
我搜索了Java API,但在异常列表中的OutOfMemoryError异常中找不到任何内容.什么是OutOfMemoryError异常,如何为我的作业生成一个异常?