20145129实验报告(一)

本文详细记录了一次Java编程实验经历,包括使用命令行和Eclipse IDE进行简单Java程序的开发、编译、运行及调试。实验报告分为三部分:命令行下开发、Eclipse环境下开发调试、以及通过这两种方式实现特定功能(求正整数1-N之间所有质数)。实验中遇到并解决了在不同环境下的问题,如命令行指令不适用和代码运行错误等。最后,作者分享了学习心得和优化程序的技巧。

20145129实验报告(一)

实验目的

  • 使用JDK编译、运行简单的Java程序;
  • 使用Eclipse 编辑、编译、运行、调试Java程序。

    实验内容

    (一)命令行下Java程序开发

  • 进入文件并创建学号文件夹,进入学号文件夹并创建exp1文件夹,查看工作路径,我是用的是cmd,所以直接在文件夹中创建java文件并写好代码。
    887004-20160410104503797-92487866.jpg

  • 编译并运行程序。成功运行。
    887004-20160410104511703-1781408702.png

  • 过程中出现的问题:
    • bwp指令在cmd中不适用,在cmd中每一步的工作路径都会显示,不过输入cd敲回车可以查看路径
      887004-20160410104522593-862716338.png

    • gedit指令与vim指令同样不适用于cmd,需要自己在文档中自行创建java文件
    • 运行结果单词之间没有空格,编辑代码在输出那行代码中在Hello后面加空格,在!前加空格。

      (二)Eclipse下Java程序开发、调试

  • 通过cmd打开eclipse
    887004-20160410104538484-1964946039.png

  • 在Eclipse中新建Java项目并新建Java类,输入题目代码并运行,得到结果。
    887004-20160410104551562-819000526.png

  • 对程序进行调试,并设置断点和单步运行:
    • 设置断点并运行,并将光标移到i上方,此时i没有被赋值
      887004-20160410104601500-1866945570.png

    • 单步运行(快捷键F5或者F6),此时i被赋值,i=5。
      887004-20160410104609703-98270029.png

    • 运行多行代码,则在设置一个断点,再运行
      887004-20160410104642140-1053667904.png

    • 设置条件断点,查看当i=50时sum的变化
      887004-20160410104635203-2067524350.png

  • 过程中出现的问题:
    • 在用cmd打开eclipse时失败了,尝试进入到应用程序所在文件夹后,成功打开。
    • 在输入题目代码后运行失败,提示关键字输入错误。不是“printin”而是“println”。

      (三)练习(通过命令行和Eclipse两种方式实现,自己的学号后两位与题目总数取余的结果再加上1就是自己要完成的题号,在Eclipse下练习调试程序)

      实现求正整数1-N之间所有质数的功能,并进行测试。
  • 代码:

    /*
     *       设计思路:给一个N的值计算出从2到N之间的素数
     *       定义一个方法即一个数不被小于它根号下所有整数整除,则这个数为素数
     *       运用数组和循环语句完成程序
    */
    package t5;
    import java.util.*;

    public class test5 {
    public static boolean chek(int n) {        //判断是否为素数的方法
        for(int i=2;i<=Math.sqrt(n);i++) {     
            if(n%i==0)
                return false;
            }
        return true;
        }

    public static void main(String[] args)     
    {
        Scanner sc=new Scanner(System.in);     //输入N的数值
        int n=sc.nextInt();
        int[] array=new int[1000];
        int k=0;
        for(int i=2;i<=n;i++)          //调用方法,并将素数存入数组
        {
            if(chek(i)) 
                {
                    array[k]=i;
                    k++;
                }
            }
        for (int i=0;i<k;i++)        //输出数组元素
        {
            System.out.println(array[i]);
        }
        sc.close();                  //关闭Scanner(关闭输入流)
        }
    }
  • 运行:
    887004-20160410104709781-918744115.png

  • 测试过程:
    • 在编写完毕单机Run发现程序有错误,检查当行代码没有问题,将光标移到左侧灯泡位置显示如下图所示提示。是我的程序输入流没有关闭,在编写过程中忘记了。
      887004-20160410104721672-888400995.png

体会

在浏览完实验内容后,在实验前一天开始准备,在自己电脑上实践了实验一的步骤一和步骤二,我电脑没有Xface终端于是我用cmd代替,在实践过程中发现二者有不一样的地方(详情参照上述内容)。在做步骤三时计算得我的题号是5,我在编写代码前先整理好思路,认为用数组和循环语句比较方便也比较简单然后思考方法,并将这些记录到程序顶端。这种写备注的方式是从教学视频中学到的,这样看一个程序时会比较直观。提前做完实验后,在实验课上就可以整理截图找老师验收,这样也可以提高效率。在此次实验中我又学到了一些测试程序的新技能,很有收获。

PSP

步骤耗时百分比
需求分析10分钟16.67%
设计15分钟25.00%
代码实现25分钟41.67%
测试5分钟8.33%
分析总结5分钟8.33%

转载于:https://www.cnblogs.com/l-cat/p/5373529.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值