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

来源:互联网 发布:转子动力学软件招标 编辑:程序博客网 时间:2024/05/06 11:40

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();    }}
1 0
原创粉丝点击