java程序设计实验报告册_20145215《Java程序设计》实验一实验报告

实验一 Java开发环境的熟悉

实验内容及步骤

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

命令行下程序开发:

在命令行下建立实验目录,进入该目录后创建exp1目录

敲入以下代码:

package exp1;

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 + " !");

}

}

将Hello.java代码保存到exp1目录后,用命令行编译运行通过

88d350a3013f493813c31505a4ed38ba.png

使用IDEA编辑、编译、运行、调试Java程序

创建HelloJDB文件,输入下面代码:

package exp1;

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;

}

}

编译运行结果如下:

30a0f1a704e4b7e69f60aeec3279bd88.png

IDEA的断点设置比较简单,如果你想在某行代码处设置断点,只需在该行代码的最左端鼠标左键点一下即可:

78327835460fc57f01f05e531ac46c39.png

接着使用Debug进行调试,代码运行到第14行停止:

ad2008da03362767fa4492658f5904ca.png

a4d34635bf35b782ea7f0b00a80ae5c6.png

练习-1

实现凯撒密码,并进行测试

实现凯撒密码代码如下:

package exp1;

import java.io.*;

public class Caesar{

public static void main(String[] args){

String s="";

int k=0;

char a[];

System.out.print( "请问:需要加密(0)or解密(1):" );

s=input();

k=Integer.parseInt(s);

if(k==0){

System.out.print("请输入你需要加密的密钥(K):");

s=input();

k=Integer.parseInt(s);

System.out.print( "请输入你需要加密的明文(a-z):" );

s=input();

a=s.toCharArray();

System.out.println("加密成功!!");

System.out.print("密文是:");

int i=0;

while(i

if(a[i]==' '){

System.out.print(' ');

i++;

continue;

}

if(a[i]>='a'&&a[i]<='z') {

System.out.print((char) ((a[i] + k - 'a') % 26 + 'a'));

}

i++;

}

}

else{

System.out.print("请输入你需要解密的密钥(K):");

s=input();

k=Integer.parseInt(s);

System.out.print( "请输入你需要解密的密文(a-z):");

s=input();

a=s.toCharArray();

System.out.println( "解密成功!!" );

System.out.print("明文是:");

int i=0;

while(i

if(a[i]==' '){

System.out.print(' ');

i++;

continue;

}

if(a[i]>='a'&&a[i]<='z') {

System.out.print((char) ((a[i] - k - 'a' + 26) % 26 + 'a'));

}

i++;

}

}

}

public static String input(){

String s="";

try{

BufferedReader in =new BufferedReader(new InputStreamReader(System.in));

s=in.readLine();

}

catch(IOException e){}

return s;

}

}

运行结果如下:

f4272991b0574f41d0983bfd7b9536bc.png

5d19d218881a3239e2c420aa9c770fa8.png

设计过程

凯撒密码实质就是移位密码,密钥为3,而字符在计算机中的存储都是以ASCII码的形式存储的,所以只要在用户输入的字符串每位加3便能得加密到一串密文,解密的过程也与这类似,这两点都是比较好实现的。关键在于要取得用户输入的字符串,在之前的学习中我们学过用Scanner让用户输入字符,而在本周的学习中又学习了IO流的输入输出,因此为了检验自己对新的知识的掌握程度,我决定用IO流来让用户输入,再将字符串转换成字符数组,这样操作起来便方便了许多。最终我在原来的凯撒密码的基础上进行了改进,让用户自己输入密钥,并且成功实现了加解密的功能。

PSP时间

步骤

耗时

百分比

需求分析

20min

13.8%

设计

30min

20.7%

代码实现

60min

41.4%

测试

15min

10.3%

分析总结

20min

13.8%

心得体会

第一次做Java实验,总体来讲过程还是比较顺利,题目也相对比较简单。我觉得做实验的时候,首先应该保持自己的思路清晰,心中要有个大概的框架,知道自己应该分几步去做,哪些地方容易实现,难点在哪。接下来就是攻破难点,通过教材或者百度解决自己的问题所在,当难点解决之后,这个实验基本就成功一大半了,剩下的问题可能就是自己在编译过程中的粗心所导致的一些小问题,这些都比较容易解决。此外,我们以后在编代码的时候要尽量模块化,这样能使得代码的可读性较强,修改起来也比较容易,不要把所有代码都写到一个main()函数里。

