java整理题

更新时间:2023-11-29 16:23:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

方法(1道)

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

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

11(显示字符) 使用下面的方法头,编写一个打印字符的方法: Public void printChars(char ch1,char ch2,int numberPerLine)

该方法打印ch1到ch2之间的字符,每行按指定个数打印。编写一个测试程序,打印从“1”到“Z”的字符,每行打印10个。

13. 使用下面的方法头编写一个方法,返回一年的天数 Pulic int numberOfDaysInAYear(int year)

编写一个测试程序,显示从2000 到2010年每年的天数

14.使用Math类的sqrt方法编写程序,打印如下表格

数字 平方根 0 0.0000 2 1.4142 。。。 18 4.2426 20 4.4721

16 编写方法,使用下面方法头显示n*n 的矩阵: Public void printMatrix(int n)

每个元素都是随机产生的0或者1,编写一个测试程序打印如下所示的3*3矩阵 0 1 0 0 0 0

1 1 1

数组(2道)

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

Enter the integers betweens 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

4 (打印不同的数) 编写一个程序,读入10个数,并且显示互不相同的数(即一个数出现多次,只显示一次)提示:读入一个数,如果是新数,则它存储在数组中,如果该数已经在数组中,则忽略它。下面是这个程序的运行示例。

Enter the number: 12 3 2 1 6 3 4 5 2 The distinct numbers are: 1 2 3 6 4 5

6(求数组的平均值)编写两个重载的方法,使用下面的方法头返回一个数组的平均数:

public int average(int[] array)

public double average(double[] array)

