20155328 《Java程序设计》实验一(Java开发环境的熟悉) 实验报告
20155328 《Java程序设计》实验一(Java开发环境的熟悉) 实验报告
一、实验内容及步骤
(一)使用JDK编译、运行简单的java程序
命令行下的程序开发:
打开windows下的cmd,输入cd Code进入Code目录,输入mkdir 20155328创建实验目录,再输入cd 20155328进入实验目录,再输入mkdir exp1创建实验一文件夹。最后,输入cd exp1进入实验一目录。第二步:用vim编辑器写一个简单的Hello程序,并用命令行编译并运行该Java程序。


(二)使用IDEA编辑、编译、运行、调试Java程序
1.新建HelloJDB类,输入以下代码:
public class HelloJDB {
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;
}
}
2.在需要设置断点的行数标识右侧单击左键,出现红点。

3.在Run菜单中的Debug..进入单步调试。


二、练习:实现学生成绩管理功能,并进行测试。
我的练习题目:实现学生成绩管理功能,并进行测试。
这个题目看起来很简单而又无从下手,但万事开头难,只要想好学生成绩管理的程序需要实现哪些功能,就可以着手开始一块一块的做了。我想到的是最基本的几个功能:录入学生信息、按成绩高低输出学生信息、由学号查找学生以及删除指定学号的学生。
使用switch对功能进行划分,当用户输入不同的数字时实现不同的功能,输入0时退出程序。
以下是我的学生成绩管理的程序:
package experiment1;
/**
* Created by lxkj on 2017/4/9.
*/
import java.util.*;
public class StudentGrade {
public static void main(String args[]){
int i,j,k,l,m,o,p,ID,math,English;
String name;
try{
Scanner in=new Scanner(System.in);
System.out.println("请输入学生人数:");
int num=in.nextInt();
Student[] stu=new Student[num];
while(true) {
System.out.println("请输入您想实现的功能对应的数字:");
System.out.println("1:录入学生成绩信息 2:按数学成绩由高到低输出所有学生信息 3:按英语成绩由高到低输出所有学生信息");
System.out.println("4:查找学生 5:删除指定学生信息 0:退出");
Scanner request=new Scanner(System.in);
int tag=request.nextInt();
switch(tag)
{
case 1:
{
System.out.println("学号:");
ID=in.nextInt();
System.out.println("姓名:");
name=in.next();
System.out.println("数学成绩:");
math=in.nextInt();
System.out.println("英语成绩:");
English=in.nextInt();
Student stu1=new Student();
stu1.setID(ID);
stu1.setName(name);
stu1.setMath(math);
stu1.setEngilsh(English);
for(i=0;i<num;i++){
if (stu[i]==null) break;
}
stu[i]=stu1;
System.out.println("添加成功!");
System.out.printf("学号:%d, 姓名: %s, 数学成绩: %d, 英语成绩:%d%n",stu[i].getID(),stu[i].getName(),stu[i].getMath(),stu[i].getEngilsh());
break;
}
case 2:
{
Student stu2=new Student();
for(j=0;j<num;j++){
for (k=j+1;k<num;k++){
if (stu[j].getMath()<stu[k].getMath()){
stu2=stu[j];
stu[j]=stu[k];
stu[k]=stu2;
}
}
}
for (j=0;j<num;j++){
System.out.printf("学号: %d 姓名: %s 数学成绩: %d 英语成绩: %d%n",stu[j].getID(),stu[j].getName(),stu[j].getMath(),stu[j].getEngilsh());
}
break;
}
case 3:
{
Student stu3=new Student();
for(l=0;l<num;l++){
for(m=l+1;m<num;m++){
if (stu[l].getEngilsh()<stu[m].getEngilsh()){
stu3=stu[l];
stu[l]=stu[m];
stu[m]=stu3;
}
}
}
for (l=0;l<num;l++){
System.out.printf("学号: %d 姓名: %s 数学成绩: %d 英语成绩: %d%n",stu[l].getID(),stu[l].getName(),stu[l].getMath(),stu[l].getEngilsh());
}
break;
}
case 4:
{
System.out.println("请输入想要查找的学号:");
int id=in.nextInt();
o=0;
while(o<num){
if (stu[o].getID()==id) {
System.out.printf("学号: %d 姓名: %s 数学成绩: %d 英语成绩: %d%n",stu[o].getID(),stu[o].getName(),stu[o].getMath(),stu[o].getEngilsh());
break;
}
o++;
}
if (o==num) System.out.println("是不是学号输错啦?没有这个人哎~");
break;
}
case 5:
{
System.out.println("请输入需要删除的学号:");
int deleteid=in.nextInt();
for(p=0;p<num;p++){
if (stu[p].getID()==deleteid){
stu[p]=null;
System.out.println("已经删掉啦~");
break;
}
}
if (p==num) System.out.println("是不是学号输错啦?没有这个人哎~");
break;
}
case 0:
{
System.out.println("不用啦?下次再见噜~");
System.exit(0);
}
default:System.out.println("嘻嘻输错了吧 只能输1、2、3、4、5或者0");
}
}
}catch(Exception e){
System.out.println(e.toString());
}
}
}
class Student{
private int ID;
private String name;
private int math;
private int Engilsh;
public int getID(){
return ID;
}
public void setID(int ID){
this.ID=ID;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public int getMath(){
return math;
}
public void setMath(int math){
this.math=math;
}
public int getEngilsh(){
return Engilsh;
}
public void setEngilsh(int Engilsh){
this.Engilsh=Engilsh;
}
}
运行结果截图如下:



练习过程中遇到的问题
问题1:当连续存入两个学生的信息时,存完第一个后报错:

解决方案:看了自己的程序,在用户输入1进行存储后,case1实现后没有加上break。
20155328 《Java程序设计》实验一(Java开发环境的熟悉) 实验报告的更多相关文章
- 20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告
20145308刘昊阳 <Java程序设计>实验一报告 实验名称 Java开发环境的熟悉 实验内容 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试J ...
- 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验一 Java开发环境的熟悉 实验报告
20175316 盛茂淞 2018-2019-2 <Java程序设计>实验一 Java开发环境的熟悉 实验报告 一.实验要求 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA ...
- 20165327《Java程序设计》实验一 Java开发环境的熟悉 实验报告
20165327<Java程序设计>实验二 <Java面向对象程序设计>实验报告 实验二 <Java面向对象程序设计> 一.实验报告封面 课程:Java程序设计 班 ...
- 20165205 实验一 java开发环境的熟悉 实验报告
20165205 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:刘喆君 学号:20165205 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验 ...
- 实验一《开发环境的熟悉》&实验二《固件设计》
20145312&20145338 实验一<开发环境的熟悉>&实验二<固件设计> 合作博客链接:http://www.cnblogs.com/yx2014531 ...
- 20162327实验一Java开发环境的熟悉实验报告
20162327 <程序设计与数据结构>第一次实验报告 基础知识 1.JDB的使用 使用JDB调试程序需要以下五个步骤: 1.设置断点 stop in 2.run 3.print 4.ne ...
- 20145233韩昊辰 《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)
20145233 <Java程序设计>实验报告一:Java开发环境的熟悉 实验要求 使用JDK编译.运行简单的Java程序: 使用IDEA 编辑.编译.运行.调试Java程序. 实验内容 ...
- 20175236 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:温丰帆 学号:20175236 指导教师:娄嘉鹏 实验日期:2019年4月2日 实验时间:13:45 - 15:25 实验序号:实验一 ...
- 20165234 《Java程序设计》实验一 Java开发环境的熟悉
一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:刘津甫 学号:20165234 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验时间:15:35 - 17:15 实验序 ...
- 2018-2019-2 20175227张雪莹 《Java程序设计》 实验一 Java开发环境的熟悉
2018-2019-2 20175227张雪莹<Java程序设计> 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学号:2017 ...
随机推荐
- 《java编程思想》有必要买吗
<java编程思想>有必要买吗 1.看到过好多个这样的提问,其实我一般真的不那么容易分享自己的这点心得的,这是第一次回答这样的“推荐书籍”方面的问题. 我买编程方面的书籍,有一个非常清晰. ...
- POJ - 3476 A Game with Colored Balls---优先队列+链表(用数组模拟)
题目链接: https://cn.vjudge.net/problem/POJ-3476 题目大意: 一串长度为N的彩球,编号为1-N,每个球的颜色为R,G,B,给出它们的颜色,然后进行如下操作: 每 ...
- 【[AHOI2009]同类分布】
这是一篇有些赖皮的题解 (如果不赖皮的话,bzoj上也是能卡过去的) 首先由于我这个非常\(sb\)的方法复杂度高达\(O(171^4)\),所以面对极限的\(1e18\)的数据实在是卡死了 但是这个 ...
- [转]对象映射类AutoMapper的使用
由于原文太长了,此处就直接贴上原文的超链接,大家自行学习. codeproject中的一篇文章: AutoMapper
- PAT——1028. 人口普查
某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过200岁的老人,而今天是2014年9月 ...
- 获取 当前显示的 UIViewController
UIViewController * findBestVC(UIViewController *vc) { if (vc.presentedViewController) { return findB ...
- ovs加dpdk出现EAL No free hugepages reported in hugepages-1048576kB
问题 打开ovs的日志: cat /etc/local/var/log/openvswitch/ovs-vswichd.log 其中一条显示: 2018-07-30T02:12:05.443Z|000 ...
- 支付宝在ios应用上的开发[转]
前奏 现在随着移动开发的快速发展,越来越多的应用要求在线支付功能.最近做了一个关于支付宝支付功能的应用,在使用支付宝的过程中,遇到一些不必要的弯路,因此,写了这篇文章总结一下关于ios开发如何使用支付 ...
- 字符型设备驱动程序-first-printf以及点亮LED灯(二)
编译这几个函数之前要学一下:Linux 的几个操作命令. 学习地址:http://edu.51cto.com/lesson/id-101824.html 重要的命令 有4个 :分别是 1.lsmod, ...
- Datatable报错Uncaught TypeError: Cannot read property 'cell' of undefined
使用Datatables时,报出错误 仔细想想,是因为我在columns里加入了id,并设置visible:false 但是却没在下面的HTML部分多加一个 th 虽然我觉得因为id是隐藏的,不用加上 ...