搜档网
当前位置:搜档网 › 第三次Java练习题

第三次Java练习题

第三次Java练习题
第三次Java练习题

1.顺序语句练习

6道题.方法1道.数组2道。类2到

建项目Test+学号

每个题一个包

把每个项目压缩专业班级学号姓名提交

时间3小时

数组:做题号为偶数的去掉柜子八皇后

方法:1 3 11 13 14 16

类:1 5 4 6 7 8 9 14 15 16

异常:

.循环练习

public class lx5 {

public static void main(String args[]){

System.out.println("50以内的素数:");

System.out.print("2 "+"3 ");

int c=2;

for(int i=3;i<=100;i++)

for(int j=2;j<=(int)Math.sqrt(i);j++){

if(i%j==0)break;

if(j>=(int)Math.sqrt(i)){

System.out.print(i+" ");

c++;

if(c%10==0)

System.out.println();

}

}

}

}

6.(统计正数和负数的个数然后计算这些数的平均值)编写程序,读入未指定个数的整数,分别判断读入的正数和负数的个数,然后计算这些输入值的总和及其平均值(不对0计数),当输入为0时候,表示程序结束。将平均值以浮点数的形式显示。(20分)

下面是一个运行示例:

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

7.(财务程序) :假设某个大学今年的学费是10000元,学费以每年5%速度增加,编写程序

计算10年后的学费以及现在开始的10年后算起,4年内总学费是多少?(20分)

public static void main(String[] args) {

int a=10000;

double w;

double sum=0;

double p;

for(int n=1;n<10;n++){

w=a*Math.pow(1+0.05,n);

sum+=w;

if(n==9){

System.out.println(" "+w);

}

if(n==3){

p=a+sum;

System.out.println(" "+p);

}

}

}

}

8.编写程序,提示用户输入学生的个数,每个学生的姓名和分数,最后显示得分最高学生的姓名和分数和第二高分学生姓名和分数(20分)

import java.io.*;

import java.util.*;

