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

Интерфейс в java

23.08.2013, 12:50. Показов 712. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru