2018-2019-2 20175308实验一 《Java开发环境的熟悉》实验报告
2018-2019-2-20175308 实验一 《Java开发环境的熟悉》实验报告
一、实验内容及步骤
(一)使用JDk编译、运行简单的Java程序
- 输入
cd Code命令进入Code目录 - 输入
mkdir 20175308建立实验目录 ls查看当前工作目录cd 20175308进入实验目录,mkdir exp1建立第一个实验目录cd exp1进入第一个实验目录,pwd查看当前工作路径vim Hello.java编辑Hello.javajavac -d . Hello.java编译代码java Hello运行代码
实验截图:

(二)使用IDEA调试Java程序
- 新建HelloJDB文件,键入如下代码:

- 单击左侧,在某一行添加断点
run、debug调试当前代码- 如图所示图标为
Step Over向下执行一行

- 如果要判断循环内部是否有问题产生。我们可以添加条件断点:如图所示,在for循环中添加i为50的断点

(三)练习
题目:判断一个数是不是回文数,数从命令行输入,并进行测试
代码如下:
import java.util.*;
public class Huiwen {
public static void main(String[] args) {
int i = 0;
int l = 0;
int sum = 1;
String str;
int temp[] = new int[100];
int t = 1;
int[] count = new int[100];
int[] chs = new int[100];
Scanner reader = new Scanner(System.in);
System.out.println("请输入你要判断的数字");
str = reader.nextLine();
l = str.length();
for (i = 0; i < str.length(); i++) {
chs[i] = str.charAt(i);
}
for (i = 0; i < l; i++) {
if (chs[i] < 49 || chs[i] > 57) {
temp[i] = 0;
} else temp[i] = 1;
t *= temp[i];
}
if (t == 1) {
for (i = 0; i < l / 2; i++) {
if (chs[i] == chs[l - i - 1]) {
count[i] = 1;
} else {
count[i] = 0;
}
sum *= count[i];
}
if (sum == 1)
System.out.println(str + "是回文数");
else
System.out.println(str + "不是回文数");
}
else System.out.println("输入含非法字符");
}
}
运行截图:

