个人工具

“沙盒”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
 
(未显示5个用户的179个中间版本)
第1行: 第1行:
test
+
[[文件:14.png]]
当一个程序的代码编辑是正确的,而运行结果是错误的时候,可以采用程序分段检测的方法,找出错误的具体位置,从而改正。
+
例如,一道编程的题目:输出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”才是正确的。
+
个人觉得程序分段检测是一个不错的方法。
+

2023年10月22日 (日) 12:07的最新版本

14.png