例項 71
題目
假如我國國民生產總值的年增長率為 10%,則 n 年後我國國民生產總值與現在相比增長多少百分比?
分析
計算公式:
$$p = (1+r)^n$$
其中 r 為年增長率,n 為年數,p 為與現在相比的倍數。
實現
import java.util.Scanner;
import static java.lang.Math.pow;
/**
* Created with IntelliJ IDEA.
*
* @Package : PACKAGE_NAME
* @ClassName : Example71.java
* @CreateTime : 2022/4/1 23:11
* @Version : 1.0
* @Author : 村雨
* @Email : 747731461@qq.com
* @公眾號 : 村雨遙
* @Website : https://cunyu1943.github.io
* @Description :
*/
public class Example71 {
public static final double R = 0.1;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入年數");
int n = scanner.nextInt();
System.out.format("%d 年後相比現在增長了:%.2f 倍\n", n, pow(1 + R, n));
}
}
結果
例項 72
題目
假設你有 1000 元,想要存 5 年,可以按照以下 5 種存法:
- 一次存 5 年
- 先存 2 年,到期後將本息再存 3 年
- 先存 3 年,到期後將本息再存 2 年
- 先存 1 年,到期後將本息再存 1 年,連續存 5 年
- 存活期,活期利息每季度結算一次
某年的某銀行存款利息如下:
- 1 年期定期:4.14%
- 2 年期定期:4.68%
- 3 年期定期:5.4%
- 5 年期定期:5.85%
- 活期:0.72%
分析
假設 r 為年利率,n 為存款年數,則計算本息和的公式為:
1 年期:$p=1000*(1+r)$
n 年期:$p==1000*(1+n*r)$
存 n 次 1 年期:$p = 1000*(1+r)^n$
活期存款:$p=1000*(1+r/4)^{4n}$
實現
import java.util.Scanner;
import static java.lang.Math.pow;
/**
* Created with IntelliJ IDEA.
*
* @Package : PACKAGE_NAME
* @ClassName : Example71.java
* @CreateTime : 2022/4/1 23:12
* @Version : 1.0
* @Author : 村雨
* @Email : 747731461@qq.com
* @公眾號 : 村雨遙
* @Website : https://cunyu1943.github.io
* @Description :
*/
public class Example72 {
public static final double R0 = 0.0072;
public static final double R1 = 0.0414;
public static final double R2 = 0.0468;
public static final double R3 = 0.054;
public static final double R5 = 0.0585;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入本金");
float p = scanner.nextFloat();
System.out.format("一次存 5 年:%.2f\n", p * (1 + R5 * 5));
System.out.format("先存 2 年,到期後本息存 3 年:%.2f\n", p * (1 + 2 * R2) * (1 + 3 * R3));
System.out.format("先存 3 年,到期後本息存 2 年:%.2f\n", p * (1 + 2 * R2) * (1 + 3 * R3));
System.out.format("存 1 年期,到期後本息再存,連續存 5 年:%.2f\n", p * pow(1 + R1, 5));
System.out.format("存活期:%.2f\n", p * pow(1 + R0 / 4, 4 * 5));
}
}
結果
例項 73
題目
設圓半徑 r,圓柱高 h,求圓周長、圓面積、圓球表面積、圓球體積、圓柱體積。
分析
對應求值公式:
- 圓周長:$2πr$
- 圓面積:$πr^2$
- 圓球表面積:$4πr^2$
- 圓球體積:$4πr^3/3$
- 圓柱體積:$πr^2h$
實現
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
*
* @Package : PACKAGE_NAME
* @ClassName : Example73.java
* @CreateTime : 2022/4/1 23:12
* @Version : 1.0
* @Author : 村雨
* @Email : 747731461@qq.com
* @公眾號 : 村雨遙
* @Website : https://cunyu1943.github.io
* @Description :
*/
public class Example73 {
public static final double PI = 3.141526;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入圓半徑 r,圓柱高 h");
float r = scanner.nextFloat();
float h = scanner.nextFloat();
System.out.format("圓周長:%.2f\n", 2 * PI * r);
System.out.format("圓面積:%.2f\n", PI * r * r);
System.out.format("圓球表面積:%.2f\n", 4 * PI * r * r);
System.out.format("圓球體積:%.2f\n", 4 / 3 * PI * r * r * r);
System.out.format("圓柱體積:%.2f\n", h * PI * r * r);
}
}
結果
例項 74
題目
有一個函式:
$$y=\begin{cases}x,x<1\\2x-1,1<=x<10\\3x-11,x>=10\end{cases}$$
輸入 $x$ 的值,輸出 $y$ 相應的值。
分析
沒什麼好說的,直接利用條件控制,通過對 $x$ 值的判斷,然後計算對應 $y$ 值並輸出。
實現
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
*
* @Package : PACKAGE_NAME
* @ClassName : Example74.java
* @CreateTime : 2022/4/1 23:12
* @Version : 1.0
* @Author : 村雨
* @Email : 747731461@qq.com
* @公眾號 : 村雨遙
* @Website : https://cunyu1943.github.io
* @Description :
*/
public class Example74 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入 x");
int x = scanner.nextInt();
if (x < 1) {
System.out.format("x = %d,y = %d\n", x, x);
} else if (x < 10) {
System.out.format("x = %d,y = %d\n", x, 2 * x - 1);
} else {
System.out.format("x = %d,y = %d\n", x, 3 * x - 11);
}
}
}
結果
例項 75
題目
給出 100 分製成績,要求輸出成績等級 A、B、C、D、E。90 以上為 A,80 ~ 89 為 B,70 ~ 79 為 C,60 ~ 69 為 D,60 以下為 E。
分析
既可以通過對分數的所屬區間判斷,也可以利用分數先整除 10,然後對得到的商進行判斷,輸出成績的對應等級。
實現
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
*
* @Package : PACKAGE_NAME
* @ClassName : Example75.java
* @CreateTime : 2022/4/1 23:13
* @Version : 1.0
* @Author : 村雨
* @Email : 747731461@qq.com
* @公眾號 : 村雨遙
* @Website : https://cunyu1943.github.io
* @Description :
*/
public class Example75 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
char grade = 'A';
System.out.println("請輸入學生成績");
int score = scanner.nextInt();
while (score < 0 || score > 100) {
System.out.println("輸入有誤,請重新輸入");
score = scanner.nextInt();
}
switch (score / 10) {
case 10:
case 9:
grade = 'A';
break;
case 8:
grade = 'B';
break;
case 7:
grade = 'C';
break;
case 6:
grade = 'D';
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
grade = 'E';
break;
}
System.out.format("成績為:%d,相應等級為:%c", score, grade);
}
}
結果
最後
關於本文的程式碼,我已經上傳到了開源平臺,有需要的讀者可以自取。
java-programming-instance