Java实验计划

本文由用户“xuekequn230”分享发布 更新时间:2021-02-10 20:49:22 举报文档

以下为《Java实验计划》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

1、奖励政策。一次实验正常满分记 10 分。为鼓励大家自学和提前学习,自学能力强的同学实验报告可提前提交,每提前两周提交,满分加 5 分。比如实验 A 正常计划在第 8 周某某,但是某同学在第 4 周就提交该次作业,那么如果他能拿到满分,就得 20 分,如果原本能拿到 5 分,该次作业可拿到 10 分。

2、评分标准。评分标准首先是可读性,其次是正确性。要有详细的实验过程,实验结果要着重截图。

作业提交命名格式为 课程名_专业_姓名学号_实验课日期_实验名称

教育部 财政部

职业院校教师素质提高计划本科专业职教师资培养资源开发项目

《软件工程》专业职教师资培养标准、培养方案、核心课程和特色教材开发

(VTNE034)

《Java语言实用案例教程》

实验指导书

目录

实验一 Java程序的编写和基本语法练习 1

实验二 基本程序设计 2

实验三 数组 4

实验四 字符串 7

实验五 类与对象---方法 8

实验六 类与对象---类的定义和对象的创建访问 10

实验七 继承和多态 12

实验八 异常类 14

实验九 输入输出和文件操作 17

实验十 建立图形用户界面 18

实验一 Java程序的编写和基本语法练习

一、实验目的

巩固以下知识点:

能够使用命令行和IDEA环境两种方法编写Java程序;

了解 Java 的数据类型;

掌握各种变量的声明方式;

理解运算符的优先级;

掌握 Java 基本数据类型、运算符与表达式。

二、实验内容

1. 编写一个Java程序,自我介绍自己的相关信息并在控制台输出。要求分别使用命令行和IDEA开发工具两种方式实现。

2. 编写声明不同数据类型变量的程序文件 Example1_1.java,并在控制台打印输出。 提示:参看第一章例题。

3. 建立 Example1_2.java 文件,源代码如下。

public class Example1_2.java {

static int i=10;

public static void main(String args[]) {

{

int k=10;

System.out.println("i="+i);

System.out.println("k="+k);

}

System.out.println("i="+i);

System.out.println("k="+k);

}

}

编译 Example1_2.java ,该程序能编译成功吗,为什么?如果出错,则修改上面的程序并运行。

4. 运行以下程序,输出程序的运行结果。

public class RelationAndCondition {

public static void main(String[] args) {

int a=29;int b=3;

boolean c=a5);

System.out.println(d + "!=0&&" + a + "/" + d+ ">5=" + c);

int e=0;

c=(e!=0&&a/e>5);

System.out.println(e+"!=0&&"+a+"/"+e+">5="+c);

}

}

若把最后两句换成如下语句,会出现什么结果,分析原因。

c=(e!=0)&a/e>5;

System.out.println(e+"!=0&"+"/"+e+">5="+c);

三、实验指导

JDK下载安装后,一定要正确配置PATH和CLASSPATH两个环境变量。

Java的基本数据类型的取值范围和表示方法。

Java的变量分为类属性变量和局部变量,类属性变量在类中声明;局部变量在程序块中声明,其作用限定于所在的程序块,这里的程序块包括方法体和块语句。

类型转换是对表达式求值时必须掌握的内容,只有了解和掌握类型转换的规则和方法,才能更好地读懂和编写程序。

实验二 基本程序设计

一、实验目的

巩固以下知识点:

使用Scanner类从控制台获取输入;

使用if语句,使用if 、else if、else语句;

使用while语句,使用do-while语句,使用for语句编写循环。

二、实验内容

编写一个程序,读入一笔费用与酬金率,计算酬金和总钱数。例如,如果用户输入10作为费用,15%作为酬金率,计算结果显示酬金为¥1.5,总费用为¥11.5。下面是一个运行示例:

Enter the subtotal(费用) and a gratuity rate(酬金率): 15.69 15

The gratuity(酬金) is 2.35 and total(总费用) is 18.04

