2018-2019-2-20175308 实验一 《Java开发环境的熟悉》实验报告

一、实验内容及步骤

(一)使用JDk编译、运行简单的Java程序

  • 输入cd Code命令进入Code目录
  • 输入mkdir 20175308建立实验目录
  • ls查看当前工作目录
  • cd 20175308进入实验目录,mkdir exp1建立第一个实验目录
  • cd exp1进入第一个实验目录,pwd查看当前工作路径
  • vim Hello.java编辑Hello.java
  • javac -d . Hello.java编译代码
  • java Hello运行代码

    实验截图:

    (二)使用IDEA调试Java程序

  • 新建HelloJDB文件,键入如下代码:
  • 单击左侧,在某一行添加断点
  • rundebug调试当前代码
  • 如图所示图标为Step Over向下执行一行
  • 如果要判断循环内部是否有问题产生。我们可以添加条件断点:如图所示,在for循环中添加i为50的断点

    (三)练习

    题目:判断一个数是不是回文数,数从命令行输入,并进行测试
    代码如下:

import java.util.*;public class Huiwen {public static void main(String[] args) {int i = 0;int l = 0;int sum = 1;String str;int temp[] = new int[100];int t = 1;int[] count = new int[100];int[] chs = new int[100];Scanner reader = new Scanner(System.in);System.out.println("请输入你要判断的数字");str = reader.nextLine();l = str.length();for (i = 0; i < str.length(); i++) {chs[i] = str.charAt(i);}for (i = 0; i < l; i++) {if (chs[i] < 49 || chs[i] > 57) {temp[i] = 0;} else temp[i] = 1;t *= temp[i];}if (t == 1) {for (i = 0; i < l / 2; i++) {if (chs[i] == chs[l - i - 1]) {count[i] = 1;} else {count[i] = 0;}sum *= count[i];}if (sum == 1)System.out.println(str + "是回文数");elseSystem.out.println(str + "不是回文数");}else System.out.println("输入含非法字符");}}

运行截图:

思路:
回文数即首尾对称,可以将输入的字符串存储成为一个数组。找到一个轴,比较首尾是否相等,即可判断是否是回文数。

二、实验中遇到的问题及解决

  • 在最初始版本的代码中,我简单的编写了一个比较首尾的代码段
