javascanner編譯
⑴ Scanner在java中有什麼用法怎麼用
1、首先在一個java工程下創建一個類名的ScannerDemo的類。
(1)javascanner編譯擴展閱讀:
Scanner類常用方法
1、String next():接收控制台輸入的字元串(備註:不能將空格作為字元串接收);
2、String nextLine():接收控制台輸入的字元串;
3、int nextInt():接收控制台輸入的int類型的數據;
4、double nextDouble:接收控制台輸入的double 類型的數據;
5、boolean nextBoolean():接收控制台輸入的boolean 類型的數據;
6、輸入char類型的數據;
Scanner類沒有直接輸入char類型的方法,可以通過charAt()方法從next()或nexyLine()獲取。
⑵ * 最新 java中的Scanner問題
1.類型。一個可以使用正則表達式來解析基本類型和字元串的簡單文本掃描器。
2.nextBigDecimal() ;nextBigInteger() ;nextBigInteger(int radix);nextBoolean();nextByte();nextByte(int radix);nextDouble();nextFloat();nextInt();nextInt(int radix);nextLine();nextLong();nextLong(int radix);nextShort();nextShort(int radix);
3.參見java api。或者反編譯Scanner類。
public final class Scannerextends Objectimplements Iterator<String>一個可以使用正則表達式來解析基本類型和字元串的簡單文本掃描器。
Scanner 使用分隔符模式將其輸入分解為標記,默認情況下該分隔符模式與空白匹配。然後可以使用不同的 next 方法將得到的標記轉換為不同類型的值。
例如,以下代碼使用戶能夠從 System.in 中讀取一個數:
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
再看一個例子,以下代碼使 long 類型可以通過 myNumbers 文件中的項分配:
Scanner sc = new Scanner(new File("myNumbers"));
while (sc.hasNextLong()) {
long aLong = sc.nextLong();
}掃描器還可以使用不同於空白的分隔符。下面是從一個字元串讀取若干項的例子:
String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
System.out.println(s.nextInt());
System.out.println(s.nextInt());
System.out.println(s.next());
System.out.println(s.next());
s.close(); 輸出為:
1
2
red
blue 以下代碼使用正則表達式同時解析所有的 4 個標記,並可以產生與上例相同的輸出結果:
String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input);
s.findInLine("(\\d+) fish (\\d+) fish (\\w+) fish (\\w+)");
MatchResult result = s.match();
for (int i=1; i<=result.groupCount(); i++)
System.out.println(result.group(i));
s.close(); 掃描器所使用的默認空白分隔符通過 Character.isWhitespace 來識別。不管以前是否更改,reset() 方法將把掃描器分隔符的值重置為默認空白分隔符。
掃描操作可能被阻塞,而等待信息的輸入。
next() 和 hasNext() 方法及其基本類型 companion 方法(如 nextInt() 和 hasNextInt())首先跳過與分隔符模式匹配的輸入,然後嘗試返回下一個標記。在等待更多輸入時 hasNext 和 next 方法都可能阻塞。hasNext 方法是否阻塞與其相關的 next 方法是否阻塞無關。
findInLine(java.lang.String)、findWithinHorizon(java.lang.String, int) 和 skip(java.util.regex.Pattern) 方法的執行與分隔符模式無關。這些方法會嘗試匹配與輸入中的分隔符無關的指定模式,因此可用於分隔符無關的特殊環境中。在等待更多輸入時這些方法可能阻塞。
當某一掃描器拋出 InputMismatchException 時,該掃描器不會傳遞導致該異常的標記,因此可以通過其他某種方法來獲取或跳過它。
對於某些類型的分隔模式,可能返回空標記。例如,"\\s+" 模式不會返回空標記,因為它與該分隔符的多個實例匹配。而分隔模式 "\\s" 可能返回空標記,因為它一次只傳遞一個空格。
掃描器可以從實現 Readable 介面的任何對象讀取文本。如果對底層 readable 的 Readable.read(java.nio.CharBuffer) 方法的調用拋出 IOException,則掃描器認為已經到達了輸入的結尾。底層 readable 最新拋出的 IOException 可以通過 ioException() 方法獲取。
如果 Scanner 關閉,且其輸入源實現 Closeable 介面,則該輸入源也將關閉。
若沒有外部同步,則 Scanner 的多線程使用是不安全的。
除非另行說明,否則將一個 null 參數傳遞到 Scanner 的任何一個方法中都將拋出 NullPointerException。
默認情況下掃描器會將數字解釋為十進制形式,除非已經使用 useRadix(int) 方法設置了不同的基數。不管以前是否更改,reset() 方法將把掃描器的基數重置為10 。
本地化數字
此類的一個實例能夠以標准格式以及掃描器語言環境的格式掃描數字。掃描器的 初始語言環境 是 Locale.getDefault() 方法返回的值;它可以通過 useLocale(java.util.Locale) 方法更改。不管以前是否更改,reset() 方法將把掃描器的語言環境重置為初始語言環境。
本地化格式是根據以下參數定義的,對於某一特定語言環境來說,這些參數取自該語言環境的 DecimalFormat 對象 df,及其 DecimalFormatSymbols 對象 dfs。
LocalGroupSeparator 用於分隔數千個組的字元,即 dfs.getGroupingSeparator()
LocalDecimalSeparator 用於小數點的字元,即 dfs.getDecimalSeparator()
LocalPositivePrefix 出現在正數前的字元串(可以為空),即 df.getPositivePrefix()
LocalPositiveSuffix 出現在正數後的字元串(可以為空),即 df.getPositiveSuffix()
LocalNegativePrefix 出現在負數前的字元串(可以為空),即 df.getNegativePrefix()
LocalNegativeSuffix 出現在負數後的字元串(可以為空),即 df.getNegativeSuffix()
LocalNaN 表示浮點值的非數字的字元串,即 dfs.getNaN()
LocalInfinity 表示浮點值的無窮大的字元串,即 dfs.getInfinity()
數字語法
可通過此類的一個實例解析為數字的字元串是根據以下正則表達式語法指定的,在這種情況下 Rmax 是正在使用的基數中的最高數字(例如,在基數 10 中 Rmax 為 9)。
NonASCIIDigit :: = 非 ASCII 字元 c,對於它,Character.isDigit(c) 返回 true
Non0Digit :: = [1-Rmax] | NonASCIIDigit
Digit :: = [0-Rmax] | NonASCIIDigit
GroupedNumeral :: = ( Non0Digit Digit? Digit?
( LocalGroupSeparator Digit Digit Digit )+ )
Numeral :: = ( ( Digit+ ) | GroupedNumeral )
Integer :: = ( [-+]? ( Numeral ) )
| LocalPositivePrefix Numeral LocalPositiveSuffix
| LocalNegativePrefix Numeral LocalNegativeSuffix
DecimalNumeral :: = Numeral
| Numeral LocalDecimalSeparator Digit*
| LocalDecimalSeparator Digit+
Exponent :: = ( [eE] [+-]? Digit+ )
Decimal :: = ( [-+]? DecimalNumeral Exponent? )
| LocalPositivePrefix DecimalNumeral LocalPositiveSuffix Exponent?
| LocalNegativePrefix DecimalNumeral LocalNegativeSuffix Exponent?
HexFloat :: = [-+]? 0[xX][0-9a-fA-F]*\.[0-9a-fA-F]+ ([pP][-+]?[0-9]+)?
NonNumber :: = NaN | LocalNan | Infinity | LocalInfinity
SignedNonNumber :: = ( [-+]? NonNumber )
| LocalPositivePrefix NonNumber LocalPositiveSuffix
| LocalNegativePrefix NonNumber LocalNegativeSuffix
Float :: = Decimal
| HexFloat
| SignedNonNumber
上面正則表達式中的空白沒有意義。
⑶ java編譯時提示"無法將類scanner中的構造器Scanner應用到指定類型"
Java構造器,如果存在參數的情況,傳入的參數類型如果不匹配,就會出現無法應用到給定的類型。
Java的類中一般都默認提供了無參數的構造器,如果想要初始化成員變數,就可以自定義一個構造器,進行內部賦值,這樣實例化之後就可以獲取到這些變數的值。
⑷ java N-ide軟體如何編譯Scanner類型
推薦用AIDE。
已經有Scanner.class,不需要再次編譯
⑸ java中怎麼用scanner
使用該類創建一個對象.
ScannerSc=new Scanner(System.in);
然後Sc對象調用下列方法(函數),讀取用戶在命令行輸入的各種數據類型: next.Byte(),nextDouble(),nextFloat,nextInt(),nextLin(),nextLong(),nextShot() 。這些方法執行時都會造成堵塞,等待用戶在命令行輸入數據回車確認。
例如,擁護在鍵盤輸入12.34,hasNextFloat()的值是true,而hasNextInt()的值是false。NextLine()等待用戶輸入一個文本行並且回車,該方法得到一個String類型的數據。
例子代碼:
(5)javascanner編譯擴展閱讀:
Scanner的構造器支持多種方式,可以從字元串(Readable)、輸入流、文件等等來直接構建Scanner對象,有了Scanner了,就可以逐段(根據正則分隔式)來掃描整個文本,並對掃描後的結果做想要的處理。
下面是一些API函數的用法:
delimiter():
返回此 Scanner 當前正在用於匹配分隔符的 Pattern。
hasNext() :
判斷掃描器中當前掃描位置後是否還存在下一段。
hasNextLine() :
如果在此掃描器的輸入中存在另一行,則返回 true。
next() :
查找並返回來自此掃描器的下一個完整標記。
nextLine() :
此掃描器執行當前行,並返回跳過的輸入信息。
⑹ java scanner用法是什麼
用法:
impor java.util.Scanner; //導包,在util包中。
//主函數
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("請輸入一個int類型的數字..回車結束!");
int num = sc.nextInt();
System.out.println("請輸入一個String類型的字元串...回車結束!");
String result = sc.next();
System.out.println("您輸入的int類型數字為:" + num+" 您輸入的String類型的字元串為:"+result);
}
(6)javascanner編譯擴展閱讀:
當編輯並運行一個Java程序時,使用文字編輯軟體(例如記事本、寫字板、UltraEdit等)或集成開發環境(Eclipse、MyEclipse等)在Java源文件中定義不同的類,通過調用類(這些類實現了Java API)中的方法來訪問資源系統,把源文件編譯生成一種二進制中間碼,存儲在class文件中,然後再通過運行與操作系統平台環境相對應的Java虛擬機來運行class文件,執行編譯產生的位元組碼,調用class文件中實現的方法來滿足程序的Java API調用。
⑺ Java中使用Scanner編譯沒錯,但是運行不了
java -cp ./ Example
大小寫必須一致
⑻ java編譯求解,編譯時說找不到符號 Scanner sc = new Scanner(System.in);
同前一位。只是來回答追問的。
import java.util.Scanner;
是從包java.util中導入Scanner。屬於import語句中的明確導入:在import語句中指定單個的類。
⑼ 關於JAVA的Scanner
先把a.nextInt()放到一個變數裡面。你現在這樣做,如果在負數的時候相當於讀取了兩次nextInt。