目录

一、实验报告封面

北京电子科技学院(BESTI)

实 验 报 告

课程 Java程序设计 班级 1652班
姓名 蔡霓 学号 20165223
成绩 指导教师 娄嘉鹏
实验日期 2018年4月2日 实验密级 非密级
预习程度 已预习 实验时间 13:45 - 15:25
必修/选修 选修 实验序号

实验名称:Java开发环境的熟悉

实验目的

  1. 使用JDK编译、运行简单的Java程序;
  2. 使用IDEA编辑、编译、运行、调试Java程序;

实验要求

  1. 学会使用IDEA调试程序,参考博客Intellj IDEA 简易教程
  2. 熟悉Linux下的各种命令的使用,参考博客Linux 基础入门(新版)
  3. 熟练掌握vim编辑器的使用,参考博客Vim编辑器
  4. 学会在命令行中调试Java程序参考博客Java中使用JDB

实验知识点

  1. JVM、JRE、JDK的安装位置与区别;
  2. 命令行运行javac;java;javac -cp; java -cp;
  3. PATH,CLASSPATH,SOURCEPATH的设定方法与应用;
  4. 包管理:package;import;javac -d ;
  5. IDEA管理Java项目,调试:断点、单步执行等;
  6. Java基础语法:类型与类型转换;变量;运算符;流程控制等;
  7. JDK帮助文档的使用。

二、实验内容

(一)命令行下的JAVA程序开发

0 参考实验要求

1 建立“自己学号exp1”的目录

2 在“自己学号exp1”目录下建立src,bin等目录

3 javac,java的执行在“自己学号exp1”目录

4 提交 Linux或Window或macOS中命令行下运行Java的全屏截图, 运行结果包含自己学号等证明自己身份的信息

5 代码提交码云

  • 实验步骤与截图

  • 实验代码

import java.util.Scanner;
public class HelloCN {
public static void main (String args[]){
System.out.println("请输入学号:");
Scanner s = new Scanner(System.in);
String number = s.next();
System.out.println("Hello"+number+"蔡霓!");
System.out.println("Welcom JAVA World!");
}
}

(二)IDEA中的JAVA程序开发

0 参考http://www.cnblogs.com/rocedu/p/6371315.html

1 提交Linux或Window或macOS环境中IDEA中调试设置条件断点的全屏截图,截图打上自己学号的水印

2 其他内容包括截图在实验报告中体现

  • 实验步骤与截图

  • 创建类HelloJDB

  • 点击RUN运行程序

  • 设置条件断点 i==50

  • Debug调试程序

  • 实验代码
public class HelloJDB {
public static void main(String[] args) {
int i = 5;
int j = 6;
int sum = add(i, j);
System.out.println(sum); sum = 0;
for(i=0; i< 100; i++)
sum += i; System.out.println(sum);
} public static int add(int augend, int addend){
int sum = augend + addend;
return sum;
}
}

(三)自主练习

要求:通过命令行和IDEA两种方式实现,学号后两位与题目总数取余的结果再加1就是题号,在IDEA下练习调试程序

题目(第6题):实现求排列数P(n,m)的功能,m,n从命令行输入,并进行测试(正常情况,异常情况,边界情况)

  • 实验分析

    • 排列数:P(n,m)=n!/(n-m)!
    • n和m的大小关系要求:0<m<=n
    • 阶乘的代码编写:
    result = 1;
    result = result*n;
    n--;
  • 实验代码

import java.util.*;
public class Pnm {
static Scanner in=new Scanner(System.in);
public static void main(String args[]) {
System.out.println("请输入n:");
int n = in.nextInt();
System.out.println("请输入m:");
int m=in.nextInt();
count(n,m);
}
public static void count(int n,int m){
if(n<m||n<0||m<=0){
System.out.println("输入错误,请重新输入");
System.out.println("确保0<m<=n");
return ;
}
int result=1;
for (int i=0;i<m;i++){
result*=n;
n--;
}
System.out.println("Pnm="+result);
}
}
  • 实验步骤和截图
  • 命令行实现
    • 编写:vi src/Pnm.java
    • 编译:javac -d bin src/Pnm.java
    • 运行:java -cp bin Pnm

正常情况(排列和全排列)

异常情况(三种)

边界情况(两种)

  • IDEA实现

正常情况(排列和全排列)

异常情况(三种)

边界情况(两种)

三、实验总结

  • 遇到的问题

第二个实验中,相同的代码在IDEA中可以正常运行,但在命令行中会出现下面错误:

