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

用Java的特定数字值代替给定字母[副本]

鄂和璧
2023-03-14

我想将一个字母作为字符串传递给这个方法,它应该返回相应的数字(作为字符串),该数字存储在与letterDispari数组中相同的索引中,但存储在numberDispari数组中。我以为使用字符串会比创建一个巨大的switch语句更容易。但我不明白为什么这不是归还任何东西。

private static String toNumberDispari2(String letter) {
        String result= "";
        String[] letterDispari = {"0","1","2","3","4","5","6","7","8","9",
                "A","B","C","D","E","F","G","H","I","J","K","L","M",
                "N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
        String[] numberDispari = {"1","0","5","7","9","13","15","17","19","21",
                "1","0","5","7","9","13","15","17","19","21",
                "2","4","18","20","11","3","6","8","12","14","16","10","22","25","24","23"};
        
        for(int i=0; i<=35; i++) {
            if (letter != letterDispari[i])
                continue;
            else if (letter == letterDispari[i])
                result = numberDispari[i];
        }
        return result;
    }

共有1个答案

薛栋
2023-03-14

String是一个Java对象。不能使用“=”运算符检查两个不同的字符串对象是否具有相同的值。“=”检查对象引用,在这种情况下会有所不同。您需要使用下面的代码来进行值比较。

   for(int i=0; i<=35; i++) {
        if (!letter.equals(letterDispari[i]))
            continue;
        else if (letter.equals(letterDispari[i]))
            result = numberDispari[i];
    }
 类似资料:
  • 问题内容: 我有这种输入 我需要将单词开头和之后的字符都转换为大写(可以多次存在)。 我需要的输出(使用前面的示例)是 我尝试了一个简单的模式 但我无法将组1和3转换为大写 编辑:发现主要问题中的一个小错误后,我编辑了@Wiktor Stribizew代码,以包括我错过的案例。 问题答案: 您需要使用Java才能处理匹配。这是一个例子: 参见Java演示 相当于Java 9+(demo): 模式分

  • 问题内容: 我有字母“ a”,“ b”,“ c”。我希望我的结果在TSQL中分别为“ b”,“ c”,“ d”。我会用什么来实现这一目标? 问题答案: 使用得到字符的值,增加一个,并使用转换的值返回到一个字符。

  • 问题内容: 我正在尝试在SQL Server 2005下编码用户定义的函数,该函数会将字母数字值的整数部分加1。例如, 应返回“ A000300”。到目前为止,这是我所做的; 但是如您所见,它仅适用于最后一位数字。我需要将其置于循环下,以便它可用于A002999等。有任何想法吗? 编辑:给定值的Alpha前缀可能超过一个字符,或者根本没有。 问题答案: 现在可以使用任何长度的前缀和数字部分(每个最

  • 我需要检查字符串(单词,没有空格)是否有给定字母表的任何字母。 我想有效地比较字符串和字母表。我想检查字符串是否由字母表中的字母组成。现在我的字母表在ArrayList中,在For循环中,我检查字符串是否包含ArrayList的字母,如果为true,则退出,否则继续下一个字母。上面字符串A的示例将返回false,因为p和l不是字母表的一部分。但对于B,它将返回真值。 这样做能更有效吗?谢谢你的帮助

  • 我有一些字符串,比如,,,。 有没有一种方法可以生成一个数组,其中包含了中间的所有值(包括)。例如,字符串将返回一个数组['a'、'b'、'c'、'd'],而将返回[11,12,13,14,15,16]?

  • 给定一组整数(正数或负数),我怎样才能找到一个和给定值相加的数字序列? 示例:给定一个数字列表,我需要求和。我可以选择序列(数字可以重复使用)或。我正试图找到一种有效的方法来缩短序列的长度。 这就像(http://en.wikipedia.org/wiki/Subset_sum)但就我而言,数字可以重复使用。 这也有点像分区问题(找到所有可能的子集,求和到一个给定的数字),但在我的例子中有负值。