下面是对于“Java日常练习题,每天进步一点点(25)”的完整攻略。
题目描述
该题目共包含7个子问题,主要考察的是Java中的数组的使用。具体的题目描述可以参考原文链接:Java日常练习题,每天进步一点点(25)。
解题思路
1.第1题
创建一个长度是3的字符串数组,输入3个字符串到这个数组当中。然后使用一个循环,对这个字符串数组进行反转。
- 首先,使用
Scanner
类获取用户输入的3个字符串,分别存储到三个变量中 - 接着,定义一个长度为3的字符串数组
strArr
,将之前获取到的三个字符串存入该数组 - 接下来,使用循环将字符串数组中的每一个字符串进行反转,具体可以采用双指针的方法
示例如下:
Scanner scanner = new Scanner(System.in);
String s1 = scanner.nextLine();
String s2 = scanner.nextLine();
String s3 = scanner.nextLine();
String[] strArr = {s1, s2, s3};
for (int i = 0; i < 3; i++) {
int left = 0;
int right = strArr[i].length() - 1;
char[] arr = strArr[i].toCharArray();
while (left < right) {
char temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
left++;
right--;
}
strArr[i] = new String(arr);
}
System.out.println(Arrays.toString(strArr));
2.第3题
创建一个长度是6的整型数组,要求数组元素的值都在1-30之间,且这6个数字是不同的。按照从小到大的顺序输出所有数组元素。
- 首先,定义一个长度为6的整型数组
nums
- 接着,使用循环遍历该数组,对每一个元素进行初始化,要求其值在1~30之间且与之前的数字都不相同
- 最后,使用排序(可以采用任意一种排序算法)对该数组进行排序,然后输出该数组
示例如下:
int[] nums = new int[6];
for (int i = 0; i < 6; i++) {
int num = (int) (Math.random() * 30) + 1;
while (contains(nums, num)) {
num = (int) (Math.random() * 30) + 1;
}
nums[i] = num;
}
Arrays.sort(nums);
System.out.println(Arrays.toString(nums));
其中,contains
方法用于判断数组中是否已经存在某一个数字,实现方式如下:
public static boolean contains(int[] nums, int target) {
for (int num : nums) {
if (num == target) {
return true;
}
}
return false;
}
总结
本文针对“Java日常练习题,每天进步一点点(25)”中的7个子问题,分别给出了解题思路和代码示例,并且对难以理解的代码片段进行了详细的注释说明。希望本文能够对读者理解和学习Java中的数组使用有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java日常练习题,每天进步一点点(25) - Python技术站