在Java中是否有与C的scanf等效的方法?

Gop*_*and 29 java

Java具有格式字符串的概念,与其他语言中的字符串格式非常相似.它用于JDK方法,如String#format()输出转换.

我想知道在Java中是否有类似于C的scanf输入转换方法?

wiz*_*ard 19

看看这个网站,它解释了两种从java中使用控制台读取的方法,使用ScannerInputStreamReaderSystem.in中的经典方法.

以下代码取自引用网站:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ReadConsoleSystem {
  public static void main(String[] args) {

    System.out.println("Enter something here : ");

    try{
        BufferedReader bufferRead = new BufferedReader(new InputStreamReader(System.in));
        String s = bufferRead.readLine();

        System.out.println(s);
    }
    catch(IOException e)
    {
        e.printStackTrace();
    }

  }
}
Run Code Online (Sandbox Code Playgroud)

-

import java.util.Scanner;

public class ReadConsoleScanner {
  public static void main(String[] args) {

      System.out.println("Enter something here : ");

       String sWhatever;

       Scanner scanIn = new Scanner(System.in);
       sWhatever = scanIn.nextLine();

       scanIn.close();            
       System.out.println(sWhatever);
  }
}
Run Code Online (Sandbox Code Playgroud)

问候.

  • 你能否告诉JAVA中scanf("%d%d%s%f",a,b,c,d)的等价物!我认为这很复杂.直接? (13认同)
  • @Gopichand可悲的是,在java中没有类似scanf的确切方法.你可以做的更好的方法是拆分一个字符串,然后获取标记并投射它们.如果有人和我不同,那么给我看一个例子:`scanf("%d%d%s%f",a,b,c,d)`,java中的一个衬垫等价物! (5认同)

Ale*_*øld 12

标准Java中没有纯粹的scanf替换,但您可以使用java.util.Scanner来解决使用scanf解决的相同问题.