public class lianxi50 {

public static void main(String[] args){

Scanner ss = new Scanner(System.in);

String [][] a = new String[5][6];

for(int i=1; i<6; i++) {

System.out.print("请输入第"+i+"个学生的学号:");

a[i-1][0] = ss.nextLine();

System.out.print("请输入第"+i+"个学生的姓名:");

a[i-1][1] = ss.nextLine();

for(int j=1; j<4; j++) {

System.out.print("请输入该学生的第"+j+"个成绩:");

a[i-1][j+1] = ss.nextLine();

}

System.out.println("\n");

9.使用while循环找出满足n*n大于12000的最小整数(15分)。

public static void main(String[] args) {

int n=1;

while(n*n <12000){

n++;

}

System.out.println(" "+n);

}

}

11. 计算π(25分)

使用下列数列可以近似计算π:

π= 4*(1-1/3 +1/5 -1/7 + 1/9 -1/11+………+1/(2*i-1)-1/2*i+1)

编写程序,显示当i=10000,20000,…..100000的时候π的值。

12.(完全数)如果一个正整数等于除以它本身之外所有其他所有除数之和,就称之为完全数。例如:6是第一个完全数,因为 6 = 1+ 2 + 3,下一个完全数是28 = 1 + 2 + 4 + 7 + 14;1000以下完全数有4个,编写程序找出这四个完全数。(25分)

public static void main(String[] args) {

int sum;

for(int i=1;i<1000;i++)

{

sum=0;

for(int j=1;j<=i/2;j++)

{

if(i%j==0)

{

sum+=j;

}

}

if(i==sum){

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

}

}

}

}

13.(游戏:石头、剪、子布)对于分支语句练习7的石头-剪子-布程序,修改这个程序,让用户可以连续玩这个游戏,直到用户或者计算机连续赢两次以上。(25分)

14.(最大数的出现次数)编写程序读取整数,找出他们的最大数,然后计算该数出现的次数。键入输入0表示结束。(20分)假定输入是3 5 2 5 5 5 0,程序找出最大数5,而5 出现的次

数是4.

15.假设你投资10000美元买一张CD,年获利率为5.75%,一个月后,这张CD的价值为:

10000 +10000*5.75/1200 = 10047.91

两个月后,这张CD的价值为:

10047.91 +10047.91*5.75/1200 = 10096.06

三个月后,这张CD的价值为:

10096.06 +10096.06*5.75/1200 = 10144.43

以此类推:

编写程序,提示用户输入一个总数(例如10000),年获利率(例如5.75),以及月份数(例如18),然后显示表格,如下面运行示例所示:

Enter the intial deposit amout: 1000

Enter annual percentage yield:5.75

Enter maturity period(number of month):18

Month CD Value

1 10047.91

2 10096.06

1710846.56

1810898.54

4.方法练习

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

public int getPentagonalNumber(int n)

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

2.(求一个整数的各位数字之和)编写一个方法,计算一个整数各位数字之和:

public int sumDigits(long n)

例如sumDigits(234)返回9

提示:用求余运算符%提取数字,用除号/提取取出来的数字,反复循环(234%10 =4 234/10=23)

3.(回文整数)编写两个方法

public int reverse(int num) //返回反向倒置数//reverse(456) return 654

public Boolean isPalindrome(int number)

使用reverse方法实现isPalindrome。如果一个数字的反向倒置数和他顺向数一样,这个数字称作回文,编写测试程序,提示用户输入一个整数,然后报告这个数字是否回文。

4.(显示模式)编写方法显示如下模式

1

2 1

3 2 1

n n-1 3 2 1

5(回文素数)回文素数,是指一个数既是回文又是素数。例如131,313,757,编写程序显示

前100个回文素数,每行显示10个数并且准确对齐。

例如:

2 3 5 7….

313 353 373 383

6.(反素数) 反素数是指将一个数字逆向之后也是一个素数的非回文素数,例如:17是个素数,71也是素数,所以17和71是反素数。编写程序显示前100个反素数,每行显示10个数并且准确对齐。

7.(梅森素数),如果一个素数可以写成2P-1的形式,其中p是某个正整数,那么这个素数就是梅森素数,编写程序写出p<=31的所有梅森素数,然后显示如下输出结果:P 2P-1

2 3

3 7

5 31

….

8.(游戏:)掷骰子游戏是赌场非常流行的骰子游戏,编写程序玩这个游戏的另一种玩法,如下所示:

掷两个骰子,每个骰子有六个面,分别表示值1,2….6,检查这两个骰子的和,如果和为2,3,或者12(称为掷骰子),你就输了;如果是7或者11(称为自然),你就赢了,但如果和是其他数字,例如4,5,6,8,9或者10,就确定了一个点,继续掷骰子,直到掷出一个7或者掷出和刚才相同的点数,如果掷出是7,你就输了,如果掷出的点数和你前一次掷出的点数相同,你就赢了。

程序扮演一个独立的玩家,下面是运行示例。

You rolled 5+6 = 11

You win

You rolled 1+2 = 3

You lose

You rolled 4+4 = 8

Point is 8

You rolled 6+2 = 8

You win

You rolled 3+2 = 5

Point is 5

You rolled 2+5 = 7

You lose

10. (摄氏度和华氏度之间的转换)编写一个类,包含下面两个方法:

//转换摄氏温度到华氏温度

Public double celsiusToFahrenheit(double celsius)

//转换华氏温度到摄氏温度

Public double fahrenheitTocelsius(double fahrenheit)

转换公式如下:

华氏温度=(9.0/5)*摄氏温度+ 32

摄氏度华氏度华氏度摄氏度

40.0 104.0 120.0 48.89

39.0 102.2 110.0 43.33

...

32.0 89.6 40.0 4.44

31.0 87.8 30.0 -1.11

Public static void main(String args){

printChars(“1”,”z”,10);

public static void printChar(char ch1,char ch2,int numberPerLine){ for(int i=ch1;m=1;i<=ch2;i++;m++){

if(m% numberPerLine==0){

System.out.println((char )i);

}else{

System.out.println((char) i+””);

}

}

}

12.编写一个方法计算下列级数

m(i) = 1/2+2/3 + …+i/i+1

编写测试程序显示下面的表格

I m(i)

1 0.5000

2 1.667

。。。

1916.4023

2017.3546

13. 使用下面的方法头编写一个方法,返回一年的天数

Pulic int numberOfDaysInAYear(int year)

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

Pulic static int numberOfDaysInAYear(int year){

return year;

if(year%4==0&&year%100!=0){

System.out.println(year+”有”+366+”天.”);

}else{

System.out.println(year+”有”+365+”天.”);

}

Public static void main(String args[]){

int i= int numberOfDaysInAYear(int year);

for(i=2000;i<=2010;i++){

System.out.println(year);

}

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

数字平方根

00.0000

2 1.4142

。。。

Public static void main(String args[]){

System.out.println(“数字平方根”);

double i,temp;

for(i=o;i<=20;i=i+2){

temp=Math.sqrt(i);

System.out.println(“i”+””+temp);

}

}

}

15(使用)三角函授方法,打印下面的表格,显示0°到360°之间,角度相隔10°的正弦和余弦值,保留小数点后4位。

角度正弦值余弦值

0 0.0000 1.0000

10 0.1736 0.9848

350 -0.1736 0.9848

360 0.0000 1.0000

16 编写方法,使用下面方法头显示n*n 的矩阵:

Public void printMatrix(int n)

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

0 1 0

0 0 0

1 1 1

Public static void printMatrix(int n){

System.out.println( ) ;

Public static void main(String args[ ]){ Int a[][]=new a[n][n] ;

}

int i,j ;

for(i=0 ;i<3 ;i++)

for(j=0 ;j<3 ;j++)

5.数组部分练习

1.(倒置输入的数)编写程序,读取10个整数,然后按照和读取顺序相反的顺序将

他们显示出来。

import java.util.*;

public class lianxi31 {

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

System.out.println(“请输入10个整数: ”);

String str=in.nextString();

StringBuffer n=new StringBuffer(str);

For(int i=1;i<10;i++){

n.reverse();

System.out.println(n);

}

}

}

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

import java.util.*;

public class lianxi47 {

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

int n=1,num;

while(n<=7){

do{

System.out.print("请输入1--100之间的整数:");

int num= in.nextInt();

}while(num<1||num>100);

for(int i=1;i<=num;i++)

{System.out.print("*");

}

System.out.println();

n ++;;}

}

}

public static void main(String args[]){

int []a=new inta[10];

3(分析成绩)编写一个程序,读入个数不确定考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数低于平均分,输入一个负数表示输入的结束。假设成绩最高分是10分。

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

Enter the number:12 3 2 1 6 3 4 5 2

The distinct numbers are: 1 2 3 6 4 5

Public static void main(String args[]){

Scanner reader=new Scanner(System.in);

System.out.println(“请读入10个数: ”);

double s=reader.nextDouble();

5编写一个程序,生成0-9之间的100个随机数,然后显示每个数字出现的次数。

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

public double average(double[] array)

7编写一个方法,使用下面的方法头求出一个整数数组中的最小元素

public double min(double [] array)

编写测试程序,提示用户输入十个数字,调用这个方法返回最小值,下面是这个程序的运行示例:

Enter ten number : 1.9 2.5 3.7 2 1.5 6 3 4 5 2

The minimum number is 1.5

8(找出最小元素的下标),编写一个方法,求出整数数组中最小元素的下标,如果这样元素个数大于1,则返回最小的下标。使用下面的方法头;

public int indexOfSmallestElement(double[] array)

编写测试程序,提示用户输入十个数字,调用这个方法返回最小元素的下标,然后显示这个下标值。

9(数组倒置)编写一个方法,实现数组的倒置,方法将传递到实参数组倒置,然后返回这个数组。编写一个测试程序,提示用户输入十个数字,调用这个方法倒置这个数组,然后显示这个数组。

public int [] reverse(int [] array)

10(对学生进行排序)编写一个程序,提示用户输入学生个数,学生姓名和他们成绩,然后按照学生成绩降序打印学生的姓名

Public static void main(String args[]){

11八皇后问题,是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。计算机发明后,有多种方法可以解决此问题。编写程序给出一个解决方案

12一个学校有100个储物柜和100个学生。所有储物柜在上学的第一天都是关着的。随着学生进来,第一个学生用s1表示,打开每个柜子,然后第二个学生,用s2表示,从第二个柜子开始,第二个柜子用L2表示,然后关闭其他的柜子。学生s3从第三个柜子开始,然后改变每个柜子(如果它是开着就关上,如果它是关上就打开)。学生s4从柜子L4开始,然后改变每个柜子。学生s5从柜子L5开始,然后改变每个柜子。以此类推,直到s100改变L100为止。

在所有学生经过教学楼并改变了柜子后,哪些柜子是开着的,编写程序找出答案

提示:使用存放100个布尔类型元素的数组,每个元素表明一个柜子是开的还是关的,初始状态,所有柜子都是关的。

13.选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。写一个排序方法,方法头如下所示:

public int[] sort(int[] array)

对数组进行从小到大进行排序,编写测试程序,读取10个int类型数字,调用该方法,然后显示排好序的数组。

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

public Boolean equal(int[] list1 int[] list2)

编写一个测试程序,提示用户输入两个整数数列,然后显示这两个整数数列是否完全相同。

15.(数学方面:组合)编写一个程序,提示用户输入10个整数,然后显示从10个数中选出两个数的所有组合

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

public Boolean isConsecutiveFour(int[] values)

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

二维数组

17 编写一个方法,求整数矩阵所有整数之和,使用下列方法头:

public double sumMatrix(int [][] m)

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

Enter a 3-by-3 matrix row by row :

1 2 3

4 5 6

7 8 9

Sum of matrix is 136

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

import java.util.*;

public class lianxi29 {

public static void main(String[] args) {

Scanner s = new Scanner(System.in);

int[][] a = new int[3][3];

System.out.println("请输入9个整数:");

for(int i=0; i<3; i++) {

for(int j=0; j<3; j++) {

a[i][j] = s.nextInt();

}

}

System.out.println("输入的3 * 3 矩阵是:");

for(int i=0; i<3; i++) {

for(int j=0; j<3; j++) {

System.out.print(a[i][j] + " ");

}

System.out.println();

}

int sum = 0;

for(int i=0; i<3; i++) {

for(int j=0; j<3; j++) {

if(i == j) {

sum += a[i][j];

}

}

}

System.out.println("对角线之和是:" + sum);

}

}

6.类设计部分

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

一个名字为value的int型属性值,用来存储这个对象表示的int值

一个为int值创建MyInteger的有参和无参构造方法

set 和get方法

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

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

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

2.设计MyPoint类,表示一个带x坐标和y坐标的点,该类包括

属性x和y分别表示坐标

创建点(0,0)无参构造方法和创建特定点的有参构造方法

两个属性的set和get

一个名为distantce的方法,返回MyPont类型两个点之间的距离

一个名为distantce的方法,返回指定x和y坐标的两个点之间的距离

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

3.设计一个矩形类Rctangle,这个类包括

属性width和height,分别表示矩形的宽和高

创建宽和高为1的无参构造方法和创建特定宽和高的有参构造方法

两个属性的set和get

一个名为getArea()返回这个矩形的面积

一个名为getPerimeter()返回这个矩形的周长

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

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.(代数方面:二次方程式)为二次方程式ax*x + b*x + c=0 设计一个i额名为

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()和V olumeDown()方法,分别实现音量加一和减一功能

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

方法进行测试。

10.(几何方面:MyRectangle2D)类,定义MyRectangle2D类,包含:

两个名为x和y的double类型属性,定义矩形的中心点,

两个名为width和length的double类型属性,定义矩形宽和长

Get 和set

无参构造方法,创建x,y都为0,width和length都为1默认矩形

方法getArea()返回矩形面积

方法getPerimeter()返回矩形周长

如果给定点(x,y)在矩形内,则方法contains(double x,double y) 返回true

如果给定矩形在这个矩形内,则方法contains(MyRectangle2D r)返回true

实现这个类,编写程序测试这个类,创建对象r1(new MyRectangle2D(2,2,5.5,4.9)) ,显示它面积和周长,并判断r1.contains(3,3),ri.contains(new

MyRectangle2D(3,5,2.3,5.4))

11.设计一个Person类和它两个名为Student和Employee子类,Employee又有子类:教员

类Faculty和职员类Staff,。每个人都有姓名、电话号码、地址、和电子邮件地址,学生有班级状态(大一、大二、大三或者大四)。将这些状态定义为常量。一个雇员有办公室、工资和受聘日期。定义一个名为MyDate的类,包含数据域:year,month,和day,教员有办公时间和级别,职员有职务称号,覆盖每个类的toString方法,显示相应的类名和人名。

实现这些类,编写程序测试这些类,并且调用他们toString()方法

12.(帐号类Account的子类) 在练习题5中定义了一个Account类来建模一个银行帐号。一

个帐号有帐号,余额,年利率,开户日期等属性,以及存款和取款等方法。创建两个检测支票帐号(checking account)和储蓄帐号(saving account)的子类。支票帐号有一个透支限定额,但储蓄帐号不能透支。

实现这些类,编写一个测试程序,创建Account,SavingsAccount和CheckingAccount

的对象,然后调用它们toString()方法。

13.(三角形Triangle)设计一个名为Triangle的类来描述三角形,该类包括:

三个名为side1,side2,side3的double类型属性表示三角形的三个边,它们的默认值

是1.0

一个无参构造方法

一个带参的构造方法

set 和get方法

一个名为getAera()方法返回这个三角形的面积

一个名为getPerimeter()方法返回这个三角形的周长

一个名为toString方法返回这个三角形三边的字符串描述

实现这类,编写一个测试程序,常见长为1,1.5和1的三角形,显示他的面积,

周长以及toString()方法显示三边描述

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 (求集合对象面积之和)编写一个方法,求数组中所有几何对象的面积之和,方法

求总面积

java基础笔试测试题与答案

Java 一章至五章考试 一. 填空题(8 分) 1. 面向对象的三大原则是( 封装),( 继承) 和( 多态).2 分 2. 如果想在对象实例化的同时就初始化成员属性,则使用( 构造函数).2 分 3. ( 实体) 方法和( 构造) 方法不能修饰为abstract ?2分 二.选择题(60 分) 1) 在Java 语言中,下列(a,d )是不满足命名规范的变量名。(选择二项) a) 姓名 b) $Name c) _instanceof d) instanceof 2) 下列Java 代码片段的输出结果是( a ) 。 char c='a'; int i=c; float f=i; byte b=(byte)c; System.out.println(c+","+i+","+f+","+b); a) 编译错误 b) a,97,97,97 c) a,97,97.0,97 d) a,97,97.0f,97 3) 下列Java 代码中,空白处的代码是(b,c )。( 选择两项) public interface Fee{ public float calLabFee(float unitPrice, float time); } public class FeeImpl implements Fee { public float calLabFee(float unitPrice, float time){ return unitPrice * time; } } public class FeeInterfaceTest { public static void main(String[] args){ ________________ Float labFee = fee.calLabFee(400.00,5); } }

