一、实验内容及步骤

1.使用JDK编译、运行简单的Java程序

  • cd code进入code文件夹
  • mkdir 20175215exp1创建20175215exp1文件夹
  • ls查看当前目录
  • cd 20175215exp1,用pwd查看当前工作路径
  • vim Hello.java编译Hello.java 文件
  • javac -d . Hello.java编译代码
  • java Hello运行代码

实验截图如下



2.使用IDEA调试Java程序

  • 设置断点
  • 单步运行
    • step into (快捷键F7)
    • step over (快捷键F8)
  • 两个断点之间的跳跃Resume(快捷键F9)
  • 设置条件断点

实验截图如下









3.实验练习

7, 实现求两个数的最大公约数和最小公倍数的功能,数从命令行输入,并进行测试(正常情况,异常情况,边界情况)。

代码为:

import java.util.*;
public class Experiment {
public static void main(String[] args) {
Calculate cal = new Calculate();
Scanner reader = new Scanner(System.in);
int tmp,x,y,i,j;
i=reader.nextInt();
j=reader.nextInt();
if(i>j){
tmp=i;
i=j;
j=tmp;
}
x=cal.gcd(i,j);
y=i*j/x;
System.out.println(i+"和"+j+"的最大公约数为"+x+",最小公倍数为"+y);
}
}
public class Calculate{
int gcd(int a, int b){
int k=1;
while(k!=0){
k=b%a;
b=a;
a=k;
}
return b;
}
}

实验截图:

正常情况:



异常情况(加入负数之后最小公倍数无法正确计算):



边界情况:

4.实验过程中遇到的问题以及解决方案

(1)断点调试中碰到的问题以及解决方案

实验过程中,在断点调试的时候设置值一次运行的时候总是会碰到问题,发现是Remove once hit没选中



选中红圈部分内容就可以了

(2)程序调试中碰到的问题以及解决方案

问题:出现如图所示的/ by zero的问题



解决方案:算法错误,修改代码后纠正。

(3)命令行输入中碰到的问题以及解决方案

  • 问题:用教材P47中的案例,想用数组来实现输入,发现不可行,导致无法继续后续的程序

  • 解决方案:直接使用变量来接受命令行输入

二、实验体会与总结

  • 实验过程本身比较简单,但还需要细心,实验中碰到的两个问题都是细节问题,第一遍做的时候没有细心就没发现问题,导致没有第一时间调试成功。
  • 使用调用其他类的方法可以让主类中的功能更为直白,但我这次的实验中的代码还是没做到最简化,希望下次能使用面向对象的思维将主类中的作用更加直白。

参考资料

1.最大公约数_百度百科

2.最小公倍数_百度百科

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

4.编程实现输入两个整数,输出其最大公约数和最小公倍数。

5.Java编程,输入两个数,输出两个数的和。

6.java.lang.ArrayIndexOutOfBoundsException异常分析及解决

7.Exception in thread "main" java.lang.ArithmeticException: / by zero

2018-2019-2 20175215 实验一《Java开发环境的熟悉》实验报告的更多相关文章

  1. 20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告

    20145308刘昊阳 <Java程序设计>实验一报告 实验名称 Java开发环境的熟悉 实验内容 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试J ...

  2. 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验一 Java开发环境的熟悉 实验报告

    20175316 盛茂淞 2018-2019-2 <Java程序设计>实验一 Java开发环境的熟悉 实验报告 一.实验要求 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA ...

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

    20165327<Java程序设计>实验二 <Java面向对象程序设计>实验报告 实验二 <Java面向对象程序设计> 一.实验报告封面 课程:Java程序设计 班 ...

  4. 20165205 实验一 java开发环境的熟悉 实验报告

    20165205 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:刘喆君 学号:20165205 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验 ...

  5. 20162327实验一Java开发环境的熟悉实验报告

    20162327 <程序设计与数据结构>第一次实验报告 基础知识 1.JDB的使用 使用JDB调试程序需要以下五个步骤: 1.设置断点 stop in 2.run 3.print 4.ne ...

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

    实验一Java开发环境的熟悉 实验内容 •命令行下Java程序开发 •IDEA下Java程序开发.调试 •练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) •实现凯撒密码 ...

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

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

  8. 20155327实验一 Java开发环境的熟悉

    20155327实验一 Java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的java程序 2.使用IDEA编辑.编译.运行.调试java程序 实验步骤 1.使用JDK编译.运行简单的jav ...

  9. 20165233 实验一 Java开发环境的熟悉

    20165233 实验一 Java开发环境的熟悉 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 2.完成实验.撰写实验 ...

  10. 20155231 java实验一 Java开发环境的熟悉

    20155231 java实验一 Java开发环境的熟悉 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 完成实验.撰写实验 ...

随机推荐

  1. java虚拟机精讲

    2.程序计数器 是指当前线程所执行字节码的行号指示器 比如if 循环 抛异常 等都需要程序计数器 如果线程执行java方法 程序计数器记录的是虚拟机字节码指令的地址 如果线程执行native方法时程序 ...

  2. Spring配置redis及使用

    一.redis简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库 Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用. ...

  3. 配置Mysql远程连接

    一.赋予某个用户权限 1.赋予权限格式:grant 权限 on 数据库对象 to 用户@IP(或者相应正则) 注:可以赋予select,delete,update,insert,index等权限精确到 ...

  4. css背景图自适应全屏显示

    前几天我在写一个前端页面的时候,需要用到全屏背景图,但是怎么写都不行(要么不全屏,要么不兼容Bootstrap的响应式布局).对,是我腊鸡 后来我在网上找的时候找到一个大神写的笔记,参(照)考(抄)之 ...

  5. 64位Win7安装Oracle12C临时位置权限错误解决方案

    今天装备安装Oracle12C体验一下,结果遇到问题:请确保当前用户具有访问临时位置所需的权限,无法继续安装,上网查了一下,解决方案如下:  第一步:  控制面板>所有控制面板项>管理工具 ...

  6. vi编辑器中删除文件中所有字符

    在命令模式下,将光标移动到文档最上方(使用gg命令),然后输入dG,删除工作区内所有缓存数据. 如果想要删除某行文档以下的内容,将光标移动到文档相应行,然后输入dG即可.

  7. python、mysql四-2:多表查询

    一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 准备表 #建表 create table department( id int, name varchar() ); create tabl ...

  8. 第十篇.1、python并发编程之多进程理论部分

    一 什么是进程 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu. 举例(单核+多道,实现多个进程的并发执行): egon在一个时间段内有很多任务要做:python备课的任务,写书的任 ...

  9. 标准模板库(STL)

    组件: 容器:管理某类对象的集合. 迭代器:用来在一个对象集合内遍历元素. 算法:处理集合内的元素. 容器 序列式容器:顾名思义.array,vector,deque,list 和 forward_l ...

  10. linux工具之pmap

    1.pmap简介 pmap命令用来报告一个进程或多个进程的内存映射.可以使用这个工具确定系统是如何为服务器上的进程分配内存的.   例如查看ssh进程的内存映射: