20145206《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)

实验内容及步骤

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

建立实验目录:

在IDEA里输入一段程序:

package ZJR;

/**
* Created by Administrator on 2016/4/10.
*/
import java.util.Scanner;
public class Hello{
public static void main(String[] args){
System.out.println("Input your first name, please:");
Scanner s = new Scanner(System.in);
String name = s.next();
System.out.println("Hello " + name + " !");
}
}

用命令行编译运行结果:

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

在IDEA中新建工程:

新建Java类,新建包:

在IDEA中输入如下代码:

package zjr;

/**
* Created by Administrator on 2016/4/10.
*/
public class HelloRose {
public static void main(String[] args) {
int i = 5;
int j = 6;
int sum = add(i, j);
System.out.println(sum);
sum = 0;
for(i=0; i< 100; i++)
sum += i;
System.out.println(sum);
}
public static int add(int augend, int addend){
int sum = augend + addend;
return sum;
}
}

得到运行结果:

在IDEA中找到断点调试的方法:

发现只要在一行代码的最左端点击左键即可

接着用Debug调试:



发现停止在第15行:

练习2:实现四则运算

实现四则运算代码如下:

/**
* Created by Administrator on 2016/4/8.
*/
import java.util.Scanner;
public class sizeyunsuan1 {
public static void main(String[] args) {
System.out.println("请输入第一个数");
Scanner scanner = new Scanner(System.in);
double i;
i= scanner.nextDouble();
System.out.println("请输入第二个数");
Scanner scanner1 = new Scanner(System.in);
double j;
j = scanner1.nextDouble();
System.out.println("请输入要进行什么操作");
Scanner scanner3 = new Scanner(System.in);
String op;
op = scanner3.next();
char z = op.charAt(0);
if(z =='+'){
System.out.printf("%f",i+j);
}
else if(z == '-'){
System.out.printf("%f",i-j);
}
else if(z =='*'){
System.out.printf("%f",i*j);
}
else if(z == '/'){
if(j == 0) System.out.println("除数不能为0");
else System.out.printf("%f",i/j);
} }
}

运行结果:

设计过程

本题要求实现四则运算,那就是加减乘除都要能计算,分为操作数与操作符两部分,分别让用户输入,操作符部分用if,else语句完成。

遇到的问题及解决过程

问题一:在需要输入操作符时,按理来说应该把操作符设为char型,但是在下一行我输入nextChar(),会出现错误

解决过程:翻开书本,看到P87中Scanner的next****()方法,发现并没有nextChar(),于是我意识到可能不存在nextChar(),那怎么办呢?只能用字符串啦,我运用了next()方法,要取得这个字符串的第一个字符,我选择用charAt(0),这样问题就解决啦!

问题二:在输出时,因为我之前设置的操作数都是double型,我想最后输出也应该是double型,所以我就写%lf,但发现运行出来是不对的。

解决过程:我百思不得其解,后来上网查找资料才知道,原来Java里用于浮点数的只有%f,没有%lf,于是我改成%f就对啦!

心得体会

第一次做Java实验,其实刚开始心里有点没底,尤其是知道要自己编代码,毕竟自己之前没有太多编代码的经验。看到题目之后,觉得不是很难,但还是上网搜了一下相关代码,发现那些代码都好复杂,实现的功能也都很强大,我想我们毕竟接触Java的时间比较短,应该先从简单的开始编起,于是我翻开书本准备编一个简单一点的程序。稍微学习了一下书上的知识点,把有些例子看了一下,我就大概会编了,虽然我自己编出来的程序很简单,实现的功能也不是那么强大,但是我相信随着我对Java了解的深入会慢慢改进的,运行出结果还是有满满的成就感滴~

PSP时间

步骤 耗时 百分比
需求分析 10min 10%
设计 20min 20%
代码实现 30min 30%
测试 20min 20%
分析总结 20min 20%

