2016-05-11 2 views
-2

Я работаю над обработкой исключений и созданием нового Java Project.Program ждет ввода типа пользователя с клавиатуры. Если пользователь набирает два целых числа, он будет суммировать эти числа. Если пользователь не набирает номера, программа будет печатать 'Type numbers!' на экране. Вот что я пробовал:Try-Catch sum two numbers

public static void main(String[] args) { 
    int a = 0; 
    int b = 0; 
    System.out.println("Type two numbers"); 
    Scanner scan = new Scanner(System.in); 
    try { 
     a = scan.nextInt(); 
     b = scan.nextInt(); 
    } catch (Exception ex) { 
     System.err.println("Type number!"); 
    } 
} 
+1

Так что конкретно вопрос? – Mureinik

+0

Точный вопрос: если пользователь не вводит целочисленные значения, возникает ошибка, когда мы хотим суммировать эти числа. Так что я не писал операцию с суммой –

+0

нормально, но в чем ваш вопрос? вы спрашиваете, как печатать сумму из двух чисел? – njzk2

ответ

1

Попробуйте код ниже. Он должен работать так, как вы ожидаете:

public static void main(String[] args) { 
    System.out.println("Type two numbers"); 
    sum(); 
} 

private static void sum(){ 
    int a = 0; 
    int b = 0; 
    Scanner scan = new Scanner(System.in); 
    try { 
     a = scan.nextInt(); 
     b = scan.nextInt(); 
     System.out.println(a+b); 
    } catch (Exception ex) { 
     System.err.println("Type numbers in correct format!"); 
     sum(); 
    } 
} 
+0

Большое спасибо. Зачем вы пишете личное? Это работает, если нет ключевого слова перед статической суммой void –

+0

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

Смежные вопросы