问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java 如果是数字,直接添加进字符串;如果是字母,偏移后添加进字符串;如...

发布网友 发布时间:2024-10-04 19:10

我来回答

3个回答

热心网友 时间:2024-10-05 11:26

我大概写了方法,你改写下,我不想打那么多英文:

public class Test {
/**
 * java  如果是数字,直接添加进字符串;如果是字母,偏移后添加进字符串;如果是空格,替换成自定义的位移符后添加进字符串;如果是标点符号,
 * 1如果选择包括标点符号,复制进字符串;2如果选择不包括标点符号,不复制;
 * 最好选择是否循环?最好不用数组。
 * @param args
 */
   public static void main(String[] args) {
   Test t = new Test();
   String str="hello world!";
   t.flag=true;
   t.wyNum = 1;
   t.wy="_";
   print(t.getStr(str));    
   }
   /**
    * 正则表达式常量
    */
   static final String num = "[0-9]";
   static final String zm = "[a-zA-Z]";
   static final String sp = "\\s";
   static final String bd = "[,./<>?;‘:“!]";
   /**
    * 自定义位移符  ,默认“_”
    */
   private String wy = "_"; 
   /**
    * 是否包含标点符号,默认为true
    */
   private boolean flag = true;
   /**
    * 字母位移的位数,默认为4
    */
   private int wyNum = 4;
   public String getWy() {
  return wy;
   }
   public void setWy(String wy) {
  this.wy = wy;
   }
   public boolean isFlag() {
  return flag;
   }
   public void setFlag(boolean flag) {
  this.flag = flag;
   }
   public int getWyNum() {
  return wyNum;
   }
   public void setWyNum(int wyNum) {
  this.wyNum = wyNum;
   }
   /**是否是数字*/
   public  boolean  isNum(String str) {   
  return str.matches(num);
   }
   /**是否是字母*/
   public  boolean  isZm(String str) {   
  return str.matches(zm);
   }
   /**是否是空格*/
   public  boolean  isSp(String str) {   
  return str.matches(sp);
   }
   /**是否是标点*/
   public  boolean  isBd(String str) {   
  return str.matches(bd);
   }
   /**把int转换成char*/
   public  String getChar(int b) {    
  return (char)b+"";
   }
   /**
    * 把字符串转换主逻辑
    * @param str
    * @return
    */
   public  String getStr(String str) {
   byte[] bts=str.getBytes();
   String result="";
   for(byte b:bts){
   String bt = getChar(b);
   if(isNum(bt)){//数字
   result += bt;
   }else if(isZm(bt)){//字母  
   result += getChar(bt.getBytes()[0]+wyNum);
   }else if(isSp(bt)){//空格
   result += wy; 
   }else if(isBd(bt)){//标点符号
   if(flag) result += bt;    
   }    
   }   
   return result;
   }
   /**
    * 打印的方法
    * @param o
    */
   public static void print(Object o) {
   System.out.println(o);
   }
}

 你要把赋值的改成控制台输入

热心网友 时间:2024-10-05 11:27

如果是字母,偏移后添加进字符串
这句没看太明吧

热心网友 时间:2024-10-05 11:29

难倒不难。。就是懒得写这堆打印的。。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
intel 英特尔 酷睿 i5-9400F CPU 2.9GHz 6核6线程-详细介绍 vivo手机越用网络越慢 怎么检测 二手苹果电脑交易注意买二手苹果笔记本电脑应注意什么 比如我买一个二手笔记本卖家笔记本预装正版win10的话把他账号注销登录我... 二手苹果笔记本怎么更改账户 军婚假期有多少天 金立e6mini开机出现el 甘肃基层卫生主要内容 甘肃基层医疗卫生系统怎么撤销处方 天津市选调生通过面试了不去会怎么样 洁面膏的正确使用方式是什么? 电脑主板自带5.1声卡(电脑主板自带51声卡吗) 大家喜欢时间最久的明星是谁? 订书机的底座装有橡皮垫,可以增大 ...少物理知识,根据图示和你对订书机的认识,写出订书 ...运用了许多物理知识.例如:【物理现象】在底部垫了 ...例如:在底部垫了两块橡皮,可以增大订书机与... 逆差中国首现逆差 澳门半岛地理位置 澳门威尼斯人请各位老鸟指导? 圣母无原罪主教座堂历史 一位朋友在网上认识了一位朋友,然后不小心打了个视频通话,把他的照片做... 如果25万元按月计息,利滚利怎么算.2005.1月—2010.1月,月息是1.2% 四环素类抗生素包括哪些 四环素类抗生素抗菌作用 怎么查看qq身份证 ...我54鲁斯王和54魔焰猩猩45闪光波克尔45黄金布布 其它的也都有30级... 稀有精灵怎么逮,稀有精灵在哪里?卡鲁克斯怎么融合?哪只精灵最强?玄武怎 ... 雷伊怎么打我有黄金布布、卡鲁克斯、杰西卡、塔姆拉、闪光格鲁高、奇... 我有一套护肤品,但我不知道使用顺序。哪位这方面的行家指点迷津。我的... ...的全部数字字符表示的数值之和。例如输入字符串1a2b3c,得1+2+3=... 淘宝运营多少钱一个月前景如何 淘宝运营助理工资一般有多少?运营助理工作怎么样? 手镯,即珠宝注册商标属于哪一类? 香肠是蒸好切还是切好蒸 香肠是先切后蒸还是先蒸后切更健康? 茭瓜包子馅做法 茭瓜肉丁包子的做法 ...但是手稿组织得不好,让重新提交,请问我该如何回复? Plos One审稿人意见很笼统,我应该怎么办 如何测试笔记本摄像头 龙之谷洗点后的SP DNF洗点会不会把SP洗少 水稻田三棱草用什么除草剂 红米手机在充着电看视频时,突然黑屏,但是还有声音,扣下电池后重新 ...句子中引号的作用:A.表示引用B.表示特定称谓C.表示讽刺或否定... 赵卓娜个人作品 裴涩琪和陈翔拍广告的那个刘海 陈翔和一个韩国女明星拍的一部戏叫什么 陈翔拍的什么戏已经放映了啊???