20145226夏艺华 《Java程序设计》实验报告一
实验一 Java开发环境的熟悉(Linux + IDEA)
实验内容
-
使用JDK编译、运行简单的Java程序;
-
使用Eclipse 编辑、编译、运行、调试Java程序。
实验步骤
(一)命令行下Java程序开发
-
首先双击桌面上的Xface终端图标,打开终端(类似Windows下的cmd),之后会自动运行shell程序,如下图所示:
-
输入cd Code命令进入Code目录,如下图所示:
-
输入mkdir 20135100 命令建立实验目录,使用ls命令或dir命令查看建立的目录情况。如下图所示:
-
输入mkdir exp1建立第一个实验目录,然后输入cd exp1进入实验一目录,可以输入pwd命令查看当前工作路径,如下图所示:
-
输入gedit Hello.java或vim Hello.java(建议大家花点时间学习一下Vim)编辑Hello.java,并输入以下代码:
package xyh;
import java.util.Scanner;
public class Hello{
public static void main(String[] args){
System.out.println("Input your first name, please:");
Scanner s = new Scanner(System.in);
String name = s.next();
System.out.println("Hello " + name + " !");
}
}
上图中敲代码时敲掉了一个“;”。
- 输入javac -d . Hello.java命令编译代码,输入java xyh.Hello命令运行
程序。结果如下图所示:
- 修改代码后再次运行:
(二)IDEA下Java程序开发、调试
-
打开IDEA,如下图所示:
-
在IDEA中单击Create New Project,如下图所示:
-
输入项目名称xyh,并单击Finish按钮完成新建项目,如下图所示:
-
新建Java类,输入代码:
/**
* Created by XiaYihua on 2017/1/29.
*/
import java.util.Scanner;
public class xyh{
public static void main(String[] args){
System.out.println("请输入你的名字:");
Scanner scanner = new Scanner(System.in);
String name = scanner.next();
System.out.println("Hi " + name);
}
}
-
单击运行按钮(或使用Ctrl+F11快捷键),就可以在控制台(Console)中看到运行结果。如下图所示:
-
单击Window->Open Perspective->Debug打开调试视图,设置断点并单步运行,如下图所示:
(三)练习实现凯撒密码,并进行测试
- 凯撒密码代码如下:
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());
}
}
}
运行结果:
问题
凯撒密码移位操作的实现?
解决
采取数组的形式,把输入的数字放在一个数组里,然后逐个进行移位加密,核心代码如下:
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) 时间:
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 40min | 18.2% |
设 计 | 50min | 22.7% |
代码实现 | 60min | 27.3% |
测 试 | 30min | 13.6% |
分析总结 | 40min | 18.2% |