一、实验内容及步骤

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. mac 下安装mysql8.0

    有两种安装方式,一种是安装包安装,官网下载安装包,mysql8.0下载.mysql5.7安装: 这里记录brew安装: 1.brew uninstall mysql 卸载原有的: 2.brew ins ...

  2. 客户端相关知识学习(二)之h5与原生app交互的原理

    前言 现在移动端 web 应用,很多时候都需要与原生 app 进行交互.沟通(运行在 webview中),比如微信的 jssdk,通过 window.wx 对象调用一些原生 app 的功能.所以,这次 ...

  3. axios+FormData文件上传

    axios+FormData文件上传 原理:FormData上传 创建一个FormData对象,将得到的文件流对象放在FormData内,然后使用axios上传 注意: 1.请求头设置 headers ...

  4. Pornhub Web 开发者访谈

    原文:Interview with a Pornhub Web Developer 译者:neal1991 welcome to star my articles-translator, provid ...

  5. SuperMap-WebGL-坐标系及转换说明

    转载自:https://blog.csdn.net/supermapsupport/article/details/89519310 一.坐标系介绍我们先来列举下Cesium中的坐标系:WGS84经纬 ...

  6. Label 自适应文本(StoryBoard/xib)

    To make your label automatically resize height you need to do following: Set layout constrains for l ...

  7. Delphi MainMenu组件

  8. python、第三篇:表相关操作

    一 存储引擎介绍 存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制 详见:https://www.cnblogs.com/Forever-x/p/11317479.html 二 表介绍 ...

  9. lwip 内存配置和使用,以及 如何 计算 lwip 使用了多少内存?

    /** * 内存配置 * suozhang 2019年9月6日20:25:48 参考 <<LwIP 应用开发实战指南>> 野火 第5章 LwIP 的内存管理 * * 动态内存池 ...

  10. 【2019.3.20】NOI模拟赛

    题目 这里必须标记一下那个傻逼问题,再不解决我人就没了! 先放一个 $T3$ $20$ 分暴力 #include<bits/stdc++.h> #define rep(i,x,y) for ...