Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 27.10.2014
Сообщений: 21
1

Взять данные из массива с типом String из другого класса

20.12.2018, 23:06. Показов 1263. Ответов 2
Метки нет (Все метки)

Здравствуйте, есть задание в котором создаются 2 массива и в отдельных классам к этим массивам задаются методы.
(Условия задания ниже)
Первоначально все данные хранятся в одномерных текстовых массивах в главной программе main(String[] args) {…}. Вид массивов представлен ниже:
String[] РаботникиШколы {
Требуется создать на языке Java 2-а класса: «Работники школы» и «ШкольныеКлассы», все поля которых закрытые, а методы – открытые .
Конструктор классов:
РаботникиШколы (String s) {…}; …
Методы классов: String toString() {…}; …
Void show() {…}; …
В методе void show() {…} необходимо вывести на экран в табличном виде, представленном выше (использовать форматированный вывод, учитывать типы данных и их максимально возможную длину).
Вот мой код основного класса, в котором хранятся массивы.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package dz4;
 
public class osn {
    public static void main(String[] args) {
    String rabotnik_arr[] = {"Табельный №", "ФИО учителя", "Должность/профессия", "Пол",
            "100", "Петров Станислав Васильевич", "Учитель", "М",
            "101", "Петрова Валентина Григорьевна", "Учитель", "Ж",
            "102", "Рыбакова Анна Ивановна", "Завуч", "Ж",
            "103", "Федоров Юрий Васильевич", "Директор", "М",
            "104", "Смирнов Антон Юрьевич", "Учитель", "М"};
    String school[] = {"№ класса", "Табельный № учителя", "Специализация класса", "Классная комната",
            "10А", "101", "Иностранные языки", "203",
            "11Б", "100", "Математика и физика", "212"};
    for (int counter=0; counter<rabotnik_arr.length;counter++) {
        System.out.println(counter + "\t" + rabotnik_arr[counter]);
    }
    for (int counter=0; counter<school.length;counter++) {
        System.out.println(counter + "\t" + school[counter]);
        }
    }
}
Вот код класса Rabotniki, в котором я хочу вывести значение переменной из массива выше, но он не позволяет мне это сделать.
Java
1
2
3
4
5
6
7
package dz4;
 
public class Rabotniki extends osn {
    public Rabotniki(String s) {
        System.out.println(rabotnik_arr.length);
    }
}
Я уже прочитал что тип String в методе main нельзя использовать в других классах, тогда вопрос, как мне можно реализовать выполнение данного задания?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2018, 23:06
Ответы с готовыми решениями:

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

Как остортировать столбец по возрастанию даты, данные которого хранятся с типом String?
У меня есть DataTable, данные которого отображабтся в DataGridView через BindingSource. Один из...

Как взять данные с другого сайта?
Доброго времени суток! Хочу брать некую информацию с одного сайта на свой сайт. Допустим на сайте...

Экземпляр класса как входные данные метода другого класса
Можно ли в качестве входных данных метода передать экземпляр метода другого класса? Если да, то как?

2
1893 / 1509 / 374
Регистрация: 17.02.2014
Сообщений: 7,613
21.12.2018, 12:49 2
Лучший ответ Сообщение было отмечено yamito123 как решение

Решение

Держи, печать таблицы в форматированном виде:
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
public class Helper {
 
    private static void printTable(String [][] table) {
        int [] lengColomn = new int[table[0].length];
        int maxLenOfClmn;
 
        for (int clmn = 0; clmn < lengColomn.length; clmn++) {
            maxLenOfClmn = 0;
            for (int row = 0; row < table.length; row++) {
                if (table[row][clmn].length() > maxLenOfClmn)
                    maxLenOfClmn = table[row][clmn].length();
            }
            lengColomn[clmn] = maxLenOfClmn + 2;
        }
 
        StringBuilder formatStr = new StringBuilder();
        for (int tmp : lengColomn)
            formatStr.append("%-").append(tmp).append("s|");
        formatStr.append("%n");
 
        for (int row = 0; row < table.length; row++) {
            System.out.printf(formatStr.toString(), table[row]);
        }
        System.out.println("\n\n\n");
    }
 
    public static void main(String[] args) {
        String schoolWorkers[][] = {{"    Табельный №", "    ФИО учителя", "    Должность/профессия", "  Пол"},
                {"100", "Петров Станислав Васильевич", "Учитель", "М"},
                {"101", "Петрова Валентина Григорьевна", "Учитель", "Ж"},
                {"102", "Рыбакова Анна Ивановна", "Завуч", "Ж"},
                {"103", "Федоров Юрий Васильевич", "Директор", "М"},
                {"104", "Смирнов Антон Юрьевич", "Учитель", "М"}};
        printTable(schoolWorkers);
        String workers[][] = {{"    ФИО ", "    Профессия", "  Пол"},
                {"Петров Станислав Васильевич", "Инженер", "М"},
                {"Петрова Валентина Григорьевна", "Моряк", "Ж"},
                {"Рыбакова Анна Ивановна", "Политик", "Ж"},
                {"Федоров Юрий Васильевич", "Ученый", "М"},
                {"Смирнов Антон Юрьевич", "Врач", "М"}};
        printTable(workers);
    }
}
1
0 / 0 / 0
Регистрация: 27.10.2014
Сообщений: 21
21.12.2018, 21:40  [ТС] 3
До такого уровня сам не дошёл бы, есть непонятные для меня моменты, которые буду изучать, благодарю за подсказку, тему можно закрывать.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2018, 21:40

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Как взять в массив данные из другого файла?
есть файл famil.txt в котором список из сотни строк задача взять его в массив используя только JS...

Как взять данные в поле формы из другого запроса
Доброго времени суток! Есть форма, необходимо взять данные из запроса( не присоединенного к...

Получение String из другого класса в Activity widget
Хей, гайз! Проблема такова: как передавать String между классами я и так знаю, но в виджет классе...

Найти совпадение в столбце и взять данные из другого столбца этой строки
Привет всем. Нужна помощь, сломал голову с екселем )) Суть вот в чем - есть файл xls - набор...

Привязать к тексту Label значение string из другого класса
Короче, есть Label, ну допустим он называется label01, у меня есть класс лежащий в другой папке, к...

String, AnsiString или char * ? Что лучше использовать с классами? И как работать с типом string
Добрый вечер. Мне нужно в одну строку str1 поместить строку str2. Обе они типа string. В интернете...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.