Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Ошибка после исполнения программы
#1
В самом конце исполнения программы, выдает такой трюк:
Код:
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 код:
<?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);
}
}
Ответ
#2
С явой не очень, но может поможет это
PHP код:
<?php 
JOptionPane
.showInputDialog("Результат: "+itog1);
заменить на это
PHP код:
<?php 
JOptionPane
.showInputDialog("Результат: " + itog1);
?
Ответ
#3
Этот пробел, не сыграет никакой роли (:
Ответ
#4
[src=java] String message = "Результат: " + itog1;
JOptionPane.showInputDialog(message);[/src]



Еще как вариант (не уверен точно):
[src=java]JOptionPane.showInputDialog("Результат: " + Integer.toString(itog1));[/src]
Ответ
#5
Не в результате дело, без него та же ошибка, да же с вашим примером.
Ругается на парсинг >.<
Ответ
#6
Effas Написал:Не в результате дело, без него та же ошибка, да же с вашим примером.
Ругается на парсинг >.<

Тю блин... я не туда смотрел Sad, еще удивился ошибке... Вы выведите ту переменную которую парсите... т.е. этот "a" (string) на экран - и поймете, почему ошибку при парсе инт'а дает..
Ответ
#7
Цитата: int itog1 = Integer.parseInt(itog);


зачем знак парсить в ИНТ?
Ответ
#8
Эмм...
PHP код:
<?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 код:
<?php 
E
:\Java\Calculator\Calculator.java:15: incompatible types
found
: java.lang.String
required
: int
switch(itog) {
^
E:\Java\Calculator\Calculator.java:17: incompatible types
found
: int
required
: java.lang.String
itog
= a1 + b1;
^
E:\Java\Calculator\Calculator.java:20: incompatible types
found
: int
required
: java.lang.String
itog
= a1 - b1;
^
E:\Java\Calculator\Calculator.java:23: incompatible types
found
: int
required
: java.lang.String
itog
= a1 * b1;
^
E:\Java\Calculator\Calculator.java:26: incompatible types
found
: int
required
: java.lang.String
itog
= a1 / b1;
^
E:\Java\Calculator\Calculator.java:32: cannot find symbol
symbol
: variable itog1
location
: class Calculator
String message
= "Результат: " + itog1;
^
6 errors

Tool completed with
exit code 1

Добавлено через 3 минуты
Сек, доковыряю.
Ответ
#9
Код бред потому, что...
Проверяйте на наличие элементов...
[src=java]
if (itog.contains("+"))
itog1 = a + b;
else if (itog.contains("-")
itog1 = a - b;
....
[/src]
Ответ
#10
Ro0TT Написал:Код бред потому, что...
Проверяйте на наличие элементов...
[src=java]
if (itog.contains("+"))
itog1 = a + b;
else if (itog.contains("-")
itog1 = a - b;
....
[/src]
Вы имели в виду так?
PHP код:
<?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 = a + b;
else if (
itog.contains("-"))
itog = a - b;
else if (
itog.contains("*"))
itog = a * b;
else if (
itog.contains("/"))
itog = a / b;
}
}
PHP код:
<?php 
E
:\Java\Calculator\Calculator2.java:12: operator - cannot be applied to java.lang.String,java.lang.String
itog
= a - b;
^
E:\Java\Calculator\Calculator2.java:14: operator * cannot be applied to java.lang.String,java.lang.String
itog
= a * b;
^
E:\Java\Calculator\Calculator2.java:16: operator / cannot be applied to java.lang.String,java.lang.String
itog
= a / b;
^
3 errors




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


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Intellij Idea->Android project -> Ошибка iluhin 0 2,369 05-05-2020, 02:10 PM
Последний пост: iluhin
  Ошибка в роботе login servera Klay 11 4,287 03-21-2015, 07:14 PM
Последний пост: Donatte
  Ошибка 1406. JAVA. Елизавет 4 2,469 07-11-2013, 08:47 PM
Последний пост: Елизавет
  ошибка в проге Retribution 4 3,411 05-30-2013, 10:23 PM
Последний пост: Mangol

Перейти к форуму:


Пользователи, просматривающие эту тему: 2 Гость(ей)