public class ArrayAverage{ /**

* @param args */

public static void main(String[] args) { // TODO Auto-generated method stub int[] a = {1, 2, 3, 4, 5, 6};

double[] b = {6.0, 4.4, 1.9, 2.9, 3.4, 3.5}; int avg1 = average(a); double avg2 = average(b);

System.out.println(\ System.out.println(\ }

public static int average(int[] array){ int sum = 0;

for(int i = 0;i

return (sum/6); }

public static double average(double[] array){ int sum = 0;

for(int i = 0;i

return (sum/6);

} }

10 对学生进行排序)编写一个程序,提示用户输入学生个数,学生姓名和他们成绩,然

后按照学生成绩降序打印学生的姓名

14.(完全相同的数组)如果两个数组list1和list2长度相同,而且对于每个i,list1[i]都等于list2[i],则认为list1和list2是完全相同的,使用下面方法头编写一个方法,如果list1和list2完全相同,那么这个方法返回true public Boolean equal(int[] list1 int[] list2)

16.(模式识别方面,四个连续相等的数)编写下面的方法,测试某个数组中是否有四个连续的值相同的数字 public Boolean isConsecutiveFour(int[] values)

编写测试程序,提示用户输入一个整数数列,如果这个数列有四个连续的具有相同值的数,那就显示true,否则显示false。 二维数组

18编写一个方法,求n*n矩阵主对角线所有整数之和,使用下列方法头:

public double sumMajorDiagonal(int [][] m)

编写一个测试程序,读取一个3*3 的矩阵,然后显示主对角线所有元素的和。下面是一个运行示例:

Enter a 3-by-3 matrix row by row : 1 2 3 4 5 6 7 8 9

Sum of the element in the major diagonal is 15

类(2道)

1. 设计一个MyInteger类,这个类包括

一个名字为value的int型属性值,用来存储这个对象表示的int值 一个为int值创建MyInteger的有参和无参构造方法 set 和get方法

如果value为偶数、奇数和素数,那么isEven()、isOdd()和isPrime()方法都会返回true

如果指定值为偶数、奇数和素数,那么isEven(int)、isOdd(int)和isPrime(int)方法都会返回true

实现这个类,编写程序测试这个类

4 设计一个股票类Stock,这个类包括:

一个名为symbol字符串表示股票代码 一个名为name字符串表示股票的名字

一个名为previousPrice的double型数据,它存储的是前一日的股票值 一个名为currentPrice的double型数据,它存储的是当时的股票值 创建一个有特定代码和名字的股票构造方法 各属性的set 和get

一个名为getChangePercent()方法返回从previousPrice到currentPrice的百分比 实现这个类,编写程序测试这个类,创建一个Stock对象,他的股票代码是Java,股票名字为Sun Microsystems Inc,前一日收盘价是4.5,设置当前值是 4.35,然后显示市值变化的百分比。

5 帐号类Account,设计一个名为Account的类,它包括

一个名为id的int类型的私有属性 一个名为balance的double型属性,存放money

一个名为annualIntegerRate的double型属性,存放当前利率 一个名为dateCreated的String类型存储帐号的开户日期 写无参和带参构造方法 各属性的set和get

一个withdraw方法从帐号提取特定数额

一个deposit方法向帐号存储特定数额

实现这个类,编写程序测试这个类, 创建一个帐号为1122,余额为20000,年利率为4.5%的Account帐号,使用withdraw 方法取款2500,使用deposit方法存款3000,然后打印余额和开户日期

6设计一个名为Fan的风扇类,这个类包括:

三个名为SLOW MEDIUM 和FAST而值是1,2,3的常量表示风扇的速度 一个名为speed的int类型私有属性表示风扇的速度,默认为SLOW 一个名为on的boolean类型私有属性表示风扇是否打开,默认是false 一个名为radius的double类型私有属性表示风扇的半径,默认是5 一个名为color的String类型私有属性表示风扇的颜色,默认为blue 属性的set和get方法

默认风扇的无参和有参构造方法

一个名为toString()方法,返回描述风扇的字符串,如果风扇是打开的,那么该方法在yield组合字符串中返回风扇的速度、颜色和半径,如果风扇没打开,该方法会返回一个由“fan is off和风扇半径颜色组成的字符串。 实现这个类,编写程序测试这个类,创建Fan对象,设置相关属性,然后调用toString方法显示这些对象。

7 ( 几何方面:正n边型)在一个正n边形,所有边长度都相同,所有角的度数都

相同(这个n边型是等边等角的)。设计一个名为RegularPolygon的类,该类包括: 一个名为n的int类型私有属性表示多边形的边数,默认值为3 一个名为side的double类型私有属性表示边的长度,默认值为1

一个名为x的double类型私有属性表示多边形中点的x坐标,默认值为0 一个名为y的double类型私有属性表示多边形中点的y坐标,默认值为0 一个创建带默认值正多边形的无参构造方法

一个能创建带指定边数和边长度,中心在(x,y)的正多边形的有参构造方法 所有属性的set和get

一个返回多边形周长方法getPerimeter()

一个返回多边形周长方法getArea(),计算多边形面积的公式是: 面积 = (n*s*s)/(4* tan(p/n))

实现这个类,编写程序测试这个类,创建RegularPolygon(10,4,5.6,7.8)对象,显示对象的周长和面积。

8为二次方程式a*x*x + b*x + c=0 设计一个名为QuadraticEquation 的类。这个类包括:

代表三个系数的私有属性 a,b,c a,b,c的set和get

带参和无参的构造方法

一个名为getDiscriminant()的方法返回判别式 b*b-4*a*c

一个名为getRoot1() 和getRoot2()的方法返回等式的两个根,这些方法只有在判别式为非负数才有用,如果判别式为负数,这些方法返回0.

实现这个类,编写程序测试这个类,提示用户输入 a,b,c,然后显示判别式的结果,如果判别式为正数,显示2个根,如果判别式为0,显示1个根,否则显示无根。

9 设计一个名为TV的电视类,这个类包括:

一个名为channel的int类型私有属性表示当前的频道,默认为1

一个名为on的boolean类型私有属性表示电视是否打开,默认是false 一个名为volumeLevel的int类型私有属性表示声音的声量,默认是1 属性的set和get方法

默认电视的无参和有参构造方法

一个名为turnOn()方法,功能打开电视。 一个名为turnOff()方法,功能关闭电视。

名为channelUp()和channelDown()方法,分别实现频道数加一和减一功能 名为VolumeUp()和VolumeDown()方法,分别实现音量加一和减一功能

实现这个类,编写程序测试这个类,创建TV对象,设置相关属性,然后调用相关方法进行测试。

14(ComparableCircle类)创建一个名为ComparableCircle类,它扩展Circle类并实现Compare接口,其中:

Compare接口包括一个比较方法 CompareTo()

public int compareTo(Object o) ;

当这个对象相对于比较对象o来说,当这个对象大于、等于或小于给定对象o时候,分别返回正整数,零和负整数。 Circle类包括:

一个半价radius属性,默认值为1 一个无参构造方法 一个带参的构造方法 set 和get方法

一个名为getAera()方法返回这个圆类的面积 一个名为getPerimeter()方法返回这个圆类的周长

一个名为toString()方法返回这个圆形半价的字符串描述

ComparableCircle类实现接口CompareTo方法,可以比较两个圆的大小,要求根据面积比较两个圆。

编写测试程序求出ComparableCircle类的两个实例中的最大者。

15 修改题目3的Rectangle类,实现Compare接口,并覆盖Object类的equals方法,当两个Rectangle对象面积相等时候,则这两个对象是相同的。其中:Compare接口包括一个比较方法 CompareTo()

public int compareTo(Object o) ;

当这个对象相对于比较对象o来说,当这个对象大于、等于或小于给定对象o时候,分别返回正整数,零和负整数。

Rectangle类实现接口CompareTo方法,可以比较两个矩形的大小,要求根据面积比较两个矩形。

编写测试程序求出Rectangle类的两个实例中的最大者。

16 (求集合对象面积之和)编写一个方法,求数组中所有几何对象的面积之和,方法如下所示:

Public double sumArea(Shape [] a)

编写测试程序,创建四个对象(两个圆和两个矩形)的数组,使用sumArea求总面积

异常(1道)

本文来源:https://www.bwwdw.com/article/7ujt.html

Top