正在接收有关主线程异常的错误

时间:2019-07-19 08:54:31

标签: java

必须创建一个程序,用户在其中输入一个句子,然后该程序告诉用户字数中的字符数。我有一个错误,我认为是来自countWords方法造成的,如下所示:

Exception in thread "main" java.util.InputMismatchException
    at java.base/java.util.Scanner.throwFor(Scanner.java:939)
    at java.base/java.util.Scanner.next(Scanner.java:1594)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2212)

在JavaProgram.main

import java.util.Scanner;

public class Assignment9_jcolwell1297005{
    public static void main (String [] args){
        Scanner input = new Scanner (System.in);

        System.out.print( "Enter a sentence:");
        String sentence = input.next();

        System.out.print( "Enter 1 to count characters, 2 to count words:");
        int number = input.nextInt();

        if (number == 1)
            countCharacters(sentence);
        else if (number == 2)
            countWords(sentence);
        else 
            System.out.println("You did not enter a 1 or 2");
    }

    public static void countCharacters(String str){
        System.out.println( "The length of " + str + " is " + str.length());
    }

   public static void countWords(String str){
       String spaceHolder = " ";


       int count = 0;
       for (int j = 0; j < str.length(); j++){
           if (spaceHolder.equals(str.charAt(j)))
                count++;
       }
       System.out.println( "The number of words is" + count);
   }
} 

如果输入句子“一二三”,然后输入“ 2”,则结果应为“ 3”

0 个答案:

没有答案