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

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

04.04.2016, 15:38. Показов 1857. Ответов 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
Ответ Создать тему
Новые блоги и статьи
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 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru