第四章 Java章节习题

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

1.分别编写两个方法,一个方法的功能是求一个double型数值的向右取整,另一个方法求double型数值的向左取整。数d的向右取整是大于等于d的最小整数,d的向左取整是小于等于d的最大整数。例如:5.3的向右取整是6而向左取整是5.

答:

public class One{

static int right(double x)

{

if(x!=5)

x=x+1;

return (int)x;

}

static int left(double x)

{

return (int)x;

}

public static void main(String args[])

{

System.out.println("5.3向左取整为:"+left(5.3));

System.out.println("5.3向右取整为:"+right(5.3));

}

}

程序运行结果为:

2.写一个方法计算一个整数各位数字的和。使用下述的方法说明:

public static int sumDigits(long n)

例如:sumDigits(276)返回2+7+6=15 。

提示:用求余运算符%分解数字,用除号/分离位数。例如334%10=4而334/10=33.用循环反复分解和分离每位数字,直到所有的位数都被分解。

答:

public class Two{

public static int sumDigits(long n)

{

long sum=0,t;

while(n!=0)

47

{

t=n%10;

n=n/10;

sum+=t;

}

return (int)sum;

}

public static void main(String args[])

{

System.out.println("334各个位数字之和为:"+sumDigits(334));

}

}

程序运行结果为:

3. 编写程序,用Math类中的sqrt方法打印下表:

Number SquareRoot ....................................

0 0.0000

2 1.4142

4 2.0000

6 2.4495

8 2.8284

10 3.1623

12 3.4641

14 3.7417

16 4.0000

18 4.2426

20 4.4721

答:

public class Three{

public static void main(String args[])

{

System.out.println("Number SquareRoot");

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

for(int i=0;i<=20;)

47

48

{

System.out.printf("%d\t%.4f\n",i,Math.sqrt(i));

i=i+2;

}

}

}

程序运行结果为:

4. 请定义一个名为Rectangle的矩形类。数据域为宽(width)、高(height)和颜色(color),width和height是double型的,color时String型的。假定所有矩形的颜色相同。用一个类变量表示颜色。要求提供访问其方法和计算矩形面积的FindArea()方法。

答:

import java.util.Scanner;

class Rectangle

{

Rectangle(double w,double h)

{

width=w;

height=h;

}

public double FindArea()

{

return width*height;

}

double width,height;

static String color;

48

49

}

public class Four{

public static void main(String[] args) {

double width,height;

Scanner s=new Scanner(System.in);

System.out.print("请输入矩形的宽:");

width=s.nextDouble();

System.out.print("请输入矩形的高:");

height=s.nextDouble();

System.out.print("请输入矩形的颜色:");

Rectangle.color=s.next();

Rectangle juxing=new Rectangle(width,height);

System.out.println("矩形的面积为:"+juxing.FindArea());

}

}

程序运行结果为:

5.请定义一个名为Fan的类模拟风扇,属性为speed、on、radius和color。要求为每个属性提供访问器方法,并提供方法toString,返回包含类中所有属性值的字符串。假设风扇有三个固定的速度,用常数1、3、9表示慢、中、快速。然后定义一个测试类,测试Fan 类,在测试类中创建一个Fan对象,设置最大速度、半径为10、黄色、打开状态。调用toString 方法显示该对象。

答:

class Fan{

private int speed;

private boolean on;

private double radius;

private String color;

public Fan(int s,boolean o,double r,String c)

{

speed=s;

on=o;

49

相关文档
最新文档