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

Первая программа

28.06.2017, 19:42. Показов 2026. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите разобраться. Решил написать маленькую программку на Java она не работает. Что то не правильно. Это моё первое творение так что не судите строго.

Java
1
2
3
4
5
6
7
8
9
10
11
12
package myfirstprogram;
import java.util.Scanner;
import javax.swing.JOptionPane;
class MyFirstProgram {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
String name;
System.out.print("Как тебя зовут?");
name=input.nextLine();
JOptionPane.showMessageDialog(null, "ПРИВЕТ "+name+"!");
}
}
Пользователь должен ввести своё имя. После чего должно появится диалоговое окно.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.06.2017, 19:42
Ответы с готовыми решениями:

Первая элементарная программа
Хочу написать свою первую программу на Java и не могу. По идее она должна запрашивать у пользователя цифры и вводить их в массив, а потом...

Первая программа на Java
Здравствуйте. Совсем недавно начал изучать Java (до этого программировал только в паскале). Из литературы читаю: Кей С. Хорстманн, Гари...

Первая программа с jni
Здярова! Нужно пробраться в реестр, джава я так понимаю не имеет такой возможности. Думаю использовать jni, но имел с ним дело...

18
88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099
28.06.2017, 19:51
С чем именно проблема? Не компилируется? Есть ошибки? Какие?
0
0 / 0 / 0
Регистрация: 28.06.2017
Сообщений: 9
28.06.2017, 19:53  [ТС]
Нет ошибок нет. Она просто зависает не не выдает диалоговое окно с именем.
0
88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099
28.06.2017, 19:54
А вы пытаетесь ввести само имя? У вас в консоли должно появлятся сообщение "Как тебя зовут". Оно появляется?
0
0 / 0 / 0
Регистрация: 28.06.2017
Сообщений: 9
28.06.2017, 19:56  [ТС]
я вводил имя. Но всё на этом заканчивается. Дальше ждать можно бесконечно.
0
88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099
28.06.2017, 20:02
Enter нажмите.
0
0 / 0 / 0
Регистрация: 28.06.2017
Сообщений: 9
28.06.2017, 20:05  [ТС]
Нажимал. Ни чего не происходит
0
88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099
28.06.2017, 20:09
Не знаю тогда, у меня все нормально компилируется и нормально выводит окошко.
0
0 / 0 / 0
Регистрация: 28.06.2017
Сообщений: 9
28.06.2017, 20:10  [ТС]
Ни чего не меняли?
0
88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099
28.06.2017, 20:11
Нет.
0
0 / 0 / 0
Регистрация: 28.06.2017
Сообщений: 9
28.06.2017, 20:13  [ТС]
Может у меня с прогой что то не так?

Добавлено через 1 минуту
Вы как ее компилируете? Я нажимаю на зеленую стрелку.
0
88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099
28.06.2017, 20:14
Цитата Сообщение от electric86 Посмотреть сообщение
Я нажимаю на зеленую стрелку.
Мне ничего это не говорит. Какой IDE вы пользуетесь?
0
0 / 0 / 0
Регистрация: 28.06.2017
Сообщений: 9
28.06.2017, 20:18  [ТС]
8.2

Добавлено через 3 минуты
До этого всё компилировалось. А этот код тупит почему то.
0
88 / 86 / 55
Регистрация: 14.11.2015
Сообщений: 1,099
28.06.2017, 20:22
https://ru.wikipedia.org/wiki/... 0%BA%D0%B8
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
29.06.2017, 12:07
Лучший ответ Сообщение было отмечено electric86 как решение

Решение

