20145312《Java第一次实验报告》
20145312《Java第一次实验报告》
Java开发环境的熟悉(Windows+Idea)
一、实验内容
- 使用Idea编辑、编译、运行、调试Java程序。
- 使用JDK编译、运行简单的Java程序;
二、实验步骤
- Idea下Java程序开发、调试
1) 双击桌面上Idea图标,如下图所示:
2) 新建new project,顶部工具栏File>New>Project,如下图所示:



3) 新建Java class,Project(右键)>src(右键弹出菜单)>New(选择)>Java class>命名,如下图所示:

4) 输入代码并运行,顶部工具栏Run(左键)>Run...(左键)>选择运行项目(左键)>运行程序,如下图所示:

5) 设置断点。.通过单击Run->Debug打开调试页面>设置断点(在撰写代码的窗格最左边点击,会在相应的行前面出现一个红点),如下图所示:

调试程序。单击Run->Debug进行调试,然后点击run窗口的Step Over或Step Into进行单步执行,可以查看此时变量的值,如下图所示:


- 命令行下编译Java程序
1) 打开命令行>找到程序所在位置>编译>运行
三、实验练习
- 要求:实现Fibonacci数列功能,并进行测试.
- 程序代码:
import java.util.Scanner;
public class Fibonacci {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.println("Please input this Fibonacci n:");
int n=scanner.nextInt();//假设输入大于零的整数
float q=fibonacci(n)/fibonacciNormal(n );
System.out.printf("第%d个Fibonacci数与它后一项之比为:%.6f%n",n,q);
float sum=0;
for(int i=1;i<=n;i++){
sum+=fibonacci(i);
}
System.out.printf("第%d个Fibonacci数是:%2.0f%n",n,fibonacci(n));
System.out.printf("前%d个Fibonacci数之和是:%2.0f%n",n,sum);
System.out.printf("前%d个Fibonacci数为:",n);
for(int i=1;i<=n;i++){
System.out.printf("%2.0f\t",fibonacci(i));
}
}
//递归实现方法
public static float fibonacci(int n){
if(n<=2){
return 1;
}
else{
return fibonacci(n-1)+fibonacci(n-2);
}
}
//递推实现方法
public static float fibonacciNormal(int n){
if(n<=2){
return 1;
}
int n1=1,n2=1,sn=0;
for(int i=0;i<=n-2;i++){
sn=n1+n2;
n1=n2;
n2=sn;
}
return sn;
}
}
运行结果:

