将代码行从 C++ 转换为 JAVA

激情开发者

我想出了下面的代码。设法解决了大多数错误,除了与 Map 相关的错误。

我知道下面这行代码属于 C++。几天以来尝试了很多将其转换为JAVA,无法想出办法:

下面的 C++ 代码行

map<Character,Integer> enc = new map<Character,Integer>();

注意:将上面的语法改为HashMap/Map,并导入Java.Util后,下面代码中标有3星的代码行显示以下错误“表达式的类型必须是数组类型,但已解析为Map”

1) enc[input.charAt(i)] = i; 2) int pos = enc[msg.charAt(i) - 32]; 3) int pos = enc[msg.charAt(i)];

// 此函数将解密任何输入消息

public static String ABC(String msg, String input)
        {
            // Hold the position of every character (A-Z) from encoded string 
            map<Character,Integer> enc = new map<Character,Integer>();
            for (int i = 0; i < input.length(); i++)
            {
                ***enc[input.charAt(i)] = i;***
            }

            String decipher = "";

            // This loop deciphered the message. 
            // Spaces, special characters and numbers remain same. 
            for (int i = 0; i < msg.length(); i++)
            {
                if (msg.charAt(i) >= 'a' && msg.charAt(i) <= 'z')
                {
                    ***int pos = enc[msg.charAt(i) - 32];***
                    decipher += plaintext.charAt(pos);
                }
                else if (msg.charAt(i) >= 'A' && msg.charAt(i) <= 'Z')
                {
                    ***int pos = enc[msg.charAt(i)];***
                    decipher += plaintext.charAt(pos);
                }
                else
                {
                    decipher += msg.charAt(i);
                }
            }
            return decipher;
        }
西瑞玛
map<Character,Integer> enc = new map<Character,Integer>();

Map是 Java 中的接口类型,不能实例化 [作为匿名内部类以外的任何东西]。您需要实例化实现 的类型之一Map,例如TreeMapHashMap

//Since Java 7, <> infers the type arguments
Map<Character, Integer> enc = new HashMap<>();
enc[input.charAt(i)] = i;

您使用的方括号运算符 ( enc[input.charAt(i)]) 是 C++ 原生的,在 Java 中不可重载;因此,Java 中唯一允许使用这些类型的括号是在使用数组时。

您需要使用get()put()与Java 地图。

enc.put(input.charAt(i), i);
//...
int pos = enc.get(msg.charAt(i) - 32);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将C ++代码转换为JAVA

来自分类Dev

将C ++ DTW代码转换为Java

来自分类Dev

将Java代码转换为Objective C

来自分类Dev

将Java代码转换为目标c

来自分类Dev

将C#代码转换为Java代码

来自分类Dev

将Java代码转换为C#代码

来自分类Dev

将Java代码转换为c#代码(将hexString转换为ByteArray)

来自分类Dev

将XmlSerializer代码从Java转换为C#

来自分类Dev

将Android Java代码转换为Xamarin C#

来自分类Dev

使用RSA将Java代码转换为C#

来自分类Dev

将Hashmap Java代码转换为Objective C

来自分类Dev

如何将Java代码片段转换为C#

来自分类Dev

将数学表达式转换为C或Java代码

来自分类Dev

如何将这段Java代码转换为C ++?

来自分类Dev

将CRC算法从C转换为Java

来自分类Dev

将C ++ OpenGL转换为Java / LWJGL

来自分类Dev

将Java转换为目标C

来自分类Dev

将Java转换为C#(Unity)

来自分类Dev

将gRPC通道从C ++转换为Java

来自分类Dev

将Java字节转换为C ++

来自分类Dev

将 Python 代码转换为 C 代码

来自分类Dev

Objective-C代码转换为Java代码

来自分类Dev

从C ++将代码转换为C

来自分类Dev

将Java代码转换为delphi的问题

来自分类Dev

将代码从Java转换为PHP格式。

来自分类Dev

将 C 或 C++ 常量转换为 Java

来自分类Dev

将我的C ++代码转换为Java:翻译多重继承

来自分类Dev

将我的C ++代码转换为Java:翻译多重继承

来自分类Dev

需要将代码从C#转换为Java