一、实验内容及步骤

(一)使用JDk编译、运行简单的Java程序

(一)使用JDk编译、运行简单的Java程序

输入cd Code命令进入Code目录

输入mkdir 20175308建立实验目录

ls查看当前工作目录

cd 20175308进入实验目录,mkdir exp1建立第一个实验目录

cd exp1进入第一个实验目录,pwd查看当前工作路径

vim Hello.java编辑Hello.java

javac -d . Hello.java编译代码

java Hello运行代码

(二)使用IDEA调试Java

判断循环内部是否有问题。添加条件断点:在for循环中添加i为50的断点程序

  • 在某一行添加断点
  • rundebug调试当前代码
  • Step Over向下执行一行
  • sum=11

(三)练习

学生成绩管理系统

代码

Test.java

import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner((System.in));
String choice = "1";
ScoreList studentScoreList = new ScoreList();
System.out.println("**********学生成绩管理系统********");
while(choice.equals("0") == false){
System.out.println("1.查看学生成绩单");
System.out.println("2.添加学生成绩记录");
System.out.println("3.修改学生成绩记录");
System.out.println("4.删除学生成绩记录");
System.out.println("5.查看某位学生成绩记录");
System.out.println("6.统计这门课平均分、最高分和最低分");
System.out.println("7.按成绩从高往低排序,并输出");
System.out.println("0.退出程序");
System.out.print("Enter your choice: ");
choice = input.next(); switch (choice){
case"0":
System.out.println("谢谢您的使用,欢迎下次光临!");
break;
case"1":
studentScoreList.trascript();
System.out.println("请问您还需要什么服务?\n");
break;
case"2":
int i = 1;
do {
studentScoreList.add();
System.out.println("\n是否继续添加?"+"\n"+"0.否"+"1.是");
i=input.nextInt();
}while (i ==1);
System.out.println("请问您还需要什么服务?\n");
break;
case "3":
studentScoreList.recompose();
System.out.println("请问您还需要什么服务?\n");
break;
case "4":
studentScoreList.delete();
System.out.println("请问您还需要什么服务?\n");
break;
case"5":
studentScoreList.inquire();
System.out.println("请问您还需要什么服务?\n");
break;
case "6": System.out.println("请问您还需要什么服务?\n");
break;
case "7":
studentScoreList.sort();
studentScoreList.trascript();
System.out.println("请问您还需要什么服务?\n");
break;
default:
System.out.println("Invalid input! Please enter again.");
break; } }
}
}
public class ScoreList {
int maxLength = 100;
int length = 0;
Score[] data = new Score[maxLength];
Scanner input = new Scanner(System.in);
public ScoreList(){ } public void add(){
if(length<maxLength){
data[length] = new Score();
System.out.print("请输入学生的学号:");
data[length].setNum(input.next());
System.out.println("请输入学生的姓名:");
data[length].setName(input.next());
System.out.println("请输入学生的成绩");
data[length].setScore(input.nextDouble());
length++;
System.out.println("添加成功!");
}
else {
System.out.println("添加失败!");
}
} public void trascript(){
System.out.println("==================================================");
System.out.println("学号 姓名 成绩 ");
for (int i=0;i<length;i++){
System.out.println(data[i].num+"\t"+data[i].name+"\t"+data[i].score);
}
System.out.println("==================================================\n");
} public void sort(){
Score temp = new Score();
for(int i = 1;i<length;i++){
for(int j=0;j<length-i;j++){
if(data[j].score<data[j+1].score){
temp = data[j];
data[j]=data[j+1];
data[j+1]=temp;
}
}
}
}
SocerLIst.java
public void delete(){
System.out.println("请输入你要删除的学号:");
String number1 = input.next();
int i,flag=length;
for(i = 0;i<length;i++){
if(number1.equals(data[i].num)){
flag=i;break;
}
}
if(i == length){
System.out.println("查无此人!请核对后重新输入\n");
delete();
}
else{
for(int j = flag;j < length;j++){
data[j] = data[j+1];
}
System.out.println("删除成功!\n");
length -=1;
}
}
public void insert(){
length +=1;
if(length<=maxLength) {
System.out.println("请输入您要添加的学生信息");
System.out.print("请输入学生的学号:");
data[length].setNum(input.next());
System.out.println("请输入学生的姓名:");
data[length].setName(input.next());
System.out.println("请输入学生的成绩");
data[length].setScore(input.nextDouble());
System.out.println("添加成功!");
}
else {
length -=1;
System.out.println("人数已满");
}
}
public void inquire(){
System.out.println("请输入你要查询的学生的学号");
String number2 = input.next();
int i;
for(i = 0;i < length;i++){
if(number2.equals(data[i].num)){
System.out.println("==================================================");
System.out.println("学号 姓名 成绩 ");
System.out.println(data[i].num+"\t"+data[i].name+"\t"+data[i].score);
System.out.println("==================================================\n");
break;
}
}
if(i == length){
System.out.println("查无此人!请核对后重新输入\n");
inquire();
}
}
public void recompose(){
System.out.println("请输入要修改的学生的学号:");
String number3 = input.next();
int i;
for(i = 0; i < length; i++) {
if(number3.equals(data[i].num)) {
System.out.println("请输入该学生新的学号,姓名和成绩:");
data[i].setNum(input.next());
data[i].setName(input.next());
data[i].setScore(input.nextDouble());
System.out.println("修改成功!\n");
break;
}
}
if(i == length) {
System.out.println("查无此人!请核对后重新输入学号\n");
recompose();
}
}
}
Score,java
public class Score {
    String num;
String name;
double score; public class Scor { }
public void setNum(String num) {
this.num = num;
} public void setName(String name) {
this.name = name;
} public void setScore(double score) {
this.score = score;
}
}

