北京电子科技学院(BESTI)实验报告

课程:Java程序设计

班级:1452

指导教师:娄嘉鹏

实验日期:2016.04.08

实验名称:Java开发环境的熟悉(Linux + Eclipse)

实验内容:

1.使用JDK编译、运行简单的Java程序;

2.使用Eclipse 编辑、编译、运行、调试Java程序。

实验目的与要求:

1.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程;

2.完成实验、撰写实验报告,实验报告模板见QQ群,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等);

3.实验报告中统计自己的PSP(Personal Software Process)时间:

步骤 耗时 百分比
需求分析 1小时 20%
设计 2小时 40%
代码实现 40分钟 15%
测试 40分钟 15%
分析总结 30分钟 10%

实验内容、步骤与体会

一、实验内容:

使用JDK和IDE编译、运行简单的Java程序:

题目: 实现四则运算,并进行测试。

  • 程序设计思路:

    根据题目,设计Java程序四则运算,因为能力有限,所以设计的是两个数之间的运算,首先先提示用户按顺序输入两个数字,当然中间也考虑到万一用户输入的数字不符合运算要求怎么办?所以,首先先判断用户输入的数字是否符合运算要求,如果不考虑这一点的话万一用户不小心输入了错误的数字,那么就会导致设计的程序瘫痪,或者导致运算发生错误。这让我正好想到了第八章的知识,使用try、catch语法,如果发生错误,执行流程会跳离错误发生点,显示更友好的错误信息。其次,主程序整个运用了do while语法,使整个程序可以不断地循环,避免用户需要不断编译程序,在这个循环中,用户能够根据自己的需要选择继续还是结束,然后根据用户的选择再进行相应的流程,给了用户更多的选择空间。其次就是运算符号“+”、“-”、“*”、“/”的识别,根据用户输入的运算符进行相应的运算,这个过程我觉得还可以用多种方法来编程,比如switch应该也可以。
  • 程序代码:
import java.text.DecimalFormat;
import java.util.Scanner; public class Zhidao { public static void main(String[] args) {
String condition = "";
Zhidao zhidao = new Zhidao();
do{ //整个过程运用了循环语法
Scanner scanner = new Scanner(System.in);
try{
System.out.print("请输入第一个数:");//用户输入提示语
double x = scanner.nextDouble();
System.out.print("请输入第二个数:");
double y = scanner.nextDouble();
System.out.print("请输入运算符:");
String s = scanner.next();
char z = s.charAt(0);
zhidao.yunsuan(x, y, z);//进行运算
}catch(Exception e)//用户输入错误信息时能够提醒用户
{
System.out.println("请输入正确的数据!");
}
System.out.print("是否继续?continue:继续,任意字符:结束");
condition = scanner.next(); }while("continue".equals(condition));
} public static void yunsuan(double x,double y,Character z){
DecimalFormat r=new DecimalFormat();
r.applyPattern("#0.00");
if(z.equals('+')){
System.out.println(x+"+"+y+"=" + r.format((x+y)));
} else if(z.equals('-')){
System.out.println(x+"-"+y+"=" + r.format((x-y)));
} else if(z.equals('*')){
System.out.println(x+"*"+y+"=" + r.format((x*y)));
} else if(z.equals('/')){
if(y==0)
{
System.out.println("被除数不能为0");
}
else{
System.out.println(x+"/"+y+"=" + r.format((x/y)));
} }
else{
System.out.println("无法识别改运算符");
}
}
}
  • 命令行运行结果:

  • IDE运行结果:

二、遇到的问题及解决

  • 由于对Java的知识掌握的并不是很好,所以刚开始只是有设计思路但却不会设计,后来就看了书上的几个相应的程序,按照书上例子的思路开始编程。首先在类那里出现了问题, String condition = "";刚开始只是按照思路大概编出了框架,但就是理想和现实有差距,编程更是这样,所以不出意外的没有通过编译,后来才知道,没有数据库操作,所以就出现了Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous tree type:

    at cc.openhome.Zhidao.main(Zhidao.java:11)

    C:\Users\Administrator\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1这样的错误。后来加上数据库操作,让它有个内存空间程序才运行成功。
  • 因为很少用DOS命令行来运行、编译程序,所以都有点儿忘记怎么操作了,忘记什么时候使用javac编译,什么时候使用java运行,不过还好实验内容里面有JVM、JDK的操作步骤,所以,第一步是先找到程序所在的文档,其次就是先用javac xxx.java编译,然后输入java xxx再Enter就可以直接运行。相比较而言,我觉得使用IDEA编辑、编译、运行、调试程序要方便的非常多,所以我还是习惯用IDEA。

三、心得体会

本次实验由于是第一次实验,相对来说简单一点儿,是Java开发环境的熟悉,所以主要问题还是出在程序的编译方面,不过还好这次的程序没有太大的问题,自己都能够解决。但是由于一直以来缺乏实战经验,这次实验还是遇到了比较多的困难,虽然实验不难,但是编程却是一项很艰难的挑战,对Java的基础语法不能熟练地运用,因为毕竟精力有限,不能花大把的时间都投入到编程上去。但是却越来越意识到编程的重要性,所以我希望自己的编程技术能不断地取得进步。

