「循环移位java」循环移位寄存器原理
本篇文章给大家谈谈循环移位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的信息别忘了在本站进行查找喔。
发布于:2022-12-05,除非注明,否则均为
原创文章,转载请注明出处。