zoukankan      html  css  js  c++  java
  • 20145312《Java第一次实验报告》

    20145312《Java第一次实验报告》

    Java开发环境的熟悉(Windows+Idea)

    一、实验内容

    1. 使用Idea编辑、编译、运行、调试Java程序。
    2. 使用JDK编译、运行简单的Java程序;

    二、实验步骤

    1. Idea下Java程序开发、调试
      1) 双击桌面上Idea图标,如下图所示:
      2) 新建new project,顶部工具栏File>New>Project,如下图所示:



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

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

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

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


    1. 命令行下编译Java程序
      1) 打开命令行>找到程序所在位置>编译>运行

    三、实验练习

    1. 要求:实现Fibonacci数列功能,并进行测试.
    2. 程序代码:
    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	",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	",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	",n,fibonacci(i));
    }
    

    最终得出我想要的结果。
    2) 问题:我想得到fibonacci数前一项与后一项之比的小数形式,以体现fibonacci 的黄金比例。但是我只能得到它的整数比。
    解决:在查阅工具书后,我知道了要把fibonacci 数定义为float型,它的输出才能为小数形式。如下:

    float q=fibonacci(n)/fibonacciNormal(n );
    

    五、心得体会:

    这次的实验让我有重新温习了一遍Java的开发环境。在此之前我对fibonacci数列只有表面印象,为了能理解它的功能,我查阅了很多书籍,这样很好的帮我理清了思路,以及我要实现它的哪些功能。在调试中我与恶遇到了很多问题,于是我又把书上相关的知识点又看了一遍,并查阅了工具书,最后问题得到了解决。

  • 相关阅读:
    L3-028 森森旅游 题解(最短路)
    Codeforces Round #717 (Div. 2) 题解(A-D)
    大爽Python入门教程 总目录
    Django笔记&教程 2-4 视图常用
    python一对一教程:Computational Problems for Physics chapter 1-B Code Listings 1.7
    python一对一教程:Computational Problems for Physics chapter 1 Code Listings
    b站个人直播年报【大爽歌作】 介绍与演示
    架构漫谈阅读笔记03
    架构漫谈阅读笔记02
    架构漫谈阅读笔记01
  • 原文地址:https://www.cnblogs.com/yx20145312/p/5375757.html
Copyright © 2011-2022 走看看