首页 > 编程语言 >Java入门_一维数组_第三题_数组反转

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

时间:2023-03-25 21:23:41浏览次数:43  
标签:arr Java 数组 int System 一维 println out

题目:数组反转

要求:

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

思路-1

  1. 通过具体实例得,每一次都是将 arr[i] 和 arr[arr.length - 1 -i] 交换。
  2. 一共进行了 arr.length / 2 次。
  3. 引入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 (其实两个差不多)

  1. 创建一个数组。
  2. 输入实验数据
  3. 将数组中的数据倒序输出。

代码如下:

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("你输入的不是整数");
        }
    }
}

人不风流枉少年

标签:arr,Java,数组,int,System,一维,println,out
From: https://www.cnblogs.com/lbdmj-zsa/p/17228157.html

相关文章

  • 《Java》学习随笔 1、基础语法
    1Java基础语法1.1基本概念一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。对......
  • 4878. 维护数组
    维护数组分析:分别维护两个值sum1,sum2,其他套线段树板子实现:structNode{intl,r;intminv;intsum1,sum2;}tr[N<<2];voidpushup(Node&u,N......
  • 数组指针
    一、概念下面哪个是数组指针?int*p1[10];int(*p1)[10];int(*p)[10];解释:p先和*结合,说明p是一个指针变量,然后指向一个大小为10的整型数组,所以p是一个指针,指向整型数组,叫做......
  • Java 泛型
    泛型1.泛型引入不能对加入到集合ArrayList中的数据类型进行约束(不安全)遍历的时候,需要进行类型转换,如果集合中的数据量较大,对效率有影响packagegeneric_;public......
  • java——spring boot集成kafka——kafka中主题topic和分区partition的概念
                                                       ......
  • java——spring boot集成kafka——查看消费组以及信息
                                                       ......
  • java——spring boot集成kafka——单播与多播消息的实现
    单播消息的实现:   单播消息:⼀个消费组⾥只会有⼀个消费者能消费到某⼀个topic中的消息。于是可以创建多个消费者,这些消费者在同⼀个消费组中。  创建一个消费......
  • Java多线程
    一、多线程简介 Java多线程是指在一个程序中同时执行多个线程(线程就是一条执行路径)。Java中的多线程可以提高程序的运行效率和并发性,通常用于执行一些耗时的操作或需要同......
  • Java获取系统时间的4种方法
    Java获取系统时间的4种方法1publicDateTime(){2//1.设置时间格式3/*4*yyyy-MM-dd:年-月-日2023-03-255......
  • Java IO详解
    一、IO简介1.概念 JavaIO(Input/Output)是Java编程语言对输入和输出(I/O)进行封装的一组类和接口,JavaIO提供了输入流和输出流的抽象,可以使开发者以相同的方式读写......