提示:java.util.Scanner input = new java.util.Scanner(System.in); input.nextDouble();

变量名:subtotal(费用); rate(酬金率); gratuity(酬金); total(总费用);

求ASCII码对应的字符。编写程序接受一个ASCII码(从0到128的整数),然后显示它所代表的字符。例如用户输入的是97,程序显示的是字符a。下面是一个运行示例:

Enter an ASCII code:69

The character for ASCII code 69 is E

提示:(char)code;

变量名:code

计算一个三角形周长。编写程序,读取三角形的三条边,如果输入值合法就计算这个三角形的周长;否则,显示这些输入值不合法。如果任意两条边的和大于第三边,那么输入值都是合法的。

变量名:edge1,edge2,edge3;

(选做)解一元二次方程。求一元二次方程ax2 + bx + c = 0的两个根,b *b-4ac称作一元二次方程的判别式。如果它是正值,那么一元二次方程俄就有两个正根。如果它为0,方程就只有一个根。如果它是负值,方程无实根。编写程序,提示用户输入a、b和c的值,并且显示基于判别式的结果。如果判别式为正,显示两个根,如果判别式为0,显示一个根,如果判别式为负,显示方程无实根。下面是一个运行示例:

Enter a,b,c: 1.0 3 1

The root are -0.381966 and -2.61803

Enter a,b,c: 1 2.0 1

The root is -1

Enter a,b,c: 1 2 3

The equation has no real roots

提示:使用Math(x,0.5)计算x的平方根。

变量名:double a,b,c;

double discriminant = b*b – 4*a*c(判别式)

double r1,r2;

统计正数和负数的个数,然后计算这些数的平均值。编写程序,读入未指定个数的整数,判断读入的正数有多少个,读入的负数有多少个,然后计算这些输入值的总和及其平均值(不对0计数)。当输入为0时,表示程序结束。将平均值以浮点数显示。下面是一个运行示例:

Enter an int value, the program exits if the input is 0:

1 2 -1 3 0

The number of positives is 3

The number of negatives is 1

The total is 5

The average is 1.25

三、实验指导

标识符是由字母、数字、下划线和美元符号构成的字符序列。

标识符不能是保留字。

标识符必须以字母或下划线开头,不能以数字开头。

使用选择语句可以对有可选择路径的情况进行程序设计。选择语句有以下几种类型:if语句、if…else语句、嵌套if语句、switch语句和条件表达式。

While 循环和for循环都称为前测循环,do-while循环称为后测循环。

实验三 数组

一、实验目的

巩固以下知识点:

声明一维数组引用变量、创建数组;

初始化数组中的值;

使用下标变量访问数组元素;

编写程序实现常用的一维数组操作;

声明二维数组引用变量、创建数组以及使用行下标和列下标访问二维数组中的数组元素;

编写程序实现常用的二维数组操作;

给方法传递二维数组。

二、实验内容

编写程序,读取10个整数,然后按照和读入顺序相反的顺序将它们显示出来。

提示:int[] num = new int[10]。

指定等级。编写一个程序,读入学生成绩,获取最高分best,然后根据下面的规则赋等级值: 如果分数 >= best – 10,等级为A 如果分数 >= best – 20,等级为B 如果分数 >= best – 30,等级为C 如果分数 >= best – 40,等级为D 其他情况下,等级为F 程序提示用户输入学生总数,然后提示用户输入所有的分数,最后显示等级得出结论。下面是一个运行示例:

Enter the number of students: 4

Enter 4 scores: 40 55 70 58

Student 0 score is 40 and grade is C

Student 1 score is 40 and grade is B

Student 2 score is 40 and grade is A

Student 3 score is 40 and grade is B

提示:int[] scores = new int[numberOfStudents]; // Array scores int best = 0; // The best score char grade; // The grade

计算数字的出现次数。编写程序,读取在1到100之间的整数,然后计算每个数出现的次数。假定输入是以0结束的。下面就是这个程序的运行示例:

Enter the integers between 1 and 100: 2 5 6 5 4 3 23 43 2 0

2 occurs 2 times

3 occurs 1 time

4 occurs 1 time

5 occurs 2 times