思路:
回文数即首尾对称,可以将输入的字符串存储成为一个数组。找到一个轴,比较首尾是否相等,即可判断是否是回文数。
二、实验中遇到的问题及解决
- 在最初始版本的代码中,我简单的编写了一个比较首尾的代码段
for (i = 0; i < l / 2; i++) {
if (chs[i] == chs[l - i - 1]) {
System.out.println(str + "是回文数");
} else {
System.out.println(str + "不是回文数");
,在运行中出现以下内容:
解决思路:这种内容的错误是,在for循环中,每比较一位,就打印一遍结果。于是我建立了一个count数组和int型的sum,存储每一位的比较结果,如果相等,计作1,不相等计作0,sum为count数组各位相乘的结果,只要有一位不相等(即count[i]为0),都会使乘法结果为0。通过判断sum值来判断是否是回文数。
补充上问题:在设定int型参数sum后。IDEA标注程序错误
解决思路:通过阅读IDEA的提示,提示中有个关键字initialize,判断出因为没有给sum值初始化,给sum初始化值为1后,程序正确在第二版本的代码中,我发现自己忽略了一种情况,当输入不全为数字时,只要满足回文形式,程序也判断为回文数。而这显然是不正确的。[图片]
解决思路:有了上个问题的解决,这个问题就可以如法炮制,建立另一个数组判断每一位是否都是数字,如果有不是数字的字符,就不进行判断回文的步骤。形成最终版本的代码。
三、实验总结与体会
- 在做实验的时候,不但要分析一个程序大的框架思路,即如何实现程序的要求,更要想清可能产生的所有异常情况,将程序不应该存在的边边角角全都
2018-2019-2 20175308实验一 《Java开发环境的熟悉》实验报告的更多相关文章
- 20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告
20145308刘昊阳 <Java程序设计>实验一报告 实验名称 Java开发环境的熟悉 实验内容 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试J ...
- 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验一 Java开发环境的熟悉 实验报告
20175316 盛茂淞 2018-2019-2 <Java程序设计>实验一 Java开发环境的熟悉 实验报告 一.实验要求 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA ...
- 20165327《Java程序设计》实验一 Java开发环境的熟悉 实验报告
20165327<Java程序设计>实验二 <Java面向对象程序设计>实验报告 实验二 <Java面向对象程序设计> 一.实验报告封面 课程:Java程序设计 班 ...
- 20165205 实验一 java开发环境的熟悉 实验报告
20165205 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:刘喆君 学号:20165205 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验 ...
- 20162327实验一Java开发环境的熟悉实验报告
20162327 <程序设计与数据结构>第一次实验报告 基础知识 1.JDB的使用 使用JDB调试程序需要以下五个步骤: 1.设置断点 stop in 2.run 3.print 4.ne ...
- 实验一Java开发环境的熟悉
实验一Java开发环境的熟悉 实验内容 •命令行下Java程序开发 •IDEA下Java程序开发.调试 •练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) •实现凯撒密码 ...
- 20175316 盛茂淞 实验一 Java开发环境的熟悉
20175316 盛茂淞 实验一 Java开发环境的熟悉 实验目的 使用JDK编译.运行简单的Java程序 实验要求 1.建立"自己学号exp1"的目录 2.在"自己学号 ...
- 20155327实验一 Java开发环境的熟悉
20155327实验一 Java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的java程序 2.使用IDEA编辑.编译.运行.调试java程序 实验步骤 1.使用JDK编译.运行简单的jav ...
- 20165233 实验一 Java开发环境的熟悉
20165233 实验一 Java开发环境的熟悉 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 2.完成实验.撰写实验 ...
- 20155231 java实验一 Java开发环境的熟悉
20155231 java实验一 Java开发环境的熟悉 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 完成实验.撰写实验 ...
随机推荐
- 前端SEO
一.搜索引擎工作原理 当我们在输入框中输入关键词,点击搜索或查询时,然后得到结果.深究其背后的故事,搜索引擎做了很多事情. 在搜索引擎网站,比如百度,在其后台有一个非常庞大的数据库,里面存储了海量的关 ...
- java工具包一:日期处理
作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7846812.html 邮箱:moyi@moyib ...
- python学习之老男孩python全栈第九期_day004作业
看代码写结果:1. a=[1,2,3,6,"dfs",100]s=a[-1:]print (s) 结果:[100] 2. s=a[-1:0:-1]print(s) 结果:[100, ...
- 设计模式(14)--Command(命令模式)--行为型
作者QQ:1095737364 QQ群:123300273 欢迎加入! 1.模式定义: 命令模式属于对象的行为模式.命令模式又称为行动(Action)模式或交易(Transactio ...
- ajax请求json数据跨域问题(转)
一.后台代理技术 由服务器端向跨域下的网站发出请求,再将请求结果返回给前端,成功避免同源策略的限制. 具体操作如下: 1.在localhost:81/a.html中,向同源下的某个代理程序发出请求 $ ...
- MySql 正则表达式简介及使用
MySql正则表达式简介及使用 by:授客 QQ:1033553122 简介 正则表达式描述了一组字符串,该字符放置于REGEXP工具后面.作用是将一个正则表达式与一个文本串进行比较. 最简单的正则表 ...
- Nodejs搭建wss服务器
首先使用OpenSSL创建自签名证书: #生成私钥key文件 openssl genrsa > /path/to/private.pem // #通过私钥文件生成CSR证书签名 openssl ...
- 安卓基础之Activity的四种启动模式
Activity的四种启动模式 Activity的启动模式在清单文件中配置: <activity ... activity:lauchMode:"..."; //有四种模 ...
- react native中Unable to load script from assets 'index.android.bundle'解决方案
刚刚朋友问我,说是创建好一个项目,运行后报错:Unable to load script from assets 'index.android.bundle',以前好好的没出现这种现象,于是我找到一个 ...
- LeetCode题解之 3Sum
1.题目描述 2.问题分析 使用hashtable 的方法做,解法不是最优的,思路简单直观. 3.代码 vector<vector<int>> threeSum(vector& ...
- 20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告