Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区 » 编程/算法/API  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 Re:【求助】一道字符串处理的编程题 [Re:Kappa]
panther





发贴: 4
积分: 0
于 2005-09-28 21:28 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list

import java.io.BufferedReader;
import java.io.IOException;
//import java.io.InputStream;
import java.io.InputStreamReader;
/*
* 创建日期 2005-9-27
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/

/**
* @author firefox
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/

public class Transform {

  static void Encode(String i){
    int m,n,x;
    StringBuffer char_final=new StringBuffer();
    
    m=i.length();
    System.out.println("您输入的字符串长度为"+m);
    for(n=0;n<m;n++)
    {char current_char=i.charAt(n);
    
     if((current_char>=48)&&(current_char<=57))//是数字时
     {if(n==m-1) //如果是最后一个字符
        {char_final.append(current_char);}
     else if(current_char==48) //如果是0且不是最后一个字符
     {char_final.append(current_char);
     char_final.append("_");}
     else
     {for(x=49;x<=i.charAt(n)+1;x++)
       {char_final.append(i.charAt(n+1));}
     char_final.append("_");
     }
     }
     else if(((current_char>=65)&&(current_char<=90))||
          ((current_char>=97)&&(current_char<=122)))//是字母时
     {char_final.append(current_char);
     if(n!=m-1) char_final.append("_");}
     else if(current_char==95)
     {char_final.append("\\ul");
     if(n!=m-1) char_final.append("_");}
     else
     {char_final.append(current_char);
     if(n!=m-1) char_final.append("_");}
     }
    
    System.out.println("您选择的是加密!");
    System.out.println("加密后的字符串为:"+char_final);
    
    
    }
  static void Decode(String original_char){
    System.out.println("您选择的是解密!");
    int m,n;
    int last_index=-1;
    int current_index=0;
    StringBuffer char_final=new StringBuffer();
    StringBuffer temp_char=new StringBuffer(original_char);
    temp_char.append("_");
    String i=temp_char.toString();
        
    m=i.length();
    
    for(n=0;n<m;n++)
     {
     char current_char=i.charAt(n);
     if(current_char==95)

     {current_index=n;
     if(current_index-last_index>2)
       {if(i.charAt(n-1)!=i.charAt(n-2))
        {char_final.append("_");}
        else
        {char_final.append(current_index-last_index-2);
        }
        }
     else if(current_index-last_index==2)
     {char_final.append(i.charAt(n-1));
        }
     }
       
     }
    System.out.println("您解密后的字符串为:"+char_final);   
      }    
  
  public static void main(String[] args) throws IOException {
    String char_original;
    String choose;
    System.out.println("请输入需要转换的字符串:");
    BufferedReader buf_reader1=new BufferedReader(new InputStreamReader(System.in));
   char_original=new String(buf_reader1.readLine());
   System.out.println("请选择Encode或者Decode");
    BufferedReader buf_reader2=new BufferedReader(new InputStreamReader(System.in));
   choose=new String(buf_reader2.readLine());
   if(choose.equals("Encode")||choose.equals("encode"))
     Encode(char_original);
   else if(choose.equals("Decode")||choose.equals("decode"))
     Decode(char_original);
   else
     System.out.println("您的输入有误");
  
   }
  
}


有一个问题:当解密的字符串中连续出现“_”时,我一时想不出好的解决办法。

初学者,对很多方法都不太掌握,编出来的,象C,呵呵。


panther edited on 2005-09-28 21:31


话题树型展开
人气 标题 作者 字数 发贴时间
10960 【求助】一道字符串处理的编程题 Kappa 376 2005-09-27 09:01
9270 Re:【求助】一道字符串处理的编程题 bluecrystal 31 2005-09-27 09:05
9637 Re:【求助】一道字符串处理的编程题 Kappa 19 2005-09-27 09:16
8939 Re:【求助】一道字符串处理的编程题 why 80 2005-09-28 22:05
9250 Re:【求助】一道字符串处理的编程题 intothehit 16 2005-09-27 10:12
9091 Re:【求助】一道字符串处理的编程题 bluecrystal 4364 2005-09-27 11:39
9600 Re:【求助】一道字符串处理的编程题 Kappa 26 2005-09-27 11:47
9170 Re:【求助】一道字符串处理的编程题 bluecrystal 84 2005-09-27 11:56
9160 Re:【求助】一道字符串处理的编程题 panther 5196 2005-09-28 21:28
8998 bluecrystal同学程序存在一个小bug Python 106 2005-10-13 12:21
9507 Re:bluecrystal同学程序存在一个小bug bluecrystal 195 2005-10-13 12:59

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923