20175330 实验一 《Java开发环境的熟悉》实验报告
一、实验内容及步骤
(一)使用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的断点程序
- 在某一行添加断点
run
、debug
调试当前代码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开发环境的熟悉》实验报告的更多相关文章
- 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日 实验 ...
- 20162327实验一Java开发环境的熟悉实验报告
20162327 <程序设计与数据结构>第一次实验报告 基础知识 1.JDB的使用 使用JDB调试程序需要以下五个步骤: 1.设置断点 stop in 2.run 3.print 4.ne ...
- 实验一Java开发环境的熟悉
实验一Java开发环境的熟悉 实验内容 •命令行下Java程序开发 •IDEA下Java程序开发.调试 •练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) •实现凯撒密码 ...
- 20175316 盛茂淞 实验一 Java开发环境的熟悉
20175316 盛茂淞 实验一 Java开发环境的熟悉 实验目的 使用JDK编译.运行简单的Java程序 实验要求 1.建立"自己学号exp1"的目录 2.在"自己学号 ...
- 20155327实验一 Java开发环境的熟悉
20155327实验一 Java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的java程序 2.使用IDEA编辑.编译.运行.调试java程序 实验步骤 1.使用JDK编译.运行简单的jav ...
- 20165233 实验一 Java开发环境的熟悉
20165233 实验一 Java开发环境的熟悉 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 2.完成实验.撰写实验 ...
- 20155231 java实验一 Java开发环境的熟悉
20155231 java实验一 Java开发环境的熟悉 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 完成实验.撰写实验 ...
随机推荐
- 小tips:JS之break,continue和return这三个语句的用法
break语句 break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句.由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是 ...
- 一句SQL完成动态分级查询
在最近的活字格项目中使用ActiveReports报表设计器设计一个报表模板时,遇到一个多级分类的难题:需要将某个部门所有销售及下属部门的销售金额汇总,因为下属级别的层次不确定,所以靠拼接子查询的方式 ...
- MySQL 横向表分区之RANGE分区小结
MySQL 横向表分区之RANGE分区小结 by:授客 QQ:1033553122 目录 简介 1 RANGE分区 1 创建分区表 1 查看表分区 2 新增表分区 2 新增数据 3 分区表查询 3 删 ...
- js每隔一段时间执行函数
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 使用Visual Studio Team Services敏捷规划和项目组合管理(一)——使用团队、区域和迭代
使用Visual Studio Team Services敏捷规划和项目组合管理(一)--使用团队.区域和迭代 概述 在本实验,你将会了解Visual Studio Team Services提供的敏 ...
- SQL Server Alert发送告警邮件少了的原因
最近突然发现我们部署在数据库上面的告警(Alert),当错误日志里面出现错误时,并不是每个错误日志都会发送邮件出来.如下所示,设置了告警"SQL Server Severity Event ...
- SQL Server中sp_spaceused统计数据使用的空间总量不正确的原因
很多时候,我们经常使用sp_spaceused来查看表的空间使用情况,上个月群里有个网友说他使用DELETE删除了数据后,使用sp_spaceused查看,发现该表的分配的空间总量(reserved) ...
- mssql sqlserver 优化注意事项:
摘要: 下文整理sqlserver优化中的常用知识点和注意事项 1.表上未建立合理的索引 2.服务器内存过小,导致缓存过少,数据库频繁的交互数据 3.统计信息不准确,导致索引乱用 4.网络异常,数据交 ...
- c/c++连通图的遍历(深度遍历/广度遍历)
连通图的遍历(深度遍历/广度遍历) 概念:图中的所有节点都要遍历到,并且只能遍历一次. 深度遍历 广度遍历 深度遍历 概念:从一个给定的顶点开始,找到一条边,沿着这条边一直遍历. 广度遍历 概念:从一 ...
- Ubuntu下永久修改主机名和创建用户
使用hostname 进行修改. 创建用户,修改密码