20155233 实验一 Java开发环境的熟悉(Linux + IDEA)
2017-04-08 20:04
579 查看
20155233 实验一 Java开发环境的熟悉(Linux + IDEA)
实验内容
1.使用JDK编译、运行简单的Java程序;2.使用IDEA编辑、编译、运行、调试Java程序。
实验步骤
(一)使用JDK编译、运行简单的java程序
1.命令行下的程序开发
1.新建文件夹:打开Linux下的终端控制(
Ctrl+Alt+T) → 输入cd 20155233命令进入20155233目录 → 输入md 20155233建立以自己学号命名的文件夹 → 输入cd 20155233进入文件夹 → 输入md exp1建立“实验一”文件夹 → 输入cd exp1进入“实验一”文件夹
2.新建代码、编辑、运行:
输入
gedit Hello.java,编辑代码:
import java.util.Scanner; public class Hello{ public static void main(String[] args){ System.out.println("Input your first name, please:"); Scanner s = new Scanner(System.in); String name = s.next(); System.out.println("Hello " + name + " !"); } }
保存后退出,输入
javac Hello.java编译产生
Hello.class,
输入
java Hello产生以下画面:
(二)使用IDEA编辑、编译、运行、调试Java程序
1.打开Linux终端,输入./idea/bin/idea.sh打开IDEA,新建一个项目,放在
HOME/20155233/20155233/exp1下。
2.新建一个
HelloWorld类,输入以下代码:
public class HelloWorld { 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; } }
3.断点调试:
在需要设置断点的一行左侧单击鼠标,出现红色圆点。在上方
Run菜单中找到
Debug进行调试(参考下图)。
(三)实现学生成绩管理功能,并进行测试
1.设计思路,分布实现学生成绩管理中的各个功能,包括添加学生、删除学生、修改学生、查询学生、排序学生等。2.设计步骤:
<1>设计
Student类:
class Student { String name; String studentId; String sex; int grade; public Student(String name,String studentId,String sex,int grade){ this.name= name; this.studentId= studentId; this.sex = sex; this.grade = grade; } public int getGrade(){ return grade; } public String getName(){ return name; } public String getSex(){ return sex; } public void setGrade(int g){ this.grade = g; } public String getStudentId(){ return studentId; } }
这里面定义了一些得到当前学生对象数据的一些get方法,和成绩修改的set方法。
<2>做一个比较简单的界面:
System.out.println("***************"); System.out.println("*欢迎来到学生管理系统 *"); System.out.println("*1:增加学生 *"); System.out.println("*2:删除学生 *"); System.out.println("*3:修改成绩 *"); System.out.println("*4:查询成绩 *"); System.out.println("*5:成绩排序 *"); System.out.println("***************"); System.out.println("您想选择的操作是:");
<3>各功能的实现
添加学生信息
System.out.print("请输入学生的姓名:"); Scanner Sname = new Scanner(System.in); String name = Sname.nextLine(); System.out.print("请输入学生的性别:"); Scanner Ssex = new Scanner(System.in); String sex = Ssex.nextLine(); System.out.print("请输入学生的学号:"); Scanner SId = new Scanner(System.in); String studentId = SId.nextLine(); System.out.print("请输入学生的成绩:"); Scanner Sgrade = new Scanner(System.in); int grade = Sgrade.nextInt(); StudentList.add(new Student(name,studentId,sex,grade)); System.out.println("添加成功!!!!!");
删除学生信息
System.out.print("请告诉我需要删除学生的学号:"); Scanner Sid = new Scanner(System.in); String SstudentId = Sid.nextLine(); boolean isfindDelete = false; for (int i = 0; i < StudentList.size(); i++) { if(SstudentId.equals(StudentList.get(i).getStudentId())){ System.out.println("发现了该学生,正在删除..."); StudentList.remove(i); System.out.println("删除成功!!!"); isfindDelete =true; } } if(!isfindDelete){ System.out.println("抱歉,没有找到"); }
修改学生成绩
System.out.print("请告诉我需要修改成绩学生的学号:"); Scanner GId = new Scanner(System.in); String GstudentId = GId.nextLine(); boolean isfindChange = false; for (int j = 0; j < StudentList.size(); j++) { if(GstudentId.equals(StudentList.get(j).getStudentId())){ System.out.println("发现了该学生,正在修改..."); System.out.println("学生原成绩为"+StudentList.get(j).getGrade()); System.out.print("请输入修改后学生的成绩:"); Scanner Ggrade = new Scanner(System.in); int grade2 = Ggrade.nextInt(); StudentList.get(j).setGrade(grade2); System.out.println("修改成功!!!"); isfindChange =true; }else{ } } if(!isfindChange){ System.out.println("抱歉,没有找到"); } select(StudentList); break;
查询学生信息
System.out.print("请告诉我需要查询学生的学号:"); Scanner CId = new Scanner(System.in); String CstudentId = CId.nextLine(); boolean isfindData = false; for (int i = 0; i < StudentList.size(); i++) { if(CstudentId.equals(StudentList.get(i).getStudentId())){ System.out.println("名字:"+StudentList.get(i).getName()); System.out.println("性别:"+StudentList.get(i).getSex()); System.out.println("学号:"+StudentList.get(i).getStudentId()); System.out.println("成绩:"+StudentList.get(i).getGrade()); isfindData = true; } } if(!isfindData){ System.out.println("抱歉,没有找到"); }
排序学生成绩
这个功能目前没有实现,将在后续的学习在完善并补充。System.out.print("排序结果为:"); for (int i = 0; i < StudentList.size(); i++) { for (int j = i+1; j < StudentList.size(); j++) { if(StudentList.get(i).getGrade()<StudentList.get(j).getGrade()) XXX;(排序算法) } } for (int i = 0; i < StudentList.size(); i++) { System.out.printf("名字:"+StudentList.get(i).getName()); System.out.printf(" "); System.out.printf("性别:"+StudentList.get(i).getSex()); System.out.printf(" "); System.out.printf("学号:"+StudentList.get(i).getStudentId()); System.out.printf(" "); System.out.println("成绩:"+StudentList.get(i).getGrade()); }
实验感想
本次实验是对java基础的一次总结,以及对Linux基础的一次掌握,在实现学生成绩管理功能过程中遇到好多问题,主要包括以下:1.各功能之间如何循环进入:把所有的实现过程全部放在select();方法中,这样可以避免选择完了一个操作后不能继续其他操作。大部分的操作都是依靠for循环来遍历操作,方便快捷。
2.学生信息如何存取、添加:通过
static List<Student> StudentList = new LinkedList<Student>()建立链表存储信息。
3.在实现排序成绩中遇到以下问题:
for (int i = 0; i < StudentList.size(); i++) { for (int j = i+1; j < StudentList.size(); j++) { if(StudentList.get(i).getGrade()<StudentList.get(j).getGrade()) Collections.swap(StudentList.get(i),StudentList.get(j)); } }
采用Collections中的swap,但在调用中出现编译不通过,该问题通过参考书中的第9章以及多方修改,但未能解决,打算在以后的学习中再进行添加。
总结:磨刀不误砍柴工,在实验前一定要养成一个很好的预习,通过参考、搜索网络等要预先掌握解决问题的要点。本次实验在实现学生成绩功能上,主体框架参考网络,我通过修改达到自己所需的目的,从而减小了设计用时,效率明显增加。
PSP(Personal Software Process)时间:
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 5min | 3.6% |
设计 | 10min | 7.1% |
代码实现 | 90min | 64.3% |
测试 | 20min | 14.3% |
分析总结 | 15min | 10.7% |
相关文章推荐
- 《JAVA程序设计》20155214 实验一 Java开发环境的熟悉(Linux + IDEA)
- 20155323刘威良第一次实验 Java开发环境的熟悉(Linux + IDEA)
- 20169205实验一 Java开发环境的熟悉(Linux+IDEA)
- 20145206邹京儒《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)
- 20155314 2016-2017-2 《Java程序设计》实验一 Java开发环境的熟悉(macOS + IDEA)
- 20155227 2016-2017-2 《Java程序设计》实验一 Java开发环境的熟悉(Windws + IDEA)实验报告
- 20155324 《Java程序设计》实验一 Java开发环境的熟悉(Windws + IDEA)实验报告
- 20145221 《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)
- 20145213《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)
- 20145316《Java程序设计》实验一:Java开发环境的熟悉(Windows + IDEA)
- 20155305 2016-2017-2 《Java程序设计》实验一 Java开发环境的熟悉(macOS + IDEA)
- 20155321 《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)
- 20145211 《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)
- 20145233韩昊辰 《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)
- 实验一 Java开发环境的熟悉(Linux+Eclipse)
- 20145203盖泽双实验一 Java开发环境的熟悉(Linux + Eclipse)
- 20162321 实验一 Java开发环境的熟悉(Linux + Eclipse)
- 20145303 实验一 Java开发环境的熟悉(Linux + Eclipse)
- 20162303 实验一 Java开发环境的熟悉(Linux + Eclipse)
- 20145225《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)