Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2015, 19:05   #11
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Эта же задача. Мой вариант. Код конечно топорный... Но какой пока есть

Код:
import javafx.fxml.FXML;
import javafx.scene.control.*;
import javafx.scene.paint.Color;
import java.util.Random;

public class ControllerArray1D {
    @FXML
    public RadioButton radioButtonNumber1D;
    @FXML
    public RadioButton radioButtonChar1D;
    @FXML
    public TextField textFieldArray1D;
    @FXML
    public Button button1D;
    @FXML
    public TextArea textAreaArray1D;
    @FXML
    public Label label1D;

    private int sizeArray;

    private static final int MAX_SIZE = 20;
    private static final int MIN_SIZE = 1;
    private static final int RAND_NUMBER = 40;
    private static final int RAND_CHAR = 128;

    public void setSizeArray(int sizeArray) {
        this.sizeArray = sizeArray;
    }
    public int getSizeArray() {
        return sizeArray;
    }

    /** Генератор массива */
    public void arrayGenerator() {
        boolean logicalValue = validationOfField(textFieldArray1D);
        if (!logicalValue) {
            textAreaArray1D.clear();
            textFieldArray1D.clear();
        } else {
            Object[] array1D = new Object[getSizeArray()];
            textAreaArray1D.setText(initArray(array1D));
        }
    }

    /** Инициализация массива */
    private String initArray(Object[] array1D) {
        Random random = new Random();
        String string = "";

        for (int i = 0; i < array1D.length; i++) {
            if (radioButtonNumber1D.isSelected()) {
                array1D[i] = random.nextInt(RAND_NUMBER);
            } else {
                array1D[i] = (char)random.nextInt(RAND_CHAR);
            }
            string += " " + array1D[i];
        }
        return string;
    }

    /** Валидация вводимого в поле textFieldArray1D значения */
    private boolean validationOfField(TextField textField) {
        boolean logicalValue = true;
        try {
            final int size = Integer.parseInt(textField.getText());
            if ((size >= MIN_SIZE) && (size <= MAX_SIZE)) {
                setSizeArray(Integer.parseInt(textFieldArray1D.getText()));
                messageLabel("Все верно", Color.GREEN);
            } else {
                messageLabel("Введите размер от " + MIN_SIZE + " до " + MAX_SIZE, Color.BLUE);
                logicalValue = false;
            }
            return logicalValue;
        } catch (NumberFormatException e) {
            messageLabel("Ошибка ввода размера массива", Color.RED);
            return false;
        }
    }

    /** Вывод сообщения */
    private void messageLabel(String message, Color color) {
        label1D.setText(message);
        label1D.setTextFill(color);
    }
}
Снимок_mass.jpg
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 05.08.2015, 11:22   #12
Son4ikz
Новичок
Джуниор
 
Регистрация: 05.08.2015
Сообщений: 1
По умолчанию ребята помогите найти ошибку. как я понимаю чего то не хватает в блоке обработки. спасибо

public class Console {
/*
Создать массив. Программно записать в элементы с четными индексами
квадраты чисел от 1 до 20. А в элементы массива с нечетными индексами 1.
Вывести на консоль массив в одну строчку. Вывести произведение элементов массива.
*/
public static void main(String args[]) {
// 1) блок ввода данных
int n=20; // Число элементов массива
int mas[]=new int[n];
for(int i=0; i<n; i++)
if(i%2==0)
mas[i]=(i+1)*(i+1);
else
mas[i]=1;

// 2) блок обработки данных
int pr=1;
for(int i=0; i<n; i++);
pr*=mas[i];



// 3) Блок вывода
for(int i=0; i<n; i++)
System.out.print(mas[i]+" ");
System.out.println(pr);
Son4ikz вне форума Ответить с цитированием
Старый 05.08.2015, 19:59   #13
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Код конечно получился дурацкий... но пока так

Код:
package ru.bugrimov.project;

import java.util.Arrays;
import java.util.Random;

public class Console {
    private static final int SIZE_ARRAY = 20;
    private static final int UNIT = 1;

    public static void main(String[] args) {
        int [] array1D = new int[SIZE_ARRAY];
        long multiplication = 1;

        for (int index = 0; index < SIZE_ARRAY; index++) {
            int value = generationRandomNumbers();
            if (index == 0 || index % 2 == 0) {
                array1D[index] = value * value;
            } else {
                array1D[index] = UNIT;
            }
            multiplication *= array1D[index];
        }

        System.out.println("Массив: " + Arrays.toString(array1D));
        System.out.println("Произведение: " + multiplication);
    }

    private static int generationRandomNumbers() {
        Random random = new Random();
        return random.nextInt(20) + 1;
    }
}
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 11.08.2015, 00:19   #14
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Bugrimov, что ж ты так к своему коду критичен
Carbon вне форума Ответить с цитированием
Старый 11.08.2015, 05:38   #15
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Цитата:
Сообщение от Carbon Посмотреть сообщение
Bugrimov, что ж ты так к своему коду критичен
Не нравится он мне. Вот по этому и критичен
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
массив экземпляров класса flibustier912 Visual C++ 1 05.05.2012 01:00
Массив объектов класса. zipwind Общие вопросы C/C++ 8 01.05.2011 20:56
массив методов класса DartDayring Общие вопросы C/C++ 0 07.12.2010 20:00
Массив эллементов пользовательского класса windzor Общие вопросы .NET 4 02.03.2010 19:53
массив указателей на методы класса? cout Общие вопросы C/C++ 2 08.05.2008 09:43