2.分析以下需求,并用代码实现:
(1)珠穆朗玛峰高度为8848米,有一张足够大的纸,厚度为0.001米
(2)请问,我折叠多少次,可以折成珠穆朗玛峰的高度。
答:参考答案
public class Test05 {
public static void main(String[] args) {
//1.计数器统计折纸的次数
int count = 0;
//2.为了方便计算将纸张的厚度和山的高度都转换成毫米
//定义纸张的厚度为1毫米
int paperHigh = 1;
//定义山的高度为8848000毫米
int mountainHigh = 8848000;
//3.只要纸张折叠后的厚度<山的高度,就循环
while(paperHigh<mountainHigh) {
paperHigh*=2;
count++;
}
//4.输出折叠后的纸张的总厚度和折叠次数
System.out.println("纸张折叠后的总厚度为:"+paperHigh);
System.out.println("纸张折叠的次数为:"+count);
}
}
3.分析以下需求,并用代码实现:
(1) 计算15+25+35+....+1005的和(分别使用for循环和while循环完成)
答:参考答案
public class Test07 {
public static void main(String[] args) {
int i = 15;
int sum = 0;
while(i<=1005) {
sum+=i;
i+=10;
}
System.out.println(sum);
}
}
5.分析以下需求,并用代码实现(每个小需求都要封装成一个方法):
(1)求两个数据之和(整数和小数)
(2)判断两个数据是否相等(整数和小数)
(3)获取两个数中较大的值(整数和小数)
(4)打印m行n列的星形矩形
(5)打印nn乘法表
答:参考答案
public class Test09 {
public static void main(String[] args) {
int a = 10;
int b = 20;
int sum = add(a,b);
System.out.println("sum="+sum);
System.out.println(isEquals(a, b));
System.out.println("max="+getMax(a, b));
double ad = 10.35;
double bd = 10.355;
double sumd = add(ad,bd);
System.out.println();
System.out.println("sum="+sumd);
System.out.println(isEquals(ad, bd));
System.out.println("max="+getMax(ad, bd));
print(5,5);
print99(5);
}
//1.求两个int类型数据的和
public static int add(int a,int b) {
int sum = a + b;
return sum;
}
//2.求两个double类型数据的和
public static double add(double a,double b) {
double sum = a + b;
return sum;
}
//3.判断两个int数据是否相等
public static boolean isEquals(int a,int b) { //isEquals 是否相等
return a == b;
}
//4.判断两个double数据是否相等
public static boolean isEquals(double a,double b) { //isEquals 是否相等
return a == b;
}
//5.求两个int类型数据的最大值
public static int getMax(int a,int b) {
return a > b ? a : b;
}
//6.求两个double类型数据的最大值
public static double getMax(double a,double b) {
return a > b ? a : b;
}
//7.打印m行n列的星形矩形
public static void print(int a,int b) {
for (int i = 1;i <= a ;i++ ) { //行数
for (int j = 1;j <= b ;j++ ) { //列数
System.out.print("*");
}
System.out.println();
}
}
//8.打印nn乘法表
public static void print99(int a) {
for (int i = 1;i <= a ;i++ ) { //行数
for (int j = 1;j <= i ;j++ ) { //列数
System.out.print(j + "*" + i + "=" + (i * j) + "\t" );
}
System.out.println();
}
}
}