20165223 实验一 Java开发环境的熟悉
目录
一、实验报告封面
北京电子科技学院(BESTI)
实 验 报 告
◆ | ◇ | ◆ | ◇ |
---|---|---|---|
课程 | Java程序设计 | 班级 | 1652班 |
姓名 | 蔡霓 | 学号 | 20165223 |
成绩 | 指导教师 | 娄嘉鹏 | |
实验日期 | 2018年4月2日 | 实验密级 | 非密级 |
预习程度 | 已预习 | 实验时间 | 13:45 - 15:25 |
必修/选修 | 选修 | 实验序号 | 一 |
实验名称:Java开发环境的熟悉
实验目的:
- 使用JDK编译、运行简单的Java程序;
- 使用IDEA编辑、编译、运行、调试Java程序;
实验要求:
- 学会使用IDEA调试程序,参考博客Intellj IDEA 简易教程
- 熟悉Linux下的各种命令的使用,参考博客Linux 基础入门(新版)
- 熟练掌握vim编辑器的使用,参考博客Vim编辑器
- 学会在命令行中调试Java程序参考博客Java中使用JDB
实验知识点:
- JVM、JRE、JDK的安装位置与区别;
- 命令行运行javac;java;javac -cp; java -cp;
- PATH,CLASSPATH,SOURCEPATH的设定方法与应用;
- 包管理:package;import;javac -d ;
- IDEA管理Java项目,调试:断点、单步执行等;
- Java基础语法:类型与类型转换;变量;运算符;流程控制等;
- 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调试,争取掌握这项能力,提高编程效率。参考资料:
- 实验一 Java开发环境的熟悉(Linux + Eclipse)
- Intellj IDEA 简易教程
- Linux 基础入门(新版)
- Vim编辑器
- Java中使用JDB
- Markdown页内跳转实现方法
四、PSP时间
实验步骤 | 耗时 | 百分比 |
---|---|---|
题目分析 | 5min | 4% |
思路设计 | 10min | 9% |
代码实现 | 70min | 60% |
调试测试 | 20min | 18% |
实验总结 | 10min | 9% |
20165223 实验一 Java开发环境的熟悉的更多相关文章
- 20145205 实验一 Java开发环境的熟悉
实验内容 命令行下Java程序开发 IDEA下Java程序开发.调试 练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) 实现凯撒密码,并进行测试 实验要求 使用JDK编译 ...
- 实验一 Java开发环境的熟悉
实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 1.没 ...
- 20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告
20145308刘昊阳 <Java程序设计>实验一报告 实验名称 Java开发环境的熟悉 实验内容 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试J ...
- 实验一Java开发环境的熟悉
实验一Java开发环境的熟悉 实验内容 •命令行下Java程序开发 •IDEA下Java程序开发.调试 •练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) •实现凯撒密码 ...
- 20145225《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)
20145225<Java程序设计> 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑 ...
- 20145208实验一 Java开发环境的熟悉
20145208实验一 Java开发环境的熟悉 使用JDK编译.运行简单的java程序 命令行下程序开发 在命令行下建立实验目录,然后创建并进入该目录后的子目录. 编译并运行一个代码 使用IDEA 编 ...
- 实验一 Java开发环境的熟悉(Linux + Eclipse)
学号 20175206 实验一 <Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实 ...
- 实验一 Java开发环境的熟悉(Linux + Idea) 20175301李锦然
https://gitee.com/ShengHuoZaiDaXue/20175301.git 实验一 Java开发环境的熟悉(Linux + Idea) 实验内容 1.使用JDK编译.运行简单的Ja ...
- 2018-2019-2 实验一 Java开发环境的熟悉
实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA编辑.编译.运行.调试Java程序 实验知识点 1. JVM.JRE.JDK的安装位置与区别: 2. 命令行运行javac:ja ...
随机推荐
- awr format
AWR-Format工具 在Chrome高版本中配置使用AWR-Format for Chrome插件
- MyEclipse10 复制之前的项目部署到tomcat时项目名称对不上,还是复制前的项目名称,哪里修改设置
工程 -- 右键属性 -- Myeclispse -- web修改一下发布名字就可以了.
- Azure系列2.1.3 —— BlobEncryptionPolicy
(小弟自学Azure,文中有不正确之处,请路过各位大神指正.) 网上azure的资料较少,尤其是API,全是英文的,中文资料更是少之又少.这次由于公司项目需要使用Azure,所以对Azure的一些学习 ...
- C# Note4:XML序列化和反序列化(含加密解密等)
前言 在项目中,我们经常用到各种配置文件,比如xml文件.binary文件等等,这里主要根据实践经验介绍下xml文件的序列化和反序列化(毕竟最常用). 实践背景:我要做一个用户管理功能,用户账号信息存 ...
- Failed to bind properties under 'spring.datasource' to javax.sql.DataSource
这是我的配置文件 # 国际化配置文件(包名.基础名) spring.messages.basename=i18n.login server.tomcat.uri-encoding=UTF- sprin ...
- 图解Python的直接赋值与浅拷贝和深度拷贝三者区别
直接赋值:其实就是对象的引用(别名). 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象. 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象 ...
- EXAMPLE FOR PEEWEE 多姿势使用 PEEWEE
使用 PEEWEE 断断续续的差不多已经三个年头了,但是没有像这次使用这么多的特性和功能,所以这次一并记录一下,需要注意的地方和一些使用细节,之后使用起来可能会更方便. 因为是使用的 SQLAched ...
- Java之ArrayList自定义排序,通过实现comparator比较器接口
两种排序方式: 1.实体类实现Comparable接口,重写compareTo(T o)方法,在其中定义排序规则,那么就可以直接调用Collections.sort()来排序对象数组 2.在调用方法的 ...
- delphi中 dataset容易出错的地方
最近写delphi项目,用到的数据集中的dataset,一直修改exception啊,写下过程. 在对数据集进行任何操作之前,首先要打开数据集.要打开数据集,可以把Active属性设为True,例如: ...
- 根据request获取请求客户端的外网ip
//根据request获取外网ip private static String getRemoteIp(HttpServletRequest request) { //x-forwarded-for: ...