6 occurs 1 time

23 occurs 1 time

43 occurs 1 time

提示:如果一个数出现次数大于一次,输出时使用复数“times”。 (counts[i] = = 1) ? " time" : " times")

编写一个方法,使用下面的方法头求出一个整数数组中的最小元素: public static double min(double[] array) 编写测试程序,提示用户输入10个数字,调用这个方法,返回最小元素值。

编写一个方法,求整数矩阵中所有整数的和,使用下面的方法头: public static double sumMatrix(int[][] m) 编写一个测试程序,读取一个4 X 4的矩阵,然后显示所有元素的和。下面是一个运行示例:

Enter a 4-by-4 matrix row by row:

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

Sum of the matrix is 136

三、实验指导

使用语法elementType[] arrayRefVar (元素类型[] 数组引用变量)或elementType arrayRefVar[](元素类型 数组引用变量[]) 声明一个数组类型的变量。尽管elementType arrayRefVar[] 也是合法的,但还是推荐使用elementType[] arrayRefVar 风格。

声明数组变量不会给数组分配任何空间。数组变量不是基本数组类型变量。数组变量包含的是对数组的引用。

只有创建数组后才能给数组元素赋值。使用new操作符创建数组,语法如下:new elementType[arraySize] (数据类型[数组大小])。

数组中的每个元素都是使用语法 arrayRefVar[index] (数组引用变量[下标]) 表示的。

创建数组后,它的大小就不能改变,使用arrayRefVar.length 得到数组的大小。数组下标从0开始,到arrayRefVar.length-1结束。

二维数组的声明,元素类型[][] 数组变量;

创建二维数组:new 元素类型[行的个数][列的个数];

访问二维数组元素:数组变量[行下标][列下标];

实验四 字符串

一、实验目的

巩固以下知识点:

使用String类处理定长的字符串;

使用Chatacter类处理单个字符;

使用StringBuilder/Stringbuffer类处理可变长字符串;

学习如何从命令行传递参数给main方法。

二、实验内容

编写程序,提示用户输入一个社会保险号码,它的格式是DDD-DD-DDDD,其中D是一个数字。程序会为正确的社保号显示“valid SSN”,否则,显示“invalid SSN”。

提示:使用String类的charAt(index: int)和Cheracter.isDigit(ch: char); java.util.Scanner input = new java.util.Scanner(System.in); input.nextLine()

编写一个方法,将一个十进制数转换为一个二进制数。方法头如下所示:

public static String decimalToBinary(int value)

编写一个测试程序,提示用户输入一个十进制整数,然后显示对应的二进制数。

提示:用StringBuffer存储字符串,再把Stringbuffer对象转换为String类。

求字符串中大写字母的个数。编写程序,传给main方法一个字符串,显示该字符串中大写字母的个数。

提示:从命令行读取参数。Java Test args[0] args[1] args[3]

三、实验指导

字符串是封装在String类中的对象。要创建一个字符串,可以使用11种构造方法之一,也可以使用字符串直接量进行简捷初始化。

String对象是不可变的,它的内容不能改变。

可以使用String类的length()方法获取字符串的长度,使用charAt(index)从字符串提取特定下标位置的字符,使用indexOf和lastIndexOf方法找出一个字符串中的某个字符或某个子串。

连接字符串用concat()方法或者加号 + 。

使用substring从字符串提取子串。使用equals和compareTo方法比较字符串。

Character类是单个字符的封装类。Character提供了很多实用的静态方法。用于判断一个字符是否是字母(isLetter(char))、数字(isDigit(char))、大写字母(isUpperCase(char))或小写字母(isLowerCase(char))。

StringBuilder/StringBuffer类可以代替String类。String类是不可以改变的。但是可以向StringBuilder/StringBuffer对象中添加、插入或追加新内容。

实验五 类与对象---方法

一、实验目的

巩固以下知识点:

方法的定义;

调用带返回值和不带返回值的方法;

掌握方法的按值传参;

会开发模块化的、易读、易调试和易维护的可重用代码;

使用方法重载,理解歧义重载。

二、实验内容

