簡體   English   中英

掃描儀無法解析為類型

[英]Scanner cannot be resolved to a type

我剛剛安裝了 Ubuntu 8.04 並且我正在學習 Java 課程,所以我想為什么在安裝 IDE 時不安裝它。 所以我選擇了我選擇的 IDE Eclipse,並制作了一個非常簡單的程序 Hello World,以確保一切順利運行。 當我使用 Scanner 進行用戶輸入時,出現一個非常奇怪的錯誤:

我的代碼:

import java.util.Scanner;

class test { public static void main (String [] args) { Scanner sc = new Scanner(System.in); System.out.println("hi"); } }

輸出:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
    Scanner cannot be resolved to a type
    Scanner cannot be resolved to a type

   at test.main(test.java:5)

Scanner 類是 Java 5 中的新類。我不知道 Hardy 的默認 Java 環境是什么,但它不是 Sun 的,因此可能已經過時。

我建議安裝包 sun-java6-jdk 以獲得最新版本,然后告訴 Eclipse 使用它。

我知道,問題發布已經有一段時間了。 但該解決方案可能仍然對那里的任何人感興趣。 其實很簡單...

在 Ubuntu 下,您需要將 java 編譯器“javac”設置為使用 sun 的 jdk 而不是任何其他替代方案。 到目前為止發布的一些答案的不同之處在於我在談論 javac 而不是 java。 為此,啟動一個 shell 並執行以下操作:

  1. 作為 root 或 sudo 在命令行輸入:

# update-alternatives --config javac

  1. 找到指向 sun 的 jdk 的數字,輸入這個數字,然后點擊“ENTER”。

  2. 你完成了! 從現在開始,您可以在 Ubuntu 下享受 java.util.Scanner 了。

System.out.println("Say thank you, Mr."); Scanner scanner = java.util.Scanner(System.in); String thanks = scanner.next(); System.out.println("Your welcome.");

您導入了 Scanner,但您沒有使用它。 您正在使用掃描儀,它需要用戶輸入。 您試圖打印出一件事,但是您將程序暴露給您將使用自己的輸入這一事實,因此它決定在您提供用戶輸入后打印“Hello World”。 但是由於您沒有決定程序將打印什么,系統會因為不知道要打印什么而感到困惑。 你需要像int a=sc.nextInt();這樣的東西int a=sc.nextInt(); String b=sc.nextLine(); 然后給你的用戶輸入。 但是你說你想要Hello World! ,所以 Scanner 是多余的。

package com.company;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.print("Input seconds: ");
        int num = in.nextInt();

        for (int i = 1; i <=num; i++) {

            if(i%10==3)
            {
                System.out.println(i);
            }
        }

    }
}

如果您使用的是 1.5 之前的 Java 版本,則 java.util.Scanner 不存在。

您的 Eclipse 項目設置使用哪個版本的 JDK?

查看項目、屬性、Java 構建路徑——查找“JRE 系統庫”條目,它旁邊應該有一個版本號。

也可能是盡管您使用的是 JDK 1.5 或更高版本,但該項目有一些特定的設置集,告訴它編譯為 1.4。 您可以通過 Project >> Properties >> Java Compiler 進行測試,並確保“Compiler Compliance Level”設置為 1.5 或更高。

暫無
暫無

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

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