2015-02-21 2 views
-1

поэтому мне нужно создать класс, в котором у него будет конструктор, который хранит значение в переменной-члене, и метод, который возвращает абсолютную разницу между значением объекта и средним значением для всех инициализированных значения объектов. до сих пор я написал этипроверить, сколько объектов создано java

изменить: как я могу проверить, сколько объектов было инициализировано?

public class Value { 
    static int count = 0; 
    double value = 0; 

    public Value(double value) { 
     count += 1; 
     this.value = value; 
    } 

    public double getDiffWithAvg() { 
     double sum = 0; 
     if (value != 0) { 
      sum += value; 
     } 
     double average = sum/count; 
     return (value - average); 
    } 
} 

Я иду в правильном направлении?

+2

Пожалуйста, отредактируйте этот вопрос, чтобы включить в него то, что вам нужно. – Radiodef

+0

Привет, извините, я просто задавался вопросом, есть ли способ проверить, сколько объектов было заработано. – Schuld

ответ

1

Я думаю, что сумма также должна быть static, поэтому вы можете увеличить ее каждый раз, когда вы создаете объект.

public Value(double value) { 
    count += 1; 
    this.value = value; 
    sum += value; 
} 
+0

хороший вызов, но есть ли способ проверить, сколько объектов было инициализировано? – Schuld

+0

Я забыл упомянуть, что вы в правильном направлении. Для этого полезно использовать 'static'. – Christian

+0

Есть ли способ проверить, когда несколько объектов созданы? – Schuld

0

Я предполагаю, что вы хотите создать несколько объектов своего класса ценностей, и в этом случае код при условии достаточно. Значение статической переменной распределяется между всеми экземплярами класса, в котором он находится, в отличие от нестатического, который отличается для каждого. Тем не менее, я рекомендую устанавливать переменные-члены как частные и использовать общедоступные методы, если вы когда-либо захотите их модифицировать. Это просто хорошая практика. Также создайте статическую переменную «sum» и добавьте новое значение в каждый каждый раз, когда этот класс будет создан. Удачи! :)

public class Value { 
    private static int count = 0; 
    private static double sum = 0; 
    private double value = 0; 

    public Value(double value) { 
     count += 1; 
     this.value = value; 
     sum += value; 
    } 

    public double getDiffWithAvg() { 
     double average = sum/count; 
     return (value - average); 
    } 
} 
Смежные вопросы