✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心哦!✨✨
🎈🎈作者主页: 🎈丠丠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);
}
}
每日五道经典题哦,循序渐进,关注我一起刷题!!