题目:数组反转要求:
把数组的内容反转。
如: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 = 0; i--) { System.out.print(arr[i] + "\t"); } }else{ System.out.println("你输入的不是整数"); } }}
人不风流枉少年