目录
♦️练习一:用户登录
已知正确的用户名和密码,请用程序实现模拟用户登录
总共给三次机会,登录之后,给出相应的提示
🎏分析:
- 要点一:正确的用户名和密码
- 要点二:总共三次登陆机会
- 要点三:给出相应的提示
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//1.创建用户名和密码两个变量
String rightUsername = "zhangsan";
String rightPassword = "123456";
//2.开辟空间,键盘录入输入的用户名和密码
//注意:需登录三次,需用循环,又知道循环次数则用for循环
for (int i = 0; i < 3; i++) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名");
String Username = sc.nextLine();
System.out.println("请输入密码");
String Password = sc.nextLine();
//3.判断登录是否成功
if (rightUsername.equals(Username) && rightPassword.equals(Password)) {
System.out.println("用户登陆成功");
break;
} else {
System.out.println("用户名或密码输入错误,请重新登录");
}
}
}
}
注意:在用户登录成功后需结束循环,加break,而登录错误不用
♦️练习二:遍历字符串
需求:键盘录入一个字符串,使用程序实现在控制台遍历该字符串
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 创建Scanner对象以获取用户输入
Scanner scanner = new Scanner(System.in);
// 提示用户输入字符串
System.out.print("请输入一个字符串:");
String str= scanner.nextLine();
// 遍历并打印字符串中的每个字符
for (int i = 0; i < str.length(); i++) {
char chs = str.charAt(i);
System.out.println(chs);
}
}
}
♦️练习三:统计字符次数数
键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符出现的次数
import java.util.Scanner;
public class CharacterCount {
public static void main(String[] args) {
// 创建Scanner对象以获取用户输入
Scanner scanner = new Scanner(System.in);
// 提示用户输入字符串
System.out.print("请输入一个字符串:");
String inputString = scanner.nextLine();
// 初始化计数器
int uppercaseCount = 0;
int lowercaseCount = 0;
int digitCount = 0;
// 遍历字符串并统计字符类型
for (int i = 0; i < inputString.length(); i++) {
char c = inputString.charAt(i);
if (c>='A'&&c<='Z')
{
uppercaseCount++; // 大写字母
} else if (c>='a'&&c<='z') {
lowercaseCount++; // 小写字母
} else if (c>='0'&&c<='9')) {
digitCount++; // 数字
}
}
// 输出统计结果
System.out.println("大写字母出现次数: " + uppercaseCount);
System.out.println("小写字母出现次数: " + lowercaseCount);
System.out.println("数字出现次数: " + digitCount);
// 关闭Scanner
scanner.close();
}
}
注:用ASCII码值来计算字符出现的次数
♦️练习四:拼接字符串
定义一个方法,把 int数组中的数据按照指定的格式拼接成一个字符串返调用该方法,并在控制台输出结果。例如:
数组为 int[] arr ={1,2,3};
执行方法后的输出结果为:[1,2,3]
🎏分析:
- 要点一:定义一个方法并返回值
- 要点二:注意结果的格式
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 定义整数数组
int[] arr = {1, 2, 3};
// 调用拼接方法并打印结果
String chs= arrToString(arr);
System.out.println(chs);
}
// 方法:将int数组拼接成字符串
public static String arrToString(int[] arr)
{ //判断数组是否为空或数组长度是否为0
if(arr.length==0||arr==null)
{
return " ";
}
String result="[";
for (int i = 0; i < arr.length; i++)
{
// 如果不是最后一项,添加逗号
if (i < arr.length - 1)
{
result=result+arr[i]+(","); // 使用中文逗号
}
else
{
result=result+arr[i];
}
}
result=result+"]";
return result;
}
}
♦️练习五:反转字符串
定义一个方法,实现字符串反转。键盘录入一个字符串,调用该方法后,在控制台输出结果例如,键盘录入 abc,输出结果 cba
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
String str = "abc";
String chs=reverse(str);
System.out.println(chs);
}
public static String reverse(String str)
{
String result="";
for (int i = str.length()-1; i>=0; i--)
{
char c=str.charAt(i);//将字符串某索引的值赋值于c
result=result+c;
}
return result;
}
}
♦️练习六:金额转换
🎏分析:
- 步骤一:定义一个方法可将数字转换为大写
- 步骤二:得到大写数组后在前面补0,补够7位
- 步骤三:插入单位
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//1.键盘录入一个金额
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个金额");
int money;
//判断输入的金额是否合理
//金额合理
while(true) {
money=sc.nextInt();
if (money >= 0 && money <= 9999999) {
break;//在循环中才能运用break
}
//金额不合理
else {
System.out.println("金额无效");
}
}
//定义一个变量表示前的大写
String moneyStr="";
//2.得到money里面的每一个数字
while(true)
{
//从右往左获取数据,因为右侧时数据的各位
int ge=money%10;
String capitalNumber=getCapitalNumber(ge);
//将得到的大写数字拼接起来
moneyStr=capitalNumber+moneyStr;//将MoneyStr和capitalNumber调换位置,防止打印出来是倒着的
money/=10;//将money移位,则下一次money%10得到的就是数据的十位
if(money==0)
{
break;
}
}
System.out.println(moneyStr);
//3.在前面补零,补够7位
int count=7-moneyStr.length();
for (int i = 0; i < count; i++)
{
moneyStr="零"+moneyStr;
}
System.out.println(moneyStr);
//4.插入单位
//定义一个数组表示单位
String[] arr={"佰","拾","万","仟","佰","拾","元"};
//遍历数组moneyStr,依次得到数组中元素
//然后将单位插入进去
for (int i = 0; i < moneyStr.length(); i++)
{
char c=moneyStr.charAt(i);
System.out.print(c);//注意此处打印不需要换行
System.out.print(arr[i]);
}
}
//定义一个方法,将数字变为大写
public static String getCapitalNumber (int number)
{
//定义数组,让数字跟大写中文产生一个对应关系
String[] arr={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
//返回结果
return arr[number];
}
}
♦️练习七:手机号屏蔽
🎏方法:
- String substring(int beginIndex,int endIndex)
- 注意点:包头不包尾,包左不包右
- String substring(intbedinIndex) 截取到末尾
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//1.获取一个手机号
String number="18100000000";
//2.录取手机号前面几位
String start=number.substring(0,3);
//3.录取手机号后面几位
String end=number.substring(7);
//4.拼接
String result=start+"****"+end;
System.out.println(result);
}
}