码迷,mamicode.com
首页 > 编程语言 > 详细

java 实验1

时间:2015-04-17 15:15:25      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:

北京电子科技学院(BESTI)

              

                        课程:Java程序设计  班级:1352  姓名:杨光  学号:20135233

                        成绩:               指导教师:娄嘉鹏     实验日期:2015.4.14

                        实验密级:      预习程度:        实验时间:12:00~2:30

                        仪器组次:33     必修/选修:选修     实验序号:1

                        实验名称:             JAVA开发环境的熟悉                                               

                        实验目的与要求:

                            1. 使用JDK编译、运行简单的Java程序。

                            2.在命令行和Eclipse下编辑、编译、运行、调试简单的Java程序。

                            3.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》课程。

 

                        实验仪器:

名称

型号

数量

PC

 Acer

1

虚拟机

实验楼

1

 

一、实验内容
1. 使用JDK编译、运行简单的Java程序
2.使用Eclipse 编辑、编译、运行、调试Java程序

实验知识点
1. JVM、JRE、JDK的安装位置与区别;
2. 命令行运行javac,java;javac -cp; java -cp;
3. PATH,CLASSPATH,SOURCEPATH的设定方法与应用;
4. 包管理:package;import;javac -d ;
5. Eclipse(Netbeans)管理Java项目,调试:断点、单步执行等;
6. Java基础语法:类型与类型转换;变量;运算符;流程控制等;
7. JDK帮助文档的使用;

二、实验步骤

(一)命令行下Java程序开发
首先双击桌面上的Xface终端图标
打开终端(类似Windows下的cmd),之后会自动运行shell程序 
输入cd Code命令进入Code(注意C要大写)目录 
输入mkdir 20135100 命令建立实验目录,注意目录名一定是自己的学号(学号要体现在实验报告截图中),可以使用ls命令或dir命令查看建立的目录情况。 
输入cd 20135100命令进入实验目录,再输入类似mkdir exp1建立第一个实验目录,然后输入cd exp1进入实验一目录,可以输入pwd命令查看当前工作路径
输入gedit Hello.java(注意把代码保存到exp1目录中)或vim Hello.java(建议大家花点时间学习一下Vim)编辑Hello.java,并输入以下代码:

package ljp;
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 + " !");
}

}
技术分享

(二)Eclipse下Java程序开发、调试
在命令行中输入eclipse命令并回车或单击桌面上的Eclipse EE图标打开Eclipse 
在Eclipse中单击File->New-> Java Project新建Java项目
输入项目名称HelloJDB(你可以自己起名),并单击Finish按钮完成新建项目
在Eclipse中单击File->New->Class新建Java类
5.根据Java代码规范输入包名ljp(小写),类名HelloJDB(单词首字母大写),并勾选上自动产生main函数选项,最后单击Finish按钮 
6.输入如下代码:

 package ljp;  

public class HelloJDBe

{

 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; 18 return sum;

}

} 

7.单击运行按钮(或使用Ctrl+F11快捷键),就可以在控制台(Console)中看到运行结果。

8.下面我们练习调试程序,首先我们通过单击Window->Open Perspective->Debug打开调试视图,

9.调试程序首先要会设置断点和单步运行。设置断点比较简单,然后单击调试按钮(或使用F11快捷键)开始调试Java程序,我们可以看到程序停留在了第4行,如下图所示: 注意,此时第4行代码并没有执行,我们可以把鼠标放到变量名上来查看变量的值,此时i的值并不是5,我们通过单步运行让程序运行到第5行,单步运行有两种:Step Into(快捷捷F5)和Step Over(快捷捷F5),这两种单步运行功能在运行语句时没有区别,在执行函数调用语句时,Step Into会跳入函数实现,Step Over会直接执行完函数,实际使用中我们优先使用Step Over,只有函数执行出错了,说明程序问题在被调用函数中,这时再回来通过Step Into进入函数进行调试。我们单击一下Step Over图标(或F6),程序停在了第5行,这时查看变量i的值,会看到i等于5。

10.单步执行效率比较慢,如果我们感觉到第6行到第10行的代码没有问题了,想让程序直接运行到第11行,怎么办?首先我们要在第11行设置断点,然后单击Resume图标(快捷键F8),程序就运行到了第11行,如下图所示:技术分享