四、问题解决
1)问题:我想在运行时呈现前6个Fibonacci数为: 1 1 2 3 5 8 的结果,于是我用了一个for循环来读取fibonacci(n),如下:
for(int i=1;i<=n;i++){
System.out.printf("前%d个Fibonacci数为:%2.0f\t",n,fibonacci(i));
}
运行的结果是:
前6个Fibonacci数为: 1 前6个Fibonacci数为: 1 前6个Fibonacci数为: 2 前6个Fibonacci数为: 3 前6个Fibonacci数为: 5 前6个Fibonacci数为: 8
解决:我不想要“前6个Fibonacci数为”重复出现。于是我想到不能把它写在for循环里。于是我调试成:
System.out.printf("前%d个Fibonacci数为:",n);
for(int i=1;i<=n;i++){
System.out.printf("%2.0f\t",n,fibonacci(i));
}
最终得出我想要的结果。
2) 问题:我想得到fibonacci数前一项与后一项之比的小数形式,以体现fibonacci 的黄金比例。但是我只能得到它的整数比。
解决:在查阅工具书后,我知道了要把fibonacci 数定义为float型,它的输出才能为小数形式。如下:
float q=fibonacci(n)/fibonacciNormal(n );
五、心得体会:
这次的实验让我有重新温习了一遍Java的开发环境。在此之前我对fibonacci数列只有表面印象,为了能理解它的功能,我查阅了很多书籍,这样很好的帮我理清了思路,以及我要实现它的哪些功能。在调试中我与恶遇到了很多问题,于是我又把书上相关的知识点又看了一遍,并查阅了工具书,最后问题得到了解决。
20145312《Java第一次实验报告》的更多相关文章
- 20165210 Java第一次实验报告
20165210 第一次实验报告 实验内容 建立目录运行简单的Java程序 建立自己学号的目录 在上个目录下建立src,bin等目录 Javac,Java的执行在学号目录下 IDEA的调试与设置断点 ...
- java 第一次实验报告
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:黎静 学号:20135338 成绩: 指导教师:娄嘉鹏 ...
- Java第一次实验报告——Java开发环境的熟悉
北京电子科技学院(BESTI) 实 验 报 告 课程名称:java程序设计实验 班级:1352 姓名:洪韶武 学号:20135219 成绩: ...
- 南京邮电大学java第一次实验报告
实 验 报 告 ( 2017 / 2018学年 第2学期) 课程名称 JAVA语言程序设计 实验名称 Java集成开发环境的安装与使用. Java变量.表达式与控制结构 实验时间 2018 年 4 月 ...
- java第一次实验报告
北京电子科技学院(BESTI) 实 验 报 告 课程名称:java实验 班级:1352 姓名:潘恒 学号:20135209 成绩: ...
- java第一次实验总结&第三周总结
Java第一次实验报告,java开发环境与简单的Java程序 一.实验目的 1.熟悉JDK开发环境 2.熟练掌握结构化程序设计方法 二.实验内容 打印输出所有的"水仙花数",所谓& ...
- 20145330《Java程序设计》第一次实验报告
20145330<Java程序设计>第一次实验报告 实验一Java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Ja ...
- 20145320《Java程序设计》第一次实验报告
20145320<Java程序设计>第一次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.04.08 18: ...
- 20155339《java程序设计》第一次实验报告
20155339<java程序设计>第一次实验报告 实验一 java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的java程序: 2.使用IDEA编辑.编译.运行.调试java程 ...
随机推荐
- 160406、mybatis批量删除
<deleteid="deleteCTQ" parameterType="java.lang.String"> DELETE FROM sqm_pr ...
- Servlet的请求转发和重定向
在学习servlet中对于转发和重定向的理解是非常重要的,但是常常把重定向和转发给混了,今天特地花点时间来总结以下. 一.servlet的转发 1.请求原理图如下所示: 2.可以简单理解转发就好比一 ...
- Centos7.0安装mysql5.6
环境 CentOS 7.0(64-bit system) mysql-5.6.37 一.mysql依赖libaio,所以要先安装libaio # yum search libaio ...
- datasnap rest Windows客户端编写
首先吐槽一下XE关于datasnap的资料真的是太少了... 服务端用DSHTTPService1控件可以实现http接口方式的调用,返回的都是json格式数据,适用于跨平台解析. 这里着重强调一下d ...
- VUE的安装与Django之间打通数据
一 VUE的安装与项目创建 1.1.安装nodeJS 官网下载安装:https://nodejs.org/zh-cn/ 1.2.安装脚手架 vue官网 => 学习 => 教程 => ...
- python web框架 django 练习1 django 1.11版本
django练习 在我自己项目里创建一个xiaoliu的文件夹 里面创建s1.py 文件 s1.py文件 里面写各种函数 from django.shortcuts import HttpRespon ...
- lock,Monitor,Mutex的区别
lock和Monitor的区别 一.lock的底层本身是Monitor来实现的,所以Monitor可以实现lock的所有功能. 二.Monitor有TryEnter的功能,可以防止出现死锁的问题,lo ...
- java实现简单的数据库的增删查改,并布局交互界面
一.系统简介 1.1.简介 本系统提供了学生信息管理中常见的基本功能,主要包括管理员.管理员的主要功能有对学生信息进行增加.删除.修改.查找等操作,对信息进行管理,对信息进行修改.查找等操作 ...
- 移植nand驱动补缺:make mrproper与make clean以及make distclean,find/grep. makefile
make mrproper与make clean以及make distclean的区别: linux内核源码根目录下面的makefile中有很清晰的解析: useage: “clean”:Remove ...
- Latch free等待事件
Latch free等待事件的三个参数:p1-latch的地址:p2-latch编号:p3-请求次数.从oracle10g起,latchfree不再包含所有的latch等待,有些latch等待可能表现 ...