✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心哦!✨✨
🎈🎈作者主页: 🎈丠丠64-CSDN博客🎈
✨✨ 帅哥美女们,我们共同加油!一起进步!✨✨
目录
一、翻转数组
题目
思路
解题
二、二维数组求和
题目
思路
解题
三、动态字符串
题目
思路
解题
四、统计字符串字母出现的个数
题目
思路
解题
五、十进制的转换
题目
编辑
思路
解题
一、翻转数组
题目
思路
将数组的最左边下标和最右边下标找出来,然后进行互换,再分别++ --挪动位置,直到右边小于左边退出循环
解题
import java.util.Arrays;
import java.util.Scanner;public class Main {public static void main(String[] args) {int[] arr = new int[6];Scanner scanner = new Scanner(System.in);for (int i = 0; i < arr.length; i++) {arr[i] = scanner.nextInt();}//打印翻转前System.out.println(Arrays.toString(arr));//左右下标int right = arr.length-1;int left = 0;while(right > left){//交换arr[right] = arr[right] + arr[left] - (arr[left] = arr[right]);right--;left++;}//打印翻转后System.out.println(Arrays.toString(arr));}
}
二、二维数组求和
题目
思路
两个for循环遍历二维数组行列是很常规的写法,也可以使用新特征foreach来遍历二维数组
解题
public class Main {public static void main(String[] args) {int[][] arr = {{11,33,55},{22,44,66,88},{131,214,315,146},{928,827,726,625},{424,525}};int sum=add(arr);System.out.println(sum);}public static int add(int[][] arr) {int sum=0;1.第一种for(int i = 0;i < arr.length;i++){for(int j = 0; j < arr[i].length;j++){sum += arr[i][j];}}2.第二种for(int[] arr1 : arr){for(int arr2 : arr1){sum += arr2;}}return sum;}
}
三、动态字符串
题目
思路
因为String类型字符串不可变,我们用这个字符串创建一个新的StringBuilder型的字符串,然后从字符串末尾第3位开始,每次三位三位地遍历,将逗号用insert函数插入其中。
最后将StringBuilder型转变成String输出即可。
解题
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String str = scanner.next();StringBuilder newstr = new StringBuilder(str); //用原字符串创建可改变的字符串 for(int i = str.length() - 3; i >= 0; i -= 3){ //从末尾开始,三个三个遍历newstr.insert(i, ','); //插入逗号}System.out.println(newstr.toString()); //转变成String类输出}
}
四、统计字符串字母出现的个数
题目
思路
用replace替换统计的字符串使其消失,原有的字符串长度减去被替换的字符串长度,就是被统计的个数
解题
import java.util.Scanner;public class Main {public static void main(String[] args) {String string = "H e l l o ! n o w c o d e r";Scanner scanner= new Scanner(System.in);String word = scanner.next();scanner.close();System.out.println(check(string, word));}public static int check(String str, String word) {//用replace替换消失return str.length() - str.replace(word,"").length();}
}
五、十进制的转换
题目
思路
可以使用包装类的各个方法进行转换,也可以手动使用辗转相除法求出
Integer.toString(int num, int tar)
str表示要转成字符串的数字,tar表示要转成的进制
然后我们介绍一下辗转相除法,使用递归(除到结果为1停止)
解题
import java.util.*;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int num = scanner.nextInt();1.第一种System.out.println(Integer.toBinaryString(num));2.第二种Ststem.out.println(Integer.toSteing(num,2));3.第三种fun(num);}public static void fun(int tar) {int temb = tar / 2;int temp = tar % 2;if(temb >= 1){fun(temb);}System.out.print(temp);}
}
每日五道经典题哦,循序渐进,关注我一起刷题!!