我如何解决线程主异常?出了什么问题?



我试着写一个小程序,但它一直得到一个错误消息:

Exception in thread "main" java.lang.NumberFormatException: For input string: "hallo"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at TheNoteBook.main(TheNoteBook.java:7)
我真的不明白发生了什么事。
import java.util.Scanner;
public class TheNoteBook {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int t = Integer.parseInt( in.nextLine() );
        for(int c=0; c<t; c++){
            String word = in.nextLine();
            Note note = new Note(word);
            System.out.println("Note " +c+ " says: " + note.getContent() ); 

       }
    }

您的代码运行良好。你只是给了程序错误的输入。

NumberFormatException表示,您正在尝试将某物转换为非数字。在您的示例中,您尝试将hallo转换为数字。

所以你试图解析一个整数,但你的输入是一个字符串hallo。你的类应该如何将hallo转换为数字?因此,您可能尝试先输入字符串,而的第一个输入必须是一个数字

顺便说一下,您应该使用nextInt()方法来获得数字输入,而不是nextLine()

Scanner in = new Scanner(System.in);
        int t = in.nextInt();
        in.nextLine();
        for (int c = 0; c < t; c++)
        {
            String word = in.nextLine();
            Note note = new Note(word);
            System.out.println("Note " + c + " says: " + note.getContent());
        }

相关内容

  • 没有找到相关文章

最新更新