java程序设计基础_陈国君版第五版_第十章习题
/**
* 利用基本输入输出流实现从键盘上读入一个字符,然后显示在屏幕上
* @author Richar-gao
*由题可知用 System.in System.out 来进行操作。
*/
import java.io.*;
public class Main10_4 {
public static void main(String[] args)throws IOException
{
System.out.print("请输入字符: ");
char ch = (char)System.in.read();
System.out.print(ch);
}
}
/**
* 利用文件输出流创建一个文件file1.txt,写入字符“文件已被成功创建!”,然后用记事本打开该文件,看一下是否正确写入。
* @author Richard-gao
*
*/
import java.io.*;
public class Main10_7 {
public static void main(String[] args){
FileWriter fos;
try
{
fos = new FileWriter("d:\\file1.txt");
System.out.println("请输入字符");
String str = new BufferedReader(new InputStreamReader(System.in)).readLine();
fos.write(str);
fos.close();
}
catch(IOException e)
{
System.out.println("存在输入错误");
}
}
}
/**
* 用文件输入流打开第七题中创建的文件file1.txt,读出其内容并显示在屏幕上
* @author Richar-gao
*
*/
import java.io.*;
public class Main10_8 {
public static void main(String[] args)throws IOException
{
char[] c = new char[500];
FileReader fr = new FileReader("d:\\file1.txt");
int num = fr.read(c);
String str = new String(c,0,num);
System.out.println("读取的字符个数为:"+num+",其内容如下:");
System.out.println(str);
fr.close();
}
}
/**
* 利用文件输入输出流打开第七题创建的文件FILE1.TXT,然后在文件的末尾追加一行字符串“又添加了一行文字!”。
* @author Richar-gao
*
*/
import java.io.*;
public class Main10_9 {
public static void main(String[] args)throws IOException{
FileWriter fr = new FileWriter("d:\\file1.txt",true);
String str = "\r\n又添加了一行文字!";
fr.write(str);
fr.close();
}
}
/**
* 产生15个20-9999之间的随机整数,然后利用BufferedWriter类将其写入文件file2.txt中;之后再读取该文件中的数据并将它们以升序排序。
* @author Richard-gao
*
*/
import java.io.*;
public class Main10_10 {
public static void main(String[] args)throws IOException
{
int[] b = new int[15];
for(int i = 0 ; i<b.length;i++)
b[i] = (int)(Math.random()*9980)+20; //使得每个数都是20-9999
BufferedWriter bw = new BufferedWriter(new FileWriter("d:\\file2.txt"));
String str = new String();
for(int i =0 ; i<b.length;i++)
{
str = ""+b[i];
bw.write(str);
bw.newLine();
}
bw.flush();
bw.close(); //将数值输入文件中后关闭文件。
BufferedReader br = new BufferedReader(new FileReader("d:\\file2.txt"));
int[] c = new int[b.length];
int j=0;
while((str = br.readLine())!=null)
{
c[j] = Integer.parseInt(str);
j++;
}
for(int m = 0 ; m<c.length;m++)
for(int n = m; n<c.length;n++)
{
if(c[m]>c[n]) //如果存在比他大的数,则两者互换
{
c[m] = c[m]+c[n];
c[n] = c[m]-c[n];
c[m] = c[m]-c[n];
}
}
System.out.println("排序后的结果为:");
for(int i : c)
{
System.out.print(i+"\t");
}
}
}