Java SE案例(String与StringBuilder)

一、String案例

案例1.用户登录

需求:已知用户名和密码,请用程序实现模拟用户登录。总共给三次机会,登陆之后,给出相应的提示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package test;

import java.util.Scanner;

public class denglu {
public static void main(String[] args) {
String name="yolin";
String password="123456";

Scanner s=new Scanner(System.in);

for(int i=3;i>=0;i--){
System.out.println("请输入账号");
String username=s.nextLine();
System.out.println("请输入密码");
String userpassword=s.nextLine();
if(name.equals(username)&&password.equals(userpassword)){
System.out.println("登陆成功");
break;
}else{
System.out.println("账号或密码错误,请重新登陆,你还有"+(i-1)+"次机会");
}
}
}


}

案例2.遍历字符串

需求:键盘录入一个字符串,使得程序实现遍历出每个字符

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package test;

import java.util.Scanner;

public class bianlizifuchuan {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("请输入一个字符串");
String line=s.nextLine();
for(int i=0;i<line.length();i++){
System.out.println(line.charAt(i));
}


}

}

案例3.统计字符次数

需求:键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符出现的次数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package test;

import java.util.Scanner;

public class zifucishu {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("请输入一个字符串");
String line=s.nextLine();
int bigCount=0;
int smallCount=0;
int numberCount=0;
for(int i=0;i<line.length();i++){
char ch=line.charAt(i);
if (ch>='A'&& ch<='Z'){
bigCount++;
}else if(ch>='a'&&ch<='z'){
smallCount++;

}else if(ch>='0'&&ch<='9'){
numberCount++;
}
}
System.out.println("大写字母个数:"+bigCount);
System.out.println("小写字母个数:"+smallCount);
System.out.println("数字个数:"+numberCount);
}

}

案例4.字符串反转

需求:定义一个方法,实现字符串反转。键盘录入一个字符串,调用方法后输出结果

例如:键盘录入abc,输出结果为cba

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package test;

import java.util.Scanner;

public class StringFanZhuan {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("请输入一个字符串");
String line=s.nextLine();
fanZhuan(line);
}
public static void fanZhuan(String line){
for(int i=line.length()-1; i>=0;i--){
System.out.print(line.charAt(i));
}
}
}

二、StringBuilder

StringBuilder是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是StringBuilder对象中的内容是可变的

String和StringBuiler区别:

  • String:内容是不可变的
  • StringBuilder:内容是可变的

StringBuilder构造方法

方法名 说明
public StringBuilder() 创建一个空白可变字符串对象,不然任何内容
public StringBuilder(String str) 根据字符串内容来创建可变字符串对象

StringBuilder的添加和反转方法

方法名 说明
public StringBuilder append(任意类型) 添加数据,并返回对象本身
public StringBuilder reverse() 返回相反的字符序列

StringBuilder和String相互转换

1.StringBuilder 装换为 String

通过 toString() 就可以实现把StringBuilder转换为String

1
public String toString()

2.String 转换为 StringBuilder

通过构造方法就可以实现把String转换为StringBuilder

1
public StringBuilder(String s)

StringBuilder案例

1.拼接字符串

需求:定义一个方法,把int数组中的数据按照指定格式拼接成一个字符串返回,调用该方法,并在控制台输出结果。例如,数组为int[] arr={1,2,3}; 执行方法后的输出结果为[1,2,3]

使用StringBuilder可以节省空间,效率也比Strin要高

2.字符串反转

需求:定义一个方法,实现字符串反转。键盘录入一个字符串,调用方法后输出结果

请我喝杯咖啡吧~

支付宝
微信