public class JavaText {
public static void main(String[] args) {
getTriangle(6);
}
/**
* <pre>
* [機 能] 1.打印 :--------------------------------------------------
* [説 明] 无
* [備 考] 无
* @author [作 成] 2023/03/10 陈海瑶
* </pre>
*/
/*1. 打印 :--------------------------------------------------*/
public static void printLen(){
System.out.println("--------------------------------------------------");
}
/**
* <pre>
* [機 能] 2.求两个浮点数之商
* [説 明] 无
* [備 考] 无
* @author [作 成] 2023/03/10 陈海瑶
* @param number1 传入的浮点数1
* @param number2 传入的浮点数2
* </pre>
*/
/*2.求两个浮点数之商。*/
public static void getTrade(float number1,float number2) {
System.out.println(number1/number2);
}
/**
* <pre>
* [機 能] 3.对一个数四舍五入取整
* [説 明] 无
* [備 考] 无
* @author [作 成] 2023/03/10 陈海瑶
* @param number1 传入数值
* </pre>
*/
public static void getInt(double number1){
System.out.println(number1+"四舍五入取整=>"+Math.round(number1));
}
/**
* <pre>
* [機 能] 4.判断一个数是否为奇数
* [説 明] 无
* [備 考] 无
* @author [作 成] 2023/03/10 陈海瑶
* @param number1 传入数值
* </pre>
*/
public static void getOdd(int number1) {
if ((number1%2)==1) {
System.out.println(number1+"是奇数");
} else {
System.out.println(number1+"不是奇数");
}
}
/**
* <pre>
* [機 能] 5.求一个数的绝对值。
* [説 明] 无
* [備 考] 无
* @author [作 成] 2023/03/10 陈海瑶
* @param number1 传入数值
* </pre>
*/
public static void getAbsolute(Integer number1) {
System.out.println(number1+"绝对值为"+Math.abs(number1));
}
/**
* <pre>
* [機 能] 求两个数的最大值。
* [説 明] 无
* [備 考] 无
* @author [作 成] 2023/03/10 陈海瑶
* @param number1 传入数值1
* @param number2 传入数值2
* </pre>
*/
public static void getMaxValue(int number1,int number2) {
if (number1 > number2) {
System.out.println("最大值为:"+number1);
} else if (number1 < number2) {
System.out.println("最大值为:"+number2);
}
}
/**
* <pre>
* [機 能] 7.求三个数的最大值。
* [説 明] 无
* [備 考] 无
* @author [作 成] 2023/03/10 陈海瑶
* @param number1 传入数值1
* @param number2 传入数值2
* @param number3 传入数值3
* </pre>
*/
public static void getMax(int number1, int number2, int number3){
if (number1 > number2 && number1 > number3) {
System.out.println("最大值为"+ number1);
}else if (number2 > number1 && number2 > number3) {
System.out.println("最大值为"+ number2);
} else if (number3 > number2 && number3 > number1) {
System.out.println("最大值为"+ number3);
}
}
/**
* <pre>
* [機 能] 8.求 1-n 之和。
* [説 明] 无
* [備 考] 无
* @author [作 成] 2023/03/10 陈海瑶
* @param number1 传入数值
* </pre>
*/
public static void getSum(int number1){
int sum = 0;
for (int i = 0;i <= number1; i++) {
sum += i;
}
System.out.println("1-n之和为"+ sum);
}
/**
* <pre>
* [機 能] 9.求 1-n中的奇数之和。
* [説 明] 无
* [備 考] 无
* @author [作 成] 2023/03/10 陈海瑶
* @param number1 传入计算奇数和的最大值区间
* </pre>
*/
public static void getOddSum(int number1){
int sum = 0;
for (int i = 0;i <= number1; i++) {
if ((i%2)==1) {
sum += i;
}
}
System.out.println("1-n中的奇数之和为"+ sum);
}
/**
* <pre>
* [機 能] 10.打印自2012年起n年内的所有闰年
* [説 明] 无
* [備 考] 无
* @author [作 成] 2023/03/13 陈海瑶
* @param number1 传入大于2012的年份
* </pre>
*/
public static void getLeapYear(int number1) {
//能被4整除不能被100整除
//能被400整除
for (int year = 2012; year <= number1; year++) {
if ((year% 4== 0)&& (year % 100 != 0)) {
System.out.println("自 2012 年起,闰年有"+year);
} else if (year % 400 == 0) {
System.out.println("自 2012 年起,闰年有"+year);
}
}
}
/**
* <pre>
* [機 能] 11.打印 n 行星号组成的等腰三角形。
* [説 明] 无
* [備 考] 无
* @author [作 成] 2023/03/10 陈海瑶
* @param number1 传入打印三角形的层数
* </pre>
*/
public static void getTriangle(int number1) {
for (int i = 1; i <= number1; i++) {
for (int k = number1 ; k >=i; k--) {
System.out.print(" ");
}
for (int k = 0; k < 2*i-1; k++) {
System.out.print("*");
}
System.out.println();
}
}
/**
* <pre>
* [機 能] 12.求两个正整数的最小公倍数。
* [説 明] 无
* [備 考] 无
* @author [作 成] 2023/03/13 陈海瑶
* @param number1 传入数值
* </pre>
*/
public static void getLeastCommonMultiple(int number1, int number2) {
int max = (number1 > number2)? number1:number2;
for (int i = max; i < number1*number2;i++){
if (i%number1==0 && i%number2==0) {
System.out.println("最小公倍数"+i);
}
}
}
/**
* <pre>
* [機 能] 判断一个数是否为质数。
* [説 明] 无
* [備 考] 无
* @author [作 成] 2023/03/13 陈海瑶
* @param number1 传入数值
* </pre>
*/
public static void isPrime(int number1) {
// 一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数
int count = 0;
for (int i = 1; i <= number1; i++) {
if (number1%i==0) {
count++;
}
}
if (count == 2) {
System.out.println(number1+"是质数");
} else {
System.out.println(number1+"不是质数");
}
}
/**
* <pre>
* [機 能] 14.求两个正整数的最大公约数
* [説 明] 无
* [備 考] 无
* @author [作 成] 2023/03/13 陈海瑶
* @param number1 传入正整数值1
* @param number2 传入正整数值2
* </pre>
*/
public static void getGreatestCommonDivisor(int number1, int number2) {
// 使用辗转法求取最大公约数
int number3 = number1 % number2;
while (number1 % number2 !=0) {
number1 = number2;
number2 = number3;
number3 = number1 % number2;
}
System.out.println("最大公约数为"+number2);
}
/**
* <pre>
* [機 能] 15. 求一个正整数 n 以内的质数。
* [説 明] 无
* [備 考] 无
* @author [作 成] 2023/03/10 陈海瑶
* @param number1 传入数值
* </pre>
*/
public static void getPrimeByParam(int number1) {
for (int k = 1; k <= number1; k++){
// 一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数
int count = 0;
for (int i = 1; i <= k; i++) {
if (k%i==0) {
count++;
}
}
if (count == 2) {
System.out.println(k+"是质数");
}
}
}
/**
* <pre>
* [機 能] 16.利用递归算法求 1-n 之和。
* [説 明] 由于该方法有返回值,因此必须打印输出该方法
* [備 考] 无
* @author [作 成] 2023/03/13 陈海瑶
* @param number1 传入数值
* </pre>
*/
public static int getRecursionSum(int number1) {
if (number1 == 1) {
return 1;
} else {
return number1+getRecursionSum(number1-1);
}
}
/**
* <pre>
* [機 能] 17.1 利用递推算法求 n!
* [説 明] 无
* [備 考] 无
* @author [作 成] 2023/03/13 陈海瑶
* @param number1 传入数值
* </pre>
*/
public static void getRecursiveFactorial(int number1) {
int count = 1;
for (int i = 0; i < number1; i++) {
count *=i;
}
System.out.println("递推求阶乘"+ count);
}
/**
* <pre>
* [機 能] 17.2 使用递归求取n的阶乘
* [説 明] 由于该方法有返回值,因此必须打印输出该方法
* [備 考] 无
* @author [作 成] 2023/03/13 陈海瑶
* @param number1 传入数值
* </pre>
*/
public static int getRecursiveFactorial1(int number1) {
if (number1 == 1) {
return 1;
}
return number1*getRecursiveFactorial1(number1-1);
}
}