int score = Integer.parseInt(arr[3].split(":")[1].trim()); 是什么意思
时间: 2024-06-07 12:11:28 浏览: 81
这段代码的作用是将一个字符串数组 `arr` 中第 4 个元素(下标为 3)按照冒号进行分割,取得冒号后面的部分(即分数),并将其转换为整型数据类型赋值给变量 `score`。
具体来说,`split(":")` 方法会将字符串按照冒号进行分割成一个字符串数组,然后 `[1]` 表示取得分割后的第二个元素,也就是冒号后面的部分,最后 `trim()` 方法可以去除字符串首尾的空格。`Integer.parseInt()` 方法则将这个字符串解析成整型数据类型。
相关问题
package zifuchuan.caozuo; import java.util.Scanner; import java.util.TreeSet; public class ShuruZhengxingshuzuhepaixubiaoshi { public static void main(String[] args) { Scanner in = new Scanner(System.in); TreeSet<Integer> set = new TreeSet<>(); int count =Integer.parseInt(in.nextLine()); String[] arr = in.nextLine().split(" "); int flag = Integer.parseInt(in.nextLine()); System.out.println(flag); for (int i = 0; i < count; i++) { set.add(Integer.parseInt(arr[i] + "")); } Object[] arr1 = set.stream().sorted().toArray(); if (flag == 0) { for (int i = 0; i <= arr1.length - 1; i++) { if (i < arr1.length - 1) System.out.println(Integer.parseInt(arr1[i] + " ")); else System.out.println(Integer.parseInt(arr1[i] + "")); } }else if(flag == 1){ for (int i = arr1.length - 1; i >=0 ; i--) { if (i < arr1.length - 1) System.out.println(Integer.parseInt(arr1[i] + " ")); else System.out.println(Integer.parseInt(arr1[i] + "")); } } } } 哪里出了问题
在输出排序后的数组元素时,应该使用 System.out.print() 方法而不是 System.out.println() 方法,因为题目要求输出的元素之间用空格隔开,最后一个元素后不需要空格。修改代码如下:
```
if (flag == 0) {
for (int i = 0; i < arr1.length; i++) {
if (i < arr1.length - 1)
System.out.print(Integer.parseInt(arr1[i] + " ") + " ");
else
System.out.print(Integer.parseInt(arr1[i] + ""));
}
} else if (flag == 1) {
for (int i = arr1.length - 1; i >= 0; i--) {
if (i > 0)
System.out.print(Integer.parseInt(arr1[i] + " ") + " ");
else
System.out.print(Integer.parseInt(arr1[i] + ""));
}
}
```
import java.util.Scanner; public class PTA01 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.nextLine()); String input = sc.nextLine(); String[] strarr = input.split(" "); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = Integer.parseInt(strarr[i]); } SeceltSort(arr); } public static void SeceltSort(int[] arr) { for (int i = 0; i < arr.length; i++) { int temp = arr[i]; int index = i; boolean flag = false; for (int j = i; j < arr.length; j++) { if (temp > arr[j]) { temp = arr[j]; index = j; flag = true; } } if (flag == false) continue; temp = arr[i]; arr[i] = arr[index]; arr[index] = temp; if(i!=0) System.out.println(); for (int a = 0; a < arr.length; a++) { System.out.print(arr[a]); if (a!=arr.length-1) System.out.print(" "); } } } }
这段代码实现的是选择排序,输入一个整数 n 和 n 个整数,然后对这 n 个整数进行选择排序并输出每次排序后的结果。
具体实现过程:
首先通过 Scanner 对象读取输入,第一行是整数 n,第二行是 n 个整数,用 split 方法将第二行的字符串按空格分割成整数数组。
然后调用 SeceltSort 方法进行选择排序,遍历数组,每次找到未排序部分的最小值,将其与未排序部分的第一个元素交换位置。在交换位置后,输出当前排序结果。
最后的输出结果类似于:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
每行输出一个排序结果。
阅读全文