Java入门_一维数组_第三题_数组反转

打印 上一主题 下一主题

主题 1805|帖子 1805|积分 5415

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目:数组反转

要求:

把数组的内容反转。
如:arr{ 11 , 22 , 33 , 44 , 55 , 66 } --> { 66 , 55 , 44 , 33 , 22 , 11 }。
思路-1


  • 通过具体实例得,每一次都是将 arr 和 arr[arr.length - 1 -i] 交换。
  • 一共进行了 arr.length / 2 次。
  • 引入Scanner进行扫描,从而实现随机性。
代码如下:
  1. /*
  2. 只用于基础练习,不牵扯竞赛题相关要求。
  3. */
  4. import java.util.Scanner;
  5. public class Javatext6 {
  6.     public static void main(String[]args){
  7.         Scanner myScanner = new Scanner(System.in);
  8.         System.out.println("请输出你要输入的数字个数");
  9.         if (myScanner.hasNextInt()) {//判断输入的数据是否为int类型
  10.             int add = myScanner.nextInt();
  11.             int[] arr = new int[add];//创建数组
  12.             System.out.println("请输入具体的数值");//多输入也没用,内存就分配了那点,先到先得
  13.             for (int i = 0;i < arr.length;i++ ){//遍历给数组赋值
  14.                 int add1 = myScanner.nextInt();
  15.                 arr[i] = add1;
  16.             }
  17.             System.out.println("===数组的原始数据===");
  18.             for (int i = 0 ;i < arr.length;i++){
  19.                 System.out.print(arr[i] + "\t");
  20.             }
  21.             int temp = 0;
  22.             for (int i = 0;i < arr.length/2;i++){//将数组中的数据进行两两交换,从而实现内容反转
  23.                 temp = arr[i];
  24.                 arr[i] = arr[arr.length - 1 - i];
  25.                 arr[arr.length - 1 - i] = temp;
  26.             }
  27.             System.out.println(" ");
  28.             System.out.println("===数组的反转后数据===");
  29.             for (int i = 0 ;i < arr.length;i++){
  30.                 System.out.print(arr[i] + "\t");
  31.             }
  32.         }else{
  33.             System.out.println("你输入的不是整数");
  34.         }
  35.     }
  36. }
复制代码
思路-2 (其实两个差不多)


  • 创建一个数组。
  • 输入实验数据
  • 将数组中的数据倒序输出。
代码如下:
  1. import java.util.Scanner;
  2. public class Javatext6 {
  3.     public static void main(String[]args){
  4.         Scanner myScanner = new Scanner(System.in);
  5.         System.out.println("请输出你要输入的数字个数");
  6.         if (myScanner.hasNextInt()) {
  7.             int add = myScanner.nextInt();
  8.             int[] arr = new int[add];//创建arr1数组
  9.             System.out.println("请输入具体的数值");
  10.             for (int i = 0; i < arr.length; i++) {
  11.                 int add1 = myScanner.nextInt();
  12.                 arr[i] = add1;
  13.             }
  14.             System.out.println("===数组的原始数据===");
  15.            for (int i = 0 ;i < arr.length;i++){
  16.                 System.out.print(arr[i] + "\t");
  17.             }
  18.             System.out.println(" ");
  19.             System.out.println("===数组的反转后数据===");
  20.             for (int i = arr.length - 1; i >= 0; i--) {
  21.                 System.out.print(arr[i] + "\t");
  22.             }
  23.         }else{
  24.             System.out.println("你输入的不是整数");
  25.         }
  26.     }
  27. }
复制代码
人不风流枉少年


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

西河刘卡车医

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表