2018-2019-2-20175225 实验一 《Java开发环境的熟悉》实验报告
2018-2019-2-20175225 实验一 《Java开发环境的熟悉》实验报告
2018-2019-2-20175225 实验一 《Java开发环境的熟悉》实验报告
一、实验内容及知识点
实验内容
1.使用JDK编译、运行简单的Java程序;
2.使用IDEA编辑、编译、运行、调试Java程序。
实验知识点
JVM、JRE、JDK的安装位置与区别;
命令行运行javac;java;javac -cp; java -cp;
PATH,CLASSPATH,SOURCEPATH的设定方法与应用;
包管理:package;import;javac -d ;
IDEA管理Java项目,调试:断点、单步执行等;
Java基础语法:类型与类型转换;变量;运算符;流程控制等;
JDK帮助文档的使用。
二、实验步骤
(一)命令行下Java程序开发
根据要求建立2175214/exp1的目录
在20175214/exp1目录下建立src,bin等目录
在src目录输入vim Hello.java进入编译界面,输入如下程序:
使用cd ..返回到exp目录下,输入javac -d bin src/Hello.java将源代码编译到bin目录下;
输入java -cp bin Hello运行程序,输入名字,得到结果。
(二)IDEA下Java程序开发、调试
1、创建HelloJDB项目,在该项目下创建HelloJDB类,并输入代码:
2、点击run运行代码(或快捷键Alt+Shift+F10):
3、在要求的行数左边点击一下,设置断点(Ctrl+F8),然后点击Debug(Alt+Shift+F9),得到如下结果:
4、然后单击菜单「Run」->「Debug...」(Alt+Shift+F9)开始调试Java程序,得到如下结果:
5、点击Step into(F7)或者StepOver(F8)来使程序运行到下一步;
PS: Step into可以进入方法运行下一步,而Step Over是直接运行完方法.
6、设置条件断点,将程序里i的值设置为50:
7、点击Resume(或快捷键F9)直接运行程序到下一个断点,也就是上一步设置的条件断点:
(三)练习
1、题目选择:学号20175214,做第六题:第六题: 实现求排列数P(n,m)的功能,m,n从命令行输入,并进行测试(正常情况,异常情况,边界情况)。
2、设计分析:排列式公式P(n,m)=n!/(n-m)!,0
3、编程实现:import java.util.*;
public class Permutation {
public static void main(String args[]) {
Calculate Calculate = new Calculate();
System.out.println("Please input n:");
Scanner reader1 = new Scanner(System.in); //输入n
int n = reader1.nextInt();
System.out.println("Please input m:");
Scanner reader2 = new Scanner(System.in); //输入m
int m = reader2.nextInt();
if (n <= 0 || m < 0 || n < m) { //排除异常情况
System.out.println("Input error:!");
System.exit(1);
}
int Result = Calculate.result(n, m);
System.out.println("The result is: " + Result); //输出结果
}
}
class Calculate { //计算排列数
int x, p, q;
public int result(int n, int m) { //计算结果并返回
p = Factorial(n); //调用阶乘方法
q = Factorial(n - m);
return (p / q); //返回结果
}
public int Factorial(int a) { //计算阶乘
if (a > 0) {
x = 1;
for (int i = 1; i <= a; i++) {
x = x * i;
}
return x;
} else return 1;
}
}
4、程序测试
- 正常情况
- 异常情况
- 边界情况
5、遇到的问题
1、运行输入3 3出现如下报错:
解决:通过调试,以及测试其他数据,发现是阶乘方法未考虑参数为零的情况,修改成如下后解决:
三、实验体会与总结
这次是第一次用IDEA进行调试,比JDB好用,快捷得多,界面也更加友好,快捷键不够熟练,平时用多试试。
平时在学习Java的过程中,我大多都是在原样敲书里的代码,没有自己的思考,这次实验是真正自己设计并测试的程序,但是出现了很多我以前以为不会出现的愚蠢的错误,比如scanner的大小写之类的,给我提了个醒,以后要多加练习。
2018-2019-2-20175225 实验一 《Java开发环境的熟悉》实验报告相关教程
在WebGL场景中进行棋盘操作的实验
在WebGL场景中进行棋盘操作的实验 这篇文章讨论如何在基于Babylon.js的WebGL场景中,建立棋盘状的地块和多个可选择的棋子对象,在点选棋子时显示棋子的移动范围,并且在点击移动范围内的空白地块时向目标地块移动棋子。在这一过程中要考虑不同棋子的移动力和
【MSP430】MSP430F5529 火箭板 --->点亮一盏LED实验
【MSP430】MSP430F5529 火箭板 --->点亮一盏LED实验 随着全国大学生电子设计大赛临近,新上手了一块MSP430F5529 Launch Pad,就参赛情况而言,这款开发板还是蛮受青睐的 本章内容: 1、使用MSP430F5529 Launch Pad 点亮板载的LED灯 实验准备: 1、硬件:MSP4
从0开始的python学习:编译原理实验2
从0开始的python学习:编译原理实验2 继续先把实验报告上的先搬上来。目前还停留在简单粗暴地解决问题的层次,对代码效率没有任何的考虑。 实验二:词法分析器1–状态转换图方法 1、该词法分析器的任务如下: 1)滤掉源程序中的无用成分,如空格; 2)输出分
实验19 FTP和DNS服务器
实验19 FTP和DNS服务器 1 实验目的 1.1 理解C/S模式 1.2 理解DNS原理 1.3 了解FTP工作原理 1.4 掌握模拟器搭建服务器的方法 1.5 掌握DNS分组捕获方法 2 实验准备 2.1 安装操作系统电脑一台 2.2 Wireshark软件 2.3 思科模拟器 3 实验步骤 3.1 构建拓扑图 3.2
MSTP的相关配置
MSTP的相关配置 【实验拓扑】 【实验需求】 利用MSTP实现VLAN10 和VLAN20的互访,并且VLAN10的流量通过路径S3到S1到R1,VLAN20的流量通过路径S3到S2到R1。 【实验过程】 1.配置客户端和路由器的IP地址。 [r1]int g0/0/0 [r1-GigabitEthernet0/0/0]ip add 192.
华为MSTP协议
华为MSTP协议 MSTP协议 实验拓扑 实验要求: 利用MSTP实现vlan10和vlan20互访 实验步骤: 1.配置客户端和路由ip R1: [r1]int g0/0/0 [r1-GigabitEthernet0/0/0]ip add 192.168.10.254 24 [r1-GigabitEthernet0/0/0]undo sh [r1-GigabitEthernet0/0/0]int g0/
图像模块实验1——环境搭建运行离线下载。
图像模块实验1——环境搭建,运行,离线下载。 1、在群里下载openmv的资料包,包括IDE以及替代模块的其他材料。 2、安装openmvIDE软件。 3、接线。USB接上, 摄像头接上。摄像头用OV5640,500W像素,可以自动对焦,但是这个摄像头容易发烫,可以自己接散热片
华为hybrid实验
华为hybrid实验 实验拓扑: 实验要求: 1.配置ip(略) 2.在交换机sw1,sw2上分别创建vlan2,vlan3,vlan10 【sw1】vlan batch 2 3 10 【sw2】vlan batch 2 3 10 3.在交换机sw1,sw2上配置hybrid接口 sw1: inter g0/0/1 port link-type hybrid port hybrid p