Java程序设计上机实验

  • 格式:doc
  • 大小:62.00 KB
  • 文档页数:18

下载文档原格式

  / 18
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

班级号_学号_姓名_题号.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=3

a=4, b=4, c=1

a=2, b=3, c=2:+ i + i

(2)如果程序的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)如何修改程序,使得输出的图形可以很方便的在水平方向上移动?

(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语句修改这个程序,求出最大值n,使得11+22

+…+n n小于等于long数据类型所能表示的最大值(即Long.MAX_V ALUE),并给出11+22+…+n n的确切值。

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

实验4: 类和对象(数组)(3学时)

实验目的

(1)掌握Java语言中类和对象的基本概念

(2)掌握Java程序设计中类和对象的定义及使用

(3)学习使用数组,掌握数组的初始化方法及数组元素的引用

实验内容及要求

编程,求解和为15的棋盘游戏问题。要求将从1 Array到9的九个数填入3×3的棋盘中,使得各行、各列以及

两个对角线上的三个数之和均为15,并打印出结果。如

左图。

思考并验证

(1)在程序中,你用到了数组了吗,使用的是几维数组?如果没有使用,在程序

中该如何使用数组?它给编程带来了什么好处?

(2)编程思路:

(3)在程序中,你定义了哪些类,它们分别具有什么含义?

(4)在程序中,你是否生成了自己定义类的对象?如果要求不可以生成类的对象

实例,程序应如何修改?

实验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 one step”);}

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包下。

相关主题