Тема: обсуждение JAVA программ и их ошибок как помощь новичкам

Ответить в теме
Показано с 1 по 19 из 19
  1. Вверх #1
    Постоялец форума Аватар для SЕRЁГГА
    Пол
    Мужской
    Адрес
    ОДЕССА
    Возраст
    44
    Сообщений
    1,482
    Репутация
    472

    По умолчанию обсуждение JAVA программ и их ошибок как помощь новичкам

    хотел бы создать тему, где можно будет выкладывать свой JAVA код и обсуждать ошибки компиляции, начну с первой программы - калькулятор:


    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.*;
    import javax.swing.JFrame;

    public class untitled10 {

    JFrame frame;
    JTextField t;
    int x;
    JButton button[] = new JButton[15];
    String key[] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9","+","-","*","/","="};

    public static void main (String [] args) {
    untitled10 gui= new untitled10();
    gui.go();
    }

    public void go() {
    frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);
    t=new JTextField(12);
    frame.setSize(200,280);
    frame.setResizable(false);
    frame.setVisible(true);
    frame.setLayout(new FlowLayout());
    frame.add(t);



    for (int i = 0; i<=15; i++){
    button[i] = new JButton(key[i]);
    frame.add(button[i]);
    button[i].addActionListener(new BListener());
    }

    }

    class BListener implements ActionListener {
    int firstValue = 0;
    String operation = "+";

    public void actionPerformed (ActionEvent e) {



    if (e.getSource()==button[1]) {
    t.setText(null);
    x=0;
    t.setText(""+x);
    }

    if (e.getSource()==button[2]) {
    t.setText(null);
    x=1;
    t.setText(""+x);
    }

    if (e.getSource()==button[3]) {
    t.setText(null);
    x=2;
    t.setText(""+x);
    }

    if (e.getSource()==button[4]) {
    t.setText(null);
    x=3;
    t.setText(""+x);
    }

    if (e.getSource()==button[5]) {
    t.setText(null);
    x=4;
    t.setText(""+x);
    }

    if (e.getSource()==button[6]) {
    t.setText(null);
    x=5;
    t.setText(""+x);
    }


    if (e.getSource()==button[7]) {
    t.setText(null);
    x=6;
    t.setText(""+x);
    }

    if (e.getSource()==button[8]) {
    t.setText(null);
    x=7;
    t.setText(""+x);
    }

    if (e.getSource()==button[9]) {
    t.setText(null);
    x=8;
    t.setText(""+x);
    }

    if (e.getSource()==button[10]) {
    t.setText(null);
    x=9;
    t.setText(""+x);
    }


    if (e.getSource()==button[11]) {
    firstValue = Integer.valueOf(t.getText());
    operation = "+";
    }

    if (e.getSource()==button[12]) {
    firstValue = Integer.valueOf(t.getText());
    operation = "-";
    }

    if (e.getSource()==button[13]) {
    firstValue = Integer.valueOf(t.getText());
    operation = "*";
    }

    if (e.getSource()==button[14]) {
    firstValue = Integer.valueOf(t.getText());
    operation = "/";
    }

    if (e.getSource()==button[15]) {
    int secondValue = Integer.valueOf(t.getText());
    if("+".equals(operation)){
    t.setText((firstValue+secondValue)+"");
    }
    if("-".equals(operation)){
    t.setText((firstValue-secondValue)+"");
    }
    if("*".equals(operation)){
    t.setText((firstValue*secondValue)+"");
    }
    if("/".equals(operation)){
    t.setText((firstValue/secondValue)+"");


    }

    }

    }
    }
    }

    в итоге не считает арифметические операции, в чем ошибка?


  2. Вверх #2
    Посетитель Аватар для Firewoolf
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    40
    Сообщений
    151
    Репутация
    38
    if (e.getSource()==button[1]) {
    t.setText(null);
    x=0;
    t.setText(""+x);
    }
    ...
    у вас массив особенный, сразу с 1 начался

    t.setText(null); - это не лишнее ?
    t.setText(""+x); - наверное можно заменить на t.setText(t.getText() + x);

  3. Вверх #3
    Постоялец форума Аватар для SЕRЁГГА
    Пол
    Мужской
    Адрес
    ОДЕССА
    Возраст
    44
    Сообщений
    1,482
    Репутация
    472
    Цитата Сообщение от Firewoolf Посмотреть сообщение
    if (e.getSource()==button[1]) {
    t.setText(null);
    x=0;
    t.setText(""+x);
    }
    ...
    у вас массив особенный, сразу с 1 начался
    точно, перемудрил))

    Цитата Сообщение от Firewoolf Посмотреть сообщение
    if (e.getSource()==button[1]) {

    t.setText(null); - это не лишнее ?
    t.setText(""+x); - наверное можно заменить на t.setText(t.getText() + x);
    t.setText(null); - очищает строчку от предыдущего значения, чтоб потом установить новое

    t.setText(""+x); - вполне нормально работает, переводя число в строку

    калькулятор выводит графическую оболочку, каждая кнопка цифры при нажатии высвечивается в поле текста, но основная проблема - при сложении/умножении/делении и т.д. не выводит результат

    Вот я даже сделал упрощенную версию:
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.*;
    import javax.swing.JFrame;

    public class untitled10 {

    int x;
    JFrame frame;
    JButton b1;
    JButton b2;
    JButton b3;
    JButton b4;
    JButton b5;
    JTextField t;

    public static void main (String [] args) {
    untitled10 gui= new untitled10();
    gui.go();
    }

    public void go() {
    frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);

    b1 = new JButton("1");
    b2 = new JButton("2");
    b3 = new JButton("+");
    b4 = new JButton("-");
    b5 = new JButton("=");
    t=new JTextField(12);

    b1.addActionListener(new BListener());
    b2.addActionListener(new BListener());
    b3.addActionListener(new BListener());
    b4.addActionListener(new BListener());
    b5.addActionListener(new BListener());

    frame.setSize(200,500);
    frame.setResizable(false);
    frame.setVisible(true);
    frame.setLayout(new FlowLayout());
    frame.add(t);
    frame.add(b1);
    frame.add(b2);
    frame.add(b3);
    frame.add(b4);
    frame.add(b5);

    }

    class BListener implements ActionListener {
    int firstValue = 0;
    String operation = "+";

    public void actionPerformed (ActionEvent e) {
    if (e.getSource()==b1) {
    t.setText(null);
    x=1;
    t.setText(""+x);
    }
    if (e.getSource()==b2) {
    t.setText(null);
    x=2;
    t.setText(""+x);
    }
    if (e.getSource()==b3) {
    firstValue = x;
    operation = "+";
    }
    if (e.getSource()==b4) {
    firstValue = x;
    operation = "-";
    }


    if (e.getSource()==b5) {
    int secondValue = Integer.valueOf(t.getText());
    if("+".equals(operation)){
    t.setText(""+(firstValue+secondValue));
    }
    if("-".equals(operation)){
    t.setText(""+(firstValue-secondValue));
    }
    }

    }
    }
    }

    всё равно не считает...
    Последний раз редактировалось SЕRЁГГА; 04.02.2015 в 15:03.

  4. Вверх #4
    Посетитель Аватар для Firewoolf
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    40
    Сообщений
    151
    Репутация
    38
    Вы для каждой кнопки создаёте новый класс BListener и в этом есть проблема!
    Получается сколько кнопок, столько переменных firstValue и т.д.
    Или используйте один класс BListener или объявите переменную firstValue в классе untitled10

  5. Вверх #5
    Постоялец форума Аватар для SЕRЁГГА
    Пол
    Мужской
    Адрес
    ОДЕССА
    Возраст
    44
    Сообщений
    1,482
    Репутация
    472
    Цитата Сообщение от Firewoolf Посмотреть сообщение
    Или используйте один класс BListener или объявите переменную firstValue в классе untitled10
    обьявил обе int firstValue = 0; String operation = "+"; в классе untitled10 - всё заработало! Спасибо!!!!

    вот итоговый код:

    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.*;
    import javax.swing.JFrame;

    public class untitled10 {

    int x;
    JFrame frame;
    JButton b1;
    JButton b2;
    JButton b3;
    JButton b4;
    JButton b5;
    JButton b6;
    JButton b7;
    JButton b8;
    JButton b9;
    JButton b10;
    JButton b11;
    JButton b12;
    JButton b13;
    JButton b14;
    JButton b15;


    JTextField t;
    int firstValue = 0;
    String operation = "+";

    public static void main (String [] args) {
    untitled10 gui= new untitled10();
    gui.go();
    }

    public void go() {
    frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);

    b1 = new JButton("0");
    b2 = new JButton("1");
    b3 = new JButton("2");
    b4 = new JButton("3");
    b5 = new JButton("4");
    b6 = new JButton("5");
    b7 = new JButton("6");
    b8 = new JButton("7");
    b9 = new JButton("8");
    b10 = new JButton("9");
    b11 = new JButton("+");
    b12 = new JButton("-");
    b13 = new JButton("*");
    b14 = new JButton("/");
    b15 = new JButton("=");
    t=new JTextField(12);

    b1.addActionListener(new BListener());
    b2.addActionListener(new BListener());
    b3.addActionListener(new BListener());
    b4.addActionListener(new BListener());
    b5.addActionListener(new BListener());
    b6.addActionListener(new BListener());
    b7.addActionListener(new BListener());
    b8.addActionListener(new BListener());
    b9.addActionListener(new BListener());
    b10.addActionListener(new BListener());
    b11.addActionListener(new BListener());
    b12.addActionListener(new BListener());
    b13.addActionListener(new BListener());
    b14.addActionListener(new BListener());
    b15.addActionListener(new BListener());


    frame.setSize(200,500);
    frame.setResizable(false);
    frame.setVisible(true);
    frame.setLayout(new FlowLayout());
    frame.add(t);
    frame.add(b1);
    frame.add(b2);
    frame.add(b3);
    frame.add(b4);
    frame.add(b5);
    frame.add(b6);
    frame.add(b7);
    frame.add(b8);
    frame.add(b9);
    frame.add(b10);
    frame.add(b11);
    frame.add(b12);
    frame.add(b13);
    frame.add(b14);
    frame.add(b15);

    }

    class BListener implements ActionListener {


    public void actionPerformed (ActionEvent e) {
    if (e.getSource()==b1) {
    t.setText(null);
    x=0;
    t.setText(""+x);
    }
    if (e.getSource()==b2) {
    t.setText(null);
    x=1;
    t.setText(""+x);
    }
    if (e.getSource()==b3) {
    t.setText(null);
    x=2;
    t.setText(""+x);
    }
    if (e.getSource()==b4) {
    t.setText(null);
    x=3;
    t.setText(""+x);
    }

    if (e.getSource()==b5) {
    t.setText(null);
    x=4;
    t.setText(""+x);
    }
    if (e.getSource()==b6) {
    t.setText(null);
    x=5;
    t.setText(""+x);
    }
    if (e.getSource()==b7) {
    t.setText(null);
    x=6;
    t.setText(""+x);
    }
    if (e.getSource()==b8) {
    t.setText(null);
    x=7;
    t.setText(""+x);
    }

    if (e.getSource()==b9) {
    t.setText(null);
    x=8;
    t.setText(""+x);
    }
    if (e.getSource()==b10) {
    t.setText(null);
    x=9;
    t.setText(""+x);
    }


    if (e.getSource()==b11) {
    firstValue = x;
    operation = "+";
    }
    if (e.getSource()==b12) {
    firstValue = x;
    operation = "-";
    }

    if (e.getSource()==b13) {
    firstValue = x;
    operation = "*";
    }
    if (e.getSource()==b14) {
    firstValue = x;
    operation = "/";
    }


    if (e.getSource()==b15) {
    int secondValue = Integer.valueOf(t.getText());
    if("+".equals(operation)){
    t.setText(""+(firstValue+secondValue));
    }
    if("-".equals(operation)){
    t.setText(""+(firstValue-secondValue));
    }
    if("*".equals(operation)){
    t.setText(""+(firstValue*secondValue));
    }
    if("/".equals(operation)){
    t.setText(""+(firstValue/secondValue));
    }
    }

    }
    }
    }


    всё работает, но решил сделать код красивым и прописать всё через массив в цикле:

    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.*;
    import javax.swing.JFrame;

    public class untitled10 {

    JFrame frame;
    JTextField t;
    int x;
    int firstValue = 0;
    String operation = "+";
    JButton button[] = new JButton[15];
    String key[] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9","+","-","*","/","="};

    public static void main (String [] args) {
    untitled10 gui= new untitled10();
    gui.go();
    }

    public void go() {
    frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);
    t=new JTextField(12);
    frame.setSize(200,280);
    frame.setResizable(false);
    frame.setVisible(true);
    frame.setLayout(new FlowLayout());
    frame.add(t);



    for (int i = 0; i<=15; i++){
    button[i] = new JButton(key[i]);
    frame.add(button[i]);
    button[i].addActionListener(new BListener());
    }

    }

    class BListener implements ActionListener {

    public void actionPerformed (ActionEvent e) {

    int number [] ={0,1,2,3,4,5,6,7,8,9};

    for (int i=0;i<10;i++) {
    if (e.getSource()==button[i]) {
    t.setText(null);
    x=number[i];
    t.setText(""+x);
    }
    }


    if (e.getSource()==button[11]) {
    firstValue = Integer.valueOf(t.getText());
    operation = "+";
    }

    if (e.getSource()==button[12]) {
    firstValue = Integer.valueOf(t.getText());
    operation = "-";
    }

    if (e.getSource()==button[13]) {
    firstValue = Integer.valueOf(t.getText());
    operation = "*";
    }

    if (e.getSource()==button[14]) {
    firstValue = Integer.valueOf(t.getText());
    operation = "/";
    }

    if (e.getSource()==button[15]) {
    int secondValue = Integer.valueOf(t.getText());
    if("+".equals(operation)){
    t.setText((firstValue+secondValue)+"");
    }
    if("-".equals(operation)){
    t.setText((firstValue-secondValue)+"");
    }
    if("*".equals(operation)){
    t.setText((firstValue*secondValue)+"");
    }
    if("/".equals(operation)){
    t.setText((firstValue/secondValue)+"");
    }

    }

    }
    }
    }

    и возникают проблемы - при каждом запуске разное кол-во кнопок грузиться...
    Последний раз редактировалось SЕRЁГГА; 04.02.2015 в 16:33.

  6. Вверх #6
    Новичок Аватар для DiMomite
    Пол
    Мужской
    Сообщений
    61
    Репутация
    18
    Может и не в тему, но предложу начать с рисования и обсуждения UML диаграммы.
    Для подобной задачи надо сразу реализовывать паттерны "mediator" и "command".
    ИМХО, калькулятор не является такой уж простой задачей для старта. Ты знаешь о такой вещи, как "обратная польская запись" ?

  7. Вверх #7
    Новичок
    Пол
    Мужской
    Сообщений
    36
    Репутация
    16
    Особо не вникал в код, но если возникают проблемы - при каждом запуске разное кол-во кнопок грузиться...
    То скорее всего проблема в выводе на экран элементов после того как была включена видимость.
    Попробуй СетВизибл перенести в конец.

  8. Вверх #8
    Не покидает форум Аватар для Nikles
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    49
    Сообщений
    11,137
    Репутация
    8058
    хотел бы создать тему, где можно будет выкладывать свой JAVA код и обсуждать ошибки компиляции
    "Театр начинается с вешалки" (с)
    А хороший код начинается с со следования стандартным соглашениям по оформлению кода: http://www.oracle.com/technetwork/java/codeconvtoc-136057.html и хорошим практикам (читаем Мартин "Чистый код" и Фаулер "Рефакторинг")
    Имена классов, методов, переменных, поля без явного указания спецификатора доступа и т.п. ... в вашем коде это адская жесть, так делать нельзя даже новичку, надо сразу приучаться писать в соответствии с общепринятыми соглашениями.
    Так же сразу надо приучаться использовать систему контроля версий и демонстрировать кому то код просто давая ссылку на гитхаб.

    Ну и переходя непосредственно к самой задаче: на данном этапе вашего развития, gui-приложение это не совсем то чем вам надо заниматься, написав корявый и ужасный с точки зрения реализации калькулятор вы не приобрели никаких полезных знаний. Надо вначале хорошо разобраться с Java Core, изучить хорошие практики и принципы проектирования, а потом уже браться за подобные задачки.

    t.setText(null); - очищает строчку от предыдущего значения, чтоб потом установить новое
    Зачем? Это не надо делать.
    Человек - это животное, которое умеет смеяться (с)

  9. Вверх #9
    Постоялец форума Аватар для SЕRЁГГА
    Пол
    Мужской
    Адрес
    ОДЕССА
    Возраст
    44
    Сообщений
    1,482
    Репутация
    472
    всем большое спасибо за дельные советы! если еще есть что сказать начинающему программисту, то приму к сведению с большим удовольствием. Учу пока 5-й месяц и прочел первую книгу "Изучаем Java (2012) Сьерра Кэти, Бэйтс Берт", также подкрепил видеоуроками и заданиями с javarush.
    и если не сложно - покажите что корявого в моем коде конкретно) чтоб понимать куда смотреть...
    Последний раз редактировалось SЕRЁГГА; 05.02.2015 в 13:03.

  10. Вверх #10
    Постоялец форума Аватар для Lord of rings
    Пол
    Мужской
    Адрес
    Одесса, типа украина...
    Сообщений
    2,377
    Репутация
    172
    Цитата Сообщение от SЕRЁГГА Посмотреть сообщение
    всем большое спасибо за дельные советы! если еще есть что сказать начинающему программисту, то приму к сведению с большим удовольствием. Учу пока 5-й месяц и прочел первую книгу "Изучаем Java (2012) Сьерра Кэти, Бэйтс Берт", также подкрепил видеоуроками и заданиями с javarush.
    и если не сложно - покажите что корявого в моем коде конкретно) чтоб понимать куда смотреть...
    Серёга, не привыкай получать готовые ответы на простые вопросы. Тебе же написали - почитай за соглашения.... а потом сам всё увидишь... даже то, с какой буквы у тебя класс называется.
    Per rectum ad astrum!

  11. Вверх #11
    Постоялец форума Аватар для SЕRЁГГА
    Пол
    Мужской
    Адрес
    ОДЕССА
    Возраст
    44
    Сообщений
    1,482
    Репутация
    472
    Цитата Сообщение от Lord of rings Посмотреть сообщение
    Серёга, не привыкай получать готовые ответы на простые вопросы. Тебе же написали - почитай за соглашения.... а потом сам всё увидишь... даже то, с какой буквы у тебя класс называется.
    ок) уже начал читать Мартин "Чистый код" и вот первая моя ошибка - название класса, методов и переменных должны быть понятны любому пользователю!

    п.с. изначально создавал программу, чтоб увидеть работает ли логика вычисления, не обращая внимания на красоту оформления

  12. Вверх #12
    Постоялец форума Аватар для SЕRЁГГА
    Пол
    Мужской
    Адрес
    ОДЕССА
    Возраст
    44
    Сообщений
    1,482
    Репутация
    472
    подскажите вот в JTextArea нужно указывать размер элемента, например:
    text = new JTextArea(6,20);

    а если я хочу чтоб поле текста было во весь размер фрейма и при изменении размера фрейма тоже изменялось - что надо указать в нем?

  13. Вверх #13
    Посетитель
    Пол
    Мужской
    Сообщений
    208
    Репутация
    30
    смотрите в сторону лейаут менеджеров(LayoutManager). Для того чтобы зафигачить во весь фрейм подойдёт BorderLayout. Для того, чтобы сделать сложный дизайн со всякими кнопочками, лейблами и прочими свистелками надо юзать GridBagLayout. Но он слишком сложный и не рекомендуется новичкам. Да и бывалые нередко от него фаломорфируют. Многие фапают на BoxLayout, но я как-то им не прочувствовался и всё клепаю на GridBagLayout. Все эти лейауты резиновые, ну тянутся там... Есть ещё всякие нерезинове лейауты, но они не труъ.
    вообще весь этот свинг это зло и должно быть сожжено в огне. Сейчас тру это всякие жабаскрипты.

  14. Вверх #14
    Постоялец форума Аватар для SЕRЁГГА
    Пол
    Мужской
    Адрес
    ОДЕССА
    Возраст
    44
    Сообщений
    1,482
    Репутация
    472
    Цитата Сообщение от shipr Посмотреть сообщение
    смотрите в сторону лейаут менеджеров(LayoutManager). Для того чтобы зафигачить во весь фрейм подойдёт BorderLayout.
    так я его и использую, вот часть кода:
    public void go() {
    frame = new JFrame ("Bloknot");
    JPanel mainPanel = new JPanel();
    Font bigFont = new Font("sanserif",Font.BOLD,24);
    text = new JTextArea(20,20);
    text.setLineWrap(true);
    text.setWrapStyleWord(true);
    text.setFont(bigFont);

    JScrollPane qScroller = new JScrollPane(text);
    qScroller.setVerticalScrollBarPolicy(ScrollPaneCon stants.VERTICAL_SCROLLBAR_ALWAYS);
    qScroller.setHorizontalScrollBarPolicy(ScrollPaneC onstants.HORIZONTAL_SCROLLBAR_NEVER);

    mainPanel.add(qScroller);

    JMenuBar menuBar = new JMenuBar();
    JMenu fileMenu = new JMenu("File");
    JMenuItem newMenuItem = new JMenuItem("New");
    JMenuItem saveMenuItem = new JMenuItem("Save");
    JMenuItem loadMenuItem = new JMenuItem("Load");
    newMenuItem.addActionListener(new NewMenuListener());
    saveMenuItem.addActionListener(new SaveMenuListener());
    loadMenuItem.addActionListener(new OpenMenuListener());
    fileMenu.add(newMenuItem);
    fileMenu.add(saveMenuItem);
    fileMenu.add(loadMenuItem);
    menuBar.add(fileMenu);
    frame.setJMenuBar(menuBar);
    frame.getContentPane().add(BorderLayout.CENTER, mainPanel);
    frame.setSize(700,700);
    frame.setVisible(true);
    }
    Последний раз редактировалось maxx™; 23.02.2015 в 18:22.

  15. Вверх #15
    Посетитель
    Пол
    Женский
    Возраст
    36
    Сообщений
    150
    Репутация
    39
    Интересная тема! Я тоже занимаюсь изучением Java. Учу по Герберт Шилдт "Java 7. Полное руководство" (8-е издание). Может кто-то еще что посоветует, на какой материал обратить внимание?

  16. Вверх #16
    Постоялец форума Аватар для SЕRЁГГА
    Пол
    Мужской
    Адрес
    ОДЕССА
    Возраст
    44
    Сообщений
    1,482
    Репутация
    472
    Цитата Сообщение от shipr Посмотреть сообщение
    Для того чтобы зафигачить во весь фрейм подойдёт BorderLayout.
    добавил mainPanel.setLayout(new BorderLayout()); - всё заработало!)) псб!

  17. Вверх #17
    Постоялец форума Аватар для SЕRЁГГА
    Пол
    Мужской
    Адрес
    ОДЕССА
    Возраст
    44
    Сообщений
    1,482
    Репутация
    472
    вопрос к опытным трудоустроенным JAVA DEVELOPER-ам: изучая рынок труда и потребности работодателей вижу что 80% направлены на JAVA EE с сопутствующими дополнительными технологиями, на данный момент изучил JAVA CORE и SE, после чего написал свой калькулятор и блокнот, освоил основы HTML и CSS, написал свой первый сайт, правильным ли будет переходить уже на освоение JAVA EE или всё таки написать какую нибудь игру и попрактиковаться еще в JAVA SE???

  18. Вверх #18
    Посетитель
    Пол
    Мужской
    Сообщений
    208
    Репутация
    30
    Есть всякие проекты на жабе. Что-то строчат на свинге, что-то клепают на ме, но 99.9999% проектов это грёбаный ентерпрайз. Обычно там требуются всякие томкаты, спринги, ежб и прочие хибернейты. Так уж тут заведено, что если есть приложение на жабе, то должен быть и база данных. Конечно же можно быть хипстером и писать гомнокод на java FX, но как я сказал ранее большинство проектов это ентерпрайз. Так что переставайте страдать непотребством и начинайте писать какой-нибудь инетрнет магазин, чтобы показать первому работодателю.

  19. Вверх #19
    Постоялец форума Аватар для SЕRЁГГА
    Пол
    Мужской
    Адрес
    ОДЕССА
    Возраст
    44
    Сообщений
    1,482
    Репутация
    472
    начал изучать java ee, столкнулся с первой проблемой делая вэб приложение beer adviser по учебнику - при запуске result.jsp выдает: An exception occurred processing JSP page /result.jsp at line 10
    вот исходники:
    https://gist.github.com/SeregaIronman/7b505f43a7b9449deee4
    уже несколько раз всё перепроверил - все согласно книге! но выкидывает исключение! помогите плииииз
    Последний раз редактировалось SЕRЁГГА; 11.03.2015 в 11:07.


Ответить в теме

Похожие темы

  1. cdma и java
    от Eu в разделе Мобильная техника
    Ответов: 1
    Последнее сообщение: 03.11.2005, 22:44
  2. Java MIDP 2.0
    от Eu в разделе Мобильная техника
    Ответов: 0
    Последнее сообщение: 06.10.2005, 11:47
  3. Разработка Java приложений
    от Adro1t в разделе Программирование
    Ответов: 1
    Последнее сообщение: 06.08.2005, 15:03
  4. заливка java игр на х100
    от from_hell в разделе Мобильная техника
    Ответов: 16
    Последнее сообщение: 30.03.2005, 22:10
  5. HELP!!!!!!!! (Java апплеты) ....
    от Jeno в разделе Программирование
    Ответов: 3
    Последнее сообщение: 27.10.2004, 10:46

Социальные закладки

Социальные закладки

Ваши права

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