第四章 Java章节习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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