接口:FactorialImp
我们提供的服务有:成都网站设计、成都网站制作、外贸网站建设、微信公众号开发、网站优化、网站认证、运城ssl等。为1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的运城网站制作公司
抽象类:FactorialAbs
实现计算阶乘n!的类:Fatorial
代码:
/**
*
* 阶乘计算器
*
* 接口
*/
public interface FactorialImp {
// 计磨知竖算阶乘n!的值
long factorial(int n);
}
/**
*
* 阶乘计算器
*
* 抽象类 继承 FactorialImp
*/
public abstract class FactorialAbs implements FactorialImp {
/**
* 实现计算阶乘n!的值的方法
*/
public long factorial(int n) {
return multiplicationCount(n, n - 1);
}
/**
* 增加抽象方法--计算两数相乘
*
* @param param1Int
* @param param2Int
* @return 两数相乘的积
*/
abstract long multiplicationCount(long param1Int, long param2Int);
}
/**
* 实现阶乘计算器类
瞎大*
*/
public class Fatorial extends FactorialAbs {
@Override
long multiplicationCount(long param1Int, long param2Int) {
if (param2Int == 1) {
return param1Int;
} else {
return multiplicationCount(param1Int * param2Int, param2Int - 1);
}
}
}
/**
* 测试类
*
*/
public class Test {
public static void main(String[] args) {
Fatorial localFatorial = new Fatorial();
System.out.println("100! = 猛正" + localFatorial.factorial(10));
}
}
以下是 Java 代码,用于生成杨辉三角并输出前 n 行:
```java
import java.util.Scanner;
public class YangHuiTriangle {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter the number of rows: ");
int numRows = scanner.nextInt();
for (int i = 0; i numRows; i++) {
int num = 1;
System.out.printf("%" + (numRows - i) * 2 + "s", ""); // 控制输出格式
for (int j = 0; j = i; j++) {
System.out.printf("%4d", num);
num = num * (i - j) / (j + 1); // 计算组合数
}
System.out.println();
}
}
}
```
在这个示例中,我们首先使用 `Scanner` 类读取用户输入的行数 `numRows`。然后,我们使用两个嵌套的循环来生成杨辉三角。外部循环控制行数,内部循环控制每一行的元素。
在内部循环中,我们使用了公式 `num = num * (i - j) / (j + 1)` 来计算杨辉三角中的组合数,并使用 `printf()` 方法以规族旁定的格式输出结果。
最后核滑,我们使用 `%n`(代表换行符)和 `printf()` 方法在控制台上输出前 n 行杨辉三角。
例如,在以上程序兆氏橡中输入 `6`,将会输出以下结果:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
```
import java.util.Scanner;
import java.util.Random;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Random random = new Random();
System.out.print("请输入一蚂春物个整数N:"闷液);
int n = input.nextInt();
if (n 1) {
System.out.println("请输入大于等于1的整数森历!");
return;
}
if (n == 1) {
System.out.println("1");
return;
}
int[] arr = new int[n * n];
for (int i = 0; i arr.length; i++) {
arr[i] = i + 1;
}
for (int i = 0; i arr.length; i++) {
int j = random.nextInt(n * n - i) + i;
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
int index = 0;
for (int i = 0; i n; i++) {
for (int j = 0; j n; j++) {
System.out.print(arr[index++] + " ");
}
System.out.println();
}
}
}
public class N {
//递归 阶乘
public int getN(int n)
{
if(n-10)
return n*getN(n-1);
else
return 1;
}
//循环
public int ForN(int n)
{
int m=n;
while(n-10){
--n; //-- n=n-1的缩毁谨知写晌指
m*=n; //-- m=m*n的缩写
}
return m;
}
public static void main(String []args)
{
N n=new N();
System.out.println("递归3的阶乘"+n.getN(5));
System.out.println("递归3的阶乘"+n.ForN(5));
}
还好 赶出来纤消了 希望 能帮到你