实用类(二)
Random类
生成随机数的方式:
java.util.Random类
Random rand=new Random(); //创建一个Random对象
for(int i=0;i<20;i++){//随机生成20个随机整数,并显示
int num=rand.nextInt(10);//返回下一个伪随机数,整型的 System.out.println("第"+(i+1)+"个随机数是:"+num);
}
注:用同一个种子值来初始化两个Random 对象,然后用每个对象调用相同的方法,得到的随机数也是相同的
String类
1、生活中的字符串
如:"Hello World"
2、使用String对象存储字符
如:String s="Hello World"
3、String类位于java.lang包中,具有丰富的用法
如:计算字符串的长度、比较字符串、连接字符串、提取字符串
equals方法
equals():检查组成字符串内容的字符是否完全一致
"=="和equals()的区别:
- 就基本数据类型而言,只有==,没有equals
- 字符串:==比较的是内存地址,equals比较的是值,需要在意的是new了一个String,会产生不同的对象,内存地址会发生变化
- 就对象而言:==比较的是内存地址,equals比较的是值
字符串比较的其他方法
- 使用equalsIgnoreCase()方法
- 使用toLowerCase()方法
- 使用toUpperCase()方法
练习:会员注册
需求说明:实现会员注册,要求
用户名长度不小于3
密码长度不小于6
注册时两次输入密码必须相同
如图:
public class Pc2 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int flag=1;
do {
System.out.println("***欢迎进入注册系统***");
System.out.println("请输入用户名:");
String name=sc.next();
System.out.println("请输入密码:");
String pw=sc.next();
System.out.println("请再次输入密码:");
String pw2=sc.next();
if (name.length()<3 || pw.length()>=6){
System.out.println("用户名长度不能小于3,密码长度不能大于6");
continue;
}
if (!pw.equals(pw2)){
System.out.println("两次密码不同!");
continue;
}
flag=0;
}while (flag==1);
System.out.println("注册成功!");
}
}
字符串连接
方法1:使用"+"
方法2:使用String类的concat()方法
常用提取方法:
练习2:查找特定字符出现的次数
需求说明
输入一个字符串,再输入要查找的字符,判断该字符在该字符串中出现的次数
public class Pc3 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str=sc.next();
char[] chars=str.toCharArray();
System.out.println("请输入要查找的字符:");
char ch=sc.next().charAt(0);
int count=0;
for (int i = 0; i < chars.length; i++) {
if (chars[i]==ch){
count++;
}
}
System.out.println(str+"中包含"+count+"个"+ch);
}
}