一、实验内容及步骤

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

    • 使用命令 cd 20165330 进入到学号目录下
    • mkdir exp1新建文件夹
    • mkdir bin src建立bin src目录
    • vim src/Hello.java在src目录下编写程序
    • javac -g -d bin src/Hello.java编译到bin目录
    • java -cp bin ljp.Hello运行带包的程序

实验截图如下:

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

    • 打开IDEA创建HelloJDB工程,并新建HelloJDB的class文件
    • 编写代码
    • 运行程序点击Run
    • 设置断点:在所想设的行处点击左键
    • 点击debug开始调试
    • 点击step into(F7)或step over(F8)进行单步运行
    • 可在断点处右键设置条件,后单击Resume图标,可直接运行到断点处

实验截图如下:



二、练习

题目:4. 实现学生成绩管理功能(增删改,排序,查找),并进行测试(正常情况,异常情况,边界情况)。

  1. 要求:通过命令行和IDEA两种方式实现
  2. 设计思路:首先要有多个类的运用,分别进行功能操作、信息存放和功能实现的计算方法。
  • 主类为功能操作页面,显示各项功能操作
class Menu
{
public static void paint()
{
clrscr();
for (int i = 0; i < 80; i++)
{
System.out.print('=');
}
System.out.println(); System.out.println(" 学生成绩管理系统 ");
System.out.println();
System.out.println(" 1 输入记录 2 输出所有记录");
System.out.println(" 3 按平均成绩排序并输出 4 查找记录");
System.out.println(" 5 统计各分数段人数 6 删除记录");
System.out.println(" 0 退出"); for (int i = 0; i < 80; i++)
{
System.out.print('=');
}
System.out.println(" ");
System.out.println();
System.out.print("请输入命令:");
}
  • 然后实现信息存放,在这里我共输入了三门科目的成绩:Java、数学、英语
    public Student(int number, String name, int java, int math, int english)
{
this.number = number;
this.name = name;
this.english = english;
this.math = math;
this.java = java;
total = english + math + java;
average = total/3;
} public int getNumber()
{
return number;
} public String getName()
{
return name;
} public int getEnglish()
{
return english;
} public int getMath()
{
return math;
} public int getJava()
{
return java;
} public int getAverage()
{
return average;
} public int getTotal()
{
return total;
}
}
  • 最后开始功能实现的运算方法(包括为增加、排序、查找、删除、总分、平均分、统计分数段)
class StudentSet
{
private static final int maxLen = 1000;
private static int len = 0;
private static Student[] data = new Student[maxLen]; public static int getMaxLen()
{
return maxLen;
} public static int getLen()
{
return len;
} public static Student getData(int index)
{
return data[index];
} public static int addData(Student newData)
{
if (len < maxLen)
{
data[len] = newData;
len++;
return 0;
} else
{
return -1;
}
} public static void sortData()
{
for (int i = 0; i < len -1; i++)
{
int minIndex = i;
for (int j = i+1; j < len; j++)
{
if (data[minIndex].getAverage() > data[j].getAverage())
{
minIndex = j;
}
}
if (minIndex != i)
{
Student temp = data[i];
data[i] = data[minIndex];
data[minIndex] = temp;
}
}
} public static int search(int number)
{
for(int i = 0; i < len; i++)
{
if (data[i].getNumber() == number)
{
return i;
}
}
return -1;
} public static int delete(int number)
{
for (int i = 0; i < len; i++)
{
if (data[i].getNumber() == number)
{
for (int j = i + 1; j < len; j++)
{
data[j-1] = data[j];
}
len--;
return 0;
}
}
return -1;
} public static int stat(int min, int max)
{
int sum =0; for (int i = 0; i < len; i++)
{
if ((data[i].getAverage() >= min) && (data[i].getAverage() <= max))
{
sum++;
}
}
return sum;
}
}
  • 运行结果截图:

  • 遇到的问题和解决过程

在运行时,出现

解决方法:翻看前面的代码,发现前面输入java成绩部分的java输入错误,导致与错误行中的java不对应,导致找不到该变量。

三、实验体会与总结

  • 在本次实验中,前两个实验都是基本的操作,很快就可下手做,也是我更掌握了运行java的基本步骤,还有特别注意的带包的程序运行的不同之处。
  • 第三个实验对我来说有很大难度,之前C语言也遇到过类似的问题,大概的框架自己是很快可以想出来的,在往其中填补代码的过程就显得吃力,翻看了很多书上的内容,也询问好多人,平常的敲代码这一项任务还是要多上心,代码的框架结构、语句使用自己有时也要仔细推敲一下。
