20165334 实验一 Java开发环境的熟悉
实验内容
1、使用JDK编译、运行简单的java程序
2、使用IDEA编辑、编译、运行、调试java程序
实验步骤
1、使用JDK编译、运行简单的java程序
步骤
- 使用
mkdir建立学号目录 - 使用
vim Hello编写代码 - 使用
javac -d . Hello.java编译代码 使用
java ltl.Hello运行代码截图如下

2、使用IDEA编辑、编译、运行、调试java程序
- 编写
HelloJDB调试项目 - 设置断点
 - 单击菜单「Run」->「Debug...」(或使用Alt+Shift+F9快捷键)开始调试Java程序
 - 单步运行:
Step Into和Step Over - 设置条件断点
 方法断点:有时候我们怀疑某个方法出错了,就可以设置方法断点。把光标移到方法中的任一行,使用菜单「Run」->「Toggle Method Breakpoint」
截图如下:


练习题: 产生一个随机数,让用户猜测,猜错了告诉用户是大了还是小了。 并进行测试(正常情况,异常情况,边界情况)
代码如下
第一次代码
//键盘输入,没有考虑边缘情况
import java.util.Random;
import java.util.Scanner;
public class rdtexttwo {
    public static void main(String[] args) {
        Random rd = new Random();
        int a = rd.nextInt(100);
        System.out.println("请输入100以内的数猜:(注意你一共有三次机会)");
        Scanner input = new Scanner(System.in);
        for (int i = 0; i < 3; i++) {
            int b = input.nextInt();
            if (b == a) {
        
                System.out.println("恭喜你猜对了,兄弟你可以去买彩票了!");
                break;
            }
            else if (b < a) {
                System.out.println("哎呀,你猜的有点小了,可以猜大点");
            }
            else
                System.out.println("你猜的数有点大");
        }
    }
}
//命令行输入
import java.util.Random;
public class rdtextone {
    public static void main(String args[]) {
        Random rd=new Random();
        int a=rd.nextInt(100);
                int b;
        b=Integer.parseInt(args[0]);
        System.out.println("请输入100以内要猜的数:");
        if(b==a) {
            System.out.println("恭喜你猜对了,你可以去买彩票了");
        }
        else if (b<a) {
            System.out.println("哎呀,你猜的数有点小");
        }
        else {
            System.out.println("你猜的数有点大");
        }
    }
}
运行截图

第二次修改考虑边缘情况
由于学了第七章的try -catch语句,便设计了防止用户输入错误的功能。
代码如下
import java.util.Random;
import java.util.Scanner;
public class rdtext {
    public static void main(String[] args) {
        Random rd = new Random();
        int a = rd.nextInt(100);
        System.out.println("请输入100以内的数猜:(注意你一共有三次机会)");
        Scanner input = new Scanner(System.in);
            try {
                for (int i = 0; i < 3; i++) {
                    int b = input.nextInt();
                    if (b == a) {
                        System.out.println("恭喜你猜对了,兄弟你可以去买彩票了!");
                        break;
                    } else if (b < a) {
                        System.out.println("哎呀,你猜的有点小了,可以猜大点");
                    } else
                        System.out.println("你猜的数有点大");
                }
            } catch (Exception e) {
                System.out.println("输入有误,请输入100以内的数字");
            }
    }
}
运行截图

实验过程中遇到的问题
在设计猜数程序是第一次没有考虑边缘情况,第二次设计虽然解决了防止用户输入非数字的功能,但还没解决用户输入大于100的情况,我尝试用while(input.nextInt() <100),虽然解决了这个问题但引入另一个问题,当用户输入正常数字时没有运行结果,我会慢慢解决。
实验总结
边缘测试可以发现很多问题,不断测试才能设计一个完美的程序
| 步骤 | 耗时 | 百分比 | 
|---|---|---|
| 需求分析 | 10min | 10% | 
| 设计 | 20min | 20% | 
| 代码实现 | 50min | 50% | 
| 测试 | 10min | 10% | 
| 分析总结 | 10min | 10% |