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

Поиск Инфы по объектам. Switch + for + Ввод с клавиатуры

17.10.2014, 23:31. Показов 2904. Ответов 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
import java.util.Scanner;
 
 
public class Main {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        /* 2). Разработать программу, которая хранит информацию
        о странах и численности населения в них в виде отображения. Реализовать:
        •  заполнение контейнера данными с клавиатуры;
        •  вывод информации о странах на экран;
        •  поиск информации по заданной стране.*/
        Scanner s = new Scanner(System.in);
        Country []C = new Country[10];
        String []N = {"Россия", "Германия", "Канада", "Франция", "Португалия", "Англия", "Япония", "Китай", "Норвегия", "Австралия"};
        int Count[] = {1000,2,3,4,5,6,7,8,9,10};
        for(int i = 0;i<C.length;i++){
            C[i] = new Country();
            C[i].setNameCount(N[i],Count[i]);
            System.out.println("Страна " + C[i].getName() + " ----- > Численность = " + C[i].getCount());
        }
        
        switch(s.next()){
        for(int i = 0 ; i < C.length; i ++){
            case N[i]: System.out.println("Страна " + C[i].getName() + "Численность = " + C[i].getCount()); break;
            default: System.out.println("Нет такой страны");
            }
        }
        
    }
 
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Country {
    
    private String Name;
    private int Count;
    
    public String getName(){
        return Name;
    }
    
    public int getCount(){
        return Count;
    }
    
    public void setNameCount(String n, int c){
        this.Count = c;
        this.Name = n;
    }
 
}
Что я делаю не так, почему не получается? по идее я ввожу с клавиатуры страну а switch сравнивает в цикле название страны и выводит инфу , но скомпилировать не даёт ...
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.10.2014, 23:31
Ответы с готовыми решениями:

С++ ввод с клавиатуры и поиск
Вот само задание: *По варианту : Описать структуру с именем MARSH, содержащую следующие поля: * название начального пункта маршрута; ...

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

Ввод/вывод с клавиатуры и обработка строк (поиск подстроки в строке).
Задание: Ввести строку с символами, после ввести символ или несколько символов и вывести на экран сколько раз встречается 2ая введённая...

3
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
18.10.2014, 02:42
Лучший ответ Сообщение было отмечено zolberg113 как решение

Решение

zolberg113,
Значение case - должно быть константой.

Предупреждая вашу попытку сделать так:
Java
1
final String[] N = {"Россия", "Германия", "Канада", "Франция", "Португалия", "Англия", "Япония", "Китай", "Норвегия", "Австралия"};
- не прокатит, так как в данном случае вы константной делаете только ссылку на массив... а не его элемент...

Если подправить ваш код
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
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        /* 2). Разработать программу, которая хранит информацию
        о странах и численности населения в них в виде отображения. Реализовать:
        •  заполнение контейнера данными с клавиатуры;
        •  вывод информации о странах на экран;
        •  поиск информации по заданной стране.*/
        Scanner s = new Scanner(System.in);
        Country[] C = new Country[10];
        String[] N = {"Россия", "Германия", "Канада", "Франция", "Португалия", "Англия", "Япония", "Китай", "Норвегия", "Австралия"};
        int Count[] = {1000, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        for (int i = 0; i < C.length; i++) {
            C[i] = new Country();
            C[i].setNameCount(N[i], Count[i]);
            System.out.println("Страна " + C[i].getName() + " ----- > Численность = " + C[i].getCount());
        }
 
        String tmp = s.nextLine();
        for (int i = 0; i < N.length; i++) {
            if (tmp.equals(N[i])) {
                System.out.println("Страна " + C[i].getName() + " ----- > Численность = " + C[i].getCount());
                break;
            }
        }
    }
Ну или так, например

Кликните здесь для просмотра всего текста
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
class Main {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        /* 2). Разработать программу, которая хранит информацию
        о странах и численности населения в них в виде отображения. Реализовать:
        •  заполнение контейнера данными с клавиатуры;
        •  вывод информации о странах на экран;
        •  поиск информации по заданной стране.*/
 
 
        Map<String, Country> countryMap = new HashMap<>();
        final String[] COUNTRYNAME = {"Россия", "Германия", "Канада", "Франция", "Португалия", "Англия", "Япония", "Китай", "Норвегия", "Австралия"};
        final int COUNT [] = {1000, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        for (int i = 0; i < COUNTRYNAME.length; i++) {
            String name = COUNTRYNAME[i];
            countryMap.put(name.toLowerCase(), new Country(name, COUNT[i]));
        }
 
        Scanner s = new Scanner(System.in);
        System.out.print("Введите название страны: ");
        String tmp = s.nextLine().toLowerCase().trim();
        if (countryMap.containsKey(tmp)) {
            System.out.println(countryMap.get(tmp));
        } else {
            System.out.println("Error");
        }
    }
}
 
 
class Country {
 
    private String name;
    private int count;
 
    Country() {
    }
 
    Country(String name, int count) {
        this.name = name;
        this.count = count;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public int getCount() {
        return count;
    }
 
    public void setCount(int count) {
        this.count = count;
    }
 
    @Override
    public String toString() {
        return "Страна " + name + " ----- > Численность = " + count;
    }
}
1
0 / 0 / 3
Регистрация: 19.05.2013
Сообщений: 39
18.10.2014, 13:55  [ТС]
reisal78, спс за подробный ответ, хотел в начале сделать через if), но подумал через switch будет круче )), оказалось не так ...
0
44 / 44 / 37
Регистрация: 11.12.2012
Сообщений: 200
Записей в блоге: 2
18.10.2014, 15:40
Не актуально, но еще один вариант, можно сказать для себя

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public static void main(String... args){
        List<Country> information = new ArrayList<Country>();
        information.add(new Country("Россия", 10000));
        information.add(new Country("Беларусь", 1000));
        information.add(new Country("Украина", 100));
        
        for(Country info: information){
            if(info.getCountry().equals("Россия")){
                System.out.println("Страна: " + info.getCountry());
                System.out.println("Население: " + info.getCountpeople());
            }
        }
    }
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Country {
    private String country;
    private int countpeople;
    
    public Country(String country, int countpeople) {
        this.country = country;
        this.countpeople = countpeople;
    }
    
    public int getCountpeople() {
        return countpeople;
    }
    
    public String getCountry() {
        return country;
    }
    
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.10.2014, 15:40
Помогаю со студенческими работами здесь

Ассемблер\Работа с файлами\Поиск в файле\ввод искомого символа с клавиатуры с выводом результата на екран.
Всем доброго времени суток. проблема то вот в чем: мне необходимо сделать програму,вводишь с клавиатуры искомый символ(-лы),результат...

Навигация по объектам типа Надпись (Textframe) с клавиатуры
При вставке в Эксель документ объектов типа Надпись (Textframe), чтобы их редатировать приходится нажимать на них мышкой потому что ТАБ или...

Бинарный поиск по объектам
Есть задача находить в отсортированном векторе объектов, нужный нам объект, кроме проверки на существование в списке нужно получить ещё и...

Файловый ввод-вывод, ввод с клавиатуры и обработка массива структур
Добрый вечер)) У меня небольшой вопрос. Почему первые буквы (в названии книг) не выводит на экран? Само задание: О каждой книге ...

Как правильно заменить ввод данных простой на ввод с клавиатуры?
#include &quot;stdafx.h&quot; #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; int _tmain(int argc, _TCHAR* argv) ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
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