一、实验内容及步骤

(一)使用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. 小tips:JS之break,continue和return这三个语句的用法

    break语句 break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句.由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是 ...

  2. 一句SQL完成动态分级查询

    在最近的活字格项目中使用ActiveReports报表设计器设计一个报表模板时,遇到一个多级分类的难题:需要将某个部门所有销售及下属部门的销售金额汇总,因为下属级别的层次不确定,所以靠拼接子查询的方式 ...

  3. MySQL 横向表分区之RANGE分区小结

    MySQL 横向表分区之RANGE分区小结 by:授客 QQ:1033553122 目录 简介 1 RANGE分区 1 创建分区表 1 查看表分区 2 新增表分区 2 新增数据 3 分区表查询 3 删 ...

  4. js每隔一段时间执行函数

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. 使用Visual Studio Team Services敏捷规划和项目组合管理(一)——使用团队、区域和迭代

    使用Visual Studio Team Services敏捷规划和项目组合管理(一)--使用团队.区域和迭代 概述 在本实验,你将会了解Visual Studio Team Services提供的敏 ...

  6. SQL Server Alert发送告警邮件少了的原因

    最近突然发现我们部署在数据库上面的告警(Alert),当错误日志里面出现错误时,并不是每个错误日志都会发送邮件出来.如下所示,设置了告警"SQL Server Severity Event ...

  7. SQL Server中sp_spaceused统计数据使用的空间总量不正确的原因

    很多时候,我们经常使用sp_spaceused来查看表的空间使用情况,上个月群里有个网友说他使用DELETE删除了数据后,使用sp_spaceused查看,发现该表的分配的空间总量(reserved) ...

  8. mssql sqlserver 优化注意事项:

    摘要: 下文整理sqlserver优化中的常用知识点和注意事项 1.表上未建立合理的索引 2.服务器内存过小,导致缓存过少,数据库频繁的交互数据 3.统计信息不准确,导致索引乱用 4.网络异常,数据交 ...

  9. c/c++连通图的遍历(深度遍历/广度遍历)

    连通图的遍历(深度遍历/广度遍历) 概念:图中的所有节点都要遍历到,并且只能遍历一次. 深度遍历 广度遍历 深度遍历 概念:从一个给定的顶点开始,找到一条边,沿着这条边一直遍历. 广度遍历 概念:从一 ...

  10. Ubuntu下永久修改主机名和创建用户

    使用hostname 进行修改. 创建用户,修改密码