【Java笔试题】实现数组中的元素互换

1、题目

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

2、解题思想

由于本题的要求是实现头尾元素互换,所以可以利用临时变量的方法来进行元素交换。

3、Java代码

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ExchangeNum {
    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());  //执行串变整数
                } 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();
    }
}

你可能感兴趣的:(Java笔试题)