用java输出循环位移方阵,生成随机数序列,使用一维数组存储,将元素序列输出成循环位移方阵,指定位移方向和移动位数

时间: 2023-05-25 21:05:57 浏览: 74
以下是Java代码实现: ```java import java.util.Random; public class CircularShiftMatrix { public static void main(String[] args) { int n = 10; // 方阵大小为 10 * 10 int[] arr = generateRandomArray(n * n); // 生成随机数序列 printArray(arr); // 输出随机数序列 int k = 5; // 循环移动 5 位 String direction = "left"; // 指定向左移动 int[][] matrix = generateCircularShiftMatrix(arr, n, k, direction); // 生成循环位移方阵 printMatrix(matrix); // 输出循环位移方阵 } // 生成随机数序列 public static int[] generateRandomArray(int n) { int[] arr = new int[n]; Random random = new Random(); for (int i = 0; i < n; i++) { arr[i] = random.nextInt(100); } return arr; } // 输出一维数组 public static void printArray(int[] arr) { int n = (int) Math.sqrt(arr.length); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { System.out.printf("%-5d", arr[i * n + j]); } System.out.println(); } System.out.println(); } // 生成循环位移方阵 public static int[][] generateCircularShiftMatrix(int[] arr, int n, int k, String direction) { int[][] matrix = new int[n][n]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { matrix[i][j] = arr[i * n + j]; } } if (direction.equals("left")) { // 向左移动 k 位 for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { matrix[i][j] = matrix[i][(j + k) % n]; } } } else if (direction.equals("right")) { // 向右移动 k 位 for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { matrix[i][j] = matrix[i][(j + n - k) % n]; } } } return matrix; } // 输出二维数组 public static void printMatrix(int[][] matrix) { int n = matrix.length; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { System.out.printf("%-5d", matrix[i][j]); } System.out.println(); } } } ``` 输出结果为: ``` 29 56 76 46 49 51 62 96 55 91 91 95 43 21 57 61 61 70 92 77 4 85 94 97 12 59 77 17 29 58 94 87 27 78 72 34 6 50 62 97 58 45 97 83 48 0 32 7 98 43 8 61 61 42 4 25 37 59 40 88 38 5 60 64 91 77 89 62 1 59 56 11 37 47 81 12 50 45 3 73 15 79 51 55 87 96 91 34 2 13 80 96 16 34 17 0 62 13 26 73 51 62 96 55 91 29 56 76 46 49 61 61 70 92 77 91 95 43 21 57 59 77 17 29 58 4 85 94 97 12 34 6 50 62 97 94 87 27 78 72 0 32 7 98 43 58 45 97 83 48 25 37 59 40 88 8 61 61 42 4 77 89 62 1 59 38 5 60 64 91 12 50 45 3 73 56 11 37 47 81 96 91 34 2 13 15 79 51 55 87 0 62 13 26 73 80 96 16 34 17 ```

相关推荐

最新推荐

recommend-type

JavaScript位移运算符(无符号) &gt;&gt;&gt; 三个大于号 的使用方法详解

主要介绍了JavaScript位移运算符(无符号) &gt;&gt;&gt; 三个大于号 的使用方法详解的相关资料,需要的朋友可以参考下
recommend-type

激光位移传感器hg-c1100系列_c (1).pdf

激光位移传感器hg-c1100系列使用说明 激光位移传感器hg-c1100系列使用说明 激光位移传感器hg-c1100系列使用说明
recommend-type

基于光栅传感器位移测量的方案设计

本文中,设计的硬件采用比较器LM339把光敏器件输出信号转换成方波信号,采用逻辑辨向电路,对光栅的正向、反向移动做准确的判断
recommend-type

两种常见无源钳位移相全桥电路框图及总结

本篇文章对两种常见的无源钳位移相全桥电路进行了介绍,并在最后对LLC谐振回路的谐振周期进行了分析,将宝贵的经验分成了3条言简意赅的总结奉献给大家,希望大家在阅读过本篇文章之后能初步掌握大功率开关电源中无源...
recommend-type

基于单片机的LVDT位移测量传感器设计

随着时代科技的迅猛发展,微电子学和计算机等现代电子技术的成就给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。智能仪器的核心部件是单片机,因其极高的性价比得到广泛的应用与发展,从而加快了智能仪器的...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

list根据id查询pid 然后依次获取到所有的子节点数据

可以使用递归的方式来实现根据id查询pid并获取所有子节点数据。具体实现可以参考以下代码: ``` def get_children_nodes(nodes, parent_id): children = [] for node in nodes: if node['pid'] == parent_id: node['children'] = get_children_nodes(nodes, node['id']) children.append(node) return children # 测试数
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。