Java(day7)

打印 上一主题 下一主题

主题 976|帖子 976|积分 2928

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
字符串练习
生成验证码

  1. package day6;
  2. /*生成验证码
  3. 内容:可以是小写字母,也可以是大写字,还可以是数字
  4. 规则:
  5. 长度为5
  6. 内容中是四位字母,1位数字。
  7. 其中数字只有1位,但是可以出现在任意的位置。*/
  8. import java.util.Random;
  9. import java.util.StringJoiner;
  10. public class test6 {
  11.     public static void main(String[] args) {
  12.         Random r=new Random();
  13.         String arr1="qwertyuiopasdfghjklzxcvbnm",
  14.                 arr2="QWERTYUIOPASDFGHJKLZXCVBNM",
  15.                 arr3="1234567890";
  16.         boolean flag=false;//记录数字是否出现
  17.         StringBuilder a=new StringBuilder();
  18.         for (int i = 0; i < 5; ) {
  19.             int b=r.nextInt(1,4);
  20.             //随机生成1-3,1就小写字母,2就大写字母,3就数字
  21.             if(b==1)
  22.             {
  23.                 int c=r.nextInt(0,arr1.length());//生成随机索引
  24.                 a.append(arr1.charAt(c));
  25.                 i++;
  26.             }
  27.             else if(b==2){
  28.                 int c=r.nextInt(0,arr2.length());//生成随机索引
  29.                 a.append(arr2.charAt(c));
  30.                 i++;
  31.             }
  32.             else if(b==3){
  33.                 if(!flag){
  34.                     int c=r.nextInt(0,arr3.length());//生成随机索引
  35.                     a.append(arr3.charAt(c));
  36.                     flag=true;
  37.                     i++;
  38.                 }
  39.                 else
  40.                     ;
  41.             }
  42.         }
  43.         System.out.println("生成的验证码是:"+a.toString());
  44.     }
  45. }
复制代码

字符串乘积

  1. package day6;
  2. /*给定两个以字符申形式表示的非负整数num1和num2,返回numd和lnum2的乘积,它们的乘积也表示为字符申形式
  3. 注意:需要用已有的知识完成*/
  4. public class test7 {
  5.     public static void main(String[] args) {
  6.         String num1="66",num2="100";
  7.         char arr1[] = new char[num1.length()];char arr2[]= new char[num2.length()];
  8.         //String 类型的变量num1,num2转变为char类型的数组
  9.         for (int i = 0; i < num1.length(); i++) {
  10.             arr1[i]=num1.charAt(i);
  11.         }
  12.         for (int i = 0; i < num2.length(); i++) {
  13.             arr2[i]=num2.charAt(i);
  14.         }
  15.         int x=0,y=0,k=1,j=1;//x接收num1,y接受num2
  16.         for (int i = arr1.length-1; i >=0 ; i--) {
  17.             x+=(int)(arr1[i]-'0')*k;
  18.             k*=10;
  19.         }
  20.         for (int i = arr2.length-1; i >=0 ; i--) {
  21.             y+=(int)(arr2[i]-'0')*j;
  22.             j*=10;
  23.         }
  24.         int result=x*y;
  25.         StringBuilder a=new StringBuilder();//接收结果
  26.         while (result>0){
  27.            a.append((char)((result%10)+'0'));
  28.            result/=10;
  29.         }
  30.         StringBuilder b=a.reverse();
  31.         System.out.println(b.toString());
  32.     }
  33. }
复制代码

字符串最后一个单词

  1. package day6;
  2. /*给你一个字符串s,由若干单词组成,单词前后用一些空格字符隔开。
  3. 返回字符串中最后一个单词的长度。
  4. 词是指仅由字母组成,不包含何格字符的最大子字符中
  5. 示例1;输入;s="he11owor1d" drr输出:5
  6. 解释:最后一个单词是"wor1d",长度为5.
  7. 示例2:输入:s="f1ymeto themoon 输出:4
  8. 解释:最后一个单词是"moon",长度为4.
  9. 示例3:输入:s="1uffyissti11joyboy" 输出:6
  10. 解释:最后一个单词是长度为6的"joyboy".*/
  11. public class test8 {
  12.     public static void main(String[] args) {
  13.         String s = "Hello World   ";
  14.         // 去除字符串末尾的空格
  15.         s = s.trim();
  16.         int lastIndex = -1;
  17.         for (int i = s.length() - 1; i >= 0; i--) {
  18.             if (s.charAt(i) == ' ') {
  19.                 lastIndex = i;
  20.                 break;
  21.             }
  22.         }
  23.         int result;
  24.         if (lastIndex == -1) {
  25.             result = s.length();
  26.         } else {
  27.             result = s.length() - lastIndex - 1;
  28.         }
  29.         System.out.println("最后一个单词的长度为: " + result);
  30.     }
  31. }
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

魏晓东

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表