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

Классы "символ", "строка"

20.04.2019, 20:54. Показов 1360. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Даны: объект символ, умеющий печатать свое значение и отвечать на запрос о значении своего символьного поля. Объект «строка», как массив из 15 символов, умеющий выводить на печать значение своих элементов, удалять символ по номеру, удалять символ по значению, возвращать номер символа, начиная с которого некоторая подстрока или символ входят в строку.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.04.2019, 20:54
Ответы с готовыми решениями:

Функция принимает блоки данных (символ1, символ 2, строка), в каждой строке заменять символ 1 на символ 2
функция принимает блоки данный(символ1, символ 2 , строка), в каждом строке заменять символ 1 на символ 2. обязательно использовать функцию...

Дана строка 'abcde' При помощи отдельных символов этой строки выведите символ 'a', символ 'c', символ 'e'
Дана строка 'abcde'. При помощи отдельных символов этой строки выведите символ 'a', символ 'c', символ 'e'.

1) строка от четвертого (включительно) до последнего символа строки S; 2) строка – последний символ строки S; 3) строка
Формула внизу!! 1) строка от четвертого (включительно) до последнего символа строки S; 2) строка – последний символ строки S; 3)...

14
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
20.04.2019, 21:04
CaspeRR, кулсторибро. Вопрос-то в чем?
0
0 / 0 / 0
Регистрация: 09.12.2017
Сообщений: 3
21.04.2019, 11:19  [ТС]
нужно написать код этой программы
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
21.04.2019, 16:50
CaspeRR, показывайте свои попытки
0
21.04.2019, 17:00

Не по теме:

Цитата Сообщение от Kukstyler Посмотреть сообщение
CaspeRR, показывайте свои попытки
Задача была настолько сложной, что не стоило и пытаться

0
21.04.2019, 17:23

Не по теме:

Gungala, ну-ка сбацай, на судьбу матча!

0
 Аватар для Goongala
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,027
Записей в блоге: 2
21.04.2019, 18:28
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
class character
{
    private char value;
    
    public character(char c)
    {
        value = c;
    }
    
    public character() {}
    
    public String toString()
    {
        return Character.toString(value);
    }
    
    public char getValue()
    {
        return value;
    }
    
    public void setValue(char c)
    {
        value = c;
    }
}
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.Arrays;
 
class string
{
    private char[] value = new char[15];
    
    public string(char[] c)
    {
        value = Arrays.copyOf(c, 15);
    }
    
    public string(String s)
    {
        value = Arrays.copyOf(s.toCharArray(), 15);
    }
    
    public string() {}
    
    public String toString()
    {
        StringBuilder sc = new StringBuilder();
        for (char c : value)
            sc.append(c);
        return sc.toString();
    }
    
    public void removeChar(int index)
    {
        String without = this.toString().substring(0, index) + this.toString().substring(index + 1);
        value = Arrays.copyOf(without.toCharArray(), 15);
    }
    
    public void removeChar(char c)
    {
        value = this.toString().replace("" + c, "").toCharArray();
    }
}
Цитата Сообщение от CaspeRR Посмотреть сообщение
возвращать номер символа, начиная с которого некоторая подстрока или символ входят в строку.
Вот этого не понял, поэтому не сделал
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
22.04.2019, 09:01
Gungala, ты зачем создал класс символ и в классе строка его не задействовал? он для чего по твоему создавался (а ты чар взял)? Классы именуются с большой буквы!
0
 Аватар для Goongala
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,027
Записей в блоге: 2
22.04.2019, 10:08
Цитата Сообщение от Welemir1 Посмотреть сообщение
ты зачем создал класс символ и в классе строка его не задействовал?
А вы уверены, что для этого он создавался? Но даже если так, много ли труда потребуется, чтобы заменить пару слов в классе "Строка"? Автор сам сделает, если понадобится

Цитата Сообщение от Welemir1 Посмотреть сообщение
Классы именуются с большой буквы!
Прост String и Character уже заняты же, разве не вышло бы конфликта?

Добавлено через 1 минуту
Ну, то есть да, если задать какое-нибудь имя пакета и обращаться к классу явно, то может и не было бы, но мне для тестирования было лень это делать

Добавлено через 31 минуту
Welemir1, а если так?
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
package com.classes;
 
public class Character
{
    private char value;
    
    public Character(char c)
    {
        value = c;
    }
    
    public Character() {}
    
    public java.lang.String toString()
    {
        return java.lang.Character.toString(value);
    }
    
    public char getValue()
    {
        return value;
    }
    
    public void setValue(char c)
    {
        value = c;
    }
}
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
package com.classes;
 
public class String
{
    private Character[] value = new Character[15];
    
    public String(char[] c)
    {
        value = toCharacterArray(c);
    }
    
    public String(java.lang.String s)
    {
        this(s.toCharArray());
    }
    
    public String() {}
    
    public java.lang.String toString()
    {
        StringBuilder sc = new StringBuilder();
        int i = 0;
        while (i < value.length && value[i] != null)
        {
            sc.append(value[i]);
            i++;
        }
        return sc.toString();
    }
    
    public void removeChar(int index)
    {
        java.lang.String without = this.toString().substring(0, index) + this.toString().substring(index + 1);
        char[] c = without.toCharArray();
        value = toCharacterArray(c);
    }
    
    public void removeChar(char c)
    {
        value = toCharacterArray(this.toString().replace(java.lang.Character.toString(c), "").toCharArray());
    }
    
