簡體   English   中英

解析 java 中的數據

[英]Parsing the Data in java

我在用

i=sscanf(input,"%f %c %f",&operand1,operator,&operand2);

在 C 中用於解析格式的輸入

operand1   operator  operand2

運算符可以是+ - * / ^
操作數+-任何雙精度

JAVA中是否有類似的方法

一個方便的選擇是使用java.util.Scanner -class。 以下代碼片段應該讓您解析輸入:

import java.util.Scanner; 

public class ScannerExample {
    public static void main(String args[]) {
      // Declare variables
      Scanner s;
      float f1;
      float f2;
      char op;
      
      // Ask for input data
      System.out.println("Enter Data: ");

      // Initialize a Scanner-object using stdin
      s = new Scanner(System.in);
      
      // Read and parse the data
      f1 = s.nextFloat();
      op = s.next().charAt(0);
      f2 = s.nextFloat();
      
      System.out.println(f1 + " " + op + " " + f1);

      // Closes the scanner
      s.close();
    }
}

為簡潔起見,省略了錯誤檢查。

編輯:正如@electricchef 指出的那樣,也可以使用ScanneruseDelimiter(Pattern pattern)作為一種替代方法,如下所示:

s = new Scanner(System.in);
s.useDelimiter("\\s+");
f1 = s.nextFloat();
op = s.next().charAt(0);
f2 = s.nextFloat();

在這里,輸入被拆分為一個或多個空白字符,如正則表達式模式"\\s+"所示。

暫無
暫無

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

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