20145236 《Java程序设计》实验一实验报告的更多相关文章

  1. 20145330《Java程序设计》第一次实验报告

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

  2. 20145320《Java程序设计》第一次实验报告

    20145320<Java程序设计>第一次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.04.08 18: ...

  3. 20145317彭垚 《Java程序设计》第一次实验实验报告

    20145317彭垚 <Java程序设计>第一次实验实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验名称:Java开发环境的 ...

  4. 20155339《java程序设计》第一次实验报告

    20155339<java程序设计>第一次实验报告 实验一 java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的java程序: 2.使用IDEA编辑.编译.运行.调试java程 ...

  5. 20144303 《Java程序设计》第一次实验实验报告

    20144303 <Java程序设计>第一次实验实验报告 北京电子科技学院(besti)实验报告 课程:java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.04.08 ...

  6. 20145240 《Java程序设计》第一次实验报告

    20145240 <Java程序设计>第一次实验报告 实验内容 一.命令行下java程序开发 1.建立Code目录,输入mkdir 20145240命令建立实验目录,并使用dir命令查看目 ...

  7. 《Java程序设计》课程实验要求

    目录 <Java程序设计>课程实验要求 注册实验楼账号 实验一 Java开发环境的熟悉 实验二<Java面向对象程序设计> 实验三 <敏捷开发与XP实践> 实验四 ...

  8. 20145127《java程序设计》第一次实验

    <java程序设计>第一次实验 实验内容及其步骤 1.使用JDK编写简单的Java小程序: Java编译的方法有很多,最基础最简单的就是使用命令行,记事本,Java虚拟机直接进行编译,下面 ...

  9. #《JAVA程序设计》 20155214 实验五 网络编程与安全

    <JAVA程序设计> 20155214 实验五 网络编程与安全 实验内容 掌握Socket程序的编写: 掌握密码技术的使用: 设计安全传输系统. 实验要求 要求一 结对实现中缀表达式转后缀 ...

  10. 《JAVA程序设计》 20155208 实验四 Android程序设计

    <JAVA程序设计> 20155208 实验四 Android程序设计 实验一: 实验要求: Android Stuidio的安装测试: 参考<Java和Android开发学习指南( ...

随机推荐

  1. How To Tune or Test PLSQL Code Performance in Oracle D2k Forms

    You can test or tune your program unit performance in Oracle forms with Ora_Prof package.Suppose you ...

  2. FJNU 1159 Fat Brother’s new way(胖哥的新姿势)

    FJNU 1159 Fat Brother’s new way(胖哥的新姿势) Time Limit: 1000MS   Memory Limit: 257792K [Description] [题目 ...

  3. python_way ,day5 模块,模块3 ,双层装饰器,字符串格式化,生成器,递归,模块倒入,第三方模块倒入,序列化反序列化,日志处理

    python_way.day5 1.模块3 time,datetime, json,pickle 2.双层装饰器 3.字符串格式化 4.生成器 5.递归 6.模块倒入 7.第三方模块倒入 8.序列化反 ...

  4. C# 线程(四):生产者和消费者

    From : http://kb.cnblogs.com/page/42530/ 前面说过,每个线程都有自己的资源,但是代码区是共享的,即每个线程都可以执行相同的函数.这可能带来的问题就是几个线程同时 ...

  5. HTML5时代的Web缓存机制

    HTML5 之离线应用Manifest 我们知道,使用传统的技术,就算是对站点的资源都实施了比较好的缓存策略,但是在断网的情况下,是无法访问的,因为入口的HTML页面我们一般运维的考虑,不会对其进行缓 ...

  6. 排序算法 & 迷宫的深度, 广度优先

    内容提要 1. 我掌握的排序算法的时间复杂度 2. 我掌握的6种排序算法(插入, 冒泡, 选择, 归并, 快速, 希尔) 3. 迷宫的搜索方法(深度优先 + 广度优先) 各种排序的时间复杂度 名称 稳 ...

  7. poj2546Circular Area(两圆相交面积)

    链接 画图推公式 这两种情况 都可用一种公式算出来 就是两圆都求出圆心角 求出扇形的面积减掉三角形面积 #include <iostream> using namespace std; # ...

  8. Debian8系统下,caffe的安装

    特此声明:本文不允许用于商业目的,允许转载(注明一下啦). 首先,官方的参考文献为:http://caffe.berkeleyvision.org/installation.html. 现在开始: 安 ...

  9. android设备休眠机制

    如果一开始就对Android手机的硬件架构有一定的了解,设计出的应用程序通常不会成为待机电池杀手,而要设计出正确的通信机制与通信协议也并不困难.但如果不去了解而盲目设计,可就没准了. 首先Androi ...

  10. bignum 大数模板

    今天无意间看到一个很好的大数模板,能算加.减.乘.除等基本运算,但操作减法的时候只能大数减小数,也不支持负数,如果是两个负数的话去掉符号相加之后再取反就可以了,一正一负比较绝对值大小,然后相减.我借用 ...