将代码中的int i=0改为i=0即可:

  • 分析与总结

    第一次实验相相对较容易,于是我利用周末时间就完成了这次实验的三个小内容。因为前面五周的铺垫,对第一二部分掌握的熟练,很快就完成了。而在进行第三部分实验的时候,明显感受到有些力不从心,可以说根源还是在没法独立完成程序编写,对java编程的思想不够熟练。在本次实验中,我也分别感受了vim编辑器和IDEA各自的优缺点,学习了JDB调试,了解了调试对程序的重要性。在今后的学习中也要更多的使用IDEA进行编程,并且多联系JDB调试,争取掌握这项能力,提高编程效率。

  • 参考资料

  1. 实验一 Java开发环境的熟悉(Linux + Eclipse)
  2. Intellj IDEA 简易教程
  3. Linux 基础入门(新版)
  4. Vim编辑器
  5. Java中使用JDB
  6. Markdown页内跳转实现方法

四、PSP时间

实验步骤 耗时 百分比
题目分析 5min 4%
思路设计 10min 9%
代码实现 70min 60%
调试测试 20min 18%
实验总结 10min 9%

20165223 实验一 Java开发环境的熟悉的更多相关文章

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

    实验内容 命令行下Java程序开发 IDEA下Java程序开发.调试 练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) 实现凯撒密码,并进行测试 实验要求 使用JDK编译 ...

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

    实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 1.没 ...

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

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

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

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

  5. 20145225《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)

    20145225<Java程序设计> 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑 ...

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

    20145208实验一 Java开发环境的熟悉 使用JDK编译.运行简单的java程序 命令行下程序开发 在命令行下建立实验目录,然后创建并进入该目录后的子目录. 编译并运行一个代码 使用IDEA 编 ...

  7. 实验一 Java开发环境的熟悉(Linux + Eclipse)

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

  8. 实验一 Java开发环境的熟悉(Linux + Idea) 20175301李锦然

    https://gitee.com/ShengHuoZaiDaXue/20175301.git 实验一 Java开发环境的熟悉(Linux + Idea) 实验内容 1.使用JDK编译.运行简单的Ja ...

  9. 2018-2019-2 实验一 Java开发环境的熟悉

    实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA编辑.编译.运行.调试Java程序 实验知识点 1. JVM.JRE.JDK的安装位置与区别: 2. 命令行运行javac:ja ...

随机推荐

  1. python文件封装成*.exe文件(单文件和多文件)

    环境:win10 64位  python3.7 单*.py文件打包Python GUI:程序打包为exe 一.安装Pyinstaller,命令pip install Pyinstaller,(大写的P ...

  2. [转帖]ODBC、OLEDB、ADO、ADO.NET

    一文详解ODBC.OLEDB.ADO.ADO.NET之间的关系 2019年01月16日 21:28:38 LoveMIss-Y 阅读数:66更多 所属专栏: 白话C#高级编程   版权声明:本文为博主 ...

  3. embed标签的flash层级太高问题

    因为客户要求,项目得兼容IE的兼容模式 页面到了flash都会遮挡底部悬浮的导航. 改变浮动窗口和embed的层级还是不可以.应该不是层级的关系. 最后百度解决方案:在embed标签内添加了wmode ...

  4. 简单易懂的softmax交叉熵损失函数求导

    参考: https://blog.csdn.net/qian99/article/details/78046329

  5. JAVA锁机制-可重入锁,可中断锁,公平锁,读写锁,自旋锁,

    如果需要查看具体的synchronized和lock的实现原理,请参考:解决多线程安全问题-无非两个方法synchronized和lock 具体原理(百度) 在并发编程中,经常遇到多个线程访问同一个 ...

  6. js auto hover button & html5 button autofocus

    js auto hover button & html5 button autofocus input // html 5 <input name="myinput" ...

  7. SQL约束(主键约束、外键约束、自动递增、不允许空值、值唯一、值默认、值限制范围)

    NOT NULL 不允许空值约束 NOT NULL 约束强制列不接受 NULL 值(NULL值就是没有值或缺值).NOT NULL 约束强制字段始终包含值,即不向字段添加值,就无法插入新记录或者更新记 ...

  8. LDOOP设置关联后超出新起一页LinkNewPage

    关联打印的时候,top,left关联位置是相对于被关联打印项的偏移值,具体可查看本博客相关介绍博文:LODOP打印控件关联输出各内容 正常情况下,超文本超过打印项高度,或纸张高度会自动分页,如果超文本 ...

  9. java split(regex,limit) 使用记录

    1.split(“,”,0):是切割默认模式等同于split(",")结尾符合分割字符为空不进行进行分割,如图: 2.split(",",-1):limit参数 ...

  10. 从身份证号码中获取性别、出生日期、籍贯,并更新mongodb

    有这样的需求,人员信息是存在mongodb中,需要存放人员的身份证.性别.出生日期.籍贯等信息.通过脚本导入这些信息,但是只导入了身份证号码,其他信息空缺.现在需要补全其他信息. 其实身份证信息就包含 ...