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. Java多线程基础知识(六)

    一. Java中的线程池 线程池的作用: 1. 降低资源消耗 2. 提高响应速度 3. 提高线程的可管理性 线程池处理流程: 1. 线程池判断核心线程池线程是否都在执行任务,如果不是,则创建一个新的工 ...

  2. BZOJ4610——[Wf2016]Ceiling Functi

    水题一道,不是很懂为啥没人做... 1.题意:纠正一下..bzoj的题意不是很对...注意不是堆,是不平衡的二叉树,就是非旋转的treap, 另外...插入的时候,小于插在左边..大于等于插在右边 2 ...

  3. leetcode 236. Lowest Common Ancestor of a Binary Tree

    Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According ...

  4. 从输入 URL 到浏览器接收的过程中发生了什么事情?

    从输入 URL 到浏览器接收的过程中发生了什么事情? What really happens when you navigate to a URL 上面两篇文章都解读的很好,值得阅读. 接下来在总结一 ...

  5. net-snmp5.7.3移植到arm-linux平台

    net-snmp5.7.3移植到arm-linux平台 本次交叉编译在ubuntu 15.04 64位系统下进行. 准备工作 在编译移植前有几项准备工作需要完成. 1下载net-snmp 5.7.3源 ...

  6. Python自动化之语法基础

    1 第一个程序 hello world 在Linux环境下执行 vim hello.py #!/usr/bin/env python #指定解释器 print("hello world&qu ...

  7. Linux的目录结构

    学习Linux这么久,对Linux的目录的目录结构进行整理总结一下. 以下是对这些目录的解释: /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令. /boot:这里存放的是启动L ...

  8. git分支管理策略

    http://www.ruanyifeng.com/blog/2012/07/git.html https://www.digitalocean.com/community/tutorials/how ...

  9. ubuntu安装LAMP环境

    1. LAMP 的安装 sudo apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql 由于LAMP大部分 ...

  10. HTML 返回顶部的样式

    .fhdb{ width:50px; height:50px; position:fixed;   //可以用来定义元素的固定定位. right:20px;      //距离右侧20像素 botto ...