Исключение в потоке "main" java.util.InputMismatchException при использовании jGRASP - PullRequest
0 голосов
/ 13 сентября 2018

Я получаю эту ошибку: Исключение в потоке "main" java.util.InputMismatchException в Mad Lib, которое я создаю для класса.Я не спрашиваю, как я могу улучшить код, просто почему он не работает.Я получаю это уведомление только после третьего прилагательного.Вот мой код:

import java.util.Scanner;

public class scanner_practice {
public static void main(String[] args) {
// Housekeeping
Scanner kb = new Scanner(System.in);
String word, story;
int intVar;
double dubVar;

// Introduction
System.out.println("Hi there! I have a great story to tell, but I don't remember some of the words.");
System.out.println("Will you help me? Hooray! Thank you! Here we go...");

// Instructions
System.out.println("\nWhen I ask you for a word or number, just type it. I'll handle the rest.");

// Collect values and bulid the story
System.out.print("Verb: ");
word = kb.next();

story = "I am Dr. Pink and I am destined to " + word;

System.out.print("Adjective: ");
word = kb.next();
kb.nextLine(); // Stops the program skipping
story += "the world! Unfortunately the \n" + "world is full of " + word;

System.out.print("Plural noun:  ");
word = kb.nextLine();

story += " " + word;


System.out.print("Adjective: ");
word = kb.next();

story += "that do not agree. So this is \n" + "my " + word;

System.out.print("Adjective: ");
intVar = kb.nextInt();

story += " plan: To start with, I'll need to build my " + intVar;

System.out.print("Adjetive ");
word = kb.next();

story += " hideout in an /n" + "abandoned " + word; 

System.out.print("Company Name: ");
word = kb.next();

story += " complex in the middle of the" + word; 

System.out.print("Type of Place: ");
word = kb.next();
story += ". All \n" + "the " + word; 

System.out.print("Adjective: ");
word = kb.next();
story += "will address me as 'The Great and " + word; 

System.out.print("Occupation (plural): ");
word = kb.next();
kb.nextLine(); // Stops the program skipping
story += " Dr. Pink.' I will \n" + "hire some  " + word; 

System.out.print("Plural event): ");
word = kb.nextLine();
story += "to design a machine to trigger \n" + "a huge  " + word; 
System.out.print("Plural noun: ");
word = kb.next();
story += " whenever I want it to. And if they don't want to build it, I \n" + "will capture their " + word; 

System.out.print("Something you hate doing: ");
word = kb.next();
story += " and threaten to make them " + word + "for hours on end. \n" + "Muwahahahahaha!"; 


// Print out the story
System.out.println(story);
}

}

Что мне нужно исправить?Сегодня вечером ... так что, если я смогу быстро получить ответ, это будет значить для меня мир!Большое спасибо!

1 Ответ

0 голосов
/ 14 сентября 2018

Обучение , как устранять ошибки, почти так же важно, как и обучение кодированию :-)

A. Начните с просмотра документов для InputMismatchException , чтобы узнать, когда и почему это происходит:

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

B. Посмотрите на трассировку полного стека. Трассировка предоставляет контекст об ошибке, такой как строка, где она произошла, и какой метод вызывался:

... at java.util.Scanner. nextInt (Scanner.java:2076)
at scanner_practice.main (scanner_practice.java:41)

C. Посмотрите на код Java около строки ошибки:

    line 40: System.out.print("Adjective: "); 

Заключение: «прилагательное», вероятно, не является целым числом.

...