java第三章课后习题解答

第3章面向对象程序设计基础 【1】什么是Java程序使用的类?什么是类库? [解答]:Java程序的基本单位是类。对象是对事物的抽象,而类是对对象的抽象和归纳,找出事物的共性,把具有共同性质的事物归结为一类,得出一个抽象的概念——类。类是具有相同属性和方法的一组对象的集合,类是在对象之上的抽象,对象则是类的具体化,一旦建立类之后,就可用它来建立许多你需要的对象。 Java的类库是系统提供的已实现的标准类的集合,是Java编程的API(Application Program Interface),它可以帮助开发者方便、快捷地开发Java程序。# 【2】如何定义方法?在面向对象程序设计中方法有什么作用? [解答]:方法的定义由两部分组成:方法声明和方法体。方法声明的基本格式如下: 返回类型方法名(形式参数) { … //方法体内容 } 方法声明包括方法名、返回类型和形式参数,方法的小括号是方法的标志;方法体为实现方法行为的Java语句。 在面向对象程序设计中,方法所起的作用是完成对类和对象属性操作。 【3】简述构造方法的功能和特点。下面的程序片段是某学生为student类编写的构造方法,请指出其中的错误。 void Student(int no,String name) { studentNo=no; studentName=name; return no; } [解答]:构造方法是一个特殊的方法,主要用于初始化新创建的对象。构造方法的方法名要求与类名相同,用户不能直接调用,只能通过new运算符调用,而且构造方法是不返回任何数据类型,甚至也不返回void数据类型,即不能在构造方法前加void。 以上的代码段出错于:①构造方法Student()前不能加void ②不能用return语句 【4】定义一个表示学生的student类,包括的域有学号、姓名、性别、年龄,包括的方法有获得学号、姓名、性别、年龄及修改年龄。编写Java程序创建student类的对象及测试其方法的功能。 [解答]:程序代码段如下: class student{ private String id; private String name; private String sex; private int age;

