簡體   English   中英

掃描儀的 Java 異常

[英]Java exception with scanner

我的掃描儀有問題。 當我編譯它時,沒有問題。 但是當我想運行這個程序時,我得到了一個例外。 你們中的任何人都可以向我解釋這個問題的原因嗎?

import java.util.Scanner;
public class CiagArytmetyczny {

    public static void main(String[] args) {
        Scanner s = new Scanner("System.in");
        System.out.println("Podaj dlugosc ciagu: ");
        int dl = s.nextInt();
        int element = 2;

        for(int i=1; i<=dl; i++) {
            element=element+3;
            System.out.println(element);

        }
    }
}

Podaj dlugosc ciagu:

Exception in thread "main" java.util.InputMismatchException
    at java.util.Scanner.throwFor(Scanner.java:864)

    at java.util.Scanner.next(Scanner.java:1485)

    at java.util.Scanner.nextInt(Scanner.java:2117)

    at java.util.Scanner.nextInt(Scanner.java:2076)

    at CiagArytmetyczny.main(CiagArytmetyczny.java:8)

過程完成。

你在這一行有問題

 Scanner s = new Scanner("System.in");

您正在將字符串傳遞給 Scanner 構造函數。 根據 java 文檔( Scanner(String source) ),將返回一個新的 Scanner ,它生成從指定字符串掃描的值。 根據程序的其余部分,應該提供一個帶有數字的字符串,以便掃描儀在下一行中提取。

int dl = s.nextInt();

如果您打算從控制台獲取輸入,請按如下方式更改掃描儀初始化。 Scanner 的構造函數很少,我建議您查看java docs

Scanner s = new Scanner(System.in);

這會將控制台輸入流提供給掃描器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM