20175316 盛茂淞 2018-2019-2 《Java程序设计》实验一 Java开发环境的熟悉 实验报告

一、实验要求

  • 1.使用JDK编译、运行简单的Java程序;

  • 2.使用IDEA 编辑、编译、运行、调试Java程序。

二、实验知识点

  • 1.JVM、JRE、JDK的安装位置与区别;

  • 2.命令行运行javac;java;javac -cp; java -cp;

  • 3.PATH,CLASSPATH,SOURCEPATH的设定方法与应用;

  • 4.包管理:package;import;javac -d ;

  • 5.IDEA管理Java项目,调试:断点、单步执行等;

  • 6.Java基础语法:类型与类型转换;变量;运算符;流程控制等;

  • 7.JDK帮助文档的使用。

三、实验步骤

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

  • Ctrl+Shift+T打开终端
  • 输入cd java-besti-20175316进入目录下,准备建立20175316exp1目录
  • 输入mkdir 20175316exp1建立自己学号的目录
  • 输入cd 20175316exp1进入目录
  • 输入mkdir src bin建立bin、src目录
  • 输入vim src/Hello.java编写Hello.java
  • 输入javac src/Hello.java -d bin编译Hello.java到bin目录下
  • 输入java -cp bin Hello运行Hello.java
  • 实验截图



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

  • 编写完HelloJDB.java后,输入Run->Run(Ctrl+Shift+F10)运行
  • 任取一行设置断点后,输入Run->Debug(Ctrl+Shift+F9)调试程序
  • 输入Run->Step Over(F8)单步调试
  • 设置条件断点:设置另外一个断点,且设置Condition(i==50)
  • 输入Run->Resume(F9),表示从上一个断点直接跳到i=50的情况
  • 实验截图







(三)通过命令行和IDEA两种方式实现,在IDEA下练习调试程序

产生一个随机数,让用户猜测,猜错了告诉用户是大了还是小了。 并进行测试(正常情况,异常情况,边界情况)

代码
import java.util.Scanner;
import java.util.Random;
public class Main {
public static void main(String[] args) {
int num = (int)(Math.random()*5316); //返回大小在0到5316之间的整数
Scanner scan = new Scanner(System.in);
System.out.println("请输入整数,在0到5316之间");
int a = -1;
int i = 0;
while (a!=num&&i<10) {
while (!scan.hasNextInt()) {
// 输入错误的信息
System.out.printf("输入的数据类型有问题!请再次输入。(你还有%d次机会)\n", 10 - i);
scan = new Scanner(System.in);
}
a = scan.nextInt();
if (a < 0 || a > 5316) {
System.out.printf("输入的数要在0到5316之间!请再次输入。(你还有%d次机会)\n", 10 - i);
scan = new Scanner(System.in);
continue;
} else if (a != num) {
if (a < num) {
System.out.println("小了");
} else if (a > num) {
System.out.println("大了");
}
i++;
}
}
if (a == num)
System.out.println("恭喜你,猜对了!");
else
System.out.println("很遗憾,你没有机会了"); }
}
运行情况



调试情况

码云链接

https://gitee.com/shengmaosong/java-besti-20175316/blob/master/shiyan1/shiyan1_3/shiyan1_3.java

实验体会与总结

  • 设计第三个实验花费很长时间,但是八思路理清楚写的时候就不会手忙脚乱
  • 使用IDEA编程提高效率,不仅可以自动补全,而且可以检查出错误

