面试题2 怎样实现元素互换

版权声明:本文为大都督作者的原创文章,未经 大都督 允许也可以转载,但请注明出处,谢谢! 共勉! https://blog.csdn.net/qq_37335220/article/details/85463521

怎样实现元素互换

1.题述
	  从键盘上输入10个整数,并将其放入一个一维数组中,然后将其前5个元素与后5个元素对换,
	  即:第1个元素与第10个元素互换,第2个元素与第9个元素互换…第5个元素与第6个元素互换。
	  分别输出数组原来各元素的值和对换后各元素的值。
2.效果

在这里插入图片描述

3.Java代码
package com.example.demo.interviewQuestions;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * @Description 面试题2 怎样实现元素互换
 * @author 大都督
 * @date 2018年12月29日
 */
public class ExchangeQuestion {

	/**
	 * 从键盘上输入10个整数,并将其放入一个一维数组中,然后将其前5个元素与后5个元素对换,
	 * 即:第1个元素与第10个元素互换,第2个元素与第9个元素互换…第5个元素与第6个元素互换。
	 * 分别输出数组原来各元素的值和对换后各元素的值。
	 */
	public static void main(String args[]) {
        print();
    }
    public static int[] write() {
    	//缓冲数组 
        BufferedReader[] buf = new BufferedReader[10];
        //开关量 和 中间量 
        int n; 
        int array[] = new int[10];
        //赋值
        for (int i = 0; i < 10; i++) {
        	//给每个缓冲区定义 
            buf[i] = new BufferedReader(new InputStreamReader(System.in));
            do { /* 判断是否是空串,如是则重新输入 */
                n = 1;
                System.out.print("请输入第" + (i + 1) + "个整数:");
                try { /* 建立一个异常捕获 */
                    array[i] = Integer.parseInt(buf[i].readLine());/* 执行串变整数 */
                    /*
                    * Integer.parseInt(str) - str 转成 int型 buf[i].readLine() -
                    * 从系统输入缓冲区读入字符流给buf缓冲区并返回字符串
                    */
                } catch (NumberFormatException e) { /* 捕获异常 */
                    System.out.println("数据输入错误请重新输入");/* 处理异常 */
                    n = 0;
                } catch (IOException e) {
                    e.printStackTrace();
                }
            } while (n == 0);
        }
        return array;
    }
    public static void print() {
        int[] ary = write();
        int s;
        System.out.println("\n你输入的数组是:");
        for (int i = 0; i < 10; i++) {  /* 输出原数组 */
            System.out.print(ary[i] + " ");
        }
        for (int i = 0; i < 5; i++)/* 对换 */ {
            s = ary[i];
            ary[i] = ary[9 - i];
            ary[9 - i] = s;
        }
        System.out.println("\n对换后的数组是:");
        for (int i = 0; i < 10; i++) { /* 输出对换后数组 */
            System.out.print(ary[i] + " ");
        }
        System.out.println();
    }



}

猜你喜欢

转载自blog.csdn.net/qq_37335220/article/details/85463521