字符串小练习
小练习
- 判断某个人是不是姓张
- 打印字符串中的每一个字符
- 有如下信息,请计算并打印每个学生的平均分
//数据
String[] stus = {"小绿_数学_12_语文_33_英语_42,钢铁男_数学_26_语文_30_英语_40,小红_数学_62_语文_23_英语_42"
};
【1】判断某个人是不是姓张——name.startsWith()
package String;
import java.util.Scanner;
public class xiaoLianXi01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入名字:");
String name = sc.nextLine();
// if(name.startsWith("张")){
// System.out.println("Yes");
// }else{
// System.out.println("No");
// }
System.out.println(name.startsWith("张")?"yes":"no"); // 三目运算符
}
}
【2】打印字符串中的每一个字符——charAt()
package String;
import java.util.Scanner;
public class xiaoLianXi02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串:");
String s = sc.nextLine();
for (int i = 0; i < s.length(); i++) {
System.out.println(s.charAt(i));
}
}
}
【3】请计算并打印每个学生的平均分
- 字符串数组中 “ ”
- 每次都要有个新的字符串对象来接数组中的字符串
- 分割后得的是字符串数组,要计算平均值还要将成员转为数字形式——包装类
package String;
public class xiaolianxi03 {
public static void main(String[] args) {
String[] stus = {"小绿_数学_12_语文_33_英语_42","钢铁男_数学_26_语文_30_英语_40","小红_数学_62_语文_23_英语_42"
};
for (int i = 0; i < stus.length; i++) {
String s = stus[i]; // 每次都要有一个新的对象来接字符串
String ss[] = s.split("_");// 小绿,数学,12,语文,33,英语,42
String name = ss[0];
String mathScore = ss[2];
String chineseScore = ss[4];
String englisScore = ss[6];
// 将字符串转为数字然后计算平均值——包装类
double aver = (Integer.parseInt(mathScore) + Integer.parseInt(chineseScore) +Integer.parseInt(englisScore)) / 3.0;
System.out.println(name+"的平均分为:"+aver);
}
}
}