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

Как связать класс Money с интерфейсом Array?

07.10.2018, 19:30. Показов 2169. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу понять как связать класс Money с интерфейсом Array, мое задание создать базовый интерфейс Array с функцией поэлементного сложения массивов, реализовать два класса, переопределив функцию сложения, вызывающая программа должна продемонстрировать все варианты вызова функций. создать класс Money (Класс для работы с денежными суммами. Число должно быть представлено двумя полями: типа long для рублей и типа unsigned char - для копеек.) и класс BitString (Класс для работы с битовыми строками не более чем из 100 бит. Битовая строка должна быть представлена массивом типа unsigned char, каждый элемент которого принимает значение 0 или 1.).
Подскажите?
код:
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
package com.company;
 
public class array1
{
int n;
int i;
 
array1()
{
i = 0;
System.out.println("\n");
}
};
public class BitString extends array1{
int*massiv_new=new int[3];
BitString(array1 &c)
{
n = c.n;
}
void init()
{ 
System.out.println("Считывание массива");System.out.println("\n");
for(i =0;i<n;i++)
{
System.out.print("%d",&massiv_new[i]);
}
}
void print()
{
System.out.print("Распечатка массива");System.out.println("\n");
for(i = 0;i<n;i++)
{
System.out.println("%d",massiv_new[i]);printf(" ");
}
}
void summ(BitString &c)
{
int k;
k=0;
for(i =0;i<n;i++)
{
massiv_new[i]=massiv_new[i] and c.massiv_new[i];
}
}
void _or(BitString &c)
{
int k;k=0;
for(i =0;i<n;i++)
{
massiv_new[i]=massiv_new[i] or c.massiv_new[i];
}
}
void _xor(BitString &c)
{
int k;k=0;
for(i =0;i<n;i++)
{
massiv_new[i]=massiv_new[i] xor c.massiv_new[i];
}
}
void _not(BitString &c)
{
int k;k=0;
for(i =0;i<n;i++)
{
massiv_new[i]=massiv_new[i] != c.massiv_new[i];
}
}
 
public class Money extends array1 {
double a,b;
double delsum;
double drobchislo;
double multidrobchislo;
double sravn;
 
long x;
char y;
 
Money () // Конструктор 1 по умолчанию
{
x = 0;
 
}
Money(int x1, int y1) // Конструктор 2 с параметрами (инициализация)
{
delsum = x1;
drobchislo = y1;
System.out.println("Конструктор 2");
System.out.println("%f",delsum);System.out.println(" ");
System.out.println("%f",drobchislo);
System.out.println("\n");
a = 6;
b = 2;
}
Money(const Money& P) // Конструктор 3 копирования
{
multidrobchislo = P.x;
sravn = P.y;
}
void summ (const Money & P)
{
Money C;
C.x = a + b;
C.y = P.a + P.b;
System.out.println("Сложение");System.out.println("\n");
System.out.println("%ld",C.x);System.out.println(",");
System.out.println("%hhd",C.y);System.out.println("\n");
}
Money raz(const Money & P)
{
Money C;
C.x = a - b;
C.y = P.a - P.b;
System.out.println("%ld",C.x);
System.out.println(",");
System.out.println("%hhd",C.y);
System.out.println("\n");
return C;
}
Money multi(const Money & P)
{
Money C;
C.x = a*P.a + b*P.b;
C.y = a*P.b + b*P.a;
System.out.println("%ld",C.x);System.out.println(",");
System.out.println("%hhd",C.y);System.out.println("\n");
return C;
}
Money delen(const Money & P)
{
Money C;
C.x = (a*P.a + b* P.b) / (P.a*P.a + P.b*P.b);
C.y = (b*P.a -a*P.a) / (P.a*P.a + P.b* P.b);
System.out.println("%ld",C.x);System.out.println(",");
System.out.println("\n");
System.out.println("%hhd",C.y);
return C;
}
 
void srv(const Money & P)
{
if (a==P.a && b==P.b)
System.out.println("Числа равны");
else
System.out.println("Числа не равны");
}
};
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.10.2018, 19:30
Ответы с готовыми решениями:

Создать базовый класс - Array и производный класс - Money для работы денежной суммы
ПОМОГИТЕ, ПОЖАЛУЙСТА, С ЗАДАЧЕЙ Создать базовый класс - Array и производный класс - Money для работы денежной суммы

[Mono] Как можно связать приложение с графическим интерфейсом на Qt и библиотечными пакетами на C#
Люди добрые помогите найти решение. Как можно связать приложение с графическим интерфейсом на Qt и библиотечными пакетами на C#? В...

Небольшая программа с БД и интерфейсом, как все это между собой связать?
Нужно написать простую программу которая имела бы GUI и была бы связана с БД суть в том что имеется две кнопки и 4 поля ввода, вводим...

8
07.10.2018, 19:45

Не по теме:

Cidoji, лучше бы ты вообще код не выкладывал... Откуда ты его взял???

0
0 / 0 / 0
Регистрация: 07.10.2018
Сообщений: 20
07.10.2018, 20:01  [ТС]
iSmokeJC, попытка перевода с с++
0
0 / 0 / 0
Регистрация: 07.10.2018
Сообщений: 20
08.10.2018, 16:50  [ТС]
iSmokeJC, не тот код скинул..., здесь можешь помочь с классом Money?
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
Main
 
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Decimal A1 = new Decimal(1);
Decimal A2 = new Decimal(1);
Decimal A3 = new Decimal (A1.sum(A2.get()));
System.out.println("A1: "+Arrays.toString(A1.get()));
System.out.println("A2: "+Arrays.toString(A2.get()));
System.out.println("Сложенный массив A:"+Arrays.toString(A3.get()));
 
BitString B1 = new BitString(1);
BitString B2 = new BitString(1);
BitString B3 = new BitString (B1.sum(B2.get()));
System.out.println("A1: "+Arrays.toString(B1.get()));
System.out.println("A2: "+Arrays.toString(B2.get()));
System.out.println("Сложенный массив A:"+Arrays.toString(B3.get()));
}
} 
 
