2018-2019-2 20175234 实验一 Java开发环境的熟悉(Linux + IDEA)

20175234 实验一 Java开发环境的熟悉(Linux + IDEA)

第一部分

代码及运行结果截图

第二部分

要求

在学习娄老师博客后,操作IDEA中调试条件断点

代码及截图

示例程序

public class HelloJDB {
    public static void main(String[] args) {
        int i = 5;
        int j = 6;
        int sum = add(i, j);
        System.out.println(sum);

        sum = 0;
        for(i=0; i< 100; i++)
            sum += i;

        System.out.println(sum);
    }
    public static int add(int augend, int addend){
        int sum = augend + addend;
        return sum;
    }
}

设置断点

Step Over单步运行

单击Resume直接运行到指定行

在大循环中设置断点

直接运行完整个for循环

第三部分

题目

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

需求分析

产生[1-100]的随机数,让用户猜大小

设计

① 产生随机数
② 输入猜测值
③ 比较

程序及运行结果

单次猜数

为更好检测可以选择输出随机数,在测试时可以选择增加一条输出语句,查看a的值

import java.util.Random;
import java.util.Scanner;
public class Guess {
    public static void main(String[] args) {
        Random rand = new Random();
        int a = rand.nextInt(99) + 1;
        Scanner t = new Scanner(System.in);
        int b =0 ;
        do {
            System.out.println("请输入1-100 之间的数!!!");
            b = t.nextInt();
        }while(b<1||b>100);

      if(b>a)
          System.out.println("猜大了哦…");
      else if(b<a)
          System.out.println("猜小了哦…");
      else
          System.out.println("猜对了呢,你真棒!");
    }
}

同一个随机数

直到猜对为之,只需要做部分修改

        while(a!=b) {
            do {
                System.out.println("请输入1-100 之间的整数!!!");
                b = t.nextInt();
            } while (b < 1 || b > 100);

            ……         
        }

产生不同随机数

直到猜对为之,需要对a赋初值,然后改变部分语句顺序

       int a=1;
        int b = 0;
        while(a!=b) {
            Random rand = new Random();
            a = rand.nextInt(99) + 1;
            Scanner t = new Scanner(System.in);
            System.out.println(a);
            do {
                System.out.println("请输入1-100 之间的整数!!!");
                b = t.nextInt();
            } while (b < 1 || b > 100);
……
        }

问题和解决过程

  • 问题:Java中如何产生随机数
  • 解决方案:博文所述大致如下
    1、通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字。
    2、通过Math.random()方法返回一个0到1之间的double值。
    3、通过Random类来产生一个随机数。
    在使用的时候,我选择了Random类的方法,因为操作方便,使用了 int a = rand.nextInt(99) + 1来产生一个1-100的随机整数

在Idea中调试程序(示例程序Guess)

首先可以打开run查看快捷键

首先在第五行设置了断点,在这里可以看见a的值

然后我选择了快捷键F7,来进入程序,然后在Conscle中输入猜测的数值,然后继续按F7查看程序

因为代码为if-else语句可以清晰地看到,a,b从第一个if语句开始移动到b<a的位置,然后结束程序。

当然也可以选择在程序中增加一条输出语句,查看a的值,方便检测咯……

分析总结

这次的Java实验的难点是产生随机数,剩下的循环主要看设计思路。实验是一个很好的完整的带有目的性的个人程序开发,能够整合学到的知识。

PSP

步骤 耗时(分钟) 百分比
需求分析 5 2.5
设计 15 7.5
代码实现 60 30
测试 60 30
分析总结 60 30

参考资料

原文地址:https://www.cnblogs.com/ysz-123/p/10629343.html