-1 / 0 / 1
Регистрация: 10.03.2015
Сообщений: 33

Работа с классами в Java

04.04.2016, 15:38. Показов 1885. Ответов 6

Студворк — интернет-сервис помощи студентам
Добрый день.Задача:Описать класс с именем Route, содержащий следующие поля: название начального пункта маршрута, название конечного пункта маршрута, номер маршрута. Написать программу, выполняющую ввод с клавиатуры данных в массив Traffic, состоящий из 8 элементов типа Route. Упорядочить записи по номерам маршрутов. Вывести на экран информацию о маршруте, номер которого введен с клавиатуры. Если таких маршрутов нет, то вывести соответствующее сообщение. Поиск номера маршрута, введенного с клавиатуры оформить в виде метода класса. Как сделать в виде метода класса понятно при вызове я передаю туда интовскую переменную потом по ней он начинает поиск вот только не понятно как внутри класса обращаться к элементам массива для поиска подскажите что делать.
Код:
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
package com.company;
import java.util.Scanner;
class Route
{
    private String Start_way;
    private String End_way;
    private int Nomer;
    public Route()
    {
        Start_way=" ";
        End_way=" ";
        Nomer=1;
    }
    public Route(String S,String E,int N)
    {
        Start_way=S;
        End_way=E;
        Nomer=N;
    }
    public void Vivod()
    {
        System.out.println(Start_way + "  " + End_way + "  " + Nomer);
    }
    public int ForSort()
    {
        return Nomer;
    }
}
public class Main {
 
    public static void main(String[] args) {
       Route[] MAS =new Route[3];
        //VVOD
        for(int i=0;i<3;i++)
        {
            Scanner sc = new Scanner(System.in);
            System.out.println("Введите нач. точку");
            String S1 = sc.nextLine();
            System.out.println("Введите кон. точку");
            String S2 = sc.nextLine();
            System.out.println("Введите номер маршрута");
            int I= sc.nextInt();
            MAS[i]=new Route(S1,S2,I);
        }
        //END VVOD
        //SORT
        for(int i=0;i<2;i++)
            for(int j=0;j<2-i;j++)
        {
            if(MAS[j].ForSort()>MAS[j+1].ForSort())
            {
                Route Temp=MAS[j];
                MAS[j]=MAS[j+1];
                MAS[i]=Temp;
            }
        }
        // END SORT
        // VIVOD sort
        for(int i=0;i<3;i++)
        {
            MAS[i].Vivod();
        }
        //END VIVOD sort
    }
}
Не реализован только метод поиска помогите плз !!!

Добавлено через 23 минуты
Сортировку напутал чуток
Java
1
2
3
4
5
6
7
8
9
10
   for(int i=0;i<2;i++)
            for(int j=0;j<2-i;j++)
        {
            if(MAS[j].ForSort()>MAS[j+1].ForSort())
            {
                Route Temp=MAS[j];
                MAS[j]=MAS[j+1];
                MAS[j+1]=Temp;
            }
        }
Добавлено через 9 минут
Java
1
2
3
4
5
6
7
    public void Serch(int id)
    {  int count=0;
        for(int i=0;i<длина массива;i++){
        if(id==Эл.массива содержащий значение поля Nomer) {System.out.println(Start_way + "  " + End_way); count++}
        if(count==0) System.out.println("Маршрут не найден");
        count=0;
    }
как сделать чтобы он брал Эл.массива содержащий значение поля Nomer
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.04.2016, 15:38
Ответы с готовыми решениями:

Работа с классами в Java
Здравствуйте, у меня возник такой вопрос, всегда делал так сказать любую программу без её разделения на классы, в универе задали задание:...

Java, работа с внутренними классами
Доброго времени суток! Есть задание: ... Система Платежи. Клиент имеет Счет в банке и Кредитную Карту (КК). Клиент может оплатить...

Работа С Java-классами В Лотусовом Агенте
Всем доброго времени суток! Прошу прощения за нубский вопрос, но не смогла найти на форуме ничего, что бы мне помогло, поэтому...

6
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
04.04.2016, 15:42
Лучший ответ Сообщение было отмечено User2000 как решение

Решение

User2000,
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
     ...
     // END SORT
        // VIVOD sort
        for(int i=0;i<3;i++)
        {
            MAS[i].Vivod();
        }
        //END VIVOD sort
        Scanner sc = new Scanner(System.in);
        System.out.println("Введите номер маршрута");
        int I= sc.nextInt();
        findByID(MAS, I);
    }
    
    public static void findByID(Route[] MAS, int n)
    {
        for (int i = 0; i < MAS.length; i++)
        {
            if (MAS[i].ForSort() == n) 
            {
                MAS[i].Vivod();
                return;
            }
        }
        System.out.println("Не найден");
    }