运行截图

三。设计思路

通过将问题从大化小来完成,大问题化为录入,排序,增添,删改,输出,来完成。将去年C语言的学生成绩管理系统看了一遍之后根据C语言的思路来写了java

四、实验总结与体会

1.做实验的时候,学生管理系统在C语言上也有涉及,但是我在java上感受到了不一样的实现方法,相比于C语言来说java更加灵活,可以实现的方式更加的多元化,录入,输出,排序,删除,通过各种方法来完成这一项项的任务,最后将这些功能全部加到Test里来完成实验,本次实验让我复习掌握了以前所学的知识,获益良多。

20175330 实验一 《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. 如何理解MVC?

    MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范. 那么MVC框架究竟干了些什么:用一种业务逻辑. ...

  2. 实现DevOps需要的工具

    硬性要求:工具上的准备 代码管理(SCM):GitHub.GitLab.BitBucket.SubVersion 构建工具:Ant.Gradle.maven 自动部署:Capistrano.CodeD ...

  3. SuperMap iClient for JavaScript image出图

    SuperMap iClient for JavaScript 客户端基于openlayers 开发. 目前最高版本为811,9D产品后推荐客户使用leaflet.openlayers客户端开发. 问 ...

  4. Salesforce 外部对象

    外部对象(External Object) 在Salesforce中,管理员或开发者可以通过"外部对象"将其他系统中的数据虚拟地展现为Salesforce的对象.每个外部对象都要连 ...

  5. 配置多个相同网段的ECMP下一跳,配合NQA健康检查实现高可靠性

    1.一般情况下,ECMP常用的常见是,针对很远的目的地址,下一跳分别是路由器的不同出端口,而路由器的不同端口是不同网段的,也就是说,下一跳是不同的网段地址. 但是,在连接到终端服务器时,常常会采用多个 ...

  6. Android性能优化9-ANR完全解析

    1.什么是ANR 在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对 ...

  7. Linux-pthread如何设置线程的优先级

    设置线程优先级的函数: int pthread_setschedparam(pthread_t target_thread, int policy, const struct sched_param ...

  8. 2016-04-25-信息系统实践手记6-JS调用Flex的性能问题一例

    layout: post title: 2016-04-25-信息系统实践手记6-JS调用Flex的性能问题一例 key: 20160425 tags: GIS JS FLEX 技术选型 性能 API ...

  9. PHP 生成器语法

    一般你在迭代一组数据的时候,需要创建一个数据,假设数组很大,则会消耗很大性能,甚至造成内存不足. //Fatal error: Allowed memory size of 1073741824 by ...

  10. [20180823]IMU与db link.txt

    [20180823]IMU与db link.txt --//当使用db link查看远程表时,实际上会产生小小的日志.--//当时如果与IMU结合在一起,可以导致IMU的失效. 1.环境:SCOTT@ ...