Java String 类 学习案例
1.用户登录
案例:用户登录
需求:
已知用户名和密码,请用程序实现模拟用户登录。总共给三次机会,登录之后,给出相应的提示
思路:
1:已知用户名和密码,定义两个字符串表示即可
2:键盘录入要登录的用户名和密码,用Scanner实现
3:拿键盘录入的用户名、密码和已知的用户名、密码进行比较,给出相应的提示。字符串的内容比较,用equals()方法实现4 :用循环实现多次机会,这里的次数明确,采用for循环实现,并在登录成功的时候,使用break结束循环
public class StringTest01 {
public static void main(String[] args) {
String userName = "wangkai";
String passWord = "12345";
//获取用户输入的用户名与密码
Scanner sc = new Scanner(System.in);
System.out.print("请输入用户名:");
String name = sc.nextLine();
System.out.print("请输入密码:");
String pwd = sc.nextLine();
for(int i=0; i<3; i++) {
//拿键盘录入的用户名、密码和已知的用户名、密码进行比较,给出相应的提示
if(name.equals(userName) && pwd.equals(passWord)) {
System.out.println("登录成功!");
break;
}
System.out.println("登陆失败!你还有"+ (2-i) +"机会");
System.out.print("请输入用户名:");
name = sc.nextLine();
System.out.print("请输入密码:");
pwd = sc.nextLine();
}
}
}
2.遍历字符串
案例:遍历字符串
1.录入字符串,利用Scanner对象
2.遍历字符串,首先要能获取字符串中的每一个字符,利用charAt(index);
3.获取字符串长度length()
public class StringTest02 {
public static void main(String[] args) {
//从键盘录入字符串
Scanner sc = new Scanner(System.in);
System.out.print("请输入一串字符串:");
String line = sc.nextLine();
//for循环利用length()函数,charAt()遍历字符串
for(int i=0; i<line.length(); i++) {
System.out.println(line.charAt(i));
}
}
}
3.统计字符次数
案例:统计不同类型字符出现次数
需求:
键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符出现的次数(不考虑其他字符)
思路:
1 :键盘录入一个字符串,用scanner实现
2:要统计三种类型的字符个数,需定义三个统计变量,初始值都为e3:遍历字符串,得到每一个字符
4:判断该字符属于哪种类型,然后对应类型的统计变量+1
假如ch是一个字符,我要判断它属于大写字母,小写字母,还是数字,直接判断该字符是否在对应的范围即可
大写字母:ch>='A’ && ch<=‘Z’ ,小写字母:ch>=‘a’ && ch <= 'z’数字:ch>=‘0’&& ch<= ‘9’
5 :输出三种类型的字符个数
package day01;
import java.util.Scanner;
public class StringTest03 {
public static void main(String[] args) {
//定义变量分别存储三种类型字符的个数
int daXieZiMuCount = 0; //存储大写字母的个数
int xiaoXieZiMuCount = 0; //存储小写字母的个数
int shuZiCount = 0; //存储数字个数
//从键盘上获取输入字符
System.out.print("请输入一串字符:");
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
//遍历字符串,并分别统计三种类型的个数
for(int i=0; i<line.length(); i++) {
char ch = line.charAt(i);
if(ch>='A' && ch<='Z') {
daXieZiMuCount++;
}else if(ch>='a' && ch<='z'){
xiaoXieZiMuCount++;
}else {
shuZiCount++;
}
}
System.out.println("大写字符的个数:" + daXieZiMuCount);
System.out.println("小写字符的个数:" + xiaoXieZiMuCount);
System.out.println("数字的个数:" + shuZiCount);
}
}
4.字符串拼接
案例:字符串拼接
需求:
定义一个方法,把 int数组中的数据按照指定的格式拼接成一个字符串返回,调用该方法,并在控制台输出结果。例如,数组为 int[ ] arr = {1,2,3}; ,执行方法后的输出结果为:[1,2,3]
思路:
1:定义一个 int类型的数组,用静态初始化完成数组元素的初始化
2:定义一个方法,用于把int数组中的数据按照指定格式拼接成一个字符串返回。返回值类型string,参数列表int[] arr
3:在方法书遍历数组,按照要求进行拼接
4:调用方法,用一个变量接收结果
5:输出结果
package day01;
public class StringTest04 {
public static void main(String[] args) {
int[] arr = new int[] {1, 2, 3};
System.out.println(arrayToString(arr));
}
//定义方法将数组转换为指定方式输出
public static String arrayToString(int[] arr) {
String str = "";
str += "[" ;
for(int i=0; i<arr.length; i++) {
if(i == arr.length-1) {
str += arr[i];
}else {
str += arr[i] + ",";
}
}
str += "]";
return str;
}
}