PS: про названия функций и переменных: либо английский, либо русский, но никак не 2 в одном (в вашем случае только русский)
1
-1 / 0 / 1
Регистрация: 10.03.2015
Сообщений: 33
04.04.2016, 15:58  [ТС]
Цитата Сообщение от КОП Посмотреть сообщение
PS: про названия функций и переменных: либо английский, либо русский, но никак не 2 в одном (в вашем случае только русский)
это я для примера написал функцию поиска понятно дело что только на английском щас попробую вашу функцию

Добавлено через 9 минут
оформить в виде метода класса это не значит что он должен находиться внутри класса? в вашем примере это выглядит как отдельная функция для поиска ну то есть метод он в коде вызывается через . а функция просто название функции и параметры или я путаю что-то
0
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
04.04.2016, 16:01
Лучший ответ Сообщение было отмечено User2000 как решение

Решение

Цитата Сообщение от User2000 Посмотреть сообщение
оформить в виде метода класса это не значит что он должен находиться внутри класса? в вашем примере это выглядит как отдельная функция для поиска ну то есть метод он в коде вызывается через . а функция просто название функции и параметры или я путаю что-то
перенесите в класс, добавьте static и вызывайте через Route.findByID
1
-1 / 0 / 1
Регистрация: 10.03.2015
Сообщений: 33
04.04.2016, 16:06  [ТС]
Большое спасибо все работает !

Добавлено через 1 минуту
Подскажите я тут недавно как удалить тему ?
0
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
04.04.2016, 16:07
User2000, вроде никак, модераторов просить только. А вообще темы создаются не для того, что бы их удаляли, все ровно наоборот)
1
-1 / 0 / 1
Регистрация: 10.03.2015
Сообщений: 33
04.04.2016, 16:12  [ТС]
Еще раз большое спасибо вам

Добавлено через 3 минуты
Готовый код если кому нужен будет в будущем
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
package com.company;
import java.util.Scanner;
class Route {
    private String Start_way;
    private String End_way;
    private int Nomer;
 
    public Route() {
        Start_way = " ";
        End_way = " ";
        Nomer = 1;
    }
 
    public Route(String S, String E, int N) {
        Start_way = S;
        End_way = E;
        Nomer = N;
    }
 
    public void Vivod() {
        System.out.println(Start_way + "  " + End_way + "  " + Nomer);
    }
 
    public int ForSort() {
        return Nomer;
    }
    public static void findByID(Route[] MAS, int n)
    {
        for (int i = 0; i < MAS.length; i++)
        {
            if (MAS[i].ForSort() == n)
            {
                MAS[i].Vivod();
                return;
            }
        }
        System.out.println("Не найден");
    }
}
public class Main {
 
    public static void main(String[] args) {
        Route[] MAS = new Route[3];
        //VVOD
        for (int i = 0; i < 3; i++) {
            Scanner sc = new Scanner(System.in);
            System.out.println("Введите нач. точку");
            String S1 = sc.nextLine();
            System.out.println("Введите кон. точку");
            String S2 = sc.nextLine();
            System.out.println("Введите номер маршрута");
            int I = sc.nextInt();
            MAS[i] = new Route(S1, S2, I);
        }
        //END VVOD
        //SORT
        for (int i = 0; i < 2; i++)
            for (int j = 0; j < 2 - i; j++) {
                if (MAS[j].ForSort() > MAS[j + 1].ForSort()) {
                    Route Temp = MAS[j];
                    MAS[j] = MAS[j + 1];
                    MAS[j + 1] = Temp;
                }
            }
        // END SORT
        // VIVOD sort
        for (int i = 0; i < 3; i++) {
            MAS[i].Vivod();
        }
        //END VIVOD sort
        Scanner sc = new Scanner(System.in);
        System.out.println("Введите номер маршрута");
        int I = sc.nextInt();
        // Search
        Route.findByID(MAS,I);
        // end Search
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.04.2016, 16:12
Помогаю со студенческими работами здесь

Создание проекта с несколькими классами Java
Здравствуйте, возник вопрос, возможно глупый, но с учтом того, что недавно начал изучать java, все же задам. Есть задание создать класс...

Передать параметр между классами в java
Как передать параметр (значение) объекта из класса main в другой класс? Допустим можно сделать объект класса main в другом классе, но он...

Работа с классами
Создать класс-однонаправленый список list.Дополнительно перенагружать операции: удаления элемента из конца списка(типа list--);

Работа с классами
Программа работает некорректно... не выводит студентов введенных с клавиатуры.... :( выводит только и сравнивает только этих: ...

Работа с классами
Доброго времени суток. Только начал изучать ООП, решил написать программу для ознакомления. Но не знаю как вызвать класс, что бы можно...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru