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

20145331 实验一 "Java开发环境的熟悉"的更多相关文章

  1. 20145205 实验一 Java开发环境的熟悉

    实验内容 命令行下Java程序开发 IDEA下Java程序开发.调试 练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) 实现凯撒密码,并进行测试 实验要求 使用JDK编译 ...

  2. 实验一 Java开发环境的熟悉

    实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 1.没 ...

  3. 20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告

    20145308刘昊阳 <Java程序设计>实验一报告 实验名称 Java开发环境的熟悉 实验内容 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试J ...

  4. 实验一Java开发环境的熟悉

    实验一Java开发环境的熟悉 实验内容 •命令行下Java程序开发 •IDEA下Java程序开发.调试 •练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) •实现凯撒密码 ...

  5. 20145225《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)

    20145225<Java程序设计> 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑 ...

  6. 20145208实验一 Java开发环境的熟悉

    20145208实验一 Java开发环境的熟悉 使用JDK编译.运行简单的java程序 命令行下程序开发 在命令行下建立实验目录,然后创建并进入该目录后的子目录. 编译并运行一个代码 使用IDEA 编 ...

  7. 实验一 Java开发环境的熟悉(Linux + Eclipse)

    学号 20175206 实验一 <Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实 ...

  8. 实验一 Java开发环境的熟悉(Linux + Idea) 20175301李锦然

    https://gitee.com/ShengHuoZaiDaXue/20175301.git 实验一 Java开发环境的熟悉(Linux + Idea) 实验内容 1.使用JDK编译.运行简单的Ja ...

  9. 2018-2019-2 实验一 Java开发环境的熟悉

    实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA编辑.编译.运行.调试Java程序 实验知识点 1. JVM.JRE.JDK的安装位置与区别: 2. 命令行运行javac:ja ...

随机推荐

  1. Vue.js_getter and setter

    computed 计算属性: 1.get 读取 <div id="test2"> <input type="text" v-model=&qu ...

  2. 在虚拟机中的搭建Web服务器(CentOS)

    1.制作本地yum源 相关可查看:http://www.cnblogs.com/xiaomingzaixian/p/8424290.html 2.安装JDK 上传上传jdk-7u45-linux-x6 ...

  3. boost 使用列子

    #include <boost/lexical_cast.hpp>void test_lexical_cast(){ int number = 123; string str = &quo ...

  4. django之页面缓存

    一  全站缓存(全局缓存) 在settings中配置,主要就是两个中间件,需要注意的就是两个中间件的前后位置 MIDDLEWARE_CLASSES = ( ‘django.middleware.cac ...

  5. abap 中modify 的使用

    1.modify table itab from wa Transporting f1 f2 ... 表示表itab中符合工作区wa 中关键字的一条数据的 f1 f2字段会被wa中对应的字段值更新. ...

  6. Spark2.0机器学习系列之3:决策树

    概述 分类决策树模型是一种描述对实例进行分类的树形结构. 决策树可以看为一个if-then规则集合,具有“互斥完备”性质 .决策树基本上都是 采用的是贪心(即非回溯)的算法,自顶向下递归分治构造. 生 ...

  7. 脚本其实很简单-windows配置核查程序(1)

    先上成品图 需求描述 我们电脑上都安装各种过监控软件,比如360.鲁大师等等...其中有一个功能就是性能监控,在安全行业里面通常叫做"配置核查",目的就是将主机的各种性能指标展示, ...

  8. Spring第九弹—使用CGLIIB实现AOP功能与AOP概念解释

    JDK自从1.3版本开始,就引入了动态代理,并且经常被用来动态地创建代理,原理之前我已经讲过.JDK的动态代理用起来非常简单,但它有一个限制,就是使用动态代理的对象必须实现一个或多个接口.如果想代理没 ...

  9. mysqldump 参数

    mysqldump是mysql用于转存储数据库的实用程序.它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等.对于导出的文件,可使用SOURCE命 ...

  10. 栈的最大值问题 max问题 min问题 队列的max问题

    常数时间求栈的最大值   问题描述: 一个栈stack,具有push和pop操作,其时间复杂度皆为O(1). 设计算法max操作,求栈中的最大值,该操作的时间复杂度也要求为O(1). 可以修改栈的存储 ...