20145330《Java程序设计》第一次实验报告

20145330第一次实验报告 实验一Java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Ja ...

20145320《Java程序设计》第一次实验报告

20145320第一次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.04.08 18: ...

20145317彭垚 《Java程序设计》第一次实验实验报告

20145317彭垚 第一次实验实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验名称:Java开发环境的 ...

20155339《java程序设计》第一次实验报告

20155339第一次实验报告 实验一 java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的java程序: 2.使用IDEA编辑.编译.运行.调试java程 ...

20144303 《Java程序设计》第一次实验实验报告

20144303 第一次实验实验报告 北京电子科技学院(besti)实验报告 课程:java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.04.08 ...

20145240 《Java程序设计》第一次实验报告

20145240 第一次实验报告 实验内容 一.命令行下java程序开发 1.建立Code目录,输入mkdir 20145240命令建立实验目录,并使用dir命令查看目 ...

《Java程序设计》课程实验要求

目录 课程实验要求 注册实验楼账号 实验一 Java开发环境的熟悉 实验二 实验三 实验四 ...

20145127《java程序设计》第一次实验

第一次实验 实验内容及其步骤 1.使用JDK编写简单的Java小程序: Java编译的方法有很多,最基础最简单的就是使用命令行,记事本,Java虚拟机直接进行编译,下面 ...

&num;《JAVA程序设计》 20155214 实验五 网络编程与安全

20155214 实验五 网络编程与安全 实验内容 掌握Socket程序的编写: 掌握密码技术的使用: 设计安全传输系统. 实验要求 要求一 结对实现中缀表达式转后缀 ...

《JAVA程序设计》 20155208 实验四 Android程序设计

20155208 实验四 Android程序设计 实验一: 实验要求: Android Stuidio的安装测试: 参考

随机推荐

Linux任务计划

Linux任务计划: 一次性任务执行(at.batch): at:定时任务,指定一个时间执行一个任务,只能执行一次. at使用方式: 交互式:让用户在at>提示符输入多个要执行的命令: 批处理: ...

Android http超时选项的测试

Android通过HttpConnectionParams类为http参数设置提供了两个超时的设置选项,分别是setSoTimeout和setConnectionTimeout.初看一眼Android ...

Xcode UIView 中的Button 控件的属性和基本用法

//第一种创建UIButton的方法 //initWhitFrame: UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(1 ...

iOS页面传值方式

普遍传值方式如下: 1.委托delegate方式: 2.通知notification方式: 3.block方式: 4.UserDefault或者文件方式: 5.单例模式方式: 6.通过设置属性,实现页 ...

xcode 树形管理 cocos2d-x的资源

把资源以目录的形式加入xcode中, 同时, 在加入时, 选择"Create Folder References for any  added folders", 而不是默认的&q ...

TransactionScope简单用法

