|
|
(未显示5个用户的178个中间版本) |
第1行: |
第1行: |
− | test
| + | [[百问网imx6ull开发板]] |
− | 当一个程序的代码编辑是正确的,而运行结果是错误的时候,可以采用程序分段检测的方法,找出错误的具体位置,从而改正。
| + | |
− | 例如,一道编程的题目:输出100到999之间的所有水仙花数。我刚开始的编程如下:
| + | |
− | <pre>
| + | |
− | 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");
| + | |
− | }
| + | |
− | }
| + | |
− | }
| + | |
− | }
| + | |
− | </pre>
| + | |
− | 没有错误提示,也得不出运行结果。于是我把程序分为“数组的输入”和“水仙花数的判断”两部分。
| + | |
− | Section 1
| + | |
− | <pre>
| + | |
− | int a[];
| + | |
− | a=new int[1000];
| + | |
− | for(i=100;i<a.length;i++)
| + | |
− | System.out.print(a[i]+"\t");
| + | |
− | </pre>
| + | |
− | 运行发现可以正确输出数组中所有的数,所以程序肯定是在第二部分出错。
| + | |
− | 后来发现“b1^3+b2^3+b3^3”应该写成“b1*b1*b1+b2*b2*b2+b3*b3*b3”才是正确的。
| + | |
− | 个人觉得程序分段检测是一个不错的方法。
| + | |