11.单步执行效率比较慢还导致另外一个问题,比如一个大循环中间出了问题怎么办?这时可以通过条件断点解决问题。调试循环代码时,会有一个值我们特别关注,这时在Variable标签中查看变量的值,比如我们此时比较关注sum,每次单步执行都可以看到sum的变化情况了,
设置条件断点,我们在第11行左边单击鼠标右键,选择Breakpoint Properties

我们设置条件“i==50”
按一下F8,我们可以查看i的是50了。

技术分享

(三)练习

(通过命令行和Eclipse两种方式实现,自己的学号后两位与题目总数取余的结果就是自己要完成的题号,在Eclipse下练习调试程序)

实验4   学生成绩管理系统

package 学生成绩管理系统;

 

import java.util.Scanner;

 

public class Text1 {

 

         public static void main(String[] args) {

                   // TODO Auto-generated method stub

                   int sum=0;

                   int  average=0;

                   Scanner input=new Scanner(System.in);

                   System.out.println("请输入学生总人数:");

                   int number=0;

                   number=input.nextInt();

                   System.out.println("请输入课程门数:");

                   int coursesnum=0;

                   coursesnum=input.nextInt();

                   String [] coursesname=new String[coursesnum];

                   for(int i=0;i<coursesname.length;i++)

                   {

                            System.out.println("请输入第"+(i+1)+"门课的名字:");

                            coursesname[i]=input.next();

                   }

                   String [] name=new String[number];

                   String [] ID=new String[number];

                   int [][] score=new int[number][coursesnum];

                   for(int i=0;i<name.length;i++)

                   {

                            System.out.println("请输入第"+(i+1)+"个学生的名字:");

                            name[i]=input.next();

                            System.out.println("请输入第"+(i+1)+"个学生的学号:");

                            ID[i]=input.next();

                             for(int j=0;j<coursesname.length;j++)

                             {

                                      System.out.println("请输入"+name[i]+" "+coursesname[j]+"的成绩:");

                                      score[i][j]=input.nextInt();

                             }

                   }

                  

                   int [] scoreSum=new int [number];

                   int [] rank=new int[number];

                   for(int i=0;i<number;i++)

                   {

                            for(int j=0;j<coursesnum;j++)

                            {

                                     sum+=score[i][j];

                            }

                            scoreSum[i]=sum;

                            rank[i]=sum;

                            sum=0;

                   }

                   for(int i=0;i<number-1;i++)

                   {

                            for(int j=i+1;j<number;j++)

                            {

                                     if(rank[i]<rank[j])

                                     {

                                                int temp=rank[j];

                                                rank[j]=rank[i];

                                                rank[i]=temp;

                                     }

                            }

                   }

                   System.out.print("学生\t");

                   System.out.print("学号\t");

                   for(int i=0;i<coursesnum;i++)

                   {

                            System.out.print(coursesname[i]+"\t");

                   }

                   System.out.print("总分\t");

                   System.out.print("平均分\t");

                   System.out.print("排行榜");

                   System.out.print("\n");

                   int[]  temp=new int[number];

                   for(int i=0;i<temp.length;i++)

                   {

                            for(int j=0;j<scoreSum.length;j++)

                            {

                                     if(rank[i]==scoreSum[j])

                                     {

                                               temp[i]=j;

                                     }

                            }

                   }

                   for(int i=0;i<number;i++)

                   {

                            System.out.print(name[temp[i]]+"\t");

                            System.out.print(ID[temp[i]]+"\t");

                            for(int j=0;j<coursesnum;j++)

                            {

                                     System.out.print(score[temp[i]][j]+"\t");

                            }

                            System.out.print(scoreSum[temp[i]]+"\t");

                            System.out.print((scoreSum[temp[i]]/coursesnum)+"\t");

                            System.out.print("第"+(i+1)+"名");

                            System.out.print("\n");

                   }

         }

}

技术分享

五、实验分析与总结

(一)注意事项

   1.代码中有package时,使用javac编译代码时一定要加-d参数,运行代码时一定要加包名前缀。

(二)遇到的问题及解决方法

    实验(一)中出现无效的标记:-d的错误

    决解方法:没有注意书写格式,正确格式应为:javac -d . Hello.java,-d前和后均有一个空格,改正后无错误。

技术分享

(三)实验总结体会

    通过本次实验,完成了使用JDK编译、运行简单的Java程序和使用Eclipse 编辑、编译、运行、调试Java程序的学习与熟悉。

    但是步骤都还不是很熟练,知识也不是很巩固,以后要多加练习才行!

 

java 实验1

标签:

原文地址:http://www.cnblogs.com/yg137565645/p/4434862.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!