北邮高级语言程序设计(基于Java)第三次阶段作业

北邮高级语言程序设计(基于Java)第三次阶段作业 一、单项选择题(共20道小题,共100.0分) 1.下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的?____ A.public B.private C.static D.final 知识点: 第三单元过关自测 学生答 案: [A;] 得分: [5] 试题分 值: 5.0 提示: 2. 3.以下哪个接口的定义是正确的_____ A.interface A {void print() { } ;} B.abstract interface A {void print() ;} C.abstract interface A extends I1, I2 // I1、I2为已定义的接 口 abstract void print(){ };} D.interface A {void print();} 知识点: 第三单元过关自测 学生答 案: [D;] 得分: [5] 试题分 值: 5.0 提示:

4. 5.下列说法正确的是____ A.子类只能覆盖父类的方法,而不能重载 B.子类只能重载父类的方法,而不能覆盖 C.子类不能定义和父类名同名同形参的方法,否则,系统将不知道使 用哪种方法 D.重载就是一个类中有多个同名但有不同形参和方法体的方法 知识点: 第三单元过关自测 学生答 案: [D;] 得分: [5] 试题分 值: 5.0 提示: 6. 7.在调用构造函数时,____ A.子类可以不加定义就使用父类的所有构造函数 B.不管类中是否定义了何种构造函数,创建对象时都可以使用默认构 造函数 C.先调用父类的构造函数 D.先调用形参多的构造函数 知识点: 第三单元过关自测 学生答 案: [A;] 得分: [5] 试题分 值: 5.0 提示: 8. 9.方法的作用不包含____ A.使程序结构清晰 B.功能复用 C.代码简洁 D.重复代码 知识点: 第三单元过关自测 学生答 案: [D;] 得分: [5] 试题分 5.0

Java笔试题及答案

