问题 A: 文本文件读取
[命题人 : 外部导入]
时间限制 : 1.000 sec 内存限制 : 128 MB
题目描述
已知一个文本文件,文件名为dict.dic。它是由下边的代码生成。
int a ;
boolean b = true ;
double c , f ;
String d ;
PrintWriter out = new PrintWriter("dict.dic");
Scanner cin = new Scanner(System.in);
for (int i = 0 ; i < 5 ; i ++ ) {
a = cin.nextInt() ;
f = Math.random() ;
if ( f > 0.5 ) b = true ;
else b = false ;
c = cin.nextDouble() ;
d = cin.next() ;
out.println(a) ;
out.println(b) ;
out.println(c) ;
out.println(d) ;
}
out.close(); // Remember this!
cin.close();
}
你的任务是写一段程序,将这些内容读出来。
输入
为一个整数,只可能是1,2,3,4,5之一。
输出
将dict.dic中的相关内容输出到屏幕上,如果输入是1,则输出那段代码第一次循环写入的内容,如果输入是2,则输出那段代码第二次循环写入的内容,依此类推。
形式如样例。double类型的不是保留一位小数,直接输出就可以了。
样例输入 Copy
1
样例输出 Copy
100 false 72.5 helloworld
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
public class textread {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
int input = sc.nextInt();
int i=0;
int a=0;
boolean b=true;
double c=0.0;
String d=" ";
try (BufferedReader reader = new BufferedReader(new FileReader("dict.dic"))) {
while(i!=input) {
a = Integer.parseInt(reader.readLine());
b = Boolean.parseBoolean(reader.readLine());
c = Double.parseDouble(reader.readLine());
d = reader.readLine();
i++;
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}