「循环移位java」循环移位寄存器原理

博主:adminadmin 2022-12-05 18:54:05 82

本篇文章给大家谈谈循环移位java,以及循环移位寄存器原理对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Java一维数组循环移位方阵,求助!

package first;

//循环数组移位

public class NumMove {

/**

* @param args

*/

public static void main(String[] args) {

int[] n = {7,4,8,9,1,5};

for(int i=0;in.length;i++){

outNum(n);

System.out.println();

moveNum(n);

}

}

private static void moveNum(int[] n) {//数组元素移位

int temp = n[n.length-1];

for(int i=n.length-1;i0;i--){

n[i] = n[i-1];

}

n[0] = temp;

}

private static void outNum(int[] n) {//输出数组

for(int i=0;in.length;i++){

System.out.print(n[i]);

}

}

}

java循环矩阵移位

import java.util.Scanner;

public class FiveJuZheng {

public static void main(String[] args) {

int[][] arr = { { 1, 2, 3, 4, 5 }, { 6, 7, 8, 9, 10 },

{ 11, 12, 13, 14, 15 }, { 16, 17, 18, 19, 20 },

{ 21, 22, 23, 24, 25 } };

int x = 0 , y = 0;

boolean flag = true;

Scanner sc = new Scanner(System.in);

do {

System.out.println("请输入两个位移量(注:不能超过5或者-5,用空格分开)");

String readline = sc.nextLine();

String[] numbers = readline.split(" ");

if(numbers.length  2){

System.out.println("警告!输入有误:少于两个数!");

continue;

}

x = Integer.parseInt(numbers[0]);

y = Integer.parseInt(numbers[1]);

if(numbers.length == 2  x  5  x  -5  y  5  y  -5){

flag = false;

}else{

System.out.println("警告!输入有误:数值须在(-5 ,5)内,不包括-5和5!");

}

} while (flag);

arr = xidc(arr, x);

arr = yidc(arr, y);

for (int i = 0; i  5; i++) {

for (int j = 0; j  5; j++) {

System.out.print(arr[i][j] + "\t");

}

System.out.println();

}

}

/**

 * 处理数组下沉

 * @param arr 源数组

 * @param x 下沉行数

 * @return 下沉后的数组

 */

private static int[][] xidc(int[][] arr, int x) {

int[] temp = new int[5];

if (x  0) {

x = 5 + x; //输入为负时换成对应的正数行  上浮2行 等于 下沉3行

}

for (int k = 0; k  x; k++) {

for (int i = 4; i  0; i--) {

int line = i - 1;

temp = arr[i];

arr[i] = arr[line];

arr[line] = temp;

}

}

return arr;

}

/**

 * 处理数组向右移动

 * @param arr 源数组

 * @param y 右移列数

 * @return 移位后数组

 */

private static int[][] yidc(int[][] arr, int y) {

int[] temp = new int[5];

if (y  0) {

y = 5 + y;  //输入为负时换成对应的正数行  左移2列 等于 右移3列

}

for (int k = 0; k  y; k++) {

for (int i = 4; i  0; i--) {

int line = i - 1;

for (int j = 0; j  5; j++) {

temp[j] = arr[j][i];

arr[j][i] = arr[j][line];

arr[j][line] = temp[j];

}

}

}

return arr;

}

}

简测可以达到效果。

java中如何实现移位循环?

可以自己定义一个方法,先把右移的最低位保存起来(左移就是最高位),再用移一位,再把最低位加上去,循环n次

循环移位java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于循环移位寄存器原理、循环移位java的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-05,除非注明,否则均为首码项目网原创文章,转载请注明出处。