Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将字母与数字交换到l33t_Java - Fatal编程技术网

Java 如何将字母与数字交换到l33t

Java 如何将字母与数字交换到l33t,java,Java,我想为课堂制作一个英语到leet的转换器 我不知道如何把一个字母变成一个数字 例如cow=>c0w 无法使用system.out.println将'o'转换为'0' 到目前为止我有 public static boolean detect(String mike) { int num= Integer.parseInt("0"); if ("o" == "0" ){ return num; } } public static void main (String[] arg

我想为课堂制作一个英语到leet的转换器

我不知道如何把一个字母变成一个数字 例如
cow
=>
c0w

无法使用
system.out.println
'o'
转换为
'0'
到目前为止我有

public static boolean detect(String mike) {
  int num= Integer.parseInt("0");

  if ("o" == "0" ){
    return num;
  }
}

public static void main (String[] arg) {
  System.out.println(detect( "cow life "));
}
使用字符串

一定要对大写字母和小写字母都这样做

下面是一个示例函数

public static ConvertToLeet(string s)
{
    return s
        .replace(o, 0)
        .replace(O, 0)
        .replace(e, 3)
        .replace(E, 3)
        .replace(a, 4)
        .replace(A, 4);
}
始终使用.equals()比较字符串


如果你只是想把它当作一个字符串来使用,那么把它解析成一个整数也没有多大意义。

与其尝试解析成一个整数,我认为最好的解决方案是把字符串中的所有字符都当作字符来处理。创建某种类型的查找表(两个字符串、并行数组或哈希映射)


然后,一个字符接一个字符地查找查找表,查看原始字符是否有替换项,如果有,则替换它。或者,只需遍历所有映射项,然后替换()字符串中的字符及其映射替换。

分解为字符数组,然后在需要时通过字符数组进行迭代更改字符

public class Leetify {

    public static void main(String args[]){
        System.out.println(leetify("thE qUick Brown fox jumped Over the laZy CaT"));
    }

    public static String leetify(String s){
        //first make lower case then convert to char array
        char temp[] = s.toLowerCase().toCharArray();
        for(int i = 0; i < temp.length; i++){
            switch(temp[i]){
            //put in whatever letters you want to change here
            case 'e':
                temp[i] = '3';
                break;
            case 'o':
                temp[i] = '0';
                break;
            case 'l':
                temp[i] = '1';
                break;
            case 't':
                temp[i] = '7';
                break;
            case 'a':
                temp[i] = '4';
                break;
            }
        }
        return new String(temp);
    }

}
公共类Leetify{
公共静态void main(字符串参数[]){
System.out.println(leetify(“敏捷的棕色狐狸跳过了懒猫”);
}
公共静态字符串leetify(字符串s){
//首先使小写,然后转换为字符数组
char temp[]=s.toLowerCase().toCharArray();
对于(int i=0;i

输出:7h3 quick br0wn f0x jump3d 0v3r 7h3 14zy c47

if(“o”=“0”):这不会总是错误的吗?比如:if(1==2)对于这样一个简单的问题来说太复杂了;不需要引入复杂的数据结构。我喜欢你认为数组是一个复杂的数据结构:-@Isaac HashMap;map.put('o','0');,等等,这并不复杂。为什么你需要一个散列图??为什么需要对密钥进行哈希运算??哈希函数需要时间……碰撞检测需要时间……是的,我会考虑哈希映射的任何实现,一个复杂的数据结构…在哈希映射中多一点,然后只是一个数组411y0u H4v3 70 D0是100p 7H0UGH CH4RS 0F S7Lo00C3第四R3P14C3 0N3S 7H47 4R3 N3C33 S4RY,为什么w0u1d y0u w4n7 70 b3 H4SH 47 34通道s73p 0f 7h3 w4y?在中国,如果开关为s7473m3n7,则开关为s7473m3n7,而开关为s7473m3n7,则开关为s7473m3n7,且开关为S7473M3N3,则开关为S7473M3N3。开关为S74R3R3N3,开关为R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R4R,我没有h4v3 7his 1337 7r4ns1470r i m4d3,其中c4n 7r4ns1473 4ny s3n73nc3位于70 1337sp34k…pr377y us313ss bu7 wh473v3r。您只需使用String的toLowerCase()方法,就不必担心大小写替换方法调用。唯一的缺点是所有的i都是小写。
public class Leetify {

    public static void main(String args[]){
        System.out.println(leetify("thE qUick Brown fox jumped Over the laZy CaT"));
    }

    public static String leetify(String s){
        //first make lower case then convert to char array
        char temp[] = s.toLowerCase().toCharArray();
        for(int i = 0; i < temp.length; i++){
            switch(temp[i]){
            //put in whatever letters you want to change here
            case 'e':
                temp[i] = '3';
                break;
            case 'o':
                temp[i] = '0';
                break;
            case 'l':
                temp[i] = '1';
                break;
            case 't':
                temp[i] = '7';
                break;
            case 'a':
                temp[i] = '4';
                break;
            }
        }
        return new String(temp);
    }

}