第4章 习题
1.double的左右取整
- 分别编写两个方法,一个方法的功能是求一个double型数值的向右取整,另一个方法求double型数值的向左取整。数d的向右取整是大于等于d的最小整数,d的向左取整是小于等于d的最大整数。例如:7.3的向右取整是8而向左取整是7。
//1.double的左右取整
private static void u4p1(){
System.out.println("7.3向右取整:" + (int)(7.3 + 1));
System.out.println("7.3向左取整:" + (int)7.3);
}
2.分离 个十百… 位的方法
public static void sumDigits(long num)
- 例如:sumDigits(276)返回2+7+6=15 。
提示:用求余运算符%分解数字,用除号/分离位数。例如334%10=4而334/10=33.用循环反复分解和分离每位数字,直到所有的位数都被分解。
//2.拆分整数各位数字。
private static void u4p2(){
System.out.println("请输入整数:");
Scanner sc = new Scanner(System.in);
long num = sc.nextLong();
if(num < 0)
num = -num;
sumDigits(num);
}
//分离个十百....位的方法
public static void sumDigits(long num){
long sum = 0;
for(; num != 0; num /= 10){
sum += num % 10;
}
System.out.println("整数各位的和:" + sum);
}
- 编写程序,用Math类中的sqrt方法打印下表:
Number SquareRoot
…
0 0.0000
2 1.4142
4 2.0000
6 2.4495
private static void u4p3(){
System.out.println("Number\t\t SquareRoot\n.............................");
for (int i = 0; i <= 6; i+=2){
System.out.println(i + "\t\t\t" + sqrt(i));
}
}
4.main方法的return类型是什么?
- main方法的函数类型
5.
*在返回值类型不是void的方法中,不写return语句会发生什么错误?可以在返回值类型为void的方法中写return语句中吗?
- (1)如果不写return语句,会提示编译错误
(2)可以
6.
- 实参是如何传递给形参的?实参可以和形参同名吗?
- (1)参数传递分为值传递和引用传递
值传递:参数是基本数据类型,实参把数值传递给形参;
引用传递:参数是引用数据类型,实参把地址传给了形参,形参和实参指向同一个数据
(2)可以
7. 方法重载
- 什么是方法重载?可以在一个类中定义两个名称和参数列表相同但返回值或修饰符不同的方法吗?
- (1)在类中,方法名相同,但参数表不同的多个方法称为方法重载。
(2)不可以
执行
import java.util.Scanner;
import static java.lang.Math.sqrt;
public class unit_4 {
public static void main(String arg[]){
// u4p1();
//
// u4p2();
u4p3();
}
方法块。。。
}