用户登录
使用字符串的功能完成登录案例。案例需求如下:
需求
系统默认的登录名和密码是kfm/123456,请在控制台开发一个登录界面,接受用户输入的登录名和密码,判断用户是否登录成功,登录成功后展示:“欢迎进入系统!”,即可停止程序。(最多三次登录机会)
package util1;
import java.util.Scanner;
public class Demo01 {
private static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
String user = "kfm";
String password = "123456";
logOn(user,password);
}
public static void logOn(String user,String password){
System.out.println("请输入登录名:");
String u = sc.next();
System.out.println("请输入密码:");
String p = sc.next();
int count = 1;
while (count<3){
if (u.equals(user)&&p.equals(password)){
System.out.println("欢迎进入系统!");
break;
}else {
System.out.println("用户名或密码错误!");
System.out.println("请输入登录名:");
u = sc.next();
System.out.println("请输入密码:");
p = sc.next();
}
count++;
if (count==3){
System.out.println("由于三次登录失败,密码已被锁定");
}
}
}
}
随机产生验证码
使用String来开发验证码。需求如下:
需求:
实现随机产生验证码,验证码的每位可能是数字、大写字母、小写字母。
package util1;
import java.util.Random;
public class Demo02 {
public static void main(String[] args) {
String str = code();
System.out.println(str);
}
//实现随机产生验证码,验证码的每位可能是数字、大写字母、小写字母。
public static String code(){
String str = "";
for (int i = 1; i <= 4; i++) {
Random ran = new Random();
int n = ran.nextInt(48,123);
if (n>=48&&n<=57||n>=65&&n<=90 || n>=97&&n<=122){
char ch = (char)n;
str = str +ch;
}else {
i--;
}
}
return str;
}
}
对称字符串
请定义一个方法用于判断一个字符串是否是对称的字符串,并在主方法中测试方法。例如:“abcba”、"上海自来水来自海上"均为对称字符串。
package util1;
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str = sc.next();
if (isSymmetric(str)){
System.out.println("是对称字符串");
}else System.out.println("不是对称字符串");
}
//定义一个方法用于判断一个字符串是否是对称的字符串,并在主方法中测试方法。如:“abcba”、"上海自来水来自海上"
public static boolean isSymmetric(String str){
for (int i = 0; i < str.length()/2; i++) {
if (str.charAt(i)!=str.charAt(str.length()-1-i)){
return false;
}
}
return true;
}
}
逆序输出
将一个字符串逆序输出 例如: abcd --> dcba
package util1;
public class Demo04 {
public static void main(String[] args) {
String str = "abcd";
String newStr = reverseOrder(str);
System.out.println(newStr);
}
//将一个字符串逆序输出 例如: abcd --> dcba
public static String reverseOrder(String str){
String[] arr = str.split("");
String str1 = "";
for (int i = arr.length-1; i >= 0; i--) {
str1=str1+arr[i];
}
return str1;
}
}
截取文件名
定义一个用于截取文件后缀名的方法, 传入一个字符串的文件名( hello.java),返回一个字符串。
package util1;
public class Demo05 {
public static void main(String[] args) {
String str = "hello.java";
String newStr = intercept(str);
System.out.println(newStr);
}
//定义一个用于截取文件后缀名的方法, 传入一个字符串的文件名( hello.java),返回一个字符串。
public static String intercept(String str){
int index = str.lastIndexOf(".");
String str1 = str.substring(0,index);
return str1;
}
}