20145331 实验一 "Java开发环境的熟悉"

20145331 实验一 "Java开发环境的熟悉"

实验内容

使用JDK和IDE编译、运行简单的Java程序。
题目: 实现四则运算,并进行测试。

编写代码

1、首先第一步就是要输入数据,我参考书上P86的知识建立了Scanner实例来实现,代码如下:

import java.util.Scanner; 
......
Scanner scanner =new Scanner(System.in);
System.out.println("请输入两个数");
Double x=scanner.nextDouble();
Double y=scanner.nextDouble()

2、接着就是进行四则运算了,依题意,需要分四种情况,所以选择swicth-case语句来实现,同时定义一个整形变量来划分这四种情况,同时也要考虑在除法中分母不能为0的特殊条件,用if语句实现,代码如下:

int p=scanner.nextInt();
....... switch (p) { case 1: System.out.print("结果为"); System.out.println(a); break; case 2: System.out.print("结果为"); System.out.println(b); break; case 3: System.out.print("结果为"); System.out.println(c); break; case 4: if(y==0)System.out.println("输入数据有误");//分母不可以为0 System.out.print("结果为"); System.out.println(d); break; default:System.out.println("错误");

3、将代码补充完整,整体代码如下所示(此处为修改后运行成功的代码,“运行失败”的部分会在后面提到):

import java.util.Scanner; 
public class Main{
    public static void main(String[] args){
        Scanner scanner =new Scanner(System.in);//建立Scanner实例。
        System.out.println("请输入两个数");
        Double x=scanner.nextDouble();
        Double y=scanner.nextDouble();//接受输入数据。
        System.out.println("请选择:1、加法 2、减法 3、乘法 4、除法");
        int p=scanner.nextInt();//接受选择并定义变量,用于下面的switch分支。
   
  int a,b,c,d;
     a=x+y;
     b=x-y;
     c=x*y;
     d=x/y;
    
  
        switch (p) {//建立switch-case结构来实现用户选择的不同运算方法。
        case 1:
        System.out.print("结果为");
        System.out.println(a);
        break;
        case 2:
        System.out.print("结果为");
        System.out.println(b);
        break;
        case 3:
        System.out.print("结果为");
        System.out.println(c);
        break;
        case 4:
        if(y==0)
        System.out.println("输入数据有误");//分母不可为0。
        System.out.print("结果为");
        System.out.println(d);
        break;
        default:System.out.println("错误");
        }
    }
}

调试代码

一开始编译通过,但是运行后没有结果,出现的是空白,代码如下:

    Scanner scanner =new Scanner(System.in);
    Double x=scanner.nextDouble();
    Double y=scanner.nextDouble();
    System.out.println("请输入两个数");
  ......

因为我的代码这一部分是参考教材P86代码的流程,没有注意到逻辑上的先后顺序,即先提示输入两个数,再进行数据的输入,否则运行后就是空白。由于这一部分也没有语法问题(所以我开始也没有检查代码)我在寻找这个简单的问题耗费了我大量时间,以为是我的运行环境出了问题,在不同同学的机子上都出现此问题后,最终一名学霸帮我检查代码后将此问题纠正,给出纠正后的代码:

    Scanner scanner =new Scanner(System.in);
    System.out.println("请输入两个数");
    Double x=scanner.nextDouble();
    Double y=scanner.nextDouble();
  ......
此外,在进行除法运算时,除式的分母不可为0,这属于现实的逻辑问题,因此,在除法运算模块要加入以下代码:
  
   if(y==0)
     System.out.println("输入数据有误");
     System.out.print("结果为");
     System.out.println(d);  
   ......

运行截图

实验心得体会

通过这次实验,我明白代码的编写绝对不是简单的照猫画虎,要联系自己的实际条件和需求;同时代码编译通过也不意味着你大功告成,编译成功只是说明你语法没有问题,而代码的逻辑很有可能存在漏洞,要做出真正好的程序就需要运行代码后再不断完善,我想这也就是实验的目的和实验的必要性吧;除此之外,代码需要切合实际,才算是真正的好代码。

PSP(Personal Software Process)

步骤耗时百分比
需求分析  5min 5.5
设计 15min   17
代码实现 20min   22
测试 40min    44
分析总结 10min   11
posted on 2016-04-10 19:44  20145331魏澍琛  阅读(175)  评论(2编辑  收藏  举报