实验题目
题目一
题目:
定义一个数组类,编写成员函数实现以下功能:
随机生成函数RandomArray(int n, int max):随机生成一个一维整数数组,数组长度为n,元素值不超过max;
判断函数CheckOrder():判断数组中元素是否按升序排练,若是返回1,否返回0;
数组和函数Sum():计算数组和。
判断某个元素函数CheckKey(int key):找到数组中的某个值(key),若有返回1,无返回0;
编写main函数,调用测试以上功能;
运行结果:
源代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 package com.company;import java.util.Random;public class Array { private int n; private int max; private int [] arr; public Array () { } public Array (int n,int max) { this .n=n; this .max=max; } private static int getRandomNumberInRange (int min, int max) { if (min >= max) { throw new IllegalArgumentException("max must be greater than min" ); } Random r = new Random(); return r.nextInt((max - min) + 1 ) + min; } public void RandomArray (int n,int max) { arr = new int [n]; for (int i=0 ;i<arr.length;i++) { arr[i]=getRandomNumberInRange(0 ,max); } System.out.println("元素值不超过 " +max); System.out.println("数组长度是 " +arr.length); } public int CheckOrder () { int right1 = 1 ; for (int i=0 ;i<arr.length-1 ;i++) { if (arr[i]>arr[i+1 ]) { right1=0 ; } else right1=1 ; } return right1; } public int sum () { int sum1=0 ; for (int i=0 ;i<arr.length;i++) { sum1+=arr[i]; } return sum1; } public int CheckKey (int key) { int right1=0 ; for (int i=0 ;i<arr.length;i++) { if (arr[i]==key) { right1=1 ; } else right1=0 ; } return right1; } }
1 2 3 4 5 6 7 8 9 10 11 12 13 package com.company;public class Main { public static void main (String[] args) { Array array = new Array(10 ,10 ); array.RandomArray(5 ,50 ); System.out.println("判断数组是否有值 " +array.CheckKey(1 )); System.out.println("判断数组是否升序 " +array.CheckOrder()); System.out.println("数组元素的和 " +array.sum()); } }
题目二
题目:
编写程序,求圆柱体的体积CylinderVolume:
设计一个计算圆面积的接口area,包含计算面积的方法bottomArea;
设计一个圆柱体类Cylinder实现接口area,包含
包含成员变量:高度,半径;
实现构造方法,对成员变量进行赋值;
实现圆柱体底面积成员方法area;
实现计算圆柱体体积的成员方法volume;
编写测试类计算圆柱体体积。
运行结果:
源代码:
1 2 3 4 5 package com.company;public interface area { public double bottomArea () ; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 package com.company;public class Cylinder implements area { private int h; private int r; public Cylinder () { } public Cylinder (int h,int r) { this .r=r; this .h=h; } public double area () { return Math.PI*r*r; } public double volume () { return Math.PI*r*r*h; } @Override public double bottomArea () { return Math.PI*r*r; } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 package com.company;public class Main { public static void main (String[] args) { int h=2 ; int r=2 ; Cylinder cylinder = new Cylinder(2 ,2 ); System.out.println("高度" +h+" 半径" +r); System.out.println("接口方法面积" +cylinder.bottomArea()); System.out.println("成员方法面积" +cylinder.area()); System.out.println("成员方法体积" +cylinder.volume()); } }
题目三
题目:
定义一个父类Animal类
属性:kind(种类)
方法:创建带参(kind为参数)构造方法
创建cry():void方法
编写三个具体的子类Cat类、Dog类、Sheep类
分别重写父类中的 cry() 方法,输出信息分别为
Cat类:小猫的叫声:喵喵喵~~~
Dog类:小狗的叫声:汪汪汪~~~
Sheep类:小羊的叫声:咩咩咩~~~
编写测试类,首先生成长度为5的父类对象数组,然后通过循环依次向数组中存入数据,现设定存储规则为:
a) 每次随机产生一个0~2的正整数
b) 若数值为 0,则生成一个 Cat 类的对象,存入数组
c) 若数值为 1,则生成一个 Dog 类的对象,存入数组
d) 若数值为 2,则生成一个 Sheep 类的对象,存入数组
最后循环输出数组成员,并分别调用 cry() 方法。
运行结果:
源代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 package com.company;public class Animal { protected String kind; public Animal () { } public Animal (String kind) { this .kind=kind; } public void cry () { } }
1 2 3 4 5 6 7 8 9 10 11 package com.company;public class Cat extends Animal { public Cat (String kind) { super (kind); } public void cry () { System.out.println(this .kind+"的叫声:喵喵喵~~~" ); } }
1 2 3 4 5 6 7 8 9 10 11 package com.company;public class Dog extends Animal { public Dog (String kind) { super (kind); } public void cry () { System.out.println(this .kind+"的叫声:汪汪汪~~~" ); } }
1 2 3 4 5 6 7 8 9 10 11 package com.company;public class Sheep extends Animal { public Sheep (String kind) { super (kind); } public void cry () { System.out.println(this .kind+"的叫声:咩咩咩~~~" ); } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 package com.company;import java.util.Random;public class Main { public static void main (String[] args) { Animal[] animal = new Animal[5 ]; for (int i=0 ;i<animal.length;i++) { int num = new Random().nextInt(3 ); if (num==0 ) { animal[i] = new Cat("cat" +i); } else if (num==1 ) { animal[i] =new Dog("dog" +i); } else if (num==2 ) { animal[i] =new Sheep("sheep" +i); } } for (Animal j:animal) { j.cry(); } } }