一个五角数被定义为n(3n-1)/2,其中n=1,2,…。所以,开始的几个数字就是1,5,12,22…,编写下面的方法返回一个五角数:

public static int getPentagonaNumber(int n)

编写一个测试程序显示前100个五角数,每行显示10个。

提示:通过for循环语句打印前100个五角数。

编写一个方法,计算一个整数各位数字之和:

public static int sumDigits(long n)

例如:sumDigits(234)返回9。

提示:使用求余运算符%提取数字,用/去掉提取出来的数字。例如:使用234%10 (=4)提取4。然后使用234/10(=23)从234中去掉4。使用一个循环来反复提取和去掉每位数字,直到所有的位数都提取完为止。

编写程序提示用户输入一个整数,然后显示这个整数所有数字的和。

回文整数。编写下面两个方法:

(1)public static int reverse(int number)

该方法返回一个整数的逆序数,例如reverse(456)返回654。

提示:number 是输入值,取余得到个位数;result存储返回的倒置数

int remainder = number % 10;

result = result * 10 + remainder;

number = number / 10;//去掉个位数,得到十位数

(2)public static boolean ispalindrome(int number)

如果number是回文数,该方法返回true。

提示:使用reverse方法实现ispalindrome。如果一个数字的反向倒置数和它的顺向数一样,这个数就称作回文数。

编写一个测试程序,提示用户输入一个整数值,然后报告这个整数是否是回文数。

创建一个名为MyTriangle的类,它包含如下两个方法:

(1)public static boolean isValid(double side1,double side2,double side3)

如果三角形两边之和大于第三边,则该方法返回true。

(2)public static double area(double side1,double side2,double side3)

返回三角形的面积。

编写一个测试程序,读入三角形三边的值,若输入有效,则计算面积;否则显示输入无效。

提示:计算三角形面积公式:s = (side1 + side2 + side3) / 2;//周长的一半 三角形面积公式:Math.sqrt(s * (s - side1) * (s - side2) * (s - side3))

三、实验指导

方法头指定方法的修饰符、返回值类型、方法名和参数。

方法可以返回一个值。返回值类型是方法要返回的值的数据类型。如果方法不返回值,则返回值类型就是关键字void。

参数列表是指方法中参数的类型、次序、数量。

方法名和参数列表一起构成方法签名。参数是可选的,即一个方法可以不包含参数。

return语句也可以用在void 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 都必须是序列化的对象。一个类如果实现了Serializable 接口,那么这个类的对象就是序列化的对象。Serializable 接口没有方法,实现该接口的类不需要实现额外的方法。

FileOutputStream fout = new FileOutputStream(fname);//输出文件流

ObjectOutputStream out = new ObjectOutputStream(fout);//输出对象流

FileInputStream fin = new FileInputStream(fname);//输入文件流

ObjectInputStream in = new ObjectInputStream(fin);//输入对象流

三、实验指导

File类用来获取文件的属性和对文件进行操作。File类不包括创建文件,以及从(向)文件读(写)数据的方法。

DataInputStream和DataOutputStream可以按基本类型和String类型读写数据。

使用对象流ObjectInputStream和ObjectOutputStream可以按对象读写数据。

[文章尾部最后500字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。

  1. JS学习
  2. JAVA程序设计实验报告2020
  3. 中考复习课使用多媒体教学的反思
  4. 中考复习课使用多媒体教学的反思
  5. 第十一章 第4节 教学设计
  6. 代码随堂笔记
  7. 实验室规章制度
  8. 实验报告-模板-小飞机游戏v1
  9. 《数据结构》实验报告模板
  10. 大气压强教学设计
  11. 《弹力》教学反思
  12. 详细设计说明书(GB8567——88)
  13. 多元线性回归预测【开题报告】_***131122
  14. 香江物管制度
  15. 计算机实验室制度
  16. XXXXX粒子散射实验应该搞清楚的几个问题
  17. java100个经典例子
  18. 《金属钠的性质及利用》教学反思
  19. “实验观察植物细胞”的教学设计
  20. 教学设计:探究加速度和力、质量的关系

以上为《Java实验计划》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览