Указания: напишите программу, которая читает последовательность целых чисел в массив, а затем вычисляет знакопеременную сумму всех элементов в массиве.Например, если программа выполняется с входными данными.
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;
}
}