Java笔试题及答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。 package net.study; public class TestConStructor { public TestConStructor() {

} public void TestConStructor() { } public static void main(String[] args) { TestConStructor testConStructor = new TestConStructor(); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: java 中没有<> := 这种运算符,if else不算运算符 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()

2009年秋季Java程序设计第三次作业

2009年秋季Java程序设计第三次作业 一、单项选择题(20分,共 10 题,每小题 2 分) 1. 给定File f=new File("aa.txt");可以实现向文件尾部读写的是() A. RandomAccessFile f1=new RandomAccessFile(f,"r"); B. RandomAccessFile f1=new RandomAccessFile(f,"a"); C. RandomAccessFile f1=new RandomAccessFile(f,"rw"); D. RandomAccessFile f1=new RandomAccessFile(f,"w"); 2. 下列哪种方法在Applet生命周期中只执行一次() A. Init B. Start C. Stop D. run 3. 通过下列()I/O类可以实现对文件类File的添加,更新操作. A. RandomAccessFile B. Outputstream C. DataOutputstream D. InputStream 4. 如果要向文件file.txt中添加数据,应如何构建输出流() A. OutputStream out=new FileOutputStream(“file.txt”); B. OutputStream out=new FileOutputStream(“file.txt”, “append”); C. FileOutputStream out=new FileOutputStream(“file.txt”, true); D. FileOutputStream out=new FileOutputStream(new file(“file.txt”)); 5. 下列说法错误的是() A. Java Application命名必须与公共类名相同 B. Java Applet必须是类Applet的子类 C. Applet中也可以有main()方法 D. 一个Java Application文件中可以定义多个类 6. 下列哪个选项不能使当前线程停止执行() A. 一个异常被抛出 B. 线程执行了sleep()调用 C. 高优先级的线程处于可运行状态 D. 当前线程产生了一个新线程 7. 下面关于Applet的说法正确的是() A. Applet也需要main方法 B. Applet必须继承自java.awt.Applet C. Applet能访问本地文件 D. Applet程序不需要编译 8. 下列InputStream构造方法正确的是() A. InputStream in=new FileReader(“file.txt”); B. InputStream in=new FileInputStream(“file.txt”); C. InputStream in=new InputStreamFileReader (“file.txt”, “read”);[SEPA RATORD FileInputStream in=new FileReader(new File(“file.txt”));

java实验报告完整版

实验报告 (计算机与信息工程学院实验中心) 学期:2014-2015 课程名称:《Java程序设计实验》 班级:信息1202 姓名:方逸梅 学号:1212100231 指导老师:费玉莲

《Java程序设计》 独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验十二的内容由学生自行设计完成。 (二)教学安排 学时数:30课时 学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。 (三)实验环境 实验环境为JDK 1.6。 (四)具体安排 地点:信息大楼实验室。 辅导:每个班次一名辅导老师,原则上由任课老师担任。 登记:实验完成,由辅导老师登记实验纪录。 学生:实验做完,完成实验报告内容,并在学期末上交实验册。 老师:批改实验,成绩与平时成绩一起占期末的30%。 二、实验的具体内容和要求 见实验报告。

浙江工商大学 计算机与信息工程学院实验报告(1)日期:地点:成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 实验目的、实验原理和内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 1.下载、安装并设置Java SDK 软件包。 2.熟悉Eclipse编辑软件。 3.掌握运行Java 程序的步骤。 4.分别编写Application和Applet程序,显示字符串”Hello Java!欢迎使用!”。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 程序一 public class hello { public static void main(String[] args) { for(int i=0;i<=4;i++) { System.out.println("Hello java! 欢迎使用!"); } } } 结果示意图1

java笔试题及答案.doc

java笔试题及答案 有了下面java笔试题及答案,进行java笔试时就容易多了,请您对下文进行参考: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package子孙类其他package public 7 7 7 7 protected 7 7 7 X friendly 7 7 X X private 7 X X X 不写时默认为friendly 2、Anonymouslnner Class (匿名内部类)是否可以exte nd s (继承)其它类,是否可以imple ment s (实现)i nterf ace (接口) 答:匿名的内部类是没有名字的内部类。不能exte n ds (继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Sta ti cNestedC las s 和Inner Clas s 的不同答: Nes tedC lass (一般是C+ +的说法),In ne rClass (—般是JAVA的说法)。J ava内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(I

nn erClass)意味着1创建一个st atic内部类的对象,不需要一个外部类对象,2不能从一个st atic内部类的一个对象访问一个外部类对象 4、和的区别 答:是位运算符,表示按位与运算,是逻辑运算符,表示遷辑与(and ) 5、Coll ect ion 和Col lect ions 的区别 答:Coll ect ion是集合类的上级接口,继承与他的接口主要有Set和List. Col lections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:asserti on (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,a ssertion 就是在程序中的一条语句,它对一个boolea n表 达式进行检查,一个正确程序必须保证这个bool ean表达 式的值为tr ue;如果该值为fal se,说明程序己经处于不正确的状态下,系统将给出警告或退出。一般来说,

JAVA作业

JAVA作业: PP2.3 编写一个应用程序,读取两个浮点数,然后打印输出它们的和、差、乘积。 import javax.swing.*; import java.util.*; public class First { /** * 作业PP2.3 编写一个应用程序,读取两个浮点数,然后打印输出它们的和、差、乘积。 */ public static void main(String[] args) { float f1=0.0f, f2=0.0f; float sum=0.0f; float difference=0.0f; float product=0.0f; String tempstr=JOptionPane.showInputDialog("Input Please"); f1=Float.parseFloat(tempstr); tempstr=JOptionPane.showInputDialog("Input Please Again"); f2=Float.parseFloat(tempstr); sum=f1+f2; difference=f1-f2; product=f1*f2; JOptionPane.showMessageDialog(null,"The First Number is:"+f1+"\n"+"The Second Number is:"+f2+"\n"+"The Sum is:"+sum+"\n"+"The Difference is:"+difference+"\n"+"The product is:"+product,"Result",https://www.sodocs.net/doc/b213510422.html,RMATION_MESSAGE); } } PP2.4 编写一个应用程序TempConverter1,读取用户输入的华氏温度,然后转换成摄氏温度。 import javax.swing.*; public class TempConverter1 { /**

java实验报告(全)

学生学号0120910680526 实验课成绩 武汉理工大学 学生实验报告书 实验课程名称软件工具与环境 开课学院计算机科学与技术学院 指导老师姓名付国江 学生姓名 学生专业班级软件工程0905 2011— 2012学年第1学期

实验课程名称: java语言程序设计 实验项目名称JDK安装与配置、简单的程序编写实验成绩 实验者专业班级软件0905 组别 同组者实验日期年月日第一部分:实验分析与设计(可加页) 一、实验内容描述(问题域描述) 实验目的: 熟悉JDK的安装、配置和使用,掌握Java Application程序的基本结构。 实验内容: (1)安装JDK,并练习设置JAVA_HOME、path和classpath环境变量; (2)编写一个打印出”HelloWorld”的Java Application程序,并编译运行; 二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或 者算法描述) (1)jdk的安装 (2)”HelloWorld”的编译运行 三、主要仪器设备及耗材 个人计算机,jdk 第二部分:实验调试与结果分析(可加页) 一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)(1)jdk的安装步骤: 1:双击jdk-6u10-windows-i586.exe安装文件 2:点击接受 3:点击下一步 4:选择JRE路径 5:点击下一步 6:完成 配置环境变量: 1:右键我的电脑,找到属性,高级中的环境变量 2:点击环境变量:3:系统变量针对所有用户,这里找到系统变量中的Path 点击编辑: 3:系统变量针对所有用户,这里找到系统变量中的Path 点击编辑: 4:在变量值末尾打上分号分隔,加入JDK库路径。 点击确定,完成! 5:变量配置好后。 6:测试环境是否好 在控制台中 输入javac指令,能显示参数,说明成功。

Java经典面试题大全_带答案

Java经典面试题带答案一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code(字节码) C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行(构造器) D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.Java.sql /sql/数据库还有Oracle 也是一种数据库 B.java.awt C.https://www.sodocs.net/doc/b213510422.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环

答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D 二、多项选择题 1.Java程序的种类有() A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有() A.环境变量可在编译sourcecode时指定 B.在编译程序时,所能指定的环境变量不包括class path C.javac一次可同时编译数个Java源文件 D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD 3.下列标识符不合法的有() A.new B.$Usdollars C.1234 D.car.taxi 答案:ACD 4.下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 答案:BCD 5.不能用来修饰interface的有()

Java第三次作业题目2015版

第1题:简易绘图程序 绘图应用程序。利用学过的GUI 方法实现一个较为完整的绘图应用程序。用户可以选择要画的图形(如线,椭圆,圆,矩形,弧,圆角矩形,多边形,折线等等),选择画笔颜色和画笔粗度,用鼠标单击和拖拽等动作绘图,并能将绘图结果保存为jpg和bmp格式。参考界面(可自己设计)如下:【最大选题人数:5】 第2题:计算器 设计一个计算器应用程序,用于进行简单的加减乘除四则运算。要求能对输入的算式判断运算符优先级,允许在表达式中出现常用的数学函数,如绝对值、取整、三角函数、倒数、平方根、平方、立方等。参考界面(可自己设计)如下:【最大选题人数:5】 第3题:设计一个万年历系统 设计一个万年历系统,实现以下功能:【最大选题人数:3】 (1)可以查看当前的年份、月份和日期;

(2)有时间栏,便于用户查看当前时间; (3)能够查找1至9999年的日期与星期的关系。 其它功能可自行开发。 第4题:一个简单的算法演示程序 选择一个算法(提供选择见下)、利用各种方法(图形、界面)演示算法的计算过程。总体要求: (1)可以进行手动演示,也可以自动步进式演示。 (2)允许用户设置算法的各个输入参数,以及自动步进式演示中的时间间隔。 (3).使用图形界面,要符合日常软件使用规范设置菜单和界面。 可参考算法: 1.最小生成树算法:Prim算法、Kruskal算法。允许一下方式输入一个图形:绘制图形、输入邻接矩阵、输入边及其关联的顶点。 2.单源最短路算法:Disjkstra算法。允许一下方式如数一个图形:绘制图形、输入邻接矩阵、输入边及其关联的顶点。 3.最优编码算法:Huffman编码算法。允许用户输入一段英文文字,或者打开一个txt 文档(英文内容),据此文档内容进行编码。要求动态列出每个字符的出现概率统计结果以及对应编码。 4.演示汉诺塔问题:设计并实现一个求解Hanoi 塔问题的图形版程序。允许用户设置解题所使用的圆盘数。用户应当能以两种主要的方式与程序交互。一是可以在程序确认合法的情况下用鼠标将圆盘从一个塔座移到另一个塔座。二是可以用暂停/继续按钮观看解题过程的动画,并且允许用户控制动画速度。 5.排序算法执行流程演示:在Applet画面中演示某排序算法的执行流程,演示支持手动和自动两种方式,手动方式是用鼠标点击显示各步进展;自动靠软件延时控制。 延时值通过Applet参数或在界面中通过文本框控件设置。 6.其他可供演示的具有一定难度的算法:如数据结构中二叉树的树形操作演示效果、关键路径问题、有向图的极大连通分支等。 【每个参考算法最大选题人数:2,这道题的最大选题人数:15】

第三章java程序设计教案

课堂教学教案 教师姓名:课程名称:Java程序设计授课时数:2 第3次课

附录3 3.1 Java程序的构成 3.2 数据类型、变量与常量 ●语言成分 1. 关键字: 由Java语言定义的,具有特定含义的单词 2. 标识符: 以字母开头的字母数字序列 标识符命名规则①②③④⑤ 3.分隔符 3.2.1 基本数据类型 1. 什么是数据类型 2. 数据类型分类 1)基本数据类型 2)引用数据类型 3. 基本数据类型 3.2.2 变量与常量 ?Java 标识符 ?类名(接口名)—名词 第一字母大写,每一单词首字母大写。 例:AccountBook ?方法名—动词 第一字母小写,每一单词首字母大写。 例:balanceAccount() ?变量名—名词 第一字母小写,每一单词首字母大写。 ?常量名 全部大写,单词间用下划线分开 . 例:HEAD_COUNT ?Java标识符要区分大小写

标识符中的合法字符:字母、数字、_ 、$ (非数字开头) ?数据类型与说明语句 ?Java程序中所处理的数据是将各种数据类型实例化后的数据。 ?数据类型实例化的方法:说明语句 ?实例化数据的两种形式:变量与常量 ?数据类型与说明语句 ?基本数据类型说明语句例:(同时给变量赋初值) ?Java几乎是将字符串视为基本数据类型 ?常数表示法(字面值) ?布尔常数true false ?整型常数 一般常量:32bit 长整型常量:64bit (88L) 十进制数:非0开头的正负整数105,-23 八进制数:0开头的正负整数017(15), -023(-19) 十六进制:0x开头的正负整数0x2F(47),-0xa8(-168) ?浮点常数 一般浮点常量(32bit) 3.14F 6.18E3F 双精度浮点数(64bit ) 7.56D 6.02E23 (D可省) 3.3 表达式 ?数据类型转换 ?同种数据类型转换: 短类型→ 长类型:默认(系统自动转换) 长类型→短类型:强制 ?布尔型与其他数据类型之间不能强制类型转换 ?Wrapper类 ?Wrapper类例-Integer ?属性 static int MAX_VALUE 返回int型数据的最大值 static int MIN_VALUE 返回int型数据的最小值 ?构造方法 Integer(int value) Integer(String s) ?方法 int intValue() double doubleValue() String toString() static String toString(int i) static Int parseInt(String s) static Integer valueOf(String s) ?类型转换-利用类/对象方法 ?利用类方法(静态方法) Integer.parseInt("23") //返回整数23 Integer.toString(23) //返回字符串"23" Double.parseDouble("12.3")

java实验报告完整版

实验报告 (计算机与信息工程学院实验中心) 学期: 2014-2015 课程名称: 《Java程序设计实验》 班级: 信息1202 姓名: 方逸梅 学号: 1212100231 指导老师: 费玉莲 《Java程序设计》 独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验十二的内容由学生自行设计完成。 (二)教学安排 学时数:30课时 学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。 (三)实验环境 实验环境为JDK 1、6。

(四)具体安排 地点:信息大楼实验室。 辅导:每个班次一名辅导老师,原则上由任课老师担任。 登记:实验完成,由辅导老师登记实验纪录。 学生:实验做完,完成实验报告内容,并在学期末上交实验册。 老师:批改实验,成绩与平时成绩一起占期末的30%。 二、实验的具体内容与要求 见实验报告。

浙江工商大学 计算机与信息工程学院实验报告(1)日期:地点:成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━实验目的、实验原理与内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 1. 下载、安装并设置Java SDK 软件包。 2. 熟悉Eclipse编辑软件。 3.掌握运行Java 程序的步骤。 4.分别编写Application与Applet程序,显示字符串”Hello Java!欢迎使用!”。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 程序一 public class hello { public static void main(String[] args) { for(int i=0;i<=4;i++) { System、out、println("Hello java! 欢迎使用!"); } } } 结果示意图1

Java开发工程师笔试题(带答案)

Java开发工程师笔试试题 (请不要在试题上留任痕迹,所有答案均写在答题纸上) 一.编程题(共26分) 1.任意写出一种排序算法。(6分) public void sort(int [] array){ //代码区 } 2.求1+2+3+..n(不能使用乘除法、for 、while 、if 、else 、switch 、case 等关键字 以及条件判断语句)(8分) public int sum(int n){ //代码区 return 0; } 3.完成下面法,输入一个整数,输出如下指定样式图案。(12分) 输入:3, 输出: 1*2*3 7*8*9 4*5*6

输入:4 输出: 1*2*3*4 9*10*11*12 13*14*15*16 5*6*7*8 public void drawNumPic(int n){ //代码区 } 二.选择题(定项选择每题3分,不定项选择每题4分,共63分) 1.在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?( B ) A.int float B.int double C.long float D.long double 2.只有实现了__接口的类,其对象才能序列化( A ) A.Serializable B.Cloneable https://www.sodocs.net/doc/b213510422.html,parable

D.Writeable 3.代码System. out. println(10 % 3 * 2);将打印出?( B ) A. 1 B.2 C.4 D.6 4.以下程序运行的结果为( A ) public class Example extends Thread{ @Override public void run(){ try{ Thread.sleep(1000); }catch (InterruptedException e){ e.printStackTrace(); } System.out.print("run"); } public static void main(String[] args){ Example example=new Example(); example.run(); System.out.print("main"); } } A.run main B.main run C.main D.run E.不能确定 5.下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?( B ) A.实例变量指的是类中定义的变量,即类成员变量,如果没有初始化,会有默认值

Java第三次作业 《文本编辑器》

《Java语言》课程期末作业 题目第6题:文本编辑器 学院计算机学院 专业网络工程 班别13级(3 )班 学号 姓名 2015年06月17日

一、课程题目 制作一个简单的文本编辑器,交互性要求:【最大选题人数:5】 (1) 可输入文字(仅要求英文及标点符号) (2) 实现一些常用的编辑功能:如复制和粘贴,查找和替换,首字母自动大写,拼写自动更正…… (3) 可打开并显示TXT文件,并且可以将编辑结果保存为TXT文件 二、题目分析与设计 1. 注明所使用的开发环境(Eclipse、NetBeans,JBuilder)。 开发环境:Eclipse

2. 论述题目的需求。给出软件功能架构图。 本题目要求实现类似于一个记事本的文本编辑器功能。要能够输入文字,能够实现一些常用的编辑功能,可打开并显示TXT文件,并且可以将编辑结果保存为TXT文件。本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: ① 菜单栏中有“文件”,“编辑”,“字体”三个主菜单。 ②“文件”菜单有“新建”,“打开”,“保存”三个菜单项:分别用于新 建文件,打开文件,保存文件。 ③“编辑”菜单中有“复制”“剪切”“粘贴”“查找”“替换”五个菜单项:用于实现复制所选文字,剪切所选文字,粘贴文字,查找,替换等功能。 ④“字体”中有“格式”一个菜单项:用来控制文本框中文本的字体类型功能; 软件功能架构图:

3. 论述界面设计过程,指出其设计上的创意及组件的布局策略。 这个框架主要运用盒子布局对象和grid布局对象操作。对于文本编辑器的菜单组件如下。 “文件”菜单里: “编辑”菜单里“字体”菜单里 4. 论述程序逻辑的实现,包括类的设计、对象的协作过程等,必要时加以各种图形和表格辅助论述。不得以粘贴代码的方式代替设计部分。 首先,自定义一个editor类,该类继承了JFrame类和ActionListener、ItemListener 接口。在主类的主方法中,用editor创建一个对象bianji。 在editor的构造方法中设计好第一个界面的布局和组件。设计一个菜单条组件,

java第三次实验报告

南京信息工程大学实验(实习)报告实验课程 java程序设计实验名称第三次实验实验日期 2016-4-11 指导老师 专业年级姓名学号得分 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 实验目的:对java的类的熟悉与练习。 实验内容: 1、定义一个类,它包含了一个int 类型的变量x、若干个构造函数(根据用户自己的需要) 和一个输出方法show( )。编程:从键盘输入一个两位以上的数,将这个数传递给这个类的变量x,采用方法show( )逆序输出这个数。 程序如下: package reversenum; /** * * @author Administrator */ public class Reversenum { private int x; Reversenum (int x){ this.x = x; } public void show() { String str; str = Integer.toString(x); char array[] = new char[str.length()]; array = str.toCharArray(); for(int i = str.length()-1; i >= 0;i--) System.out.print(array[i]); } public static void main(String[] args) { Reversenum temp = new Reversenum(325425); temp.show(); } }运行结果如下: run: 524523成功构建(总时间: 0 秒) 2、定义一个复数类complex,它的内部具有两个实例变量:realPart 和imagPart,分别代 表复数的实部和虚部,编程实现要求的数学运算。 (1)实现两个复数相加。复数加运算的原则是:复数的实部和虚部分别相加。 (2)实现两个复数相减。复数减运算的原则是:复数的实部和虚部分别相减。 (3)输出运算结果,判断是否正确。 程序如下: package complex;

java笔试题带答案

JA V A笔试题带答案 一.选择题 1.下面关于Java语言说法错误的是:() A.java语言是完全面向对象的B。java语言支持多继承 C.java语言支持多线程D。java语言最早是为消费电子产品领域设计的2.下面标识符中正确的是:() A.*123 B。12java C.continue D。java$next 3.下列关于注释语句的描述中,正确的一项是() A。以//开始的是多行注释语句 B。以结束的是单行注释语句 C。以结束的是可以用于生成帮助文档的注释语句 D。以结束的是单行注释语句 4.为了区分重载多态中同名的不同方法,要求()。 A)形式参数个数或者类型不同B)返回值类型不同 C)调用时用类名或对象名做前缀D)形式参数名称不同 5.下面定义数组的格式中正确的是:() A.int a[10] B。int a=new int[10] C.int []a=new int[5] D.int a[] 6.下面说法中不正确的是:() A.类是对象的抽象,对象是类的实例B。类是组成java程序的最小的单位C.java语言支持多继承D。java一个程序中只能有一个public类 7.定义类时,不可能用到的保留字是()。 A)private B)class C)extends D)implements

8.为AB 类的定义一个公共的构造函数,该方法头的形式为() A.void AB( ) B。public void method( ) C.public method ( ) D。public AB( ) 9.下面说法中不正确的是:() A.java中一个类只允许实现一个接口B。抽象类中允许有非抽象方法的存在 C.类变量(实例变量)可以直接用类名调用D。通过super可以调用基类的构造函数 10.容器JFrame 默认使用的布局编辑策略是() A.BorderLayout B。FlowLayout C。GridLayout D。CardLayout 11.以下哪个表达式是不合法的() A.String x=”Hello”; int y=9; x+=y; B.String x=”Hello”; int y=9; if(x= =y) { } C.String x=”Hello”; int y=9; x=x+y; D.String x=null; int y=(x!=null)&&(x.length()>0) 12.class person { public int addvalue(int a,int b) { int s; s=a+b; return s; }

2017年最新Java经典笔试面试题笔试题目及答案

2017年最新Java经典笔试面试题 2017年最新Java经典笔试面试题 想要成为java程序员可不是容易的事情,下面YJBYS小编为大家精心搜集了关于Java 经典笔试的面试题,欢迎大家参考借鉴,希望可以帮助到大家! 一.选择题(共50题,每题1.5分,共75分。多选题选不全或选错都不得分。) 1. 以下属于面向对象的特征的是(C,D)。(两项) A) 重载 B) 重写 C) 封装 D) 继承 2. 以下代码运行输出是(C) public class Person{ private String name=”Person”; int age=0; } public class Child extends Person{

public String grade; public static void main(String[] args){ Person p = new Child(); System.out.println(https://www.sodocs.net/doc/b213510422.html,); } } A) 输出:Person B) 没有输出 C) 编译出错 D) 运行出错 3. 在使用super 和this关键字时,以下描述正确的是(A) A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过 B) super()和this()不一定要放在构造方法内第一行 C) this()和super()可以同时出现在一个构造函数中

D) this()和super()可以在static环境中使用,包括static方法和static语句块 4. 以下对封装的描述正确的是(D) A) 只能对一个类中的方法进行封装,不能对属性进行封装 B) 如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用 C) 封装的意义不大,因此在编码时尽量不要使用 D) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性 5. 以下对继承的描述错误的是(A) A) Java中的继承允许一个子类继承多个父类 B) 父类更具有通用性,子类更具体 C) Java中的继承存在着传递性 D) 当实例化子类时会递归调用父类中的构造方法 6. 以下程序的运行结果是(D) class Person{ public Person(){ System.out.println(“this is a Person”);

相关主题