根據java -version
這是我的Ubuntu的Java環境是這樣的:Java 7個的功能不工作與Java版本的Ubuntu 「1.7.0_51」
java version "1.7.0_51"
OpenJDK Runtime Environment (IcedTea 2.4.4) (7u51-2.4.4-0ubuntu0.12.04.2)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
我javac -version
是:
javac 1.6.0_30
如何我要更改我的javac版本嗎?感謝提示@SotiriosDelimanolis。 ;)(如果你正在閱讀本文,並且有相同的問題,請閱讀註釋,我鏈接到描述如何在Ubuntu上執行此操作的頁面)。
我試圖運行下面的程序:
import java.util.*;
class Separate {
public static void main(String[] args) {
String text = "<head>first program</head> <body>hello world</body>";
Set<String> words = new TreeSet<>(); //1 Compiler error
try(Scanner tokenizingScanner = new Scanner(text)) { //2 Compiler Error
tokenizingScanner.useDelimeter("\\W");
while(tokenizingScanner.hasNext()) {
String word = tokenizingScanner.next();
if(!word.trim().equals("")) {
words.add(word);
}
} //end while
} //end try
for(String word: words) {
System.out.print(word + " ");
} //end for
}
我在試圖編譯收到這些錯誤:
Separate.java:8: illegal start of type
Set<String> words = new TreeSet<>();
^
Separate.java:9: '{' expected
try(Scanner tokenizingScanner = new Scanner(text)) {
^
Separate.java:9: ')' expected
try(Scanner tokenizingScanner = new Scanner(text)) {
^
Separate.java:9: ';' expected
try(Scanner tokenizingScanner = new Scanner(text)) {
^
Separate.java:9: 'try' without 'catch' or 'finally'
try(Scanner tokenizingScanner = new Scanner(text)) {
^
Separate.java:24: reached end of file while parsing
}
^
6 errors
這些錯誤看起來他們不應該是錯誤的。第一個錯誤是顯示在Java 7中找到的菱形符號不正確的語法,或者它是正確的。這個錯誤在註釋中顯示爲1。
源自try塊中Scanner對象創建的其他錯誤是嘗試使用也是Java 7功能的資源。該行在源代碼中用2標記。
有人知道我失蹤了嗎?
現在做'javac的-version'。 –
另外,它是'useDelimiter'。 –
你是從任何IDE運行它還是直接用javac編譯? –