Decimal
import java.util.concurrent.ThreadLocalRandom;
 
class Decimal implements Array {
private char[] a;
 
public Decimal(int j){
a = new char[100];
for(int i=0;i<100;i++) {
int r=ThreadLocalRandom.current().nextInt(0, 9 + 1);
this.a[i]= NumberSymbol(r);
}
} //пустой конструктор
 
public Decimal(char[] a){
this.a=a;
}
 
int CharacterNumber(char l){
int t;
switch ( l ) {
case '0':
t=0;
break;
case '1':
t=1;
break;
case '2':
t=2;
break;
case '3':
t=3;
break;
case '4':
t=4;
break;
case '5':
t=5;
break;
case '6':
t=6;
break;
case '7':
t=7;
break;
case '8':
t=8;
break;
case '9':
t=9;
break;
default:
t=0;
break;
}
return t;
}//перевод символ в число
 
char NumberSymbol(int l){
char t;
switch ( l ) {
case 0:
t='0';
break;
case 1:
t='1';
break;
case 2:
t='2';
break;
case 3:
t='3';
break;
case 4:
t='4';
break;
case 5:
t='5';
break;
case 6:
t='6';
break;
case 7:
t='7';
break;
case 8:
t='8';
break;
case 9:
t='9';
break;
default:
t='0';
break;
}
return t;
}//перевод число в символ
 
public char[] sum(char[] a){
char[] b=new char[100];
int p=0;
for (int i=0; i<=99; i++){
int l=CharacterNumber(this.a[i])+CharacterNumber(a[i])+p;
p=0;
if(l>9) {
l = l - 10;
p = 1;
}
b[i]=NumberSymbol(l);
}
return b;
}
public char[] get() {
return a;
}
}
 
BitString 
 
import java.util.concurrent.ThreadLocalRandom;
 