electric86, всё работает. Вы просто начали со сложной темы. Графические среды - это отдельная история, тем-более в Java.
Для понимания данной проблемы надо знать кое-что о системе окон в Windows. Java рисует свои окошки, но контеинер нативный Windows-овский (поэтому рамка с кнопками "закрыть", "сложить" и "расширить на весь экран" не отличаются от других программ. Типов окон в Windows несколько, есть такие, которые не отображаются на панеле задач и которым (фактически) необходимо главное окно к которому они будут перекреплены (на пример нативный аналог Вашего окошка в Windows: MessageBox).

В Вашем случае, первый параметр в JOptionPane.showMessageDialog = null, то есть у окна нет объекта соответствующего главному окну "MainWindow". В Windows, если дело обстоит так, то по умолчанию главным Main окном становится рабочий стол (Desktop).
Когда Вы запускаете Ваш код, окошко появляется, но оно Вам не видно т.к. прикреплено к рабочему столу. Сложите по одному все открытые окна и увидите своё окошко.
Нажимая на кнопку "показать рабочий стол" вы складываете все окна, включая и Ваше Java окошко, потому и не видите его. Жизненный цикл Вашего окошка - пока вы не нажмёте на кнопку "ОК" (либо прервёте процесс из своей IDE или диспетчера).
1
0 / 0 / 0
Регистрация: 28.06.2017
Сообщений: 9
29.06.2017, 12:15  [ТС]
А как написать чтоб окно было поверх всех этих око?
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
29.06.2017, 12:51
Лучший ответ Сообщение было отмечено electric86 как решение

Решение

В JOptionPane.showMessageDialog первый параметр не должен быть null. Вместо null нужно передать главное окно.

Это не совсем правильный пример, так вообще не делается. Но для простоты и что бы было ясно о чём речь, вот рабочий пример:

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
import java.util.Scanner;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
 
class MyFirstProgram {
    private static final int DISPOSE_ON_CLOSE = 2;
 
    public static void main(String[] args) {
        @SuppressWarnings("resource")
        Scanner input = new Scanner(System.in);      
        
        System.out.println("Как тебя зовут?");
        
        String name = input.next();
        
        JFrame contentPane = new JFrame("Main Window");
        contentPane.setVisible(true);
        contentPane.setSize(600, 400);
        contentPane.setLocationRelativeTo(null);
        contentPane.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        
        JOptionPane.showMessageDialog(contentPane, "ПРИВЕТ " + name + "!");
        //Обратите внимание, сообщение "Exit from Main" не появится пока Вы не нажмёте "ОК"
        System.out.println("==> Exit from Main!");
    }
}
1
0 / 0 / 0
Регистрация: 28.06.2017
Сообщений: 9
29.06.2017, 12:55  [ТС]
Огромное спасибо. Вы мне очень помогли.
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
29.06.2017, 13:06
electric86, рад помочь! Главное, на мой взгляд, на данный момент забыть о GUI. Во первых, это отдельная концепция с которой надо ознакомиться, вне зависимости от платформы и языка программирования. Дальше методологии разнятся, в зависимости от ОС. Я неплохо знаком с Windows, но в Linux на пример всё иначе. А в Java, т.к. это кросс-платформное решение, всё ещё немного сложнее (независимость Java добавляет свои концепции работы с графическим интерфейсом).

Поэтому, советую Вам пока не работать с GUI, используйте консоль. Когда ознакомитесь с языком и некоторыми библиотеками, ознакомитесь с общей концепцией GUI, как это всё устроено (какие типы окон существуют, концептуально. Почему в данном примере MessageBox прерывает запуск Вашего кода, а Main Window нет, и т.д.). А потом уже переходите на GUI в Java. Но это только мое мнение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.06.2017, 13:06
Помогаю со студенческими работами здесь

Первая программа не получается
Всем привет, только что начал изучать программирование. Пытаюсь сделать свою первую программу. Получается такая ошибка. Я перепробовал всё...

Первая программа на Java
Типа написал первую програму на Яве(в netbeans). сразу же хочу разобраться в том что написал. я сначала создал проект javaapplication....

Первая программа по нахождению средних
Добрый день, только начал изучение явы. Закончил базовый курс на codecademy.com и по полученным знаниям пытаюсь написать первую простенькую...

JAVA 1.8. Не стартует приложение, первая программа
Добрый день, коллеги и друзья! Начал заниматься программированием на Java по книге "Изучаем Java" Кэтти Сьерра, Берт Бейтс. ...

Изучение английского или моя первая программа на Java
Появилась необходимость в написании программы для личных нужд. Я решил попутно изучить Java. Мой опыт программирования заключается в...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru