练习6:输入用户名和密码,验证用户身份。
package com.lovoinfo;
import java.util.Scanner;
/**
* 用户登录验证
* @author jackfrued
*
*/
public class Test03 {
/**
* 在数组中查找有没有指定的元素
* @param x 数组
* @param y 指定的元素
* @return 找到了返回元素在数组中的位置,没有找到返回-1
*/
public static int findUsername(String[] x, String y) {
for(int i = 0; i < x.length; i++) {
if(x[i].equals(y)) {
return i;
}
}
return -1;
}
public static void main(String[] args) {
String[] usernames = {"admin", "jack", "guest"};
String[] passwords = {"123456", "abcdefg", "000000"};
Scanner sc = new Scanner(System.in);
boolean isLogin = false; // 是否登录成功
do {
System.out.print("请输入用户名: ");
String username = sc.nextLine().trim();
System.out.print("请输入密码: ");
String password = sc.nextLine();
int index = findUsername(usernames, username);
if(index != -1) {
if(password.equals(passwords[index])) {
isLogin = true;
}
}
if(!isLogin) {
System.out.println("用户名或密码错误!!!");
}
} while (!isLogin);
// 登录成功就结束do...while循环显示欢迎信息
System.out.println("登录成功!欢迎使用本系统...");
sc.close();
}
}
练习7:跑马灯效果。
package com.lovoinfo;
public class Test04 {
public static void main(String[] args) throws InterruptedException {
String str = "欢迎来朗沃学习 ";
while(true) {
System.out.println(str);
str = str.substring(1) + str.charAt(0);
Thread.sleep(200);
}
}
}
练习8:实现字符串倒转、字符串去掉空格、字符串大小写互换的方法。
package com.lovoinfo;
public class Test05 {
/**
* 字符串倒转
* @param str 原来的字符串
* @return 倒转后的字符串
*/
public static String reverse(String str) {
String newStr = "";
for(int i = str.length() - 1; i >= 0; --i) {
newStr += str.charAt(i);
}
return newStr;
}
/**
* 修剪字符串中所有的空白字符
* @param str 原来的字符串
* @return 去掉空白字符后的字符串
*/
public static String trimAll(String str) {
String newStr = "";
for(int i = 0; i < str.length(); i++) {
if(str.charAt(i) != ' ') {
newStr += str.charAt(i);
}
}
return newStr;
}
/**
* 将字符串中的小写字母变大写,大写字母变小写
* @param str 原来的字符串
* @return 变换后的字符串
*/
public static String switchUpperLower(String str) {
String newStr = "";
for(int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if(ch >= 'A' && ch <= 'Z') {
ch += 32; // 相当于 ch = (char)(ch + 32);
}
else if(ch >= 'a' && ch <= 'z') {
ch -= 32; // 相当于 ch = (char)(ch - 32);
}
newStr += ch;
}
return newStr;
}
public static void main(String[] args) {
// hELLO, wORLD!
System.out.println(switchUpperLower("Hello, World!"));
System.out.println(reverse("hello")); // olleh
System.out.println(reverse("我爱你")); // 你爱我
System.out.println(reverse("i love you")); // uoy evol i
System.out.println(trimAll(" h e l l o ")); // hello
}
}
- 方法的定义和使用
- 方法的递归调用
- 字符串用法及常用方法