步骤 耗时 百分比
需求分析 5min 4%
设计 20min 20%
代码实现 60min 57%
测试 15min 15%
分析总结 5min 4%

20165330 实验一 Java开发环境的熟悉的更多相关文章

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

    实验内容 命令行下Java程序开发 IDEA下Java程序开发.调试 练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) 实现凯撒密码,并进行测试 实验要求 使用JDK编译 ...

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

    实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 1.没 ...

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

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

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

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

  5. 20145225《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)

    20145225<Java程序设计> 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑 ...

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

    20145208实验一 Java开发环境的熟悉 使用JDK编译.运行简单的java程序 命令行下程序开发 在命令行下建立实验目录,然后创建并进入该目录后的子目录. 编译并运行一个代码 使用IDEA 编 ...

  7. 实验一 Java开发环境的熟悉(Linux + Eclipse)

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

  8. 实验一 Java开发环境的熟悉(Linux + Idea) 20175301李锦然

    https://gitee.com/ShengHuoZaiDaXue/20175301.git 实验一 Java开发环境的熟悉(Linux + Idea) 实验内容 1.使用JDK编译.运行简单的Ja ...

  9. 2018-2019-2 实验一 Java开发环境的熟悉

    实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA编辑.编译.运行.调试Java程序 实验知识点 1. JVM.JRE.JDK的安装位置与区别: 2. 命令行运行javac:ja ...

随机推荐

  1. 高性能网络 | 你所不知道的TIME_WAIT和CLOSE_WAIT

    你遇到过TIME_WAIT的问题吗?   我相信很多都遇到过这个问题.一旦有用户在喊:网络变慢了.第一件事情就是,netstat -a | grep TIME_WAIT | wc -l 一下.哎呀妈呀 ...

  2. 打印十字图 queue 搞定

    题目描述 小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示: ..$$$$$$$$$$$$$.. ..$...........$.. $$$.$$$$$$$$$.$$$ $...$... ...

  3. SQL Server 2008 允许远程链接 解决方法

    用户在使用SQL Server 2008远程链接时,可能会弹出如下对话框: 在链接SQL服务器时发生网络链接错误或特定实例错误.SQL服务器不存在或者链接不成功.请验证用户名是否正确或SQL服务器是否 ...

  4. vue中axios调用接口和用node.js跨域

    <script>const API_PROXY = 'https://bird.ioliu.cn/v1/?url='import axios from 'axios'export defa ...

  5. 浅析StackTrace

    我们在学习函数调用时,都知道每个函数都拥有自己的栈空间.一个函数被调用时,就创建一个新的栈空间.那么通过函数的嵌套调用最后就形成了一个函数调用堆栈.在c#中,使用StackTrace记录这个堆栈.你可 ...

  6. 搭建springmvc框架的另一种思路

    在一个完整的项目里搭建springmvc框架的时候, 通常情况下,初学者在配置的时候,总是会把"中央控制器的名字"-servlet.xml文件放到/Webroot/WEB-INF下 ...

  7. vmware无法打开内核设备“\\.\Global\vmx86”: 系统找不到指定的文件

    原因: 是虚拟机服务没有开启 解决方法:(以管理员的方式运行) 点击“开始→运行”,在运行框中输入 CMD  回车打开命令提示符,然后依次执行以下命令. net start vmcinet start ...

  8. 数论 + 扩展欧几里得 - SGU 106. The equation

    The equation Problem's Link Mean: 给你7个数,a,b,c,x1,x2,y1,y2.求满足a*x+b*y=-c的解x满足x1<=x<=x2,y满足y1< ...

  9. java------HashMap与HashSet的区别

    HashMap和HashSet的区别是Java面试中最常被问到的问题.如果没有涉及到Collection框架以及多线程的面试,可以说是不完整.而Collection框架的问题不涉及到HashSet和H ...

  10. 【BZOJ】1697: [Usaco2007 Feb]Cow Sorting牛排序(置换群)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1697 置换群T_T_T_T_T_T_T 很久以前在黑书和白书都看过,,,但是看不懂... 然后找了本 ...