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,一经查实,立即删除!

相关文章

异步汇合

//多个异步请求完成后汇总结结果&#xff08;任务执行不区分先后顺序&#xff09; dispatch_queue_t queue dispatch_get_global_queue(0,0); dispatch_group_t group dispatch_group_create(); dispatch_group_async(group, queue, ^{/*任务a */ }); dispatch_group_async(g…

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…

python实验九答案_Python实验九

安徽工程大学python程序设计实验报告班级&#xff1a;物流191 姓名&#xff1a;王悦 学号&#xff1a;3190505103 日期&#xff1a;2020.6.16 指导老师&#xff1a;修宇【实验名称】实验九python包管理【实验目的】进一步了解python的计算生态&#xff0c;…

java gb13000_浅谈 GB13000

引言我前几天写了一篇随笔“随机生成常用汉字(再次改进版)”。园友“菜菜灰”评论说“看着太累&#xff0c;不认识的字还是多&#xff0c;代码也很多&#xff0c;几段代码显示2万多汉字”&#xff0c;并给出了相应的 C# 代码&#xff1a;1 System.Text.StringBuilder sb newSy…

元素的移动

我的想法&#xff1a; 1.首先给移动的元素一个绝对定位&#xff0c;position: absolute, 通过top和left来实现元素的移动。 2. 基本过程&#xff1a;(1)当鼠标的左键按下去时&#xff0c;给元素添加onmousemove, onmouseleave(鼠标不在元素上时&#xff0c; 移除onmousemove事件…

python打开csv文件、计算总成绩_实现读取csv文件,文件里面是有限个百分数成绩(99.6、76.8等等...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼实现读取csv文件&#xff0c;文件里面是有限个百分数成绩(99.6、76.8等等)导出GPA 和等级代码是这样&#xff0c;但是报错了&#xff0c;在score float(sc)这行就报错了&#xff0c;下面有没有错误还不知道&#xff0c;大佬能帮看…

json java typeof_Json对象与Json字符串的转化、JSON字符串与Java对象的转换

一.Json对象与Json字符串的转化1.jQuery插件支持的转换方式&#xff1a;$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象2.浏览器支持的转换方式(Firefox&#xff0c;chrome&#xff0c;opera&#xff0c;safari&#xff0c;ie9&#xff…

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…

python中文编程教学_中谷python中文视频教程(全38集)

python在线教学视频教程共40节&#xff0c;中谷教育录制&#xff0c;主要介绍了python编程方面的知识。python在线教学-01-走进pythonpython在线教学-02-开始编程吧python在线教学-03-变量python在线教学-04-运算符-表达式python在线教学-05-数据类型-数字-字符串python在线教学…

java 异步socket_java Socket读写异步分离

在Android开发中&#xff0c;基于Socket的通信必须是非阻塞式的&#xff0c;因此需要Reader和Writer异步分离&#xff0c;此外需要监听Socket网络状态、监听接口package com.io.sockets;import java.io.IOException;import java.net.Socket;public interface SocketStatusListe…

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文件来配…

python条件表达式三门课至少有一门及格_Python/ MySQL练习题(一)

Python/ MySQL练习题(一)2、查询“生物”课程比“物理”课程成绩高的所有学生的学号1 SELECT2 *3 FROM4 (5 SELECT6 *7 FROM8 course9 LEFT JOIN score ON score.course_id course.cid10 WHERE11 course.cname ‘生物‘12 ) AS A13 INNER JOIN (14 SELECT15 *16 FROM17 course…

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

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

java添加信息_java – 向异常添加信息

我想向堆栈跟踪/异常添加信息.基本上我现在有这样的东西,我真的很喜欢&#xff1a;Exception in thread "main" java.lang.ArithmeticException: / by zeroat com.so.main(SO.java:41)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect…

python封装模块_Python练手,封装日志模块,v2

前面第1版写好后&#xff0c;很凌乱&#xff0c;主要的问题在于&#xff0c;Python不支持方法重载&#xff0c;想要灵活创建对象&#xff0c;当时的变通办法是&#xff0c;先链式地有选择地设置属性(方法重载的本质就是有选择地设置属性)&#xff0c;再做实例化&#xff0c;这样…

发现了拯救“文献多的一团麻”的工具

Endnotes是一款好的文献管理工具; 可用以收集文献&#xff1b;整理在引用文献时的不知所踪(提前在reference中细化标题)&#xff1b;还有一些在阅读文献时 转瞬即逝的灵感(notes); 使用笔记来自&#xff1a;感谢其悉心编写。 http://blog.sciencenet.cn/blog-484734-367968.htm…