gpt4 book ai didi

java - 数据抽象和封装

转载 作者:行者123 更新时间:2023-12-01 20:20:52 25 4
gpt4 key购买 nike

我正在尝试通过使用数据抽象和封装来实现一个用于进行基本计算的小程序。但每种情况的输出都为零。任何人都可以找到我在执行该准则时出错的地方吗?

 import java.util.Scanner;
interface Sum
{
int sum();
}
interface Sub extends Sum
{
int sub();
}
interface Mul extends Sub
{
int mul();
}
interface Div extends Mul
{
int div();
}
class Algebra implements Sum,Mul,Sub,Div
{
private int number1,number2;
Algebra()
{
number1=0;
number2=0;
}
Algebra(int number1,int number2)
{
this.number1=number1;
this.number2=number2;
}

public int sum()
{
return number1+number2;
}
public int mul()
{
return number1*number2;
}
public int div()
{
return number1/number2;
}
public int sub()
{
return number1-number2;
}
}
class Test
{
public static void main(String [] args)
{
int number1,number2;
char choice;
Scanner input=new Scanner(System.in);
Algebra A=new Algebra();
Div d;
d=(Algebra)A;
System.out.println("Enter the number 1 : ");
number1=input.nextInt();
System.out.println("Enter the numbre 2 : ");
number2=input.nextInt();
System.out.println("Enter choice : 1.)Sum 2.)Mul 3.)Div 4.)Sub ");
choice=input.next().charAt(0);
d=new Algebra(number1,number2);
switch(choice)
{
case '1':
System.out.println("Sum is : "+d.sum());
break;
case '2':
System.out.println("Mul is : "+d.mul());
break;
case '3':
System.out.println("Div is : "+d.div());
break;
case '4':
System.out.println("Sub us : "+d.sub());
break;
}
}
}

每种情况的输出均为零。

最佳答案

要解决您的问题,您可能需要更换

new Algebra(number1,number2);

d = new Algebra(number1,number2);

在您的代码中,您的对象 d 是默认对象,其中 number1 和 number2 设置为零。

您可能还想格式化您的代码并考虑您的接口(interface)层次结构,这似乎并不真正有用

关于java - 数据抽象和封装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44760182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com