20175316 盛茂淞 2018-2019-2 《Java程序设计》实验一 Java开发环境的熟悉 实验报告的更多相关文章

  1. 20175316盛茂淞-Java第1周学习总结

    20175316盛茂淞 2018-2019-2 <Java程序设计>第1周学习总结 教材学习内容总结 Java入门 1.Java简介(地位,特点) 2.安装JDK,设置系统环境 3.编译J ...

  2. 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验五 《网络安全与编程》 实验报告

    20175316 盛茂淞 2018-2019-2 <Java程序设计>实验五 <网络安全与编程> 实验报告 一.实验报告封面 课程:Java程序设计 班级:1753班 姓名:盛 ...

  3. 20175316盛茂淞 2018-2019-2 《Java程序设计》第9周学习总结

    20175316盛茂淞 2018-2019-2 <Java程序设计>第9周学习总结 教材学习内容总结 下载安装MySQL数据库管理系统. 学习<Java程序设计>第十一章MyS ...

  4. 20175316盛茂淞 2018-2019-2 《Java程序设计》第8周学习总结

    20175316盛茂淞 2018-2019-2 <Java程序设计>第8周学习总结 教材学习内容总结 第十五章 泛型 -- 主要目的是可以建立具有类型安全的集合框架,如链表.散列映射等数据 ...

  5. 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验二 面向对象程序设计 实验报告

    20175316 盛茂淞 2018-2019-2 <Java程序设计>实验二 面向对象程序设计 实验报告 (一)单元测试 在 IDEA中我们把产品代码放在src目录中,把测试代码放在tes ...

  6. 20175316盛茂淞 2018-2019-2 《Java程序设计》第7周学习总结

    20175316盛茂淞 2018-2019-2 <Java程序设计>第7周学习总结 教材学习内容总结 第八章 常用实用类 一.String类 String类在java.lang包中,jav ...

  7. 20175316盛茂淞 2018-2019-2 《Java程序设计》第6周学习总结

    20175316盛茂淞 2018-2019-2 <Java程序设计>第6周学习总结 教材学习内容总结 第7章 内部类与异常类 1.使用 try.catch Java中所有信息都会被打包为对 ...

  8. 20175316盛茂淞 2018-2019-2 《Java程序设计》第5周学习总结

    20175316盛茂淞 2018-2019-2 <Java程序设计>第5周学习总结 教材学习内容总结 第六章 接口与实现. 何谓接口 接口:书上没有明确地给出接口的定义,我理解的接口就是一 ...

  9. 20175316盛茂淞 2018-2019-2《Java程序设计》第4周学习总结

    20175316盛茂淞 2018-2019-2<Java程序设计>第4周学习总结 教材学习内容总结 第五章 子类与继承 一.继承 1.继承定义:避免多个类间重复定义共同行为 2.子类与父类 ...

随机推荐

  1. solr6.4.1 搜索引擎(1)启动eclipse启动

    solr是一个java写的搜索引擎,所以支持java方式的eclipse调试. 本篇文章使用solr版本为6.4.1 一. 环境 solr 下载地址 http://archive.apache.org ...

  2. 学习笔记之Fluent Python

    Fluent Python by Luciano Ramalho https://learning.oreilly.com/library/view/fluent-python/97814919462 ...

  3. Windows和Linux查看端口占用

    Windows方法 TCP netstat -aon|findstr "TCP"|findstr "LISTENING"|findstr ":135[ ...

  4. 安装系统,用cmd进行分区

    步骤1:在“您想将Windows安装在何处”的界面按住“Shift+F10”,调出命令行窗口,输入diskpart并点击回车 步骤2: 输入list disk点击回车,列出所有磁盘磁盘是从0开始排序的 ...

  5. bresenham 算法生成直线

    struct Point{ Point() { posx = 0; posy = 0; } Point(int x, int y) { posx = x; posy = y; } int posx; ...

  6. TensorFlow NormLization

    local_response_normalization local_response_normalization出现在论文”ImageNet Classification with deep Con ...

  7. 让UITableView的section header view不悬停的方法

    当 UITableView 的 style 属性设置为 Plain 时,这个tableview的section header在滚动时会默认悬停在界面顶端.取消这一特性的方法有两种: 将 style 设 ...

  8. 46.Scrapy框架结构

    Scrapy的介绍:Scrapy是基于Twisted的异步处理框架,是纯python语言实现的爬虫框架,特点是架构清晰,模块间耦合度低.扩展性强较为灵活. 框架结构如图所示: Engine:引擎,处理 ...

  9. java网络编程-单线程服务端与客户端通信

    该服务器一次只能处理一个客户端请求;p/** * 利用Socket进行简单服务端与客户端连接 * 这是服务端 */public class EchoServer { private ServerSoc ...

  10. 在C++程序中自动加入svn版本号

    原创文章,欢迎阅读,如果您想转载,请在第一行醒目注明原作者和原始链接. 为了方便追查和确认软件bug等问题,给软件或者库赋予版本号是个好办法. 最简单的版本号管理是记录编译时间: cout<&l ...