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程 ...
随机推荐
-
Mac OS X上编写 ASP.NET vNext(一)KRE环境搭建
最新的asp.net vnext已经可以支持在mac上运行了,当然用的是mono.相比linux来说,mac的安装略显繁琐.对于大部分用Windows开发asp.net的程序员来说,初次配置还是很费时 ...
-
UILabel 设置行间距
UILabel *label1 = [[UILabel alloc]initWithFrame:frame]; label1.numberOfLines = 0; [self.view addSubv ...
-
Android学习——第一个NDK程序
在前面的学习中,我们已经讲解了关于NDK编程的环境搭建流程,简单的使用我们也通过官网本身自带的例子进行说明了.可是相信大家一定还存在这么的一个疑惑:“如果我要自己利用NDK编写一个Android应用, ...
-
MAC npm 需要管理员权限问题
我们在进行mac 命令行安装软件的时候,有的时候会遇见这样的问题:Please try running this command again as root/Administrator. 如图: 解决 ...
-
ASP.Net中Session失效的一种编程思路
在写一个客户的B/S结构应用程序时,突然发现一个技巧,不知道是否是MS的一个BUG,给相关的有研究的朋友原先考虑写一个检查Session的类,Session失效后,必须转向登陆页面,可每一个调用该类的 ...
-
大数据情况下linux的配置
一:配置的大纲 主要的配置有几个方面: 主机名 IP 网络映射 增加新用户 给新用户root的权限,方便实验 关闭防火墙 安全子系统需要关闭 二:主机名的配置 命令:vi /etc/sysconfig ...
-
Nginx学习之二-配置项解析及编程实现
在开发功能灵活的Nginx模块时,需要从配置文件中获取特定的信息.不过,我们并不需要再编写一套读取配置的系统,Nginx已经为用户提供了强大的配置项解析机制,同时还支持“-s reload”命令,可以 ...
-
Problem: Time(一道水却有意思的题
Problem Description Digital clock use 4 digits to express time, each digit is described by 3*3 chara ...
-
hibernate框架学习之数据查询(QBC)
lQBC(Query By Criteria)是一种Hibernate中使用面向对象的格式进行查询的计数 lQBC查询方式步骤 •获取Session对象 •初始化Criteria对象(使用Sessio ...
-
Tomcat使用
打开Tomcat官网 在浏览器地址栏输入: tomcat.apache.org,按回车 下载Tomcat 把目光移动至网页左边红匡处,点击Tomcat8 网页下移 点击箭头所指的链接 运行Tomcat ...