    private static Character[] toCharacterArray(char[] c)
    {
        Character[] out = new Character[15];
        for (int i = 0; i < c.length; i++)
            out[i] = new Character(c[i]);
        
        return out;
    }
}
0
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
22.04.2019, 11:34
Gungala, Как по мне то плохая читабельность и непонятная логика применения,сущность классов.
Почему не сделать MySymbol, MyString ? и вы используете стринговскую библиотеку вместо того чтобы юзать свою и свой массив чаров.
0
 Аватар для Goongala
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,027
Записей в блоге: 2
22.04.2019, 12:39
Цитата Сообщение от ViktorFX Посмотреть сообщение
вы используете стринговскую библиотеку вместо того чтобы юзать свою и свой массив чаров.
Массив чаров-то свой. Я использую некоторые методы из стринговской библиотеки для преобразований, но разве это так уж плохо? В задании ничего не сказано о полной независимости класса

Цитата Сообщение от ViktorFX Посмотреть сообщение
Как по мне то плохая читабельность и непонятная логика применения
Будьте милосердны, у меня очень мало опыта
0
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
22.04.2019, 13:09
Цитата Сообщение от Gungala Посмотреть сообщение
Будьте милосердны, у меня очень мало опыта
Не воспринимайте так остро мою критику (я может вообще не прав) я тоже только учусь и сам я часто "спотыкаюсь".
Вот что я имел ввиду, но я не до делал последний метод и у меня кривое удаление по значению а мне надо уже идти(((
Кликните здесь для просмотра всего текста
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
public class MySymbolMyString{
 
    public static void main(String[] args){
        MySymbol ch1 = new MySymbol('1');
        MySymbol ch2 = new MySymbol('2');
        MySymbol ch3 = new MySymbol('3');
        MySymbol ch7 = new MySymbol('3');
        MySymbol ch8 = new MySymbol('3');
        MySymbol ch4 = new MySymbol('a');
        MySymbol ch5 = new MySymbol('A');
        MySymbol ch6 = new MySymbol('+');
        MyString str = new MyString(ch1, ch2, ch3, ch4, ch5, ch6, ch7, ch8);
        str.print();
        str.delToIndex(3);
        System.out.println("__________________________");
        str.print();
        str.delToSymbol(new MySymbol('3'));
        System.out.println("__________________________");
        str.print();
    }
}
class MySymbol {
    char c;
    
    public MySymbol(char c){this.c=c;}
    
    public MySymbol(){this.c=' ';}
    
    public void print() {System.out.println("I'm symbol "+c);}
    
    public char getC(){return c;}
 
    public void setC(char c){this.c=c;}
}
class MyString {
    int size =15;
    private MySymbol[] ar = new MySymbol[size];
 
    public MyString(){for(int i=0;i<size;i++) ar[i]= new MySymbol();}
    
    public MyString(MySymbol... s) {
        for(int i=0;i<size;i++) 
            ar[i]= i>=s.length? new MySymbol(): new MySymbol(s[i].getC());
        }
    public void print() {for(MySymbol c : ar) c.print();}
    
    public void delToIndex(int index) {
        if (index>15) return;
        int j = 0;
        for(int i=0; i<ar.length-1; i++) {
            if(i==index) j++;
            ar[i]=ar[i+j];
        }
        ar[ar.length-1]= new MySymbol();
    }
    public void delToSymbol(MySymbol c) {
        int j;
        int[] a = findIndex(c);
        for(int i=0; i<ar.length; i++) {
            j = next(a,i);
            ar[i] = ar[j];
        }
    }
    private int[] findIndex(MySymbol c) {
        int[] a = new int[15];
        for(int i=0; i<a.length; i++) 
            a[i] = ar[i].getC()==c.getC()? 1:0;
        return a;
    }
    private int next(int[] a, int n) {
        for(int i=n; i<a.length; i++)
            if(a[i]==1) n++;
            else break;
        return n;
    }
}

Да и пустоты выводит, надо короче хорошо еще доработать.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
22.04.2019, 13:14
Цитата Сообщение от Gungala Посмотреть сообщение
Прост String и Character уже заняты же, разве не вышло бы конфликта?
а у нас ограничена фантазия?) ну возьми ты Symbol и Line

Добавлено через 26 секунд
Цитата Сообщение от ViktorFX Посмотреть сообщение
Почему не сделать MySymbol, MyString ?
сорри не увидел, что уже предложили
0
 Аватар для Goongala
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,027
Записей в блоге: 2
22.04.2019, 13:21
Цитата Сообщение от Welemir1 Посмотреть сообщение
а у нас ограничена фантазия?)
Ну, я уже использовал String и Character. Если импортировать com.classes.*, то ими можно пользоваться вместо стандартных
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
22.04.2019, 13:25
Gungala, а я тебе очень не советую где бы то ни было использовать распространенные имена, мне попадались и классы АррейЛист, Стрим и так далее... Просто не надо, можно и себя и коллег ввести в заблуждение, потом будет мучительно больно за бесцельно прожитые годы)
просто совет
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.04.2019, 13:25
Помогаю со студенческими работами здесь

Строка: каждый символ строки S заменяются на следующий за ним символ в строке S...
Дано: в текстовом файле fin.txt находится текст на русском языке. С клавиатуры вводится число К. Надо: написать подпрограмму, которая по...

Дана строка символов, посчитать сколько раз встречается символ + и символ *
Дана строка символов, посчитать сколько раз встречается символ &quot;+&quot; и символ &quot;*&quot;. Помогите...

Строка: Вставить в первую позицию строки символ, стоящий на этой позиции (дублировать символ)...
Функция char* push(char* str) получает строку str и вставляет в первую позицию символ, стоящий на этой позиции (дублирует этот символ)....

Есть строка (S), как в ней заменить символ (a) на символ (b)
Есть строка (S), как в ней заменить символ (a) на символ (b)?

Вводится строка и символ , выводится слово на заданный символ
Нужно дописать кусок программы , который будет выводить самое длинное введение слово строки , но не подключая дополнительные библиотеки,...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru