我想找出Java中类似或确切的函数。
例如C,
fscanf(file_Qpointer, "%s", BenchmarkQ[jj].owner);
在上面的示例中,数组后面有一个“ .owner ”,我一直在阅读Java Array API但我找不到与之相关的任何内容。我也是Java的新手,在阅读API时可能会错过它。任何人都可以启发Java中的函数。
这是一个for循环,我从一个文档中读取包含我想要的信息并将每一行存储到一个数组中。
queryvalue BenchmarkQ[500];
FILE *file_Qpointer;
if ((file_Qpointer =fopen("query", "r"))==NULL)
{
//printf("no such file!\n");
exit(-1);
}
else
rewind(file_Qpointer);
for (jj=0; jj<500;jj++)
{
fscanf(file_Qpointer, "%s", BenchmarkQ[jj].owner);
printf("%s\n",BenchmarkQ[jj].owner);
fscanf(file_Qpointer, "%s", BenchmarkQ[jj].ext);
printf("%s\n",BenchmarkQ[jj].ext);
}
答案 0 :(得分:1)
这是一段代码,用于说明在Java中使用Scanner。
import java.util.Scanner;
public class TestScanner {
public static class BenchmarkQ {
public String owner;
public String ext;
public int filesize;
}
public static void main(String[] args) {
int count = 2;
BenchmarkQ[] benchs = new BenchmarkQ[count];
Scanner sc = new Scanner(System.in);
for (int jj = 0; jj < count; jj++) {
benchs[jj] = new BenchmarkQ();
benchs[jj].owner = sc.next(); // Equivalent of %s
System.out.printf("Owner '%s'\n", benchs[jj].owner);
benchs[jj].ext = sc.next();
System.out.printf("Ext '%s'\n", benchs[jj].ext);
benchs[jj].filesize = sc.nextInt(); // Equivalent of %d
System.out.printf("Filesize '%d'\n", benchs[jj].filesize);
}
sc.close();
}
}
查看扫描仪的文档: http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html
答案 1 :(得分:0)
此处owner
不是数组的属性,而是BenchmarkQ[jj]
的成员,即jj
中BenchmarkQ
条目的成员。请参阅queryvalue
的条目类型。 queryvalue
似乎有一些成员owner
,ext
和filesize
。也许它的定义在某个库中。