Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Alige

Интерфейс в java

23.08.2013, 12:50. Показов 723. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Помогите разобраться с интерфейсом.
Дан интерфейс числовой последовательности:
Java
1
2
3
4
5
public interface Serie 
{
    public int termino (int n);
    public int suma (int n);
}
Нужно написать арифметическую прогрессию:

Java
1
2
3
4
public class SerieAritmetica implements Serie 
       {
           public SerieAritmetica(int a0, int delta) {...}
       }
Например
SerieAritmetica(0,2)
0,2,4,6,8,10,12,...

Как это все описать? Начала писать так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public interface Serie 
{
    public int termino (int n);
    public int suma (int n);
}
 
 public class SerieAritmetica implements Serie 
       {
           public SerieAritmetica(int a0, int delta) 
           {
               
               Scanner in = new Scanner(System.in);
               a0 = in.nextInt();
               delta = in.nextInt();
               System.out.println("Enter a0 and delta: ");
               for (int i=0; i<15; i++)
               {
                     int a=a0 ;
                    a = a + delta;
                    System.out.print(a);
           }
           @Override
           public int termino(int n) 
           {
               
           }
           @Override
           public int suma(int n) 
           {
               
           }
       }
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.08.2013, 12:50
Ответы с готовыми решениями:

Map интерфейс в Java
1. Учет товаров на складе Основной информационный объект: товар (код товара (уникален), название, ед. измерения, количество). Основные...

Java графический интерфейс
Вопросы: 1.) Что такое Фрейм, панель, слой? 2.) Для чего используется, так называемая панель? 3.) Как правильно пользоваться слоями?...

Java. Интерфейс Map
Добрый вечер! Есть готовый класс Device, необходимо выполнить сортировку по названию фирмы, с помощью интерфейса MAP. !!HELP! Помогите...

2
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
 Аватар для tankomaz
443 / 442 / 100
Регистрация: 14.10.2012
Сообщений: 1,146
Записей в блоге: 9
23.08.2013, 14:25
не правильно начали, немного мутно условие поставлено, но давайте по порядку разбираться
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
public class SerieAritmetica implements Serie {
    private final int MAX_ELEMENTS = 20;
    private int[] mass = new int[MAX_ELEMENTS];
 
    public SerieAritmetica(int a0, int delta) {
        int tempValue = a0;
        for (int i = 0; i < MAX_ELEMENTS; i++) {
            mass[i] = tempValue;
            tempValue += delta;
        }
    }
 
    @Override
    public int termino(int n) {
        // что должен делать этот метод??
        return 0;
    }
 
    @Override
    public int suma(int n) {
        int temp = 0;
        for (int i = 0; i < n; i++) {
            temp += mass[i];
        }
        return temp;
    }
 
    public void printArray() {
        for (Integer i : mass) {
            System.out.print(i + " ");
        }
        System.out.println();
    }
 
    public static void main(String[] args) {
        SerieAritmetica sa = new SerieAritmetica(4, 1);
        sa.printArray();
        System.out.println(sa.suma(3));
 
    }
 
}
вообщем на вход поступает два значения, первое - с какого значения стартует прогрессия, второе - шаг. Т.к. "конец" не известен, сколько элементов нужно отобразить - то создана переменная со значением 20
Java
1
private final int MAX_ELEMENTS = 20;
затем в цикле мы 20 раз записываем значения в наш массив, начиная с a0 с шагом delta. Не понятно что должен делать метод termino. По поводу метода suma (кстати тоже не понятно что должно символизировать значение, которое поступает на вход (int n), чтобы выполнить условие - это значение (в моем примере) характеризирует сумму n количества элементов

теперь идет модуль, с которого всё начинается
Java
1
SerieAritmetica sa = new SerieAritmetica(4, 1);
создаем объект со значениями (начинай со значения 4, шаг 1)
вызываем метод печати массива (в условии не было, сами дописали)
Java
1
sa.printArray();
и проверяем метод суммы первых трёх элементов
Java
1
System.out.println(sa.suma(3));
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
23.08.2013, 15:11
Если правильно задание понял, как-то так:
Java
1
2
3
4
public interface ArithmeticalProgression {
    public long elementAtPosition(int positionOfElement);
    public long sumOfElements(int numberOfElements);
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class SmartArithmeticalProgression implements ArithmeticalProgression {
    private long firstElement;
    private long delta;
    
    public SmartArithmeticalProgression(long firstElement, long delta) {
        this.firstElement = firstElement;
        this.delta = delta;
    }
    
    @Override
    public long elementAtPosition(int positionOfElement) {
        if ( positionOfElement < 1 )
            throw new IllegalArgumentException();
        return firstElement + ( positionOfElement - 1 ) * delta;
    }
 
    @Override
    public long sumOfElements(int numberOfElements) {
        if ( numberOfElements < 1 )
            throw new IllegalArgumentException();
        return ( 2 * firstElement + ( numberOfElements - 1 ) * delta ) * numberOfElements / 2;
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.util.Scanner;
 
public class TestProgression {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        
        System.out.print("First element: ");
        long first = scan.nextLong();
        System.out.print("Delta: ");
        long delta = scan.nextLong();
        
        ArithmeticalProgression ap = new SmartArithmeticalProgression(first, delta);
        
        for ( int i = 0; i < 3; ++i ) {
            System.out.print("Position: ");
            int pos = scan.nextInt();
            try {
                System.out.println("Value: " + ap.elementAtPosition(pos));
            }
            catch ( IllegalArgumentException e ) {
                System.out.println("Wrong argument: " + pos);
            }
        }
        
        for ( int i = 0; i < 3; ++i ) {
            System.out.print("Number of elements: ");
            int num = scan.nextInt();
            try {
                System.out.println("Sum of " + num + " first elements: " + ap.sumOfElements(num));
            }
            catch ( IllegalArgumentException e ) {
                System.out.println("Wrong argument: " + num);
            }
        }
    }
 
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.08.2013, 15:11
Помогаю со студенческими работами здесь

Java ООП(интерфейс)
Добрый вечер,помогите написать код пожалуйста. Есть класс товаров(чего либо),реализуйте для него два интерфейса.В одном просмотр...

Java Интерфейс Collection
Помогите, пожалуйста! Не могу разобраться с коллекциями. Нужно создать класс, с данными о людях: ID, имя, возраст. Есть коллекция людей,...

Простой графический Java интерфейс
Доброго времени суток, недавно начал изучать GUI фреймворки, остановился на JavaFX. Вопрос простой, как вывести результат работы...

Tree - это класс или интерфейс в Java
Задали на собеседовании такой вопрос. Первичный гуглинг дал ответ, что такой структуры данных в чистом нативном виде вообще нет в Java, то...

Графический интерфейс (GUI в Java)
Всем привет, посоветуйте мне какую книжку читать для изучения GUI в Java а то книга Сьерра К. Бейтс Б. как-то не то, старое слишком там...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru