/**
题目:
一个汉字代表一个数字,相同的汉字代表相同的数字。
学习
* 学
—————
好好好
三个汉字都为0到9的数字
学=(),习=(),好=()
设计程序,求出各个汉字代表的数字。
需求:利用IO流,将D:\question.txt文件中的题目要求复写到E盘的answer.txt文件中,并将最终结果也写在该文件中
思路:1.读取D\\question.txt文件中的题目,并复写到answer.txt中
2.利用for循环求出各个汉字的数值
3.将答案运用字节流输出流写入answer.txt中
*/
import java.io.*;
class GuessNum
{
public static void main(String[] args)
{
copy();
answer();
}
public static void copy()
{
BufferedReader br = null;
BufferedWriter bw = null;
try
{
br = new BufferedReader(new FileReader("D:\\question.txt"));
bw = new BufferedWriter(new FileWriter("E:\\answer.txt"));
String len = null;
while((len = br.readLine())!=null)
{
bw.write(len);
bw.newLine();
bw.flush();
}
}
catch (IOException e)
{
throw new RuntimeException("读取问题失败");
}
finally
{
try
{
if(br!=null)
br.close();
}
catch (IOException e)
{
throw new RuntimeException("读取关闭失败");
}
try
{
if(bw!=null)
bw.close();
}
catch (IOException e)
{
throw new RuntimeException("写入关闭失败");
}
}
}
public static void answer()
{
BufferedWriter bos = null;
try
{
bos =new BufferedWriter(new OutputStreamWriter(new FileOutputStream("E:\\answer.txt",true)));
String str = null;
int xue,xi,hao,num;
for(hao=1;hao<=9;hao++)
for(xi=0;xi<=9;xi++)
for(xue=1;xue<=9;xue++)
{
num = xue*(xue*10+xi);
if(num==hao*111)
{
str = "学="+xue+",习="+xi+",好="+hao+"\r\n";
try
{
bos.write(str);
}
catch (IOException e)
{
throw new RuntimeException("答案写入失败");
}
}
}
}
catch (IOException e)
{
throw new RuntimeException("写入流初始化失败");
}
finally
{
try
{
if(bos!=null)
bos.close();
}
catch (IOException e)
{
throw new RuntimeException("写入流关闭失败");
}
}
}
}
|
|