Я не могу скомпилировать приведенный ниже код, Java всегда выдает ошибку. Можете ли вы, пожалуйста, помочь мне (P.S: Я новичок в Java, еще на этапе обучения). Если где-нибудь, я написал код неправильно, пожалуйста, помогите мне в исправлении его, чтобы я мог хорошо его изучить.Ошибка металирования Java «<Class Name> не является абстрактным и не отменяет абстрактного метода в <Interface>»
Ошибка Метательное (4): 1. Добавление не является абстрактным и не переопределяет абстрактный метод Div() в Calci
Вычитание не является абстрактным и не переопределяет абстрактный метод Див() в Calci
Отдел не является абстрактным и не переопределяет абстрактный метод Div() в Calci
Умножение не является абстрактным и не переопределяет абстрактный метод Div() в Calci
import java.util.Scanner; interface calci { void add(); void sub(); void mul(); void div(); }
Добавление класса
class addition implements calci
{
public void add()
{
System.out.println("Enter two numbers:");
Scanner scn = new Scanner(System.in);
int n = scn.nextInt();
int n1= scn.nextInt();
int result = n+n1;
System.out.println("The Result of the two numbers is:"+result);
}
}
класс Вычитание
class subtraction implements calci
{
public void sub()`enter code here`
{
System.out.println("Enter two numbers:");
Scanner scn = new Scanner(System.in);
int n = scn.nextInt();
int n1= scn.nextInt();
int result = n-n1;
System.out.println("The Result of the two numbers is:"+result);
}
}
класс умножение деление
class multiplication implements calci
{
public void mul()
{
System.out.println("Enter two numbers:");
Scanner scn = new Scanner(System.in);
int n = scn.nextInt();
int n1= scn.nextInt();
int result = n*n1;
System.out.println("The Result of the two numbers is:"+result);
}
}
класс
class division implements calci
{
public void div()
{
System.out.println("Enter two numbers:");
Scanner scn = new Scanner(System.in);
int n = scn.nextInt();
int n1= scn.nextInt();
int result = n/n1;
System.out.println("The Result of the two numbers is:"+result);
}
}
класс calculator1
class calculator1
{
public static void main(String[] args)
{
int i =0;
addition a1 = new addition();
subtraction s1 = new subtraction();
multiplication m1 = new multiplication();
division d1 = new division();
System.out.println("Enter Your Name:");
Scanner scn = new Scanner(System.in);
String a = scn.next();
System.out.println("Good Morning!"+a);
System.out.println();
System.out.println("Please choose option from below");
System.out.println();
System.out.println("1.Addition 2.Subtraction 3.Multiplication 4.Division");
int option = scn.nextInt();
while (i!=0)
{
if (option==1)
{
a1.add();
}
else if (option == 2)
{
s1.sub();
}
else if (option == 3)
{
m1.mul();
}
else if (option == 4)
{
d1.div();
}
else
{
System.out.println("Please enter valid number");
}
}
System.out.println("Do you wish to continue");
int b = scn.nextInt();
if (b==0)
{
System.out.println("Thanks for using the calculator Program"+a);
System.out.println("Have a great day!");
}
}
}
Это не так, как интерфейсы работают на Java. Вы должны реализовать все четыре метода в каждом классе. Не в общей сложности четыре класса, которые реализуют методы один между ними. – Thilo
Я думаю, вместо того, чтобы создавать 4 метода в интерфейсе, вы должны просто создать метод работы(). Поэтому каждому классу, который его реализует, нужно только выполнить метод работы (Multi, Add, Sub и Div class) – Rudy