从文件中读取 space 分隔的数字
Reading space separated numbers from a file
我正在放寒假并努力使我的 Java 技能恢复正常,因此我正在从事一些我在 codeeval 上发现的随机项目。我在 java 执行 fizzbuzz 程序时无法打开文件。我已经关闭了实际的 fizzbuzz 逻辑部分并且工作正常,但打开文件证明有问题。
据推测,文件将作为 main 方法的参数打开;所述文件将至少包含 1 行;每行包含 3 个数字,由 space 分隔。
public static void main(String[] args) throws IOException {
int a, b, c;
String file_path = args[0];
// how to open and read the file into a,b,c here?
buzzTheFizz(a, b, c);
}
您可以像这样使用Scanner;
Scanner sc = new Scanner(new File(args[0]));
a = sc.nextInt();
b = sc.nextInt();
c = sc.nextInt();
默认情况下,扫描器使用空格和换行符作为分隔符,这正是您想要的。
try {
Scanner scanner = new Scanner(new File(file_path));
while( scanner.hasNextInt() ){
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
buzzTheFizz( a, b, c);
}
} catch( IOException ioe ){
// error message
}
使用循环读取整个文件,玩得开心:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int a = 0;
int b = 0;
int c = 0;
String file_path = args[0];
Scanner sc = null;
try {
sc = new Scanner(new File(file_path));
while (sc.hasNext()) {
a = sc.nextInt();
b = sc.nextInt();
c = sc.nextInt();
System.out.println("a: " + a + ", b: " + b + ", c: " + c);
}
} catch (FileNotFoundException e) {
System.err.println(e);
}
}
}
我正在放寒假并努力使我的 Java 技能恢复正常,因此我正在从事一些我在 codeeval 上发现的随机项目。我在 java 执行 fizzbuzz 程序时无法打开文件。我已经关闭了实际的 fizzbuzz 逻辑部分并且工作正常,但打开文件证明有问题。
据推测,文件将作为 main 方法的参数打开;所述文件将至少包含 1 行;每行包含 3 个数字,由 space 分隔。
public static void main(String[] args) throws IOException {
int a, b, c;
String file_path = args[0];
// how to open and read the file into a,b,c here?
buzzTheFizz(a, b, c);
}
您可以像这样使用Scanner;
Scanner sc = new Scanner(new File(args[0]));
a = sc.nextInt();
b = sc.nextInt();
c = sc.nextInt();
默认情况下,扫描器使用空格和换行符作为分隔符,这正是您想要的。
try {
Scanner scanner = new Scanner(new File(file_path));
while( scanner.hasNextInt() ){
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
buzzTheFizz( a, b, c);
}
} catch( IOException ioe ){
// error message
}
使用循环读取整个文件,玩得开心:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int a = 0;
int b = 0;
int c = 0;
String file_path = args[0];
Scanner sc = null;
try {
sc = new Scanner(new File(file_path));
while (sc.hasNext()) {
a = sc.nextInt();
b = sc.nextInt();
c = sc.nextInt();
System.out.println("a: " + a + ", b: " + b + ", c: " + c);
}
} catch (FileNotFoundException e) {
System.err.println(e);
}
}
}