Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Litesav
0 / 0 / 0
Регистрация: 27.07.2016
Сообщений: 29
#1

Почему проверку на наличие целого типа символа проходит только первый введённый символ

27.07.2016, 17:24. Просмотров 261. Ответов 3
Метки нет (Все метки)

Здравствуйте, только приступил к изучению Java (3-ий день), хотелось бы узнать, почему проверку на наличие целого типа символа проходит только первый введённый символ.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
    System.out.print("Введите два числа: ");
    Scanner t = new Scanner(System.in);
    if (t.hasNextInt()){
        int n1=t.nextInt();
        int n2=t.nextInt();
        int s=n1+n2;
        System.out.print("Сумма чисел: "+s);
    }
    else System.out.println("Оба числа должны быть целыми!");
    }
 
}
При вводе двух букв или первой буквы, второй целой цифры всё хорошо, однако, если ввести сначала цифру, затем букву, то получается следующая ошибка:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
    System.out.print("Введите два числа: ");
    Scanner t = new Scanner(System.in);
    if (t.hasNextInt()){
        int n1=t.nextInt();
        int n2=t.nextInt();
        int s=n1+n2;
        System.out.print("Сумма чисел: "+s);
    }
    else System.out.println("Оба числа должны быть целыми!");
    }
 
}

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2016, 17:24
Ответы с готовыми решениями:

Почему печатает только первый символ из argv[i]?
Почему печатает только первый символ из argv? Как написать чтобы печатало всю...

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

После каждого символа строки вставить символ, введённый пользователем
Написать процедуру, которая после каждого символа строки вставляет символ,...

Написать функцию целого типа, определяющую наличие в первой строке матрицы наличие седловой точки.
ребят нужна помощь Задачи по программированию. Задача решается на двух...

Вывод переменных типа char: правильно выводится только первый символ
Всем привет. Извиняюсь, если вопрос слишком уж нелепый, но не могу понять в чем...

3
Litesav
0 / 0 / 0
Регистрация: 27.07.2016
Сообщений: 29
06.08.2016, 23:46  [ТС] #2
Следующая ошибка:

Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at array.Ine.main(Ine.java:11)
0
LeX
341 / 340 / 106
Регистрация: 30.06.2010
Сообщений: 1,326
07.08.2016, 20:27 #3
Из документации java.util.Scanner:
A Scanner breaks its input into tokens using a delimiter pattern, which by default matches whitespace. The resulting tokens may then be converted into values of different types using the various next methods.
Разделитель по-умолчанию - пробел.

Документация по методу nextInt():
java.util.InputMismatchException - if the next token does not match the Integer regular expression, or is out of range
Указанная вами ошибка говорит о том что например "12п" не будет соответствовать целому числу (судя по описанным вами действиям)
0
vcrop
209 / 170 / 78
Регистрация: 14.06.2016
Сообщений: 365
07.08.2016, 21:22 #4
Проблемка в том, что hasNextInt проверяет только, что ты отправляешь в n1
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.08.2016, 21:22

Почему функция putchar(); выводит только первый символ?(Короткий код)
#include <stdio.h> #include <conio.h> int main() { int c; c=getchar();...

почему не проходит проверку?
#include "stdafx.h" #include "stdio.h" #include "string" #include "conio.h"...

Почему не проходит проверку?
Собственно задача: Входные данные Первая строка содержит целые числа N, M и K...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru