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

Java. Виртуальная справочная база

04.11.2014, 13:36. Показов 1134. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня всем!
Дано задание - сделать консольную справочную программу, которая открывается при введении пароля, а в меню открывает нужный пункт, если room1==n.
Так вот что выходит - на синтаксис компилятор не жалуется, мол, код идеален.
Но когда я хочу указать значение room1, получаю ошибку OutOfBoundsException. Что делать с ним?
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
import java.util.*;
 
public class Main
{
    public static void main(String[] args)
    {
        System.out.println("Welcome to secret Amora database. Write the password");
 
        Scanner input = new Scanner(System.in);
 
        System.out.print("Password: ");
        double password1 = input.nextDouble();
        if (password1==104795)
        {
            System.out.println("Welcome. You are in the main menu of Amora project.");
        }
            else
                if (password1 != 104795)
                    return; 
                    
        String[]code = new String[3];
        System.out.print("To go into the CPU information database, type 1. \r\n To go into GPU information database, type 2. \r\n To watch the main information about Amora project, type 3");
        double room1 = input.nextDouble();
        code[0]=("Console project Amora use Intel Core i7 extreme edition in variant Explode and AMD Phenom II 110T x6 Black Edition in Amored variant.");
        code[1]=("Console use NVidia GeForce GTX970 GPU in Explode and ATI Radeon R7260X in Amored variants.");
        code[2]=("Console project Amora is ultimate entertainment project, oriented on child and mature gamers.");
        code[3]=("To go into the CPU information database, type 1. \r\n To go into GPU information database, type 2. \r\n To watch the main information about Amora project, type 3");
        if (room1==1)
        {
             System.out.println(code[0]);
             System.out.println("Go back? Type 1");
             double room2 = input.nextDouble();
             if (room2==1);
                 System.out.println(code[3]);
                 room1=input.nextDouble();
        }
        if (room1==2)
        {
            System.out.println(code[1]);
            System.out.println("Go.back? Type 1");
            double room3=input.nextDouble();
            if (room3==1);
                System.out.println(code[3]);
                room1=input.nextDouble();
        }
        if (room1==3)
        {
            System.out.println(code[2]);
            System.out.println("Go back? Type 1");
            double room4=input.nextDouble();
            if (room4==1);
            System.out.println(code[3]);
            room1=input.nextDouble();
        }
    }
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.11.2014, 13:36
Ответы с готовыми решениями:

Виртуальная машина Java
Приветсвую. Есть такая проблема/вопрос: у меня виртуальная машина Java кушает очень много (по моим меркам) оперативки. Простейшая...

Почему не загружается виртуальная java машиа?
Извините за вмешательство,но не подскажет ли кто-нибудь - почему не загружается виртуальная java машиа? Я скачала jre1.2.2, jni и пример к...

База знаний на Java
Если кто знает knowledge base на Java (типа JSPTwiki, но более развитую, с возможностью загрузки графики, исходников, HTML-файлов) киньте...

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

Решение

Java
1
String[]code = new String[3];
исправить на
Java
1
String[]code = new String[4];
1
16 / 16 / 10
Регистрация: 17.03.2014
Сообщений: 59
04.11.2014, 14:05
21 строка элементов 3 а в 27 инициализация 4-го.
1
0 / 0 / 0
Регистрация: 03.11.2014
Сообщений: 13
04.11.2014, 14:50  [ТС]
Большое спасибо за ответы! А в случае ошибки уместно было ли бы использовать Exception и оператор finally?
0
16 / 16 / 10
Регистрация: 17.03.2014
Сообщений: 59
04.11.2014, 15:12
Цитата Сообщение от vogos Посмотреть сообщение
А в случае ошибки уместно было ли бы использовать Exception и оператор finally?
Нет в этом нет смысла, а вот присмотреться к оператору swich стоит
1
0 / 0 / 0
Регистрация: 03.11.2014
Сообщений: 13
04.11.2014, 15:21  [ТС]
Да, всё заработало. Еще добавил логаут из меню и сообщения движка. Теперь то уж точно 12 будет.
0
69 / 69 / 39
Регистрация: 22.05.2014
Сообщений: 311
04.11.2014, 16:14
Цитата Сообщение от vogos Посмотреть сообщение
А в случае ошибки уместно было ли бы использовать Exception и оператор finally?
ты выходишь за границы массива. это твоя ошибка. массив не предназначен чтобы обращаться к нему по индексу, который больше чем число елементов - 1. раз вышел за границы - все, до свидания. Исключение летит типа RunTimeException, соответственно его ловить/обрабатывать не нужно(хотя в принципе при большом желании можно, но не нужно)

finally - а он тут вообще причем? просто потому шо дружит с try?
0
0 / 0 / 0
Регистрация: 03.11.2014
Сообщений: 13
04.11.2014, 16:19  [ТС]
Ну типа того, чтобы открыть отдадочное меню, даже если всё нормально.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.11.2014, 16:19
Помогаю со студенческими работами здесь

Небольшая база данных в java
подскажите пожалуйста с кодом реализации. Итак предположим у нас есть два человека. У этих людей имя фамилия и адрес. Нужно сделать поиск...

Java и локальная база данных
Есть возможность включить в jar файл локальную базу данных? Что это за базы? Чтобы вообщем без сервера.

Java, база данных, сервер, браузер
всем привет! я только начал изучать java, и чтобы не наступать на детские грабли, подскажите что нужно для того чтобы реализовать данную...

Чем же проста виртуальная машина Java?
Вопрос наверное прост, и может я что-то не понял. Насколько я знаю, Джава так стала известна из-за своей межплатформенности, которая...

Обработка данных через запросы SQL внутри приложения (виртуальная база данных)
Есть данные, которые с точки зрения удобства написания кода, проще всего обрабатывать запросами SQL. Возможно ли сделать это внутри...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
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, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru