沙盒:修订间差异
来自Ubuntu中文
跳到导航跳到搜索
无编辑摘要 |
无编辑摘要 |
||
第1行: | 第1行: | ||
test | test | ||
当一个程序的代码编辑是正确的,而运行结果是错误的时候,可以采用程序分段检测的方法,找出错误的具体位置,从而改正。 | |||
例如,一道编程的题目:输出100到999之间的所有水仙花数。我刚开始的编程如下: | |||
<pre> | |||
public class C | public class C | ||
{ | { | ||
第23行: | 第25行: | ||
} | } | ||
} | } | ||
</pre> | |||
没有错误提示,也得不出运行结果。于是我把程序分为“数组的输入”和“水仙花数的判断”两部分。 | 没有错误提示,也得不出运行结果。于是我把程序分为“数组的输入”和“水仙花数的判断”两部分。 | ||
Section 1 | Section 1 | ||
<pre> | |||
int a[]; | int a[]; | ||
a=new int[1000]; | a=new int[1000]; | ||
for(i=100;i<a.length;i++) | for(i=100;i<a.length;i++) | ||
System.out.print(a[i]+"\t"); | System.out.print(a[i]+"\t"); | ||
运行发现可以正确输出数组中所有的数, | </pre> | ||
运行发现可以正确输出数组中所有的数,所以程序肯定是在第二部分出错。 | |||
后来发现“b1^3+b2^3+b3^3”应该写成“b1*b1*b1+b2*b2*b2+b3*b3*b3”才是正确的。 | |||
个人觉得程序分段检测是一个不错的方法。 |
2016年5月13日 (五) 18:58的版本
test
当一个程序的代码编辑是正确的,而运行结果是错误的时候,可以采用程序分段检测的方法,找出错误的具体位置,从而改正。 例如,一道编程的题目:输出100到999之间的所有水仙花数。我刚开始的编程如下:
public class C { public static void main(String[] args) { int a[]; int i,b1,b2,b3,c; a=new int[1000]; System.out.print("100到999之间的水仙花数有: "); for(i=100;i<a.length;i++) { a[i]=i; b1=a[i]/100; c=a[i]-100*b1; b2=c/10; b3=c%10; if((b1^3+b2^3+b3^3)==a[i]) { System.out.print(a[i]+"\t"); } } } }
没有错误提示,也得不出运行结果。于是我把程序分为“数组的输入”和“水仙花数的判断”两部分。 Section 1
int a[]; a=new int[1000]; for(i=100;i<a.length;i++) System.out.print(a[i]+"\t");
运行发现可以正确输出数组中所有的数,所以程序肯定是在第二部分出错。 后来发现“b1^3+b2^3+b3^3”应该写成“b1*b1*b1+b2*b2*b2+b3*b3*b3”才是正确的。 个人觉得程序分段检测是一个不错的方法。