AlternatingSums - Модель-Представление-Контроллер-ArrayList (Программа Java) - PullRequest
0 голосов
/ 17 февраля 2019

Указания: напишите программу, которая читает последовательность целых чисел в массив, а затем вычисляет знакопеременную сумму всех элементов в массиве.Например, если программа выполняется с входными данными.

1  4  9 16  9  7  4  9  11

, затем он вычисляет:

  `1- 4 + 9 – 16 + 9 – 7 + 4 – 9 + 11 = -2
`

Ваш массив должен обрабатывать любое количество входных данных.(частично заполненный массив) Используйте JOptionPane для всех входных и выходных данных.Разработайте вашу программу, чтобы иметь отдельный класс для Model, View, Controller и Main.

Мой вопрос: как я могу получить возвращенный ввод от контроллера и перенести его в GUIView для правильного выполнения кода?

Моя проблема: я продолжаю получать вывод 0 для ответане важно, какие цифры я наберу.

Конечный комментарий: Ваша помощь будет очень признательна.Я действительно борюсь с этим.

ГЛАВНЫЙ КЛАСС:

public class Main {
   public static void main(String[] args) {
      String h = "";
      double c = 0;
      Controller controller = new Controller();
      Model model = new Model();
      controller.numberPrompting(h);
      controller.go();
      System.exit(0)
    }
 }

КЛАСС КОНТРОЛЛЕРА:

  public class Controller {
    int[] copy = new int[10];

    int doubleInputs = 0;
    String input = "";
    double num = 0;
    private Model model;
    private GuiView view;

  public Controller() {
     view = new GuiView();
  }

  public void go() {
     model = new Model();
     double AltSumsAnswer = model.getAdditions(num);
     view.displayFinal(num);
  }

  public double numberPrompting(String input) {
     double num = 0;
     int doubleInputs = 0;
     double[] data = new double[10];
     while (!input.equals("Q")) {
     String message = "Enter a Integer or Q to quit ";
     String title = "Enter Sequence";
     input = JOptionPane.showInputDialog(null, message, title,
     JOptionPane.QUESTION_MESSAGE);
   if (!input.equals("Q")) {
     num = Double.parseDouble(input);
     data = new double[10];
     doubleInputs++;
  }

  if (doubleInputs == data.length) {
    data = Arrays.copyOf(data, 2 * data.length);
  }
    double[] copy = Arrays.copyOf(data, doubleInputs);
    System.out.println(data[doubleInputs]);
    System.out.println(num);
 }
   return num;
 }
}

КЛАСС ПРОСМОТРА:

public class GuiView {
 {
    double numbers = 0;
    double[] data = new double[10];
    int doubleInputs = 0;
    int num = 0;
}

  public GuiView() {
    double AltSums = 0;
    int num = 0;
 }
 public void displayFinal(double num) {

  int doubleInputs = 0;
  int[] data = new int[10];
  num = data[doubleInputs];
  doubleInputs++;
 if (doubleInputs == data.length) {
    data = Arrays.copyOf(data, 2 * data.length);
  }
  String title1 = "Alternating Sum Calculation";
  String message = "=" + num;
  JOptionPane.showMessageDialog(null, message, title1, 
  JOptionPane.INFORMATION_MESSAGE);
 }
}

КЛАСС МОДЕЛИ:

 public class Model {
 private double[] data;
 private int num;

public Model() {
  num = 0;
  data = new double[0];
}

 public double getAdditions(double num) {
  int doubleInputs = 0;

  if (data != null || num > 0) {
    for (int i = 0; i < data.length; i = i + 2) {
      num += data[i];
    }
    for (int i = 1; i < data.length; i = i + 2) {
      num -= data[i];
    }
   }
   return num;
   }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...