定义一个接口OneToN,在接口中包含一个抽象方法calculate(注意合理设计该方法的参数和返回值哈)。定义Sum和Pro类,并分别用不同的代码实现OneToN接口,在Sum类的该方法中计算并返回1~n的和,在Pro类的改方法中计算并返回1~n的乘积。 另外定义一个测试类(OneToNDemo),除main()方法外,另外提供一个实例方法display,利用通用性编程的思想(注意设计方法的形式参数)加以实现,在方法中调用传入对象的calculate方法,输出对应的运算结果。主方法中请用户输入正整数n,并调用display方法输出不同的运算结果。
时间: 2024-02-25 18:59:32 浏览: 63
好的,我来帮你回答这个问题。下面是代码实现:
```java
// OneToN接口定义
interface OneToN {
int calculate(int n);
}
// Sum类实现OneToN接口
class Sum implements OneToN {
public int calculate(int n) {
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
return sum;
}
}
// Pro类实现OneToN接口
class Pro implements OneToN {
public int calculate(int n) {
int pro = 1;
for (int i = 1; i <= n; i++) {
pro *= i;
}
return pro;
}
}
// OneToNDemo测试类
public class OneToNDemo {
// display方法实现通用性编程
public static void display(OneToN obj, int n) {
String className = obj.getClass().getSimpleName();
int result = obj.calculate(n);
System.out.println(className + " 1~" + n + " 的运算结果为:" + result);
}
// 主方法
public static void main(String[] args) {
// 请用户输入正整数n
Scanner scanner = new Scanner(System.in);
System.out.print("请输入正整数n:");
int n = scanner.nextInt();
// 调用display方法输出不同的运算结果
Sum sum = new Sum();
Pro pro = new Pro();
display(sum, n);
display(pro, n);
}
}
```
你可以在本地运行该代码,输入一个正整数n,程序会依次输出1~n的和和积。注意,这里使用了接口和通用性编程的思想,使得程序具有更好的可扩展性和可维护性。
阅读全文