您的位置:首页 > 编程语言 > Java开发

20145210姚思羽《Java程序设计》实验一实验报告

2016-04-10 15:45 507 查看

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

实验内容

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

2.使用Eclipse 编辑、编译、运行、调试Java程序。

实验知识点

1.JVM、JRE、JDK的安装位置与区别;

2.命令行运行javac;java;javac -cp; java -cp;

3.PATH,CLASSPATH,SOURCEPATH的设定方法与应用;

4.包管理:package;import;javac -d ;

5.Eclipse(Netbeans)管理Java项目,调试:断点、单步执行等;

6.Java基础语法:类型与类型转换;变量;运算符;流程控制等;

7.JDK帮助文档的使用。

实验步骤

(一)命令行下 Java 程序开发

•JVM:(JAVA虚拟机)JVM是Java程序的操作系统,有了JVM,Java程序就可以达到“编辑一次,到处执行”的跨平台目的。JVM的可执行文件就是.class文档。

•JRE:(Java运行时环境)JRE是Java执行环境,包括Java SE API 与JVM、部署技术。

•JDK:(Java开发工具包)编译程序的工具程序由JDK提供,包括Java程序语言、工具程序与JRE。

•三者区别:

•JDK 是用于开发的,而 JRE 是用于运行 Java 程序的

•JDK 和 JRE 都包含了 JVM,从而使得我们可以运行 Java 程序

•JVM 是java 编译程序的核心并且具有平台独立性

•我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用

•以下为 JDK 与 JRE 的安装位置:



•编写.java 程序,运行javac后出现.class 文件:





(二)IDEA 下 Java 程序开发、调试

•首先新建一个窗口:点击右上角 File-New-Progect,弹出一个窗口,勾选其中的 Java 选项:



•给新的项目起一个名字:



•在 src 处右键新建 java 程序:



•运行程序:

import java.util.Scanner;

public class Exp1{
public static void main(String[] args){
System.out.println("请输入你的名字:");
Scanner scanner = new Scanner(System.in);
String name = scanner.next();
System.out.println("Hi " + name);
}
}

•运行结果:



•断点调试:

•在 IDEA 中选定要设置断点的代码行,在该行最左边单击鼠标左键




•开启调试会话




•单步调试:

•step over:点击图示中向下的箭头,程序向下执行一行






•step into:点击step over 右边的斜向下的箭头,程序向下执行一行,如果该行有自定义方法,则运行进入自定义方法




(三)练习

•题目:实现凯撒密码,并进行测试

•代码如下:

import java.io.*;
import java.util.Scanner;

public class Caesar {
public static void main(String[] args){
System.out.print("请输入密钥:");
Scanner s = new Scanner(System.in);
int a = s.nextInt();
C(a);
}

public static void C(int n){
try{
char b[];
BufferedReader br2 = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一段明文:");
String str2 = br2.readLine();
b = str2.toCharArray();
System.out.println("密文为:");
int k = n;
for(int i = 0;i < str2.length();i++){
char ch = (char)((b[i] - 'a' +k)%26 +'a');
System.out.print(ch);
}
System.out.println("密钥 K = " + k);
}catch(IOException e){
System.out.println(e.getMessage());
}
}
}

•运行结果如下:



问题及解决

•问题:平常对于凯撒密码的加一个数字模26还是比较理解的,但是编写代码的时候却无从下手

•解决:采取数组的形式,把输入的数字放在一个数组里,然后一个一个进行加密,具体代码如下:

for(int i = 0;i < str2.length();i++){
char ch = (char)((b[i] - 'a' +k)%26 +'a');
System.out.print(ch);
}

本次实验的 PSP(Personal Software Process) 时间:

步骤耗时百分比
需求分析40min18.2%
设 计50min22.7%
代码实现60min27.3%
测 试30min13.6%
分析总结40min18.2%
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: