当前位置: 首页 > 知识库问答 >
问题:

Java:反转字符串的字典顺序

湛安宁
2023-03-14

考虑这个例子,从0到10颠倒数字的顺序:<代码>

这以一种双重的方式颠倒了顺序。如果我输入100个从0到10的数字,它包含a

对于字典顺序,我需要同样的东西。我有一根固定长度为10的绳子。如何颠倒字典顺序?

如果它只包含a-z,这将非常简单。但是它也可以包含数字和-,_,并且区分大小写。

有人知道怎么做吗?

共有1个答案

雷国兴
2023-03-14
public static final String CHAR_INT_REPR_SPEICHERSTRING = "_-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

public static String invertiereString(String key) {
    String invertiert = "";

    for (int i = 0; i < key.length(); i++){
        String c = key.charAt(i) + "";
        invertiert += invertiereChar(c);
    }

    return invertiert;
}

public static String invertiereChar(String c) {
    int intRepr = gibCharIntRepr(c);

    // invertiere zahl
    int neueRepr = 64-intRepr-1;

    return gibChar_FromRepr_At(neueRepr);
}

public static int gibCharIntRepr(String c) {
    if (c.length() != 1) {
        return -1;
    }

    for (int i = 0; i < CHAR_INT_REPR_SPEICHERSTRING.length(); i++) {
        String cTemp = CHAR_INT_REPR_SPEICHERSTRING.charAt(i) + "";
        if (cTemp.equals(c)) {
            return i;
        }
    }

    return -1;
}

public static String gibChar_FromRepr_At(int at) {
    return CHAR_INT_REPR_SPEICHERSTRING.charAt(at)+"";
}

这就是工作。

使用哈希映射,您可以比使用CHAR\u INT\u REPR\u SPEICHERSTRING更快地实现这一点,但由于我的字符串长度不超过17个字符,因此我最多可以进行17*64次迭代,这是没有问题的。

 类似资料:
  • 问题内容: 我保存在一个名为的String变量中。 我需要打印,但是要反转。 我怎样才能做到这一点?我知道Java中已经内置了某种功能。 问题答案: 你可以使用此: 或者,对于JDK 1.5之前的版本,请使用代替-它们具有相同的。感谢评论员指出,如今在没有并发问题的情况下,这是首选方法。

  • 本文向大家介绍在Java中按字典顺序比较两个字符串,包括了在Java中按字典顺序比较两个字符串的使用技巧和注意事项,需要的朋友参考一下 String类的方法。此方法按字典顺序比较两个字符串。比较是基于字符串中每个字符的Unicode值。在字典上比较此String对象表示的字符序列与自变量字符串表示的字符序列。该方法返回 如果当前String对象在字典上在参数字符串之前,则为负整数。 如果当前Str

  • 问题内容: 我有unicode ,我希望它以字典格式。 我想要它的格式。 我试过了,但它返回的字符串不是字典。 谁能帮我? 问题答案: 您可以使用内置包: 帮助ast模块中的literal_eval函数: literal_eval(node_or_string) 安全地评估表达式节点或包含Python表达式的字符串。提供的字符串或节点只能由以下Python文字结构组成:字符串,数字,元组,列表,字

  • 添加到StringBuilder中,然后调用reverse()。

  • 问题内容: 我有以下字符串,这是一个字符串化的Python字典: 如何从上述字符串中获取Python字典? 问题答案: 好吧,你可以做 但是,如果字符串包含用户输入,则是个坏主意,因为表达式中可能包含一些随机的恶意函数。 因此,更安全的选择可能是: 来自http://docs.python.org/library/ast.html#ast.literal_eval: 提供的字符串或节点只能由以下P

  • 我想知道下面的程序出了什么问题,因为它没有返回反向字符串。