題目:數組反轉 要求: 把數組的內容反轉。 如:arr{ 11 , 22 , 33 , 44 , 55 , 66 } --> { 66 , 55 , 44 , 33 , 22 , 11 }。 思路-1 通過具體實例得,每一次都是將 arr[i] 和 arr[arr.length - 1 -i] 交換 ...
題目:數組反轉
要求:
把數組的內容反轉。
如:arr{ 11 , 22 , 33 , 44 , 55 , 66 } --> { 66 , 55 , 44 , 33 , 22 , 11 }。
思路-1
- 通過具體實例得,每一次都是將 arr[i] 和 arr[arr.length - 1 -i] 交換。
- 一共進行了 arr.length / 2 次。
- 引入Scanner進行掃描,從而實現隨機性。
代碼如下:
/*
只用於基礎練習,不牽扯競賽題相關要求。
*/
import java.util.Scanner;
public class Javatext6 {
public static void main(String[]args){
Scanner myScanner = new Scanner(System.in);
System.out.println("請輸出你要輸入的數字個數");
if (myScanner.hasNextInt()) {//判斷輸入的數據是否為int類型
int add = myScanner.nextInt();
int[] arr = new int[add];//創建數組
System.out.println("請輸入具體的數值");//多輸入也沒用,記憶體就分配了那點,先到先得
for (int i = 0;i < arr.length;i++ ){//遍歷給數組賦值
int add1 = myScanner.nextInt();
arr[i] = add1;
}
System.out.println("===數組的原始數據===");
for (int i = 0 ;i < arr.length;i++){
System.out.print(arr[i] + "\t");
}
int temp = 0;
for (int i = 0;i < arr.length/2;i++){//將數組中的數據進行兩兩交換,從而實現內容反轉
temp = arr[i];
arr[i] = arr[arr.length - 1 - i];
arr[arr.length - 1 - i] = temp;
}
System.out.println(" ");
System.out.println("===數組的反轉後數據===");
for (int i = 0 ;i < arr.length;i++){
System.out.print(arr[i] + "\t");
}
}else{
System.out.println("你輸入的不是整數");
}
}
}
思路-2 (其實兩個差不多)
- 創建一個數組。
- 輸入實驗數據
- 將數組中的數據倒序輸出。
代碼如下:
import java.util.Scanner;
public class Javatext6 {
public static void main(String[]args){
Scanner myScanner = new Scanner(System.in);
System.out.println("請輸出你要輸入的數字個數");
if (myScanner.hasNextInt()) {
int add = myScanner.nextInt();
int[] arr = new int[add];//創建arr1數組
System.out.println("請輸入具體的數值");
for (int i = 0; i < arr.length; i++) {
int add1 = myScanner.nextInt();
arr[i] = add1;
}
System.out.println("===數組的原始數據===");
for (int i = 0 ;i < arr.length;i++){
System.out.print(arr[i] + "\t");
}
System.out.println(" ");
System.out.println("===數組的反轉後數據===");
for (int i = arr.length - 1; i >= 0; i--) {
System.out.print(arr[i] + "\t");
}
}else{
System.out.println("你輸入的不是整數");
}
}
}