Множественный интерфейс Java с параметром

#java

#Ява

Вопрос:

Предположим, у меня есть 2 интерфейса, которые

 interface add{    void add2No(float a, float b); }  

и

 interface Minus{    void Minus2No(float a, float b); }  

затем по основному методу я уже переопределяю метод, который является

 public class Count implements Add, Minus {  public static void main(String[] args) throws IOException{    //declare var  float a, b;  String temp;    //create object  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));  Count obj = new Count();    //User Input  System.out.print("Enter your first Number : ");  temp = br.readLine();  a = Float.parseFloat(temp);    System.out.print("Enter your second Number : ");  temp = br.readLine();  b = Float.parseFloat(temp);        System.out.println("Value of "  a  "   "  b  " is : "  obj.Totaladd(float a, float b));  System.out.println("Value of "  a  "   "  b  " is : "  obj.TotalMinus(float a, float b));      }    @Override  public void Add2No(float a, float b) {    float TotalAdd = a   b;    }    @Override  public void Minus2No(float a, float b) {    float TotalMinus = a - b;  }  }  

Правильно ли я использую реализацию интерфейса? почему возникает ошибка, когда я пытаюсь распечатать TotalAdd и TotalMinus?

Комментарии:

1. Всегда полезно вставить точную ошибку. Это особенно верно в том случае, если у вас есть несколько проблем с вашим кодом,

Ответ №1:

ДА. Потому что вы не возвращаете результаты. В настоящее время используются оба метода void . Ты мог бы это изменить. Нравится,

 interface Add {   float add2No(float a, float b); }  interface Minus {  float minus2No(float a, float b); }  

И затем

 @Override public float add2No(float a, float b) {  return a   b; }  @Override public float minus2No(float a, float b) {  return a - b; }  

Ответ №2:

Есть три неправильных места.

Первое неправильное место:

Потому что Java чувствительна к регистру.

Вызывается имя вашего метода интерфейса add2No , но вызывается имя вашей реализации Add2No

Второе неправильное место:

Существует проблема с передачей параметров вашего метода и способом вызова. Я не видел методов Totaladd и Totaladd , определенных в вашем объекте Count.

Если вы измените регистр, в add2No объекте Count должны быть только Minus2No методы и.

Вам нужно настроить имя одного из них и не передавать тип при передаче параметров.

Например: obj.Totaladd(float a, float b) должно быть obj.Totaladd(a, b)

Третье неправильное место:

Если вам нужно вызвать метод, чтобы получить значение для расчета, вы должны настроить тип метода, он не должен быть void