班级号一学号_姓名一题号java(多文件应压缩为rar):实验1:熟悉上机环境,编写并运行简单的java程序(3学时)实验目的(1)熟悉Java程序开发环境J2SDK+JCreator的安装及使用⑵熟悉Java Application 和Applet程序的结构及开发步骤⑶熟练掌握if语句的使用⑷掌握Math.sqrt()等常用数学函数的用法⑸熟悉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⑵如果程序的public类的类名和源文件的文件名不一样会有什么问题?(3) 将类的public 修饰去掉是否可行?接着再将类名换为其它是否可行?这说明了什么?(4) 将程序中main 前面的public 去掉,重新编译执行你的程序,你看到了什么信息?(5) 将程序中main 前面的static 去掉,重新编译执行你的程序,你看到了什么信息?为什么?(6) 本次上机中,你还遇到了什么问题,是如何解决的?班级号一学号_姓名一题号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);// 转换成整形}catch(IOException e){}(1) 如何修改程序,使得输出的图形可以很方便的在水平方向上移动?⑵如何修改你的程序,按输入行数n(为奇数)输出图形?选做:编程求支付方法的种数:取1 元,2元,5 元纸币10张,付给18 元,有几种办法?班级号一学号_姓名一题号java(多文件应压缩为rar):实验3:控制流程2(3 学时)实验目的(1) 掌握数据类型的含义(2) 掌握break 语句的使用(3) 掌握用三种循环语句实现循环以及循环嵌套的方法实验内容及要求编程,计算11+ 22+ 33+……+66思考并验证(1) 将内层循环改为另一种循环语句,比较哪种循环语句更适用于本程序?⑵修改程序使之计算11+ 22+ 33+……+2020,你的程序能得出正确结果吗?若不能,应如何修改?(3) 考虑如何通过使用break 语句修改这个程序,求出最大值n,使得11+ 22+…+n n小于等于long数据类型所能表示的最大值(即Long.MAX_VALU) 并给出11+ 22+…+n n的确切值。
选做:求有几组和为1000 的连续正整数,并输出这些整数。
班级号一学号_姓名一题号java(多文件应压缩为rar):实验4:类和对象(数组)(3学时)实验目的(1)掌握Java语言中类和对象的基本概念⑵掌握Java程序设计中类和对象的定义及使用⑶学习使用数组,掌握数组的初始化方法及数组元素的引用实验内容及要求I276编程,求解和为15的棋盘游戏问题。
要951求将从1到9的九个数填入3X 3的棋盘中,b_丄丄使得各行、各列以及两个对角线上的三个数之和均为15,并打印出结果。
如左图。
思考并验证(1)在程序中,你用到了数组了吗,使用的是几维数组?如果没有使用,在程序中该如何使用数组?它给编程带来了什么好处?⑵编程思路:⑶ 在程序中,你定义了哪些类,它们分别具有什么含义?(4) 在程序中,你是否生成了自己定义类的对象?如果要求不可以生成类的对象实例,程序应如何修改?班级号一学号_姓名一题号java(多文件应压缩为rar):实验5: 继承、多态(接口和包)( 3 学时) 实验目的(1) 掌握Java 语言中继承和多态的相关概念(2) 掌握Java 程序设计中继承和多态机制的使用(3) 掌握Java 语言中接口和包的概念及使用实验内容及要求仿真农场一个哺乳动物类如下所示:public classMammal{ 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( “ Mammal speak! ” );}void sleep(){System.out.println( “shhh, I ' m sleeping. ”);} } 狗属哺乳动物,且它的属性有品种之分(在哺乳类基础上增加品种数据成员),叫声区别于其他动物(输出“ Woof!”,还会摇尾巴(增加成员函数,输出“Tail wagging…”,乞讨食物(增加成员函数,输出“ begging for food …”)。
猫、马、猪也属于哺乳动物,其叫声分别为:“ Meow!”,“ Winnie! ”,“ Oink! ”。
编程分别使各个动物表现为不一样的行为。
要求将所有的动物类放置于animal.mammal 包下。
定义两个新的类,表示宠物猫和宠物狗。
要求:这两个类能输出宠物所属的主人,价格等信息;将这两个类放置于animal.mammal.pet 包下。
思考并验证(1) 在程序中的哪些地方使用到了多态的机制?多态性为我们带来了什么好处?(2) 试着把源文件放到另外一个目录下,然后编译,看看会得到什么信息?为什么会出现这种情况?(3) 在定义宠物类的时候,是否使用了接口?如果没有使用,该定义一个什么接口,并如何修改程序?接口的使用为程序带来了什么好处?班级号一学号_姓名一题号java(多文件应压缩为rar):实验6: 异常处理( 3 学时)实验目的(1) 理解异常的概念(2) 掌握Java 程序设计中异常的处理机制实验内容及要求一、输入以下代码,编译调试并分析执行结果程序1:编写用于演示异常处理机制的try-catch 代码,用于测试ArrayIndexOutOfBoundsException 异常,请调试:Public class CatchException{public static void main(String[] args){int [] arr=new int[10];try{catch(ArrayIndexOutOfBoundsException e){arr[10]=10;e=new ArrayIndexoutBoundsException( “数组下标越界!” ); throw e;}}}输入以上代码,并编译和调试,最后分析结果。
程序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 已执行!” ); }}public static void main(String args[]){new Program2();}}二、.编写一个程序,用于将来自用户的两个数字接受为命令行参数。
将第一个数字除以第二个数字并显示结果,处理可能的异常提示:使用两个catch 语句,一个用于捕获ArrayIndexOutOfBoundsException 异常(从命令行传来的参数个数不对),而另一个用于捕获ArithmaticException 异常。
选做:编写一个程序,用于根据用户输入的命令行参数数量来计算长方形、正方形、三角形的面积。
如果输入的参数为一个、二个、三个则它们应分别对应正方形、长方形、三角形,如果没有参数,则通过异常处理方法现实错误消息。
(用于计算面积的方法是一个重载的方法) 。
提示:定义一个抽象的父类,并提供一个抽象的方法area(). 再派生出三个子类,重写area() 方法,然后在main 方法中编写测试逻辑。
实验7: 输入/输出( 3 学时)实验目的(1) 了解流类及相关的包(2) 掌握常用的流类及其成员函数的使用方法(3) 学习输入/ 输出的基本方式(4) 巩固常用组件的使用及其事件的处理方式实验内容及要求建立一个班级下拉式列表,列表项中有2004(1) 班,2004(2) 班,2004(3) 班和2004(4) 班。
当点击某个选项时,将其成绩单显示在文本区中。
思考并验证(1) 抓取程序运行的一个界面:班级号一学号_姓名一题号java(多文件应压缩为rar):(2) 你的程序涉及到的文件有:(3) 你是通过什么途径建立这些文件的?(4) 能否用word 建立这些文件?班级号一学号_姓名一题号java(多文件应压缩为rar):实验8: 界面布局( 3 学时)实验目的(1) 熟练运用标签、按钮、文本框等基本组件,掌握按钮等组件的事件处理方法(2) 熟悉JTextArea 的用法(3) 熟悉下拉列表框的用法实验内容及要求创建一个GUI 应用程序,用于转换若干种货币。