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. redhat 中安装rpm包时遇到异常 “error: Failed dependencies:xinetd is needed by .”

    redhat 中安装rpm包时遇到错误 “error: Failed dependencies:xinetd is needed by ....” redhat中安装rpm包时遇到“error: Fa ...

  2. 【转】phpcms基础内容

    <?php 思路: 一.目前在企业中使用比较多的cms内容管理有如下几种: 1.dedecms 2.phpcms 二.我们选择学习v9版本的phpcms,主要有以下几点原因: 1.基于MVC模式 ...

  3. maven工程通过命令打包

    dos下cd到pom.xml所在的目录,输入maven命令:mvn clean package,回车即可. 会打成一个.war包在target文件夹下.

  4. 运动曲线提升CSS动画效果

    原文链接 译文\译者鞠大宝 先有UI动画,然后才会有好的UI动画.好的动画会让人惊叹“哇哦!”——因为页面看上去很流畅.很漂亮,最重要的是,自然,一点都不会让人觉得不和谐或者僵硬死板.如果你经常逛Dr ...

  5. [POJ1177]Picture

    [POJ1177]Picture 试题描述 A number of rectangular posters, photographs and other pictures of the same sh ...

  6. JavaScript之函数

    控制语句(switch) switch(name){ case '1': age = 123; break; case '2': age = 456; break; case '3': age = 7 ...

  7. django的跨站请求访问

    一.简介 django为用户实现防止跨站请求伪造的功能,通过中间件 django.middleware.csrf.CsrfViewMiddleware 来完成.而对于django中设置防跨站请求伪造功 ...

  8. Eclipse不给提示no default proposals

    解决方法: (1),找到工程所在的workspace,删除.metadata配置文件. (2),启动eclipse,重新定位到先前的workspace目录置,重建同名工程(不要删除原来的工程,只要建立 ...

  9. mybatis动态SQL - like

    用'%${name}%'可以实现模糊查询,但会放开SQL注入漏洞. <when test="name != null and name!=''"> AND name l ...

  10. PHP 面向对象:抽象类继承抽象类

    抽象类继承另外一个抽象类时,不用重写其中的抽象方法.抽象类中,不能重写抽象父类的抽象方法.这样的用法,可以理解为对抽象类的扩展. 下面的例子,演示了一个抽象类继承自另外一个抽象类时,不需要重写其中的抽 ...