class BitString implements Array{
private char[] a;
 
public BitString(int j){
a = new char[100];
for(int i=0;i<100;i++) {
int r= ThreadLocalRandom.current().nextInt(0, 1 + 1);
this.a[i]= NumberSymbol(r);
}
} 
 
public BitString(char[] a) {
this.a = a;
}
 
int CharacterNumber(char l){
int t;
switch ( l ) {
case '0':
t=0;
break;
case '1':
t=1;
break;
default:
t=0;
break;
}
return t;
}
 
char NumberSymbol(int l){
char t;
switch ( l ) {
case 0:
t='0';
break;
case 1:
t='1';
break;
default:
t='0';
break;
}
return t;
}//перевод число в символ
 
public char[] sum(char[] a){
char[] b=new char[100];
int p=0;
for (int i=0; i<=99; i++){
int l=CharacterNumber(this.a[i])+CharacterNumber(a[i])+p;
p=0;
if(l>1) {
l = l - 2;
p = 1;
}
b[i]=NumberSymbol(l);
}
return b;
}
public char[] get() {
return a;
}
}
 
Array
interface Array {
char[] sum(char[] a);
}
0
 Аватар для Aviz__
2741 / 2050 / 507
Регистрация: 17.02.2014
Сообщений: 9,470
08.10.2018, 18:08
Цитата Сообщение от Cidoji Посмотреть сообщение
можешь помочь
совсем недавно помогали и весьма подробно...

0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
08.10.2018, 18:14
Цитата Сообщение от Cidoji Посмотреть сообщение
}//перевод символ в число
Java
1
2
3
4
private int CharacterNumber(char c) {
        if (Character.isDigit(c)) return Character.digit(c, 10);
        else return 0;
}
Цитата Сообщение от Cidoji Посмотреть сообщение
//перевод число в символ
Java
1
2
3
private char NumberSymbol(int x) {
        return Character.forDigit(x, 10);
}
Цитата Сообщение от Cidoji Посмотреть сообщение
int l
НИКОГДА так не называй переменные
Цитата Сообщение от Cidoji Посмотреть сообщение
int CharacterNumber(char l){
Методы - с маленькой буквы.
Вообще, почитай "Чистый код", Р.Мартин.

Цитата Сообщение от Cidoji Посмотреть сообщение
public Decimal(int j){
Вот зачем здесь в аргументе конструктора переменная?

И вообще, я не вижу смысла в этих плясках с char, геморрой один...
0
0 / 0 / 0
Регистрация: 07.10.2018
Сообщений: 20
08.10.2018, 19:44  [ТС]
iSmokeJC, а это не знаешь как сделать? создать класс Money (Класс для работы с денежными суммами. Число должно быть представлено двумя полями: типа long для рублей и типа unsigned char - для копеек.)
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
08.10.2018, 19:57
Лучший ответ Сообщение было отмечено Cidoji как решение

Решение

Cidoji, а в чем проблема-то? У класса два поля - рубли и копейки. В методе сложения учитывать превышение копеек 100 и соотв. добавлять рубль. Вот и все!
1
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
08.10.2018, 20:53
Лучший ответ Сообщение было отмечено Cidoji как решение

Решение

Цитата Сообщение от iSmokeJC Посмотреть сообщение
а в чем проблема-то?
Да это ж закрепление пройденного материала)))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.10.2018, 20:53
Помогаю со студенческими работами здесь

Реализовать класс Goods используя для представления цены класс Money
Реализовать класс Goods (пункт 1 ), используя для представления цены класс Money с пункта 2 Реализовать метод уценки товара, уменьшая цену...

Реализовать класс Money, используя класс Fraction
// реализовать класс Money используя класс Fraction #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;sstream&gt; #include...

Как использовать абстрактный класс в связке с интерфейсом?
Вот фрагмент из задачи: &quot;Общая логика сложения должна быть вынесена в базовый абстрактный класс, чьи методы должны быть описаны в...

Паскалевский код связать с делфи интерфейсом
Program TriangleFinder; Const MaxArrSize = 50; Type SetOfPoints = array of integer; ...

Каким интерфейсом связать 5 микроконтроллеров на одной плате
Одна плата. Пять МК STM8. Один МК опрашивает остальные. Каким интерфейсом связать 5 микроконтроллеров на одной плате? В SPI много дорожек...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru