20155228 实验一《Java开发环境的熟悉》实验报告

实验内容

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

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

实验要求

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

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

  • 实验报告中统计自己的PSP(Personal Software Process)时间;

  • 严禁抄袭。

实验知识点

  • JVM、JRE、JDK的安装位置与区别;

  • 命令行运行javac;java;javac -cp; java -cp;

  • PATH,CLASSPATH,SOURCEPATH的设定方法与应用;

  • 包管理:package;import;javac -d ;

  • Eclipse(Netbeans)管理Java项目,调试:断点、单步执行等;

  • Java基础语法:类型与类型转换;变量;运算符;流程控制等;

  • JDK帮助文档的使用。

实验步骤

命令行下Java程序开发

1.进入终端:

在图形界面下鼠标右键可以打开终端,打开的终端所处的位置就是打开终端前所在文件夹的位置。或者使用快捷键ctrl+t

2.新建Code目录并进入:

home目录下输入mkdir Code新建目录Code,并输入cd Code进入Code目录。如果不在home目录下可以输入cd ~返回到home目录。输入ls可以查看当前文件夹下所有文件的名字。

3.建立并进入实验目录:

输入mkdir 20155228新建实验目录,输入cd 20155228进入实验目录,输入mkdir exp1新建实验一目录,输入cd exp1进入实验一目录。输入pwd可以查看现在所处位置。

4.新建vim文档编写代码:

输入vim Hello.java新建vim文档并进入编辑。打开文档后按a进入插入模式,输入以下代码。

 package ljp;
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 + " !");
}
}
  • 第一行代码的package使得代码在编译后将class文件放到java文件所在目录下的名为ljp文件夹中,如果没有就新建一个。

  • 第二行代码的import是调用API方法java.util.Scanner

5.编译运行代码:

输入javac -d . Hello.java编译代码,输入java ljp.Hello运行代码。

  • 编译代码的命令中-d是后面输入要编译的代码的位置,命令中.是指当前文件夹。

  • 运行代码的命令中ljp.Hello是指运行当前目录下名为ljp中的名为Hello的代码。

IDEA下Java程序开发、调试

1.新建工程和文件

运行IDEA点击create a new project,输入工程名,工程名随意写。然后在工程文件夹下的src文件夹新建文件,输入文件名,文件名也随意写下,但是在后面写public class时候需要保证公共类名与文件名相同。

2.输入代码并编译:

2 public class code0407 {
3 public static void main(String[] args) {
4 int i = 5;
5 int j = 6;
6 int sum = add(i, j);
7 System.out.println(sum);
8
9 sum = 0;
10 for(i=0; i< 100; i++)
11 sum += i;
12
13 System.out.println(sum);
14 }
15
16 public static int add(int augend, int addend){
17 int sum = augend + addend;
18 return sum;
19 }
20}

输入代码后按下ctrl+shift+f10编译代码

3.设置断点调试代码

  • 设置断点:点击行号右边空白位置即可设置断点

  • 运行当断点处:shift+f9到右上角去点那个昆虫图标也可以。

  • 运行下一行(step over):f8或者到左下角去点那个向下的箭头也可以。

  • 进入和离开函数(step in、step out)

切换到debuger栏目可以看到各个自变量在当前步骤的数值。

练习: 实现学生成绩管理功能,并进行测试。

程序的功能是对输入的学生的姓名和成绩进行排序并以成绩升序的形式进行输出。

import java.util.*;
public class code040702 {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.println("输入学生的个数:");
int num=in.nextInt();
int a,b,i,j,temp,temp2;
int[] scores=new int[100];
String[] name=new String[100];
int[] rank=new int[100];
String tempname;
for(a=0;a<num;a++)
{
rank[a]=a;
b=a+1;
System.out.printf("请输入第%d个学生的姓名和成绩:",b);
name[a]=in.next();
scores[a]=in.nextInt();
}
/*for(a=0;a<num;a++)
{
System.out.printf("%d ",scores[a]);
}*/
for(i=0;i<(num-1);i++)
{
for(j=(i+1);j<num;j++)
{
if(scores[i]>scores[j])
{
temp=scores[i];
scores[i]=scores[j];
scores[j]=temp;
temp=rank[i];
rank[i]=rank[j];
rank[j]=temp;
}
}
}
System.out.println("学生成绩升序排名");
for(a=0;a<num;a++)
{
b=rank[a];
System.out.printf("%s %d\n",name[b],scores[a]);
} }
}

运行结果截图如下:

编程中遇到的问题和解决:

编程中主要遇到的问题是如何实现学生姓名和成绩的相互关联。在开始的时候我想到的办法是定义一个学生类,其中包括学生姓名的字符串成员变量和学生成绩的整数成员变量。这里涉及到多个学生,所以需要新建多个学生类实例,通过是上网查阅发现需要使用泛型还有Arraylist,从实现上来说并不容易。所以后来改换另外一种思路,将成绩和姓名分别放入一个数组和一个字符串中。另外再新建一个标号数组用于确定名字的输出顺序,在对成绩进行排序的时候也对标号进行排序,在输出成绩的时候根据标号输出对应的名字。

