Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Java (https://forum.zone-game.info/forumdisplay.php?f=126)
-   -   Ошибка после исполнения программы (https://forum.zone-game.info/showthread.php?t=14593)

Ro_0TT 14.06.2011 19:49

Re: Ошибка после исполнения программы
 
Цитата:

Учу, совместно практикуюсь удаленно от темы, закрепляю знания.
Простите, но судя по вашим вопросам - ни...фига вы не учите, ибо ошибки... для предотвращение которых нужны АЗЫ (Самый минимум) и английский (тоже АЗЫ), чтобы перевести ошибку..

Effas 14.06.2011 19:57

Re: Ошибка после исполнения программы
 
Цитата:

Сообщение от Lihoy (Сообщение 126526)
Не проще ли взять любой учебник и почитать азы языка.
Какой к черту return f, если у тебя public static void main() (собственно, о чем тебе и сказал компилятор)

О как, учебники лгут?! :negodue:
PHP код:

// Демонстрация использования оператора return.
class Return {
   public static 
void main(String args[]) {
      
boolean t true;
      
System.out.println("До выполнения возврата.");
         if(
t) return; // возврат к вызывающему объекту
      
System.out.println("Этот оператор выполняться не будет.");
   }



Ro_0TT 14.06.2011 19:58

Re: Ошибка после исполнения программы
 
Цитата:

Сообщение от Effas (Сообщение 126533)
О как, учебники лгут?! :negodue:
PHP код:

// Демонстрация использования оператора return.
class Return {
   public static 
void main(String args[]) {
      
boolean t true;
      
System.out.println("До выполнения возврата.");
         if(
t) return; // возврат к вызывающему объекту
      
System.out.println("Этот оператор выполняться не будет.");
   }



Ну, там все правильно написано... возврат к тому, что вызывало main(String args[]) :facepalm:

Effas 14.06.2011 20:00

Re: Ошибка после исполнения программы
 
Цитата:

Сообщение от Ro0TT (Сообщение 126532)
Простите, но судя по вашим вопросам - ни...фига вы не учите, ибо ошибки... для предотвращение которых нужны АЗЫ (Самый минимум) и английский (тоже АЗЫ), чтобы перевести ошибку..

Простите, но сного вы меня не поняли, я в том посте со скринами отписал главную проблему.

PHP код:

import javax.swing.*;

public class 
Calculator {
    public static 
void main(String[] args) {
        
// Парсинг и инициализация переменных.
        
int a Integer.parseInt(JOptionPane.showInputDialog("Введите 1-е число:"));
        
String f JOptionPane.showInputDialog("Введите знак:");
            
// проверка знака
            
if(f.charAt(0) != '+' f.charAt(0) != '-' f.charAt(0) != '*' f.charAt(0) != '/') {
                
JOptionPane.showInputDialog("Вы ввели не правильный знак!");
            }
        
int b Integer.parseInt(JOptionPane.showInputDialog("Введите 2-е число:"));

        
int result 0;

        
// Установка решения.
        
switch(f.charAt(0)) {
            case 
'+':
                
result b;
                break;
            case 
'-':
                
result b;
                break;
            case 
'*':
                
result b;
                break;
            case 
'/':
                
result b;
                break;
        }

        
// Вывод результата.
        
JOptionPane.showInputDialog("Результат: " result);
    }


Итог поэтапный:
1)http://rghost.ru/10870291.view
2)http://rghost.ru/10870531.view
3)http://rghost.ru/10870571.view

Добавлено через 33 секунды
Цитата:

Сообщение от Ro0TT (Сообщение 126535)
Ну, там все правильно написано... возврат к тому, что вызывало main(String args[]) :facepalm:

Я пробывал так >.<

Ro_0TT 14.06.2011 20:21

Re: Ошибка после исполнения программы
 
 
        // Парсинг и инициализация переменных.
        int a = Integer.parseInt(JOptionPane.showInputDialog("Введите 1-е число:"));
        String f = JOptionPane.showInputDialog("Введите знак:");
        int b = Integer.parseInt(JOptionPane.showInputDialog("Введите 2-е число:"));
 
        int result = 0;
 
        // Установка решения.
        switch(f.charAt(0)) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                result = a / b;
                break;
            default:
                System.out.println("Вы ввели не правильный знак: " + f.charAt(0));
                return;
        }
        System.out.println("Результат: " + result);
 
Code: Java

Lihoy 14.06.2011 20:32

Re: Ошибка после исполнения программы
 
Цитата:

Сообщение от Effas (Сообщение 126533)
О как, учебники лгут?! :negodue:
PHP код:

// Демонстрация использования оператора return.
class Return {
   public static 
void main(String args[]) {
      
boolean t true;
      
System.out.println("До выполнения возврата.");
         if(
t) return; // возврат к вызывающему объекту
      
System.out.println("Этот оператор выполняться не будет.");
   }



Нет, скорее у кого-то мозг не переваривает информацию. Я написал "какой к черту return f", где f является String'ом, ферштейн? Нет? Опять же читаем учебник. В приведенном примере из учебника все верно, поскольку используется просто return.

Effas 14.06.2011 20:40

Re: Ошибка после исполнения программы
 
Цитата:

Сообщение от Ro0TT (Сообщение 126538)
 
        // Парсинг и инициализация переменных.
        int a = Integer.parseInt(JOptionPane.showInputDialog("Введите 1-е число:"));
        String f = JOptionPane.showInputDialog("Введите знак:");
        int b = Integer.parseInt(JOptionPane.showInputDialog("Введите 2-е число:"));
 
        int result = 0;
 
        // Установка решения.
        switch(f.charAt(0)) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                result = a / b;
                break;
            default:
                System.out.println("Вы ввели не правильный знак: " + f.charAt(0));
                return;
        }
        System.out.println("Результат: " + result);
 
Code: Java

В этом случае происходит вывод сообщ. о неправльном вводе после того, как введем 1 число, знак, 2е число. Вот почему я и вырезал из
switch default.

Добавлено через 1 минуту
Нужно:
Вводим 1ое число.
Вводим знак. Если введен не правильно знак, выводится сообщение об ошибке и возвращаемся к вводу знака.
Вводим 2ое число.
Результат.

Ro_0TT 14.06.2011 20:56

Re: Ошибка после исполнения программы
 
 
        // Парсинг и инициализация переменных.
        int a = Integer.parseInt(JOptionPane.showInputDialog("Введите 1-е число:"));
        String f = JOptionPane.showInputDialog("Введите знак:");
 
        while(f.charAt(0)!='-' && f.charAt(0)!='+' && f.charAt(0)!='*' && f.charAt(0)!='/')
		{
                f = JOptionPane.showInputDialog("Введите знак:");
        }
 
        int b = Integer.parseInt(JOptionPane.showInputDialog("Введите 2-е число:"));
        int result = 0;
 
        // Установка решения.
        switch(f.charAt(0)) {
            case '+':
                result = a + b;
                break;
            case '-':
                result = a - b;
                break;
            case '*':
                result = a * b;
                break;
            case '/':
                result = a / b;
                break;
        }
 
        // Вывод результата.
        System.out.println("Результат: " + result);
 
Code: Java

Effas 14.06.2011 21:32

Re: Ошибка после исполнения программы
 
аааа... красавчик, с вайлом не сообразил сразу, т.к. последнее прочитанное было ретурн ;)

Добавлено через 1 минуту
Интересует такой еще вопрос, при исполнение программы, помимо окна ввода, сзади торчит консоль, как её убрать? (на скринах выше видно)

Aquanox 14.06.2011 21:36

Re: Ошибка после исполнения программы
 
замени строку
Код:

int itog1 = Integer.parseInt(itog);
на
Цитата:

char itog1 = itog.isEmpty() ? '\0' : itog.charAt(0);


Текущее время: 09:46. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot