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

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

Effas 13.06.2011 22:23

Ошибка после исполнения программы
 
В самом конце исполнения программы, выдает такой трюк:
Код:

Exception in thread "main" java.lang.NumberFormatException: For input string: "+
"
        at java.lang.NumberFormatException.forInputString(NumberFormatException.
java:48)
        at java.lang.Integer.parseInt(Integer.java:449)
        at java.lang.Integer.parseInt(Integer.java:499)
        at Calculator.main(Calculator.java:10)
Для продолжения нажмите любую клавишу . . .

Код программы:
PHP код:

import javax.swing.*;

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

        
// Парсим переменные.
        
int a1 Integer.parseInt(a);
        
int itog1 Integer.parseInt(itog);
        
int b1 Integer.parseInt(b);

        
// Установка условия.
        
switch(itog1) {
            case 
'+':
                
itog1 a1 b1;
                break;
            case 
'-':
                
itog1 a1 b1;
                break;
            case 
'*':
                
itog1 a1 b1;
                break;
            case 
'/':
                
itog1 a1 b1;
                break;
            default:
                
JOptionPane.showInputDialog("Вы ввели не правильный знак!");
        }

        
JOptionPane.showInputDialog("Результат: "+itog1);
        
System.exit(0);
    }



KaraMara 13.06.2011 22:31

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

JOptionPane.showInputDialog("Результат: "+itog1); 

заменить на это
PHP код:

JOptionPane.showInputDialog("Результат: " itog1); 

?

Effas 13.06.2011 22:34

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

Ro_0TT 13.06.2011 22:43

Re: Ошибка после исполнения программы
 
		String message = "Результат: " + itog1;
		JOptionPane.showInputDialog(message);
Code: Java


Еще как вариант (не уверен точно):
JOptionPane.showInputDialog("Результат: " + Integer.toString(itog1));
Code: Java

Effas 13.06.2011 23:04

Re: Ошибка после исполнения программы
 
Не в результате дело, без него та же ошибка, да же с вашим примером.
Ругается на парсинг >.<

Ro_0TT 13.06.2011 23:07

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

Сообщение от Effas (Сообщение 126442)
Не в результате дело, без него та же ошибка, да же с вашим примером.
Ругается на парсинг >.<

Тю блин... я не туда смотрел :(, еще удивился ошибке... Вы выведите ту переменную которую парсите... т.е. этот "a" (string) на экран - и поймете, почему ошибку при парсе инт'а дает..

VISTALL 13.06.2011 23:18

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

int itog1 = Integer.parseInt(itog);

зачем знак парсить в ИНТ?

Effas 13.06.2011 23:32

Re: Ошибка после исполнения программы
 
Эмм...
PHP код:

import javax.swing.*;

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

        
// Парсим переменные.
        
int a1 Integer.parseInt(a);

        
int b1 Integer.parseInt(b);

        
// Установка условия.
        
switch(itog) {
            case 
'+':
                
itog a1 b1;
                break;
            case 
'-':
                
itog a1 b1;
                break;
            case 
'*':
                
itog a1 b1;
                break;
            case 
'/':
                
itog a1 b1;
                break;
            default:
                
JOptionPane.showInputDialog("Вы ввели не правильный знак!");
        }

        
String message "Результат: " itog1;
        
JOptionPane.showInputDialog(message);
        
System.exit(0);
    }


PHP код:

E:\Java\Calculator\Calculator.java:15incompatible types
found   
java.lang.String
required
int
        
switch(itog) {
               ^
E:\Java\Calculator\Calculator.java:17incompatible types
found   
int
required
java.lang.String
                itog 
a1 b1;
                          ^
E:\Java\Calculator\Calculator.java:20incompatible types
found   
int
required
java.lang.String
                itog 
a1 b1;
                          ^
E:\Java\Calculator\Calculator.java:23incompatible types
found   
int
required
java.lang.String
                itog 
a1 b1;
                          ^
E:\Java\Calculator\Calculator.java:26incompatible types
found   
int
required
java.lang.String
                itog 
a1 b1;
                          ^
E:\Java\Calculator\Calculator.java:32cannot find symbol
symbol  
variable itog1
location
: class Calculator
        String message 
"Результат: " itog1;
                                         ^
6 errors

Tool completed with 
exit code 1 

Добавлено через 3 минуты
Сек, доковыряю.

Ro_0TT 13.06.2011 23:38

Re: Ошибка после исполнения программы
 
Код бред потому, что...
Проверяйте на наличие элементов...
 
if (itog.contains("+"))
 itog1 = a + b;
else if (itog.contains("-")
 itog1 = a - b;
....
 
Code: Java

Effas 13.06.2011 23:44

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

Сообщение от Ro0TT (Сообщение 126450)
Код бред потому, что...
Проверяйте на наличие элементов...
 
if (itog.contains("+"))
 itog1 = a + b;
else if (itog.contains("-")
 itog1 = a - b;
....
 
Code: Java

Вы имели в виду так?
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).


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

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