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 |
20145331 实验一 "Java开发环境的熟悉"的更多相关文章
- 20145205 实验一 Java开发环境的熟悉
实验内容 命令行下Java程序开发 IDEA下Java程序开发.调试 练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) 实现凯撒密码,并进行测试 实验要求 使用JDK编译 ...
- 实验一 Java开发环境的熟悉
实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 1.没 ...
- 20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告
20145308刘昊阳 <Java程序设计>实验一报告 实验名称 Java开发环境的熟悉 实验内容 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试J ...
- 实验一Java开发环境的熟悉
实验一Java开发环境的熟悉 实验内容 •命令行下Java程序开发 •IDEA下Java程序开发.调试 •练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) •实现凯撒密码 ...
- 20145225《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)
20145225<Java程序设计> 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑 ...
- 20145208实验一 Java开发环境的熟悉
20145208实验一 Java开发环境的熟悉 使用JDK编译.运行简单的java程序 命令行下程序开发 在命令行下建立实验目录,然后创建并进入该目录后的子目录. 编译并运行一个代码 使用IDEA 编 ...
- 实验一 Java开发环境的熟悉(Linux + Eclipse)
学号 20175206 实验一 <Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实 ...
- 实验一 Java开发环境的熟悉(Linux + Idea) 20175301李锦然
https://gitee.com/ShengHuoZaiDaXue/20175301.git 实验一 Java开发环境的熟悉(Linux + Idea) 实验内容 1.使用JDK编译.运行简单的Ja ...
- 2018-2019-2 实验一 Java开发环境的熟悉
实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA编辑.编译.运行.调试Java程序 实验知识点 1. JVM.JRE.JDK的安装位置与区别: 2. 命令行运行javac:ja ...
随机推荐
- 转载 hibernate一级缓存和二级缓存的区别
文章来源:http://blog.csdn.net/defonds/article/details/2308972 hibernate一级缓存和二级缓存的区别 缓存是介于应用程序和物理数据源之 ...
- IDEA安装Python环境,并加入Anaconda环境
为什么做这个事情? 1.首先,Anaconda中已经有各种科学计算环境,包括后面安装的tensorflow 2.通过IDEA中配置就达到了Scala.Python.Java同时运行的目的. Intel ...
- packages managers
nodejs npm/bower/component ...rubygemsperl cpanpython pipOS X homebrewsublime text的package-control 那 ...
- Spark 源码分析 – BlockManagerMaster&Slave
BlockManagerMaster 只是维护一系列对BlockManagerMasterActor的接口, 所有的都是通过tell和askDriverWithReply从BlockManager ...
- Zipline Risk and Performance Metrics
Risk and Performance Metrics 风险和性能指标 The risk and performance metrics are summarizing values calcula ...
- 剑指Offer——二叉树的下一个结点
题目描述: 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. 分析: 如果该结点存在右子树,那么返回右子树的最左结 ...
- 剑指Offer——第一个只出现一次的字符位置
题目描述: 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置. 分析: 用一个数组统计每个字符出现的次数. 再次扫描数组,如果找到 ...
- VC++SDK编程——模拟时钟
#include <Windows.h> #include <tchar.h> #include <math.h> typedef struct Time { in ...
- Elasticsearch提示low disk watermark [85%] exceeded on [UTyrLH40Q9uIzHzX-yMFXg][Sonofelice][/Users/baidu/Documents/work/soft/data/nodes/0] free: 15.2gb[13.4%], replicas will not be assigned to this node
mac本地启动es之后发现运行一段时间一分钟就能打印好几条info日志: [--13T10::,][INFO ][o.e.c.r.a.DiskThresholdMonitor] [Sonofelice ...
- Spark Standalone Mode 单机启动Spark -- 分布式计算系统spark学习(一)
spark是个啥? Spark是一个通用的并行计算框架,由UCBerkeley的AMP实验室开发. Spark和Hadoop有什么不同呢? Spark是基于map reduce算法实现的分布式计算,拥 ...