Elettracompany.com

Компьютерный справочник
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Java util inputmismatchexception

Java ошибка «исключение в потоке «main» java.util.InputMismatchException» в программе массива

Недавно я набрал эту программу java, чтобы принять десять областей и их pin-коды, а затем выполнить поиск, чтобы найти конкретную область и распечатать ее pin-код. Вот код из программы :

И после входа в две области я получаю это ERROR:

Кто-нибудь, пожалуйста, скажите мне, что я делаю не так! :/ Любая помощь будет оценена по достоинству.

6 Ответов

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

Концепция 1.

Концепция 2.

// сравнение строк с помощью метода compareTo (который возвращает 0 при равенстве

Rest из вашего кода и концепций являются правильными 🙂

InputMismatchException — если следующий токен не соответствует целочисленному регулярному выражению или находится вне диапазона

Итак, похоже, что ваш Scanner пытается читать в int , но получает что-то, что он не может превратить в int (либо то, что он читает, не является числом, либо число слишком велико).

Вы вызываете соответствующую функцию здесь:

Я предполагаю, что в какой-то момент ваш вызов .nextLine() поглощает целую строку, а следующая строка начинается с «area». Я не могу сделать больше, не зная, как вы ожидаете, что вход будет отформатирован.

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

Похоже, что вы ввели строку, тогда как nextInt() ожидает целое число.

Я предполагаю, что ошибка происходит в строке pincode[i]=s.nextInt(); (которая является строкой 14). Причина, по которой это происходит, заключается в том, что входные данные (от System.in) не могут быть проанализированы как int . Вы уверены, что вводите правильные значения?

Входные данные не могут быть проанализированы как целое число. Может быть, у вас есть запятая в конце строки.

если (поиск= = area[j])

это плохая практика для проверки равенства строк. использовать поиск.равняется(area[j])с null-проверка.

Я новичок в программировании. Однако я столкнулся с аналогичной проблемой, чтобы прийти при создании клиентов для банка (это просто проблема практики). Чтобы преодолеть эту проблему, я создал отдельные сканеры для каждого входного типа &, закрыв все сканеры в конце программы. Это сработало.

Похожие вопросы:

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

Читать еще:  Concurrent modification exception java

Я сделал калькулятор Java, но когда я ввожу число, которое действительно длинное, я получаю эту ошибку: Исключение в потоке main java.util.InputMismatchException: для входной строки.

Может кто-нибудь помочь с этим? Я могу заставить его работать, но после выходного сообщения What is the outside Temperature: Number here Тип (C) в градусах Цельсия или (F) в течение по Фаренгейту.

Я пытаюсь извлечь некоторые записи из файла txt и поместить их в базу данных в следующей программе Java package Java_Demo; import java.sql.*; import java.util.*; import java.io.*; public class.

я пытаюсь найти свои самые первые шаги в java и при разработке кода ниже import java.util.Scanner; public class MoyEcart < public static void main(String[] args) < float moy= 0, ecart_type= 0.

Я считаю, что я написал весь мой код правильно, но я получаю эту ошибку, может кто-то помочь мне понять: Exception in thread main java.util.InputMismatchException at.

Я искал, но я действительно не могу найти ничего плохого в коде, пожалуйста, помогите! Код компилируется, но это ошибка, которую я получаю, когда хочу ответить на вопрос 3: Exception in thread main.

У меня есть вопрос о том, что происходит, всякий раз, когда я пытаюсь его скомпилировать, он продолжает давать мне такую ошибку: Exception in thread main java.util.InputMismatchException at.

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

Exception in thread «main» java.util.InputMismatchException. Scanner-class

I’ve looked through some of the questions but I can’t seem to find any good solutions.

I have a very simple code that just won’t work. It’s supposed to get the weight and height of the user, and then compute the BMI.

The values I put in is different everytime. But lets say 85 for variable vikt and 1.80 for variable langd. It does work when i use a , instead of a . though. I get the following error.

The code I use is the following;

It works for me. What values did you provide? BTW you don’t need two scanners. Use one to read all data from console. – Pshemo 15 ноя. 17 2017-11-15 16:20:51

Читать еще:  Код ошибки msvcr100 dll

firstly you don’t need two separate scanner objects to read input from the user, one will suffice. The error you are getting is because the number you are inputting is not a double value. – RAZ_Muh_Taz 15 ноя. 17 2017-11-15 16:20:53

