「java循环后移」java循环移位
本篇文章给大家谈谈java循环后移,以及java循环移位对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java语言初学者,求:输入的一个小写字母,将字母循环后移5个位置后输出.如’a’变成’f’,’w’变成’b’
- 2、Java数组中,先声明一个数组降序排列,然后输入一个数插入进去,关于元素后移问题,求解?
- 3、java中如何实现移位循环?
- 4、java写一个方法使数组[1,3,5,7]循环右移2位后为[5,7,1,3]
- 5、java循环矩阵移位
- 6、请教java的for循环问题!
java语言初学者,求:输入的一个小写字母,将字母循环后移5个位置后输出.如’a’变成’f’,’w’变成’b’
public class Test {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String str = s.next();
int a = str.toLowerCase().charAt(0);
System.out.println(a);
if(a+5'z'){
a = ('a'-1)+a+5-'z';
}else{
a+=5;
}
System.out.println(new String(new char[]{(char)a}));
}
}
Java数组中,先声明一个数组降序排列,然后输入一个数插入进去,关于元素后移问题,求解?
假如 scores.length=10
那就是从9开始,第9个元素等于9-1个元素。。。。。。循环
意思是 9=8; Java中 把“右边“的值赋给“左边“。
把第 8 个元素的值 赋给 第 9 个元素,以此类推。第 6 给第 7 。。。 元素就后移了
int[] scores=new int[10]; //声明一个长度为 10 的数组 按大小赋几个值,(举个从大到小的例子)
int index= scores.length; //保存新增元素插入的位置 , 即 index为 新元素的下标。
Scanner input=new Scanner(System.in);
int num=input.nextInt(); //接收要插入的元素
for(int i=0 ; iscores.length ; i++){
if(numscores[i]){
index=i ;// 如果插入元素的值 “大于” 数组元素的值 , 则把数组元素的 下标 赋给 插入元素
break;
}
}
for(int i=scores.length-1; iindex; i--){
scores[9]=scores[9-1]; // 假如从 9 开始,第9个元素等于(9-1)个元素。。。
//即 “把第 8 个元素的值给了第 9 个元素”8到9 可不就是后 移了 循环以此类推 7=6 ; 5=4; 右边给左边,菜鸡!
}
java中如何实现移位循环?
可以自己定义一个方法,先把右移的最低位保存起来(左移就是最高位),再用移一位,再把最低位加上去,循环n次
java写一个方法使数组[1,3,5,7]循环右移2位后为[5,7,1,3]
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class $ {
public static void main(String... _) {
Integer[] arr = { 1, 3, 5, 7 };
List data = new ArrayList();
int len = arr.length / 2;
for (int i = len; i arr.length; i++) {
data.add(arr[i]);
}
for (int i = 0; i len; i++) {
data.add(arr[i]);
}
arr = (Integer[]) data.toArray(new Integer[0]);
System.out.println(Arrays.deepToString(arr));
}
}
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的for循环问题!
这种方式是jdk1.5就开始有的
这种方式优点:写起来方便,不需要再获得迭代器,无论是集合(必须用到泛型,自然通过编译就能检查一部分错误,那么提取速度就快,不需要判断是什么类型),还是数组(自然数据类型一致,速度也快)都可以用此方法。
缺点:如果list是空时需要单独避免,不像迭代器 while(),小括号里面直接用迭代器的next后移来判断是否有值,但是,上面的for循环就必须先判断是否为空,否则会出错;低版本的jdk不支持上面的方式。
举个常用的:
String[] stringArray = tempString.split("-");
if( stringArray !=null ){
for( String s: stringArray ){
//
}
}
/*
Item是自定义类
*/
ListItem itemList = new ArrayListItem();
itemList.add(...);
for( Item item: itemList ){
//...
}
希望我说的明白 ;-)
关于java循环后移和java循环移位的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-27,除非注明,否则均为
原创文章,转载请注明出处。