记录TransactionScope简单用法,示例如下: void Test() { using (TransactionScope scope = new TransactionScope()) { ...

DB2中的系统表SYSIBM&period;SYSDUMMY1

ORACLE中有一张系统数据库表DUAL用来访问系统的相关信息 SELECT SYSDATE FROM DUAL;  --返回当前系统日期 ------------------------------ ...

《JavaScript高级程序设计》读书笔记 ---数据类型

ECMAScript 中有5 种简单数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number.String和Object——复杂数据类型,Object 本质上是由一组 ...

Linux、docker、kubernetes、MySql、Shell、kafka、RabbitMQ运维快餐

检查端口占用 lsof -i:[port] netstat -anp |grep [port] 监控网络客户TCP连接数 netstat -anp | grep tcp |wc -l 获取某进程中运行 ...

GIT 使用cherry-pick 重演其他分支的提交

在使用Git时是否会遇到这样的问题: 你正在使用Git进行版本控制,某天你接着昨天的工作了提交了N个提交,结果在合并远程分支的时候才发现原来你在工作之前没有注意到你要提交的分支状态 结果导致你本来要提 ...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427207.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dockfile应用(二)

1创建目录dl2 Cd dl2 Touch dockerfile Touch index,html 2ROM ubuntu MAINTAINER xbf RUN sed -i ‘s/archive.ubuntu.com/mirrors.ustc.edu.cn/g’ /etc/apt/sources.list RUN apt-get update RUN apt-get install -y nginx COPY index.html /var/www/html ENTRYPOINT [&quo…

Fiddler 学习笔记---命令、断点

输入命令框&#xff1a; 1 输入 &#xff1f;51testing 高亮显示对应记录 2 >10 选择body大于10的记录 3 <10 选择body<10的记录 4 200 选择result200的记录行 5 www.51testing.com 选择host包含www.51testing.com的记录 6 select image 选择 content-type 包含image…

docker Registry镜像仓库

docker search whalesay搜索 2docker pull docker/whalesay 拉取镜像 3docker ps 4docker run docker/whalesay cowsay Docker不错 5docker tag docker/whalesay xibeifeng/whalesay docker images 6登录hub官网 可以 docker push xibeifeng/whalesay上传咯

java中的集合框架_JAVA中的集合框架(上)List

第一节 JAVA中的集合框架概述集合的概念&#xff0c;现实生活中&#xff1a;很多事物凑在一起就是一个集合&#xff1b;数学中的集合&#xff1a;具有相同属性事物的总体&#xff1b;JAVA中的集合&#xff1a;是一种工具类&#xff0c;就像是容器&#xff0c;储存任意数量的具有…

【接口时序】2、Verilog实现流水灯及与C语言的对比

一、 软件平台与硬件平台 软件平台&#xff1a; 1、操作系统&#xff1a;Windows-8.1 2、开发套件&#xff1a;ISE14.7 3、仿真工具&#xff1a;ModelSim-10.4-SE 硬件平台&#xff1a; 1、FPGA型号&#xff1a;XC6SLX45-2CSG324 二、 原理介绍 我的开发板上有4个LED灯&#xf…

windows下安装mysql服务

1.下载 首先上MySql的官网下载 https://dev.mysql.com/downloads/mysql/ &#xff0c;本人下载的是 mysql-5.7.24-winx64.zip版。 2.解压存放目录 下载完解压到你想要存放的位置 我的是解压到D:\Program Files\MySQL 。 3.配置环境变量 在环境变量path中追加一句&#xff1a;;D…

web.xml 配置文件 超详细说明!!!

一、web.xml是什么&#xff1f; 首先 web.xml 是java web 项目的一个重要的配置文件&#xff0c;但是web.xml文件并不是Java web工程必须的。 web.xml文件是用来配置&#xff1a;欢迎页、servlet、filter等的。当你的web工程没用到这些时&#xff0c;你可以不用web.xml文件来配…

window上安装mysql服务核心版(亲测可用)

上次安装服务启动后&#xff0c;这次又准备重新安装&#xff0c;出现了了很多问题 1首先我们还是去官网下载对应的window安装包 2放置在D:\Program Files\mysql下面&#xff0c;没有则新建一个Program Files 3在同路径下E:\Program Files\mysql建立一个my.ini文件 [mysql] 设置…

windows安装apache

1打开apache官网http://httpd.apache.org/ 下载win版本 2解压放入D盘D:\Apache24 3修改http.conf,安装路径 端口改成8080&#xff0c;避免占用&#xff0c;原先是80 4http -t检查配置文件合法 5httpd -k install -n apache安装主服务 6net start apache

公司网络故障那些事(路由器变交换机)

首先这次网络故障是断电引起的 我给大家画个模型 三层的为八口交换机 一层的为五口打印机 笔记本代表两台无线打印机 首先八口的连接了公司采购电脑一台&#xff0c;业务电脑一台&#xff0c;其他电脑三台 第二个五口交换的连接财务电脑两台 最后一个五口交换机连接两台无线打印…

java 文件上传 配置_SpringMVCMultipartFilefile文件上传及参数接收

一、form表单属性中加上enctype"multipart/form-data"form表单的二、配置文件中配置MultipartResolver文件超出限制会在进入controller前抛出异常&#xff0c;在允许范围内这个配置无影响三、MultipartFile接受文件并通过IO二进制流(MultipartFile.getInputStream())…

list foreach方法_Java集合三兄弟List,Set,Map你分的清楚吗?

前言集合作为Java基础知识的核心部分&#xff0c;不论是在面试还是平时工作中都是经常遇见的。当然面对熟悉的List、Set、Map&#xff0c;面试管的提问一般也都不会从简单的问题出发了&#xff0c;今天就来聊下集合中的高级部分&#xff0c;让你对它们的理解更加清楚。一、List…

SpringBoot使用Jsp

本文是简单总结一下SpringBoot使用Jsp的Demo。 前言 在早期做项目的时候&#xff0c;JSP是我们经常使用的java服务器页面&#xff0c;其实就是一个简化servlet的设计&#xff0c;在本文开始之前&#xff0c;回顾一下jsp的几大对象&#xff0c;如图。 而在现在SpringBoot框架流行…

cacti 监控安装失败

1首先这是基于lnmp模式进行的 2yum安装 yum -y install httpd mysql mysql-server php php-mysql php-json php-pdo 3lib库 yum -y install cairo-devel libxml2-devel pango pango-devel 4 解压rrdtool-1.3.1.tar.gz Cd rrdtool-1.3.1 ./configure --prefix/usr/local/rrdtoo…

project 模板_施工进度横道图不会做?18份计划模板收藏好,输入参数迅速成图...

施工进度横道图不会做&#xff1f;18份计划模板收藏好&#xff0c;输入参数迅速成图作为施工组织设计的关键内容&#xff0c;施工进度计划控制了工程施工进度、工程施工期限等各项施工活动。进度计划是否合理&#xff0c;直接影响施工速度、成本和质量。因此施工中的其他工作必…

JavaScript学习系列3 -- JavaScript arguments对象学习

在实际项目开发中&#xff0c;目前还是很少使用到JavaScript 中的arguments对象&#xff0c;那么它到底是干什么用的呢 arguments是JavaScript中的一个类数组对象&#xff0c;它代表传给一个正在执行的函数function的参数列表。 看完这个定义&#xff0c;需要明白&#xff0c…

面向对象的四大特征

面向对象的四大特征 面向对象的程序设计方法要求语言必须具备抽象、封装、继承和多态性这几个关键要素。 面向对象程序设计&#xff0c;是通过为数据和代码建立分块的内存区域&#xff0c;以便提供对程序进行模块化的一种程序设计方法。对象是计算机内存中的一块区域&#xff0…

centos7 安装cacti

1 cacti运行环境准备   cacti需要phpapachemysqlsnmpRRDTool&#xff0c;以及cacti本身。cacti本体是用php开发的网站&#xff0c;通过snmp对远端设备信息进行采集。apachemysqlphp在以前已经做过了      这里只对剩余的部分进行安装。 2 安装snmp    yum install -y n…

linux下zabbix安装

1本人用的是apachemysqlphp 2下载zabbix软件包&#xff0c;官网下载 https://sourceforge.net/projects/zabbix/files/ZABBIX Latest Stable/2.2.23/zabbix-2.2.23.tar.gz/download 上传到 var/www/html下 3cd /var/www/html #进入软件包下载目录 tar zxvf zabbix-2.2.23.tar.g…

定时器取数据时实时进来的数据_Redis-数据淘汰策略amp;持久化方式(RDB/AOF)amp;Redis与Memcached区别...

Redis与Memcached区别&#xff1a; 两者都是非关系型数据库。主要有以下不同&#xff1a; 数据类型&#xff1a; Memcached仅支持字符串类型。 redis支持&#xff1a;String,List,set,zset,hash 可以灵活的解决问题。 数据持久化&#xff1a; Memcached不支持持久化。 Redis采…