for (i = 0; i < l / 2; i++) {if (chs[i] == chs[l - i - 1]) {System.out.println(str + "是回文数");} else {System.out.println(str + "不是回文数");

,在运行中出现以下内容:
解决思路:这种内容的错误是,在for循环中,每比较一位,就打印一遍结果。于是我建立了一个count数组和int型的sum,存储每一位的比较结果,如果相等,计作1,不相等计作0,sum为count数组各位相乘的结果,只要有一位不相等(即count[i]为0),都会使乘法结果为0。通过判断sum值来判断是否是回文数。

  • 补充上问题:在设定int型参数sum后。IDEA标注程序错误
    解决思路:通过阅读IDEA的提示,提示中有个关键字initialize,判断出因为没有给sum值初始化,给sum初始化值为1后,程序正确

  • 在第二版本的代码中,我发现自己忽略了一种情况,当输入不全为数字时,只要满足回文形式,程序也判断为回文数。而这显然是不正确的。[图片]
    解决思路:有了上个问题的解决,这个问题就可以如法炮制,建立另一个数组判断每一位是否都是数字,如果有不是数字的字符,就不进行判断回文的步骤。形成最终版本的代码。

    三、实验总结与体会

  1. 在做实验的时候,不但要分析一个程序大的框架思路,即如何实现程序的要求,更要想清可能产生的所有异常情况,将程序不应该存在的边边角角全都?死。头脑一定要走在行动前面。
  2. IDEA一个很好的功能就是在你写程序的同时检测细节上哪里出现了问题,我们预备充足的单词量,就可以通过读IDEA的报错马上找到错误的问题所在。
  3. 通过统计下图,发现需求分析划分时间过短,倒置一些细节问题需要在后面步骤花更多时间去发现并解决。再做实验时一定要在需求分析时分配足够的时间。
步骤 耗时 百分比
需求分析 2min 3%
设计 8min 11%
代码实现 40min 54%
测试 13min 18%
分析总结 10min 14%

转载于:https://www.cnblogs.com/darklord0604/p/10588618.html

2018-2019-2 20175308实验一 《Java开发环境的熟悉》实验报告相关推荐

  1. 20175316 盛茂淞 实验一 Java开发环境的熟悉

    20175316 盛茂淞 实验一 Java开发环境的熟悉 实验目的 使用JDK编译.运行简单的Java程序 实验要求 1.建立"自己学号exp1"的目录 2.在"自己学号 ...

  2. 20175208 实验一 Java开发环境的熟悉

    20175208 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:张家华  学号:20175208 指导教师:娄嘉鹏 实验日期:2019年4月2日 实 ...

  3. 2018-2019-2 20175227张雪莹 《Java程序设计》 实验一 Java开发环境的熟悉

    2018-2019-2 20175227张雪莹<Java程序设计> 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学号:2017 ...

  4. 20169205实验一 Java开发环境的熟悉(Linux+IDEA)

    20169205实验一 Java开发环境的熟悉(Linux+IDEA) 实验内容及步骤 使用JDK编译.运行简单的Java程序 打开windows下的cmd → 输入cd Code命令进入Code目录 ...

  5. linux eclipse java_实验一 Java开发环境的熟悉(Linux + Eclipse)

    学号 20175206 实验一 <Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实 ...

  6. 20165303实验一 Java开发环境的熟悉

    实验一简单的java程序编译及运行,文件夹的创建 1.添加文件夹: 命令mkdir+文件夹名称 2.编译,运行Java程序 :javac 主类名.java java 主类名 3.带包(package) ...

  7. 2018-2019-2 20175305实验一《Java开发环境的熟悉》实验报告

    2018-2019-2 20175305实验一<Java开发环境的熟悉>实验报告 实验题目 实验一Java开发环境的熟悉-1 1).实验目的及要求 1.建立"自己学号exp1&q ...

  8. 20155229 实验一《Java开发环境的熟悉》实验报告

    20155229 实验一<Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Idea 编辑.编译.运行.调试Java程序. 实验步骤 (一) ...

  9. java开发环境实验总结_20155212 实验一《Java开发环境的熟悉》实验报告

    20155212 实验一<Java开发环境的熟悉>实验报告 命令行下Java程序开发 命令创建实验目录 输入mkdir 2051212创建以自己学号命名的文件夹,通过cd 20155212 ...

最新文章

  1. 分布式存储系统的关键技术-针对应用和负载的存储优化技术
  2. 其他算法-Dijkstra
  3. Uncaught TypeError: Cannot read property 'setAttribute' of null
  4. 【EventBus】Subscribe 注解分析 ( Subscribe 注解属性 | threadMode 线程模型 | POSTING | MAIN | MAIN_ORDERED | ASYNC)
  5. springmvc的作用:
  6. Beetl 性能揭秘 1 :如何输出一个整型变量
  7. ubuntu 分区_系统小技巧:迁移通过Wubi方式安装的Ubuntu系统
  8. [转]VC编辑中的一些方法
  9. esxi能直通的显卡型号_显卡刷bios教程
  10. 剪映怎么把英文字幕翻译成中文?(附视频教程+字幕翻译工具)
  11. 计算机无法访问 与管理员联系,解决windows无法访问 你没有权限访问,请与网络管理员联系-win7管理员取得所有权...
  12. 计算机专业省赛一等奖有什么好处,厉害了!计算机应用专业的他获省级书法比赛一等奖...
  13. 中国各个省份的id代号是多少?各省简称是什么?
  14. 杨振宁 莫言 范曾 《开讲啦》
  15. 基于bim技术的应用软件有哪些?提高bim工作效率的revit插件?
  16. java之父那一年出生_黄小戈哪一年出生 起底其详细资料背景曝真实年龄多少
  17. java 混日子的四年
  18. 国家食品药品监督管理局 前有27家网站有资格向个人销售非处方药
  19. 谭浩强《C语言程序设计 》习题 6-3
  20. 三星i9100 Galaxy S2 官方原版rom大集合(国行、欧版、港版)

热门文章

  1. java获取access token_【Java示例】如何获取AccessToken
  2. 易语言下载别人的源码编译出来用不了_我是如何阅读源码的
  3. eclipse修改git账号信息
  4. Maven依赖junit @Test报错解决
  5. c语言格式化 病毒源码,【病毒】震荡波病毒C语言源码
  6. 使用esp8266制作wifi干扰器
  7. 频率法:数组排序的另一种思路
  8. 运维前线:一线运维专家的运维方法、技巧与实践3.1 数据中心搬迁准备
  9. 《指针的编程艺术(第二版)》一3.8 改错题
  10. 也许现在的前端,应该了解更多的算法