用JAVA写一个程序:利用面向对象方法求n!,并输出10!的值
时间: 2024-05-21 07:13:05 浏览: 85
public class Factorial {
public static void main(String[] args) {
int n = 10;
long result = factorial(n);
System.out.println(n + "! = " + result);
}
public static long factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
}
输出结果:
10! = 3628800
相关问题
Java面向对象思想实现,素数的定义: 除了1与本身之外,不能被其他正整数整除的数,叫作素数,也叫质数。 要求:给出一个数N,输出N的的素数系列。 用Java以“面向对象”思想设计并实现。
在Java中,我们可以运用面向对象的设计原则,比如封装和多态,来创建一个`PrimeNumberGenerator`类,专门负责生成指定范围内的素数序列。首先,我们需要定义一个`Prime`接口或者抽象类,包含`isPrime`方法用于判断一个数是否为素数:
```java
// Prime interface or abstract class
public interface Prime {
boolean isPrime(int num);
}
```
然后,我们可以创建一个实现了这个接口的具体类`SieveOfEratosthenes`,利用埃拉托斯特尼筛法来找出素数:
```java
public class SieveOfEratosthenes implements Prime {
private int[] primes;
public SieveOfEratosthenes(int n) {
primes = new int[n + 1];
sieve(n);
}
private void sieve(int limit) {
Arrays.fill(primes, true);
primes[0] = primes[1] = false;
for (int i = 2; i * i <= limit; i++) {
if (primes[i]) {
for (int j = i * i; j <= limit; j += i) {
primes[j] = false;
}
}
}
}
@Override
public boolean isPrime(int num) {
return num > 1 && primes[num];
}
}
```
最后,在主程序中,我们通过实例化`SieveOfEratosthenes`,获取指定范围内的素数列表:
```java
public class Main {
public static void main(String[] args) {
int N = 50; // 要生成素数的上限
Prime primeGen = new SieveOfEratosthenes(N);
System.out.println("素数系列:");
for (int i = 2; i <= N; i++) {
if (primeGen.isPrime(i)) {
System.out.print(i + " ");
}
}
}
}
```
在这个例子中,用户输入一个数`N`,`Main`类会调用`SieveOfEratosthenes`类生成并打印出该范围内所有的素数。
如何在Java中利用面向对象思想构建一个商品价目表,并通过控制台输出格式化的价格列表?
学习如何使用Java面向对象编程来创建商品价目表,并在Eclipse环境中进行控制台输出,是一项重要的基础练习。首先,你需要定义商品类(Product),包含属性如名称、价格等,并提供相应的构造器和访问器方法。然后,创建商品价目表类(ProductList),利用集合类如ArrayList来存储多个商品对象。在这个类中,你可以编写一个方法用于添加商品到列表中。最后,在主类(Main)中,使用System.out.println()和System.out.print()结合\t制表符和\n换行符来格式化输出每个商品的详细信息。为了更好地理解和实践这一过程,建议查阅《Java初学者:控制台输出商品价目表实践》。这份资料详细介绍了Java编程和面向对象设计的相关知识,以及如何在Eclipse环境中进行开发。通过这个练习,你将学会如何创建类、实例化对象、使用集合框架以及如何控制台输出,这些都是Java程序设计中不可或缺的技能。
参考资源链接:[Java初学者:控制台输出商品价目表实践](https://wenku.csdn.net/doc/11crusdjbw?spm=1055.2569.3001.10343)
阅读全文