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

时间:2022-09-11 21:03:26

一、实验内容及步骤

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

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

实验截图如下

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

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

2.使用IDEA调试Java程序

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

实验截图如下

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

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

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

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

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

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;
}
}

实验截图:

正常情况:

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

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

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

边界情况:

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

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

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

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

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

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

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

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

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

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

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

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

    2018-2019-2 20175215 实验一《Java开发环境的熟悉》实验报告
  • 解决方案:直接使用变量来接受命令行输入

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

二、实验体会与总结

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

参考资料

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. fancybox的配置项

    Fancybox的API和配置选项说明 属性名 默认值 简要说明 padding 10 浏览框内边距,和css中的padding一个意思 margin 20 浏览框外边距,和css中的margin一个 ...

  2. background-clip 制作文字火焰效果

    1.Background-clip的语法 background-clip: border-box || padding-box || context-box || no-clip || text 2. ...

  3. TCP的那些事儿(下)

    TCP的那些事儿(下) 这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇<TCP的那些事儿(上)> 上篇中,我们介绍了TCP的协议头.状态机.数据重传中的东西.但是TCP要解 ...

  4. 替换、恢复Html中的特殊字符

    public static string HtmlEncode(string theString){theString = theString.Replace(">", &q ...

  5. &lbrack;Java&rsqb; String&period;Split 方法的6个重载函数

    String.Split 方法有6个重载函数: 程序代码 1) public string[] Split(params char[] separator) 2) public string[] Sp ...

  6. Jar包可执行??

    第一次听说,jvm加载包,必须rwx么?

  7. ci 中使用 pdo 连接 mysql

    ci 版本为 3.0.6 config/database.php 文件内容如下 $active_group = 'default'; $query_builder = TRUE; $db['defau ...

  8. 开源工具DbUtils的使用(数据库的增删改查)

    开源工具DbUtils的使用(数据库的增删改查) 一.DbUtils简介: DBUtils是apache下的一个小巧的JDBC轻量级封装的工具包,其最核心的特性是结果集的封装,可以直接将查询出来的结果 ...

  9. API知识点总结

    一.开发api接口开放给其他人调用的api接口(短信接口,支付宝api) 二.api安全弱点数据窃取(解决加密),数据篡改(解决MD5),数据泄露(爬虫技术)(解决令牌)1.加密(HTTPS传输-收费 ...

  10. Linux个人知识扩展:服务器几u的意思,网络带宽

    服务器几u的意思: 指的服务器大小规格 1U=4.45cm 2U=8.9cm 3U=4.45cm * 3 4U=4.45cm * 4 这指的是服务器的高度 现在的服务器为节省空间都是很扁的 U是服务器 ...