20165326 java实验一
《Java程序设计》Java开发环境的熟悉 实验报告
课程:Java程序设计 班级:1653班 姓名:陈卓 学号:20165326
指导教师:娄嘉鹏 实验日期:2018年4月2日
实验时间:13:45 - 3:25 实验序号:实验一
实验名称:Java开发环境的熟悉
实验题目:判断一个数是不是回文数,数从命令行输入,并进行测试(正常情况,异常情况,边界情况)
实验内容:
1.使用JDK编译、运行简单的Java程序;
2.使用IDEA 编辑、编译、运行、调试Java程序。
实验要求:
1.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程;
2.完成实验、撰写实验报告,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等);
3.实验报告中统计自己的PSP(Personal Software Process)时间;
4.严禁抄袭。
一、
在ubantu中建立目录并进行代码的编译

此处使用mkdir进行目录的创建,cd进入当前目录,tree命令来查看当前目录下的结构,使用vim进入编辑,:wq!保存并退出,就可以接着使用javac和java命令进行编译运行了
编译运行带包的代码时,使用-d命令进入该目录,使用java (包名).(类名)运行该代码

如果是在IDEA里新建项目,参照
二、断点
设置断点:单击;设置条件断点:在条件语句行单击右键,condition格里输入希望停止的条件(如i==2)

使用debug单步调试(F7、F8)时会出现确认,选择yes即可。

整体运行,停止在i==2条件下

三、个人实验
实验要求:使用命令行输入回文数并判断
代码
public class Huiwen {
public static void main(String[] args) {
for (String num : args) {
String str1 = num ;
StringBuilder str2 = new StringBuilder(str1);
str2.reverse();
int count = 0;
for (int i = 0; i < str1.length(); i++) {
if (str1.charAt(i) != str2.charAt(i)) {
System.out.println(str1 + "不是回文数");
break;
} else {
count++;
}
}
if (count == str1.length()) {
System.out.println(str1 + "是回文数");
}
}
}
}
首先题目要求使用命令行传入参数,参考传参以及转换的知识。在此处我选择直接将输入的数据看作为一个字符串,若将其看作是一个数据,则要使用到参数的改变,添加如下语句并进行改写(假设为long型数据)
long[] tmp = new long[args.length];
for (int j = 0; j < args.length; j++) {
tmp[j] = Long.parseLong(args[j]);
}
for (long num : tmp)
......
传参截图

运行结果

其次,所谓回文数,反转之后仍然相等,如12321。想到输入字符串之后将其反转,进行逐位比较,用到了reverse命令,参考字符反转方法,使用count计数和.charAt(i)进行逐位比较。单步运行截图



四、个人体会
| 步骤 | 耗时 | 百分比 |
|---|---|---|
| 需求分析 | 20min | 22.2% |
| 设计 | 30mim | 33.3% |
| 代码实现 | 20min | 22.2% |
| 测试 | 30min | 33.3% |
| 分析总结 | 10min | 11.1% |
我觉得这个表格不算特别准确,这个实验我的很多时间都是分散的,所以写了一个大致的时间。我的实验并没有涉及到特别边缘的数据,因为它本身是作为是字符串进行输入的,负数的符号也是作为字符串的一部分,所以不算回文。此次实验帮助巩固了我之前学到的知识,以及锻炼了我动手自己编写代码的能力,从思考到代码的成型,看着代码调试成功心里还是很开心的。
20165326 java实验一的更多相关文章
- 20165326 java实验四
20165326实验四-Android程序设计 一:Android Stuidio的安装测试 1.安装Android Stuidio 具体跟着教程走就行主要是配置的时候要选择下载SDK或手动配置,详细 ...
- 20165326 java实验二
2017-2018-2 20165326实验二<Java面向对象程序设计>实验报告 课程:Java程序设计 班级:1653班 姓名:陈卓 学号:20165326 成绩:指导教师:娄嘉鹏 实 ...
- 20165326 java实验五
实验五 网络编程与安全 一.实验内容 任务一: 结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java 这个代码在 ...
- Java实验五
20145113 Java实验五 网络编程及安全 实验内容 对于客户端与服务器端:修改原代码,使其可以实现连续的传消息,并且传送文件. 对于加解密部分: 对于原先的加密只加密"hello w ...
- Java实验四
20145113 Java实验四 快捷键 之前没怎么记ISDEA的快捷键,但是熟练使用快捷键可以带来很多的便利,于是先开始学习一些常用的快捷键,就采用它默认的快捷键,这样后期就不会出现冲突,一些and ...
- Java实验一
20145113 Java实验一 使用JDK编译.运行简单的Java程序 安装JDK并配置相关环境 安装JDK后配置环境变量 计算机→属性→高级系统设置→高级→环境变量 新建 JAVA_HOME 变量 ...
- Java实验二20135104
课程:Java程序设计 班级: 1351 姓名:刘帅 学号:20135104 成绩: 指导教师:娄嘉鹏 实验日期:2 ...
- Java实验报告五:Java网络编程及安全
Java实验报告五:Java网络编程及安全 ...
- Java实验报告二:Java面向对象程序设计
Java实验报告二:Java面向对象程序设计 ...
随机推荐
- vux弹框显示
//点击按钮,执行什么成功,失败用这个合适this.$vux.toast.show({ text: '添加成功'}) //点击按钮,提示出现的问题 this.$vux.toast.show({ tex ...
- laravel安装Excel安装不上
1.生明版本号 composer require maatwebsite/excel 2.1我的PHP是7.0安装Excel得2.1 2.在composer.json中加入 "maatweb ...
- Numpy常用API
目录 一.输入和输出 1.1 NumPy二进制文件(NPY,NPZ) 1.2 文本文件 1.3 正则表达式解析 1.4 原始二进制文件 1.5 内存映射文件 1.6 Base-n相关 1.7 数据源 ...
- python基础之函数名的使用,闭包以及迭代器
内容梗概: 1. 函数名的使⽤用以及第⼀一类对象 2. 闭包 3. 迭代器 1.函数名一. 函数名的运⽤.函数名是一个变量, 但它是⼀个特殊的变量, 与括号配合可以执行函数的变量.1.1 函数名的内存 ...
- Permutations CodeForces - 736D (矩阵逆)
对于删除每个对(x,y), 可以发现他对答案的贡献为代数余子式$A_{xy}$ 复习了一下线代后发现代数余子式可以通过伴随矩阵求出, 即$A_{xy}=A^*[y][x]$, 伴随矩阵$A^*=|A| ...
- 【IDEA】【1】准备工作
1,官方网址(https://www.jetbrains.com/idea/) 2,网盘地址(为ideaIU-2018.2.5) 链接:https://pan.baidu.com/s/1oLgY_Pb ...
- MySQL安装脚本最佳实践
MySQL安装脚本最佳实践 2018年9月19日 17:01 #!/bin/bash export host_ip=192.168.7.206 echo '#1.取master主机ip的后三位 ...
- 函数使用一:采购订单BAPI_PO_CREATE1
REPORT YTEST01. DATA:GS_POHEADER TYPE BAPIMEPOHEADER, GS_POHEADERX TYPE BAPIMEPOHEADERX, GT_RETURN T ...
- oracle 日常设置
查看缓冲区命令:list 执行save 1.sql 可以吧缓冲区的命令保存下来. 执行 @1.sql可以执行保存下来的内容: show feedback 显示反馈信息,最后一行. show ...
- [LeetCode] 99. Recover Binary Search Tree(复原BST) ☆☆☆☆☆
Recover Binary Search Tree leetcode java https://leetcode.com/problems/recover-binary-search-tree/di ...