Please [edit] your post and show the input data that caused this exception. – Jim Garrison 15 ноя. 17 2017-11-15 16:23:07

Is it possible that this is a locale issue? What I mean is, are you using . or , for decimal point? What does your input look like? – Alp 15 ноя. 17 2017-11-15 16:24:01

My code does work when I use a , instead of a . acctually.. Why would this be? – Daniel Tegelberg 16 ноя. 17 2017-11-16 08:08:32

4 ответа

The error can occur in three cases

1) you may be giving a wrong input format(instead of double). Try to give input in double

2) You may need useLocale with the scanner class

3) You can also use try-catch to handle the error by

Создан 15 ноя. 17 2017-11-15 16:30:15 Previn

Input mismatch exception is because your input is of different type than expected input. You can put while loop and check if the input hasNextDouble() to make it always work:

Reason Why You getting error[Exception]:

When You are required to enter the Double,int and you enter String thn this exception occurs and stops your program. You can get input with one Scanner only you can reuse one Scanner again and again no need to make another object of Scanner .Like i used

Note Exception Handling not Explained because of beginner level. I recommend to first learn it yourself if problems feel free to ask.

Example When i getting InputMismatchException

Case when i am getting same error like you.

It seems like you have entered something not a number. When you use nextDouble, that’s mean you can only input numbers, not strings. I hope this helps. You can use try-catch in order to avoid errors.

Метод сканера nextFloat () в Java с примерами

Метод nextFloat () класса java.util.Scanner сканирует следующий токен входных данных как Float (). Если перевод выполнен успешно, сканер продвигается дальше соответствующего ввода.

Читать еще:  Java util zip

Синтаксис:

Параметры: функция не принимает никаких параметров.

Возвращаемое значение: эта функция возвращает число с плавающей точкой, отсканированное с входа.

Исключения: функция выдает три исключения, как описано ниже:

  • InputMismatchException: если следующий токен не соответствует регулярному выражению Float или находится вне диапазона
  • NoSuchElementException: если ввод исчерпан
  • IllegalStateException: если этот сканер закрыт

Ниже программы иллюстрируют вышеуказанную функцию:

Программа 1:

// Java-программа для иллюстрации
// nextFloat () метод класса Scanner в Java
// без параметра

public class GFG1 <

public static void main(String[] argv)

String s = «Gfg 9 + 6 = 12.0» ;

// создаем новый сканер

// с указанным объектом String

Scanner scanner = new Scanner(s);

// если следующий является Float,

// распечатать найден и поплавок

System.out.println( «Found Float value :»

// если поплавок не найден,

// выводим «Not Found:» и токен

System.out.println( «Not found Float() value :»

Программа 2: продемонстрировать InputMismatchException

// Java-программа для иллюстрации
// nextFloat () метод класса Scanner в Java
// InputMismatchException

public class GFG1 <

public static void main(String[] argv)

String s = «Gfg 9 + 6 = 12.0» ;

// создаем новый сканер

// с указанным объектом String

Scanner scanner = new Scanner(s);

// если следующий является Float

// распечатать найден и поплавок

// так как значение 60 находится вне диапазона

System.out.println( «Next Float value :»

catch (Exception e) <

System.out.println( «Exception thrown: » + e);

Программа 3: продемонстрировать исключение NoSuchElementException

// Java-программа для иллюстрации
// nextFloat () метод класса Scanner в Java
// NoSuchElementException

public class GFG1 <

public static void main(String[] argv)

// создаем новый сканер

// с указанным объектом String

Scanner scanner = new Scanner(s);

// Попытка получить следующее значение Float

// больше, чем сканер

// Следовательно, он сгенерирует исключение

for ( int i = 0 ; i 5 ; i++) <

// если следующий является Float,

// распечатать найден и поплавок

System.out.println( «Found Float value :»

// если поплавок не найден,

// выводим «Not Found:» и токен

System.out.println( «Not found Float value :»

catch (Exception e) <

System.out.println( «Exception thrown: » + e);

Программа 4: Для демонстрации IllegalStateException

// Java-программа для иллюстрации
// nextFloat () метод класса Scanner в Java
// IllegalStateException

Ссылка на основную публикацию
Adblock
detector