当前位置:文档之家› 《Java程序设计》上机实验

《Java程序设计》上机实验

---班级号 _学号 _姓名 _题号 .java(多文件应压缩为rar):实验 1: 熟悉上机环境,编写并运行简单的java 程序( 3 学时)实验目的(1)熟悉 Java 程序开发环境 J2SDK+JCreator的安装及使用(2)熟悉 Java Application 和 Applet 程序的结构及开发步骤(3)熟练掌握 if 语句的使用(4)掌握 Math.sqrt()等常用数学函数的用法(5)熟悉 System.out.print()的用法实验内容及要求按Java Application 和 Applet 两种方式分别编写程序,求一元二次方程ax2+bx+c=0 的根(系数在程序中给定),并输出。

思考并验证(1)分别给定以下几组系数,给出输出结果a=1,b=5, c=3a=4, b=4, c=1a=2, b=3, c=2:+ i + i(2)如果程序的 public 类的类名和源文件的文件名不一样会有什么问题?(3)将类的 public 修饰去掉是否可行?接着再将类名换为其它是否可行?这说明了什么 ?(4)将程序中 main 前面的 public 去掉,重新编译执行你的程序,你看到了什么信息?(5)将程序中 main 前面的 static 去掉,重新编译执行你的程序,你看到了什么信息?为什么?(6)本次上机中,你还遇到了什么问题,是如何解决的?第1 页班级号 _学号 _姓名 _题号 .java(多文件应压缩为rar):实验 2:控制流程1(3 学时 )实验目的(1)进一步熟悉使用 if 语句(2)掌握循环语句实现循环的方法实验内容及要求输出时,只使用下面的语句:System.out.print(“”); //输出一个空格,并且不换行System.out.print(“*”); //输出一个字符’*’,并且不换行System.out.print(“+”); //输出一个字符’+’,并且不换行System.out.println(“*”;) // 输出一个字符’*’,并换行编写程序输出(注:在图形的中心处有一个加号’+’):** * *********+********* * **思考并验证下面程序片段给出了从键盘输入一个整数的方法:import java.io.*;InputStreamReader ir;BufferedReader in;ir=new InputStreamReader(System.in);in=new BufferedReader (ir);try {String s=in.readLine();int i=Integer.parseInt(s);//转换成整形第2 页catch(IOException e){}(1)如何修改程序,使得输出的图形可以很方便的在水平方向上移动?(2)如何修改你的程序,按输入行数 n(为奇数 )输出图形?选做:编程求支付方法的种数:取 1 元, 2 元, 5 元纸币 10 张,付给 18 元,有几种办法?班级号 _学号 _姓名 _题号 .java(多文件应压缩为rar):实验 3:控制流程2(3 学时 )实验目的(1)掌握数据类型的含义(2)掌握 break 语句的使用(3)掌握用三种循环语句实现循环以及循环嵌套的方法实验内容及要求编程,计算 11+22+ 33+⋯⋯ +66思考并验证(1)将内层循环改为另一种循环语句,比较哪种循环语句更适用于本程序?(2)修改程序使之计算 11+22+33+⋯⋯ +2020,你的程序能得出正确结果吗?若不能,应如何修改?(3)考虑如何通过使用break语句修改这个程序,求出最大值,使得1+22n 1+⋯+n n小于等于 long 数据类型所能表示的最大值(即 Long.MAX_V ALUE ),并给出11+22+⋯+n n的确切值。

选做:求有几组和为 1000 的连续正整数,并输出这些整数。

---班级号 _学号 _姓名 _题号 .java(多文件应压缩为rar):实验 4: 类和对象(数组)( 3 学时)实验目的(1)掌握 Java 语言中类和对象的基本概念(2)掌握 Java 程序设计中类和对象的定义及使用(3)学习使用数组,掌握数组的初始化方法及数组元素的引用实验内容及要求编程,求解和为15 的棋盘游戏问题。

要求将从 127 6到 9 的九个数填入 3×3 的棋盘中,使得各行、各列以及9 5 1两个对角线上的三个数之和均为15,并打印出结果。

如4 3 8左图。

