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编辑器> 课程: 完成实验.撰写实验 ...
随机推荐
- 如何理解MVC?
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范. 那么MVC框架究竟干了些什么:用一种业务逻辑. ...
- 实现DevOps需要的工具
硬性要求:工具上的准备 代码管理(SCM):GitHub.GitLab.BitBucket.SubVersion 构建工具:Ant.Gradle.maven 自动部署:Capistrano.CodeD ...
- SuperMap iClient for JavaScript image出图
SuperMap iClient for JavaScript 客户端基于openlayers 开发. 目前最高版本为811,9D产品后推荐客户使用leaflet.openlayers客户端开发. 问 ...
- Salesforce 外部对象
外部对象(External Object) 在Salesforce中,管理员或开发者可以通过"外部对象"将其他系统中的数据虚拟地展现为Salesforce的对象.每个外部对象都要连 ...
- 配置多个相同网段的ECMP下一跳,配合NQA健康检查实现高可靠性
1.一般情况下,ECMP常用的常见是,针对很远的目的地址,下一跳分别是路由器的不同出端口,而路由器的不同端口是不同网段的,也就是说,下一跳是不同的网段地址. 但是,在连接到终端服务器时,常常会采用多个 ...
- Android性能优化9-ANR完全解析
1.什么是ANR 在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对 ...
- Linux-pthread如何设置线程的优先级
设置线程优先级的函数: int pthread_setschedparam(pthread_t target_thread, int policy, const struct sched_param ...
- 2016-04-25-信息系统实践手记6-JS调用Flex的性能问题一例
layout: post title: 2016-04-25-信息系统实践手记6-JS调用Flex的性能问题一例 key: 20160425 tags: GIS JS FLEX 技术选型 性能 API ...
- PHP 生成器语法
一般你在迭代一组数据的时候,需要创建一个数据,假设数组很大,则会消耗很大性能,甚至造成内存不足. //Fatal error: Allowed memory size of 1073741824 by ...
- [20180823]IMU与db link.txt
[20180823]IMU与db link.txt --//当使用db link查看远程表时,实际上会产生小小的日志.--//当时如果与IMU结合在一起,可以导致IMU的失效. 1.环境:SCOTT@ ...