面試題2 怎樣實現元素互換
阿新 • • 發佈:2018-12-31
怎樣實現元素互換
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(); } }