当前位置: 首页 > news >正文

【Java】重生之String类再爱我一次---练习题(012)

目录

♦️练习一:用户登录

♦️练习二:遍历字符串

♦️练习三:统计字符次数数

♦️练习四:拼接字符串

♦️练习五:反转字符串

♦️练习六:金额转换

♦️练习七:手机号屏蔽


♦️练习一:用户登录

已知正确的用户名和密码,请用程序实现模拟用户登录

总共给三次机会,登录之后,给出相应的提示

🎏分析:

  • 要点一:正确的用户名和密码
  • 要点二:总共三次登陆机会
  • 要点三:给出相应的提示       
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){   //判断数组是否为空或数组长度是否为0if(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);//将字符串某索引的值赋值于cresult=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);}
}

http://www.lryc.cn/news/411675.html

相关文章:

  • NSSCTF-GDOUCTF 2023新生赛
  • 论文解析——Character Region Awareness for Text Detection,字符级文本检测CRAFT算法
  • 基于飞腾平台的Kafka移植与安装
  • 【Python数据结构与算法】递归----算24
  • TOSHIBA东芝代理商--芯智雲城,提供订货、报价、选型等服务!
  • sdwan
  • Linux: network: 建立socket以及设置nonblock/opt所需的时间
  • git使用及代码规范
  • 职业教育大数据实验实训室建设应用案例
  • 【Academy】反序列化漏洞Insecure deserialization
  • 【轨物推荐】康波、世界体系与创新范式:中国如何引爆新一轮产业革命
  • [HCTF 2018]admin1
  • 【Qwen-Audio部署实战】Qwen-Audio-Chat模型之对话机器人部署测试
  • 第一百八十五节 Java XML教程 - Java DOM简介
  • 一款功能强大且免费的图片查看和管理工具
  • 动手学强化学习 第 11 章 TRPO 算法(TRPOContinuous) 训练代码
  • 数量关系模块
  • 滑模面、趋近律设计过程详解(滑模控制)
  • SQL Server 端口配置
  • 同一窗口还是新窗口打开链接更利于SEO优化
  • kafka 安装
  • 消息队列中间件 - Kafka:高效数据流处理的引擎
  • el-table表格动态合并相同数据单元格(可指定列+自定义合并)
  • 复习Nginx
  • nvm:Node.js 版本管理工具
  • springboot校园商店配送系统-计算机毕业设计源码68448
  • 【Redis 初阶】客户端(C++ 使用样例列表)
  • 【STM32】STM32单片机入门
  • 学生信息管理系统(Python+PySimpleGUI+MySQL)
  • Java8.0标准之重要特性及用法实例(十九)