zoukankan      html  css  js  c++  java
  • 20165326 java实验一

    《Java程序设计》Java开发环境的熟悉 实验报告

    课程:Java程序设计 班级:1653班 姓名:陈卓 学号:20165326
    指导教师:娄嘉鹏 实验日期:2018年4月2日
    实验时间:13:45 - 3:25 实验序号:实验一
    实验名称:Java开发环境的熟悉
    实验题目:判断一个数是不是回文数,数从命令行输入,并进行测试(正常情况,异常情况,边界情况)
    实验内容:
    1.使用JDK编译、运行简单的Java程序;
    2.使用IDEA 编辑、编译、运行、调试Java程序。
    实验要求:
    1.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程;
    2.完成实验、撰写实验报告,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等);
    3.实验报告中统计自己的PSP(Personal Software Process)时间;
    4.严禁抄袭。

    一、

    在ubantu中建立目录并进行代码的编译

    此处使用mkdir进行目录的创建,cd进入当前目录,tree命令来查看当前目录下的结构,使用vim进入编辑,:wq!保存并退出,就可以接着使用javac和java命令进行编译运行了

    编译运行带包的代码时,使用-d命令进入该目录,使用java (包名).(类名)运行该代码

    如果是在IDEA里新建项目,参照

    二、断点

    设置断点:单击;设置条件断点:在条件语句行单击右键,condition格里输入希望停止的条件(如i==2)

    使用debug单步调试(F7、F8)时会出现确认,选择yes即可。

    整体运行,停止在i==2条件下

    三、个人实验

    实验要求:使用命令行输入回文数并判断
    代码

    public class Huiwen {
        public static void main(String[] args) {
            for (String num : args) {
                String str1 = num ;
                StringBuilder str2 = new StringBuilder(str1);
                str2.reverse();
                int count = 0;
                for (int i = 0; i < str1.length(); i++) {
                    if (str1.charAt(i) != str2.charAt(i)) {
                        System.out.println(str1 + "不是回文数");
                        break;
                    } else {
                        count++;
                    }
                }
                if (count == str1.length()) {
                    System.out.println(str1 + "是回文数");
                }
            }
        }
    }
    
    

    首先题目要求使用命令行传入参数,参考传参以及转换的知识。在此处我选择直接将输入的数据看作为一个字符串,若将其看作是一个数据,则要使用到参数的改变,添加如下语句并进行改写(假设为long型数据)

            long[] tmp = new long[args.length];
            for (int j = 0; j < args.length; j++) {
                tmp[j] = Long.parseLong(args[j]);
            }
            for (long num : tmp) 
            ......
    
    

    传参截图

    运行结果

    其次,所谓回文数,反转之后仍然相等,如12321。想到输入字符串之后将其反转,进行逐位比较,用到了reverse命令,参考字符反转方法,使用count计数和.charAt(i)进行逐位比较。单步运行截图


    四、个人体会
    步骤 耗时 百分比
    需求分析 20min 22.2%
    设计 30mim 33.3%
    代码实现 20min 22.2%
    测试 30min 33.3%
    分析总结 10min 11.1%

    我觉得这个表格不算特别准确,这个实验我的很多时间都是分散的,所以写了一个大致的时间。我的实验并没有涉及到特别边缘的数据,因为它本身是作为是字符串进行输入的,负数的符号也是作为字符串的一部分,所以不算回文。此次实验帮助巩固了我之前学到的知识,以及锻炼了我动手自己编写代码的能力,从思考到代码的成型,看着代码调试成功心里还是很开心的。

  • 相关阅读:
    石子游戏2
    礼物的最大价值
    CF512D. Fox And Travelling
    arc099F
    CF504E. Misha and LCP on Tree(长链剖分求k级祖先)
    agc031D
    CF555E. Case of Computer Network
    agc023D
    CF1406E. Deleting Numbers
    CF585F. Digits of Number Pi
  • 原文地址:https://www.cnblogs.com/Czzzz/p/8687765.html
Copyright © 2011-2022 走看看