【笔试】15、输入三个整数x,y,z,请把这三个数由小到大输出。

/**
 * 题目:输入三个整数x,y,z,请把这三个数由小到大输出。   
 * 时间:2015年7月29日11:01:06
 * 文件:Lianxi15.java
 * 作者:cutter_point
 */
package bishi.zuixin50.t2015729;

import java.io.*;

public class Lianxi15 
{
	public static void main(String [] args)
	{
		String inpath = "source/zuixin50/lianxi015input.txt";
		String outpath = "source/zuixin50/lianxi015output.txt";
		paiXu(inpath, outpath);
	}

	public static void maoPaoMin(int data[])
	{
		for(int i = 0; i < data.length; ++i)
		{//遍历所有的数据
			for(int j = i + 1; j < data.length; ++j)
			{//从我们的下一个元素开始比较,前面的数据都是小于这个数的
				if(data[i] > data[j])
				{
					//如果前面的数据比后面的大,那么就交换位置
					int temp = data[i];
					data[i] = data[j];
					data[j] = temp;
				}
			}
		}
	}

	public static void paiXu(String inPath, String outPath)
	{
		//文件读取
		FileInputStream fis = null;
		BufferedReader br = null;
		//文件输出
		FileOutputStream fos = null;
		
		try
		{
			fis = new FileInputStream(new File(inPath));
			br = new BufferedReader(new InputStreamReader(fis, "gbk"));
			fos = new FileOutputStream(new File(outPath));
			//我们一行一行地读取,然后一行一行地输出
			String line;
			String lines[];
			while((line = br.readLine()) != null)
			{
				//我们把读取到的数据放到一个数组中
				lines = line.split("\t");
				//每行排序输出,我们先把所有的数据转化为int类型存放到数组中
				int data[] = new int[lines.length];
				for(int i = 0; i < lines.length; ++i)
				{
					//转化
					data[i] = Integer.parseInt(lines[i]);
				}

				//然后我们采用冒泡排序
				maoPaoMin(data);
				//吧排号的数据输出到文件
				for(int i = 0; i < data.length; ++i)
				{
					//循环输出到文件
					System.out.print(data[i] + "\t");
					fos.write((""+data[i]).getBytes());
					fos.write("\t".getBytes());
				}
				//换行
				System.out.println("\n");
				fos.write("\n".getBytes());
			}/*while((line = br.readLine()) != null)*/
		}
		catch (Exception e)
		{
			System.out.println("读取失败!!");
		}
		finally
		{
			try
			{
				fos.close();
				br.close();
				fis.close();
			}
			catch (Exception e)
			{
				System.out.println("关闭失败!!");
			}
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值