Чтение значений (разных форм) из файла, который будет использоваться для расчета определенной площади - PullRequest
0 голосов
/ 13 января 2019

У меня есть файл shape.txt со следующими данными:

Circle:15;
Rectangle:5,8;
Triangle:4,10,10;

В моей Java-программе у меня есть интерфейс Shapes, и я должен использовать его для вычисления площади каждой фигуры (интерфейс содержит один метод calcArea()). Я должен прочитать файл, а затем создать массив объектов и вызвать метод calcArea для каждого объекта, чтобы он вычислял площади (полиморфизм).

Я не знал, как этого добиться, поэтому вот код, который я написал для чтения данных из файла (я думаю, что это не очень хорошая практика ...):

in = new BufferedReader(new FileReader(new File(loc)));
String line = in.readLine();
StringBuffer buf = new StringBuffer(line);
String s1 = buf.substring(buf.lastIndexOf(":") + 1);

if (line.contains("Circle")) {
    Circle circle = new Circle(Integer.parseInt(s1));
}

Для прямоугольника:

else if (line.contains("Rectangle")) {
     String[] a = ((line.substring(line.lastIndexOf(":") + 1)).split(","));
     int arf = Integer.parseInt(a[0]);
     int ars = Integer.parseInt(a[1]);
     Rectangle rect = new Rectangle(arf, ars);
}

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

Буду благодарен за любые высказанные мнения и помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...