PSP时间统计

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

20155228 实验一《Java开发环境的熟悉》实验报告的更多相关文章

  1. 20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告

    20145308刘昊阳 <Java程序设计>实验一报告 实验名称 Java开发环境的熟悉 实验内容 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试J ...

  2. 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验一 Java开发环境的熟悉 实验报告

    20175316 盛茂淞 2018-2019-2 <Java程序设计>实验一 Java开发环境的熟悉 实验报告 一.实验要求 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA ...

  3. 20165327《Java程序设计》实验一 Java开发环境的熟悉 实验报告

    20165327<Java程序设计>实验二 <Java面向对象程序设计>实验报告 实验二 <Java面向对象程序设计> 一.实验报告封面 课程:Java程序设计 班 ...

  4. 20165205 实验一 java开发环境的熟悉 实验报告

    20165205 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:刘喆君 学号:20165205 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验 ...

  5. 20162327实验一Java开发环境的熟悉实验报告

    20162327 <程序设计与数据结构>第一次实验报告 基础知识 1.JDB的使用 使用JDB调试程序需要以下五个步骤: 1.设置断点 stop in 2.run 3.print 4.ne ...

  6. 实验一Java开发环境的熟悉

    实验一Java开发环境的熟悉 实验内容 •命令行下Java程序开发 •IDEA下Java程序开发.调试 •练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) •实现凯撒密码 ...

  7. 20175316 盛茂淞 实验一 Java开发环境的熟悉

    20175316 盛茂淞 实验一 Java开发环境的熟悉 实验目的 使用JDK编译.运行简单的Java程序 实验要求 1.建立"自己学号exp1"的目录 2.在"自己学号 ...

  8. 20155327实验一 Java开发环境的熟悉

    20155327实验一 Java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的java程序 2.使用IDEA编辑.编译.运行.调试java程序 实验步骤 1.使用JDK编译.运行简单的jav ...

  9. 20165233 实验一 Java开发环境的熟悉

    20165233 实验一 Java开发环境的熟悉 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 2.完成实验.撰写实验 ...

  10. 20155231 java实验一 Java开发环境的熟悉

    20155231 java实验一 Java开发环境的熟悉 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 完成实验.撰写实验 ...

随机推荐

  1. 20165225 《Java程序设计》第二周学习总结

    20165225<Java程序设计>第二周学习总结 1.视频与课本中的学习: ##### 1.标识符: 字母.下划线.美元符号.数字(不能是true,false,null还有关键字). # ...

  2. Python开发【笔记】:从海量文件的目录中获取文件名--方法性能对比

    Python获取文件名的方法性能对比 前言:平常在python中从文件夹中获取文件名的简单方法   os.system('ll /data/')   但是当文件夹中含有巨量文件时,这种方式完全是行不通 ...

  3. sqlserver配置允许快照隔离

    ALTER DATABASE TustenaOS SET ALLOW_SNAPSHOT_ISOLATION ON

  4. python的队列和栈

    (一)队列和栈的区别 1.队列: 队列是一种特殊的线性表.其两头都有限制,插入只能在表的一端进行(只进不出),而删除只能在表的另一端进行(只出不进),允许删除的一端称为队尾(rear),允许插入的一端 ...

  5. 帝国cms文章页调用当前文章URL如何操作?

    前面我们讨论过dedecms文章页调用地址(当前文章URL)如何操作,作为同台竞技的帝国cms也能在文章页调用当前文章URL吗?答案是肯定的!那就随ytkah一起来探索一下吧 帝国cms模板是在后台直 ...

  6. Spark中repartition和partitionBy的区别

    repartition 和 partitionBy 都是对数据进行重新分区,默认都是使用 HashPartitioner,区别在于partitionBy 只能用于 PairRDD,但是当它们同时都用于 ...

  7. github的使用,利用git shell命令行创建仓库并上传

    一.登录到github,新建一个版本仓库 二.在“Repository name”一栏里填写版本仓库的名称,如”test”,Description栏是描述,可填可不填. 默认访问权限为公共,点击”Cr ...

  8. CMB面试

    笔试: 1.登录验证userid password后台sql传入,有什么问题,预防措施? https://bbs.csdn.net/topics/120075716 2.cookie,session, ...

  9. mac上命令行解压rar

    时间进入到2018年12月,mac上好用的rar解压工具要收费了.被逼的没办法,用命令行吧,谁让咱擅长呢? 1,使用Homebrew安装unrar,没有自己装去 brew install unrar ...

  10. 使用MySQL的mysqldump命令备份数据库和把数据库备份文件恢复

    1,备份数据库 mysql -uroot -p123456 db_name > /root/db_name.dump 2,数据库备份文件恢复 mysql -uroot -p123456 db_n ...