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

Форум администраторов игровых серверов (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 08:36

Re: Ошибка после исполнения программы
 
Добавьте переменную
 
int itog1;
 
Code: Java
И сделайте как я написал.

..или
 
itog = Iteger.parseInt(a1 / b1);
 
Code: Java
Добавлено через 4 минуты
Цитата:

Сообщение от Effas (Сообщение 126451)
Вы имели в виду так?
PHP код:

import javax.swing.*;

public class 
Calculator2 {
    public static 
void main(String[] args) {
        
String a JOptionPane.showInputDialog("Введите 1-е число:");
        
String itog JOptionPane.showInputDialog("Введите знак:");
        
String b JOptionPane.showInputDialog("Введите 2-е число:");

        if (
itog.contains("+"))
            
itog b;
                else if (
itog.contains("-"))
                    
itog b;
                        else if (
itog.contains("*"))
                            
itog b;
                                else if (
itog.contains("/"))
                                    
itog b;
    }


PHP код:

E:\Java\Calculator\Calculator2.java:12operator cannot be applied to java.lang.String,java.lang.String
                    itog 
b;
                             ^
E:\Java\Calculator\Calculator2.java:14operator cannot be applied to java.lang.String,java.lang.String
                            itog 
b;
                                     ^
E:\Java\Calculator\Calculator2.java:16operator cannot be applied to java.lang.String,java.lang.String
                                    itog 
b;
                                             ^
3 errors 

Мой пост №8, проблема топика была в парсинге символа.
Но если парсинг убираем, выскакивает туча ошибок (№8).

Как вы вообще можете к String'у приравнивать арифметические операции?

VISTALL 14.06.2011 09:17

Re: Ошибка после исполнения программы
 
  1.  
  2. mport javax.swing.*;
  3.  
  4. public class Calculator {
  5. public static void main(String[] args) {
  6. int a = Integer.parseInt(JOptionPane.showInputDialog("Введите 1-е число:"));
  7. String itog = JOptionPane.showInputDialog("Введите знак:");
  8. int b = Integer.parseInt(JOptionPane.showInputDialog("Введите 2-е число:"));
  9.  
  10. int result = 0;
  11. // Установка условия.
  12. switch(itog.charAt(0)) {
  13. case '+':
  14. result = a + b;
  15. break;
  16. case '-':
  17. result = a - b;
  18. break;
  19. case '*':
  20. result = a * b;
  21. break;
  22. case '/':
  23. result = a / b;
  24. break;
  25. default:
  26. JOptionPane.showInputDialog("Вы ввели не правильный знак!");
  27. }
  28.  
  29. JOptionPane.showInputDialog("Результат: " + result);
  30. System.exit(0);
  31. }
  32. }
  33.  
Code: Java

Effas 14.06.2011 15:41

Re: Ошибка после исполнения программы
 
Спасибо большое, хотел бы чуть инфы о
Код:

.charAt(0)

Ro_0TT 14.06.2011 15:44

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

Сообщение от Effas (Сообщение 126500)
Спасибо большое, хотел бы чуть инфы о
Код:

.charAt(0)

String - это массив символов (char), (string).charAt(0) - получение первого символа из переменной.

Effas 14.06.2011 19:31

Re: Ошибка после исполнения программы
 
Чуть усовершенствовал, ввел проверку в самом начале.
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("Вы ввели не правильный знак!");
                
Thread.sleep(2000);
                return 
f;
            }
        
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);
    }


PHP код:

E:\Java\Calculator\Calculator.java:12cannot return a value from method whose result type is void
                
return f;
                       ^
1 error

Tool completed with 
exit code 1 

Если не добавлять задержку ретурна, то:
Поэтапно:
1)http://rghost.ru/10870291.view
2)http://rghost.ru/10870531.view
3)http://rghost.ru/10870571.view

Ro_0TT 14.06.2011 19:34

Re: Ошибка после исполнения программы
 
Не понял.. а зачем вам 'return' ? return - завершает метод, и в случае если метод должен что-то "вернуть" - передает... В вашем случае метод ничего не возвращает, а вы пытаетесь..

Lihoy 14.06.2011 19:36

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

Effas 14.06.2011 19:44

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

Сообщение от Ro0TT (Сообщение 126525)
Не понял.. а зачем вам 'return' ? return - завершает метод, и в случае если метод должен что-то "вернуть" - передает... В вашем случае метод ничего не возвращает, а вы пытаетесь..

В моем случае, если не правильно введен знак, должно вернуться к вводу знака.

Добавлено через 3 минуты
Цитата:

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

Учу, совместно практикуюсь удаленно от темы, закрепляю знания.

Ro_0TT 14.06.2011 19:48

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

Сообщение от Effas (Сообщение 126527)
В моем случае, если не правильно введен знак, должно вернуться к вводу знака.

Матерится хочу.. а оззи не разрешает...

Используйте

 
String f = "";
while(f.charAt(0) != '+' | f.charAt(0) != '-' | f.charAt(0) != '*' | f.charAt(0) != '/')
  f = JOptionPane.showInputDialog("Введите знак:");
 
Code: Java

Effas 14.06.2011 19:49

Re: Ошибка после исполнения программы
 
Ща поковыряюсь, да дело не в том, почитай ниже, посмотри скрины.


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

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