20145206邹京儒《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)的更多相关文章

  1. 20145206邹京儒《Java程序设计》课程总结

    20145206邹京儒<Java程序设计>课程总结 (按顺序)每周读书笔记链接汇总 第一周:http://www.cnblogs.com/ZouJR/p/5213572.html http ...

  2. 20145206邹京儒 web安全基础实践

    20145206邹京儒 web安全基础实践 一.实践过程记录 关于WebGoat 1.我们在命令行里执行:java -jar webgoat-container-7.0.1-war-exec.jar运 ...

  3. 20145206邹京儒Exp6 信息搜集与漏洞扫描

    20145206邹京儒Exp6 信息搜集与漏洞扫描 一.实践过程记录 openvas漏洞扫描 1.openvas-check-setup来查看下他的安装状态: 如下图所示:在步骤7中出现错误,显示需要 ...

  4. 20145206邹京儒 Exp8 Web基础

    20145206邹京儒 Exp8 Web基础 一.实践过程记录 Apache (一)环境配置 1.查看端口占用:在这里apach2占用端口80 2.测试apache是否正常工作:在kali的火狐浏览器 ...

  5. 20145206邹京儒 EXP7网络欺诈技术防范

    20145206邹京儒 EXP7网络欺诈技术防范 一.实践过程记录 URL攻击实验前准备 1.在终端中输入命令:netstat -tupln |grep 80,查看80端口是否被占用,如下图所示 2. ...

  6. 20145206邹京儒MSF基础应用

    20145206邹京儒MSF基础应用 一.MS08_067漏洞渗透攻击实践 实验前准备 1.两台虚拟机,其中一台为kali,一台为windows xp sp3(英文版). 2.在VMware中设置两台 ...

  7. 20145206邹京儒《网络对抗技术》 PC平台逆向破解

    20145206邹京儒<网络对抗技术> PC平台逆向破解 注入shellcode并执行 一.准备一段shellcode 二.设置环境 具体在终端中输入如下: apt-cache searc ...

  8. 20145206邹京儒《网络对抗》逆向及Bof基础实践

    20145206邹京儒<网络对抗>逆向及Bof基础实践 1 逆向及Bof基础实践说明 1.1 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:ma ...

  9. 20145314郑凯杰 《Java程序设计》实验一 Java开发环境的熟悉(Windows + Eclipse)实验报告

    20145314郑凯杰 <Java程序设计>实验一 Java开发环境的熟悉(Windows + Eclipse)实验报告 实验要求 •使用JDK编译.运行简单的Java程序: •使用Ecl ...

  10. 20145316《Java程序设计》实验一:Java开发环境的熟悉(Windows + IDEA)

    20145316<Java程序设计>实验一:Java开发环境的熟悉(Windows + IDEA) 一.DOC命令行下Java程序开发 1.打开cmd,输入 mkdir 20145316命 ...

随机推荐

  1. iOS开发——UI进阶篇(十)导航控制器、微博详情页、控制器的View的生命周期

    一.导航控制器出栈 1.initWithRootViewController本质 UIViewController *vc = [[OneViewController alloc] init]; // ...

  2. BZOJ2049——[Sdoi2008]Cave 洞穴勘测

    1.题目大意:就是一个动态维护森林联通性的题 2.分析:lct模板题 #include <stack> #include <cstdio> #include <cstdl ...

  3. Android解析服务器Json数据实例

    Json数据信息如下: { "movies": [ { "movie": "Avengers", "year": 201 ...

  4. VirtualBox centos 6.5 minimal 开启网络

    默认情况下载的centos 6.5 minimal是不开启网卡功能的,按照下面的步骤开启网卡. vi /etc/sysconfig/network-script/ifcfg-eth0 将其中的 ONB ...

  5. 使用PopupWindow

    PopupWindow可以用来实现弹出任意位置的菜单,比Context Menu和Option Menu灵活性更高.Android中弹出一个PopupWindow基本有两个方法: 1 2 //Disp ...

  6. 百度地图API 海量点 自定义添加信息

    <!--添加百度地图--> <script type="text/javascript" src="http://api.map.baidu.com/a ...

  7. Hibernate 多对多关联查询条件使用

    from Brand as b inner join fetch b.styles as s where s.styleId=?

  8. EXTJS 动态改变Gird 列值

      var me = this.getView('EditProProductQrcodePanel'); var grid = me.down("[name=mallQrcodeGrid] ...

  9. js手机网页跳转

    在网页头部加入如下代码: <script type="text/javascript"> function browserRedirect() { var sUserA ...

  10. [转]Java连接各种数据库的方法

    //MySQL:       String Driver="com.mysql.jdbc.Driver";   //驱动程序     String URL="jdbc:m ...