思考并验证(1)在程序中,你用到了数组了吗,使用的是几维数组?如果没有使用,在程序中该如何使用数组?它给编程带来了什么好处?(2)编程思路:(3)在程序中,你定义了哪些类,它们分别具有什么含义?(4)在程序中,你是否生成了自己定义类的对象?如果要求不可以生成类的对象实例,程序应如何修改?第6 页班级号 _学号 _姓名 _题号 .java(多文件应压缩为rar):实验 5: 继承、多态(接口和包)( 3 学时)实验目的(1)掌握 Java语言中继承和多态的相关概念(2)掌握 Java程序设计中继承和多态机制的使用(3)掌握 Java语言中接口和包的概念及使用实验内容及要求仿真农场一个哺乳动物类如下所示:public class Mammal{protected int age = 2;protected int weight = 5;public Mammal(){System.out.println(“Mammal constructor”);}int getAge(){return age;}void setAge(int a){age = a;}int getWeight(){return weight;}void setWeight(int w){weight = w;}void move(){System.out.println( “Mammal move onestep”);} void speak(){System.out.println(“Mammalspeak!”);} void sleep(){System.out.println(“shhh, I’msleeping.”);}}狗属哺乳动物,且它的属性有品种之分(在哺乳类基础上增加品种数据成员),叫声区别于其他动物(输出“Woof!”),还会摇尾巴(增加成员函数,输出“ Tail wagging⋯”),乞讨食物(增加成员函数,输出“begging for food⋯”)。

猫、马、猪也属于哺乳动物,其叫声分别为:“Meow! ”,“ Winnie! ”,“Oink! ”。

编程分别使各个动物表现为不一样的行为。

要求将所有的动物类放置于animal.mammal 包下。

第7 页思考并验证(1)在程序中的哪些地方使用到了多态的机制?多态性为我们带来了什么好处?(2)试着把源文件放到另外一个目录下,然后编译,看看会得到什么信息?为什么会出现这种情况?(3)在定义宠物类的时候,是否使用了接口?如果没有使用,该定义一个什么接口,并如何修改程序?接口的使用为程序带来了什么好处?班级号 _学号 _姓名 _题号 .java(多文件应压缩为 rar):实验 6: 异常处理( 3 学时)实验目的(1) 理解异常的概念(2) 掌握 Java 程序设计中异常的处理机制实验内容及要求一、输入以下代码,编译调试并分析执行结果程序 :编写用于演示异常处理机制的 try-catch 代码,用于测试1ArrayIndexOutOfBoundsException 异常,请调试:Public class CatchException{public static void main(String[] args){int [] arr=new int[10];try{arr[10]=10;}catch(ArrayIndexOutOfBoundsException e){e=new ArrayIndexoutBoundsException( 数组“下标越界! ” );throw e;}}}第9 页程序 2:编写用于演示异常处理机制try-catch-finally 的代码。

在此程序中,当一个数字除以 0 时,将引发 ArithmeticException 异常,引发的异常被 catch 捕获。

Class Program2{String name= 内”蒙古大学软件学院”Int no1=10;Int no2=20;Program2(){try{System.out.println(name);System.out.println( 相除结“果为:” +no1/no2);}catch(ArithmeticException I){System.out.println( 不能除“以 0! ” );}finally{name=null;已执行!” );system.out.println(“ Finally}第10 页{new Program2();}}二、 .编写一个程序,用于将来自用户的两个数字接受为命令行参数。

将第一个数字除以第二个数字并显示结果,处理可能的异常提示:使用两个 catch 语句,一个用于捕获ArrayIndexOutOfBoundsException 异常(从命令行传来的参数个数不对),而另一个用于捕获 ArithmaticException 异常。

选做:编写一个程序,用于根据用户输入的命令行参数数量来计算长方形、正方形、三角形的面积。

如果输入的参数为一个、二个、三个则它们应分别对应正方形、长方形、三角形,如果没有参数,则通过异常处理方法现实错误消息。

(用于计算面积的方法是一个重载的方法)。

提示:定义一个抽象的父类,并提供一个抽象的方法 area(). 再派生出三个子类,重写 area()方法,然后在 main 方法中编写测试逻辑。

实验 7: 输入/输出( 3 学时)实验目的(1)了解流类及相关的包(2)掌握常用的流类及其成员函数的使用方法(3)学习输入 /输出的基本方式(4)巩固常用组件的使用及其事件的处理方式实验内容及要求建立一个班级下拉式列表,列表项中有2004(1)班,2004(2)班, 2004(3)班和2004(4)班。

当点击某个选项时,将其成绩单显示在文本区中。

思考并验证(1)抓取程序运行的一个界面:(2)你的程序涉及到的文件有:(3)你是通过什么途径建立这些文件的?(4)能否用 word 建立这些文件?实验 8: 界面布局( 3 学时)实验目的(1)熟练运用标签、按钮、文本框等基本组件,掌握按钮等组件的事件处理方法(2)熟悉 JTextArea 的用法(3)熟悉下拉列表框的用法实验内容及要求创建一个 GUI 应用程序,用于转换若干种货币。

相关主题