Java的语言,代码设计实现一个允许重复的字典,在我编程开发的过程里

Java的语言,代码设计实现一个允许重复的字典,在我编程开发的过程里,总是有解决不了的错误,怎么办呢

你可以把你的错误啥的,还有相关信息拿出来

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7509590
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:通过Java实现判断一个数是不是快乐数(快乐数就是很快乐啊,其实就是按照一定的算法,最后得到1的数字就是快乐数,是不是很快乐呢)
  • 同时,你还可以查看手册:java-集合 - 关于使用和扩展Java集合框架的课程。- 聚合操作 代表你对集合进行迭代,这使你能够编写更简洁和有效的代码,处理存储在集合中的元素。 -平行主义 中的内容
  • 除此之外, 这篇博客: 运用java编写程序,从键盘输入两个数,然后计算它们相除后得到的结果并输出中的 运用java编写程序,从键盘输入两个数,然后计算它们相除后得到的结果并输出 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    不废话直接出代码:

    import java.io.*;
    public class Mj {
    	public static void main(String[] args) throws IOException {
    		float n,m;
    		BufferedReader buf;
    		String str;
    		buf =new BufferedReader(new InputStreamReader(System.in));
    		System.out.print("请输入字符串1:");
    		str=buf.readLine();
    		n=Float.parseFloat(str);
    		System.out.print("请输入字符串2:");
    		str=buf.readLine();
    		m=Float.parseFloat(str);
    		System.out.println("n/m="+(n/m));	
    	}
    }
    

    运行截图如下
    在这里插入图片描述
    由此可以做加减乘运算,都可以的,就是改一下最后的运行方式:

    System.out.println("n/m="+(n/m));	
    

    就这个就行了。

  • 您还可以看一下 汪翠老师的java项目实战之欢乐斗地主游戏开发教程 毕业项目课程设计带源码课程中的 创建玩家类和扑克类小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    根据问题描述,你想设计一个允许保存重复的键值对的字典。在Java语言中,可以通过使用HashMapLinkedHashMap来实现这个需求。以下是具体的解决方案:

    1. 首先,导入所需要的包,创建一个Java类,命名为RepeatableDictionary
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class RepeatableDictionary {
        // 你可以在这里实现你的字典类
    }
    
    1. RepeatableDictionary类中添加一个成员变量来存储键值对。这里使用的是HashMap来存储数据,其中键可以重复。
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class RepeatableDictionary {
        private Map<String, List<String>> dictionary;
    
        public RepeatableDictionary() {
            dictionary = new HashMap<>();
        }
    
        // 其他方法的实现
    }
    
    1. 实现向字典中添加键值对的方法addEntry,该方法可以接收一个键和一个值。首先判断字典中是否已存在该键,如果存在,则将值添加到对应键的值列表中;如果不存在,则创建一个新的键值对。
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class RepeatableDictionary {
        private Map<String, List<String>> dictionary;
    
        public RepeatableDictionary() {
            dictionary = new HashMap<>();
        }
    
        public void addEntry(String key, String value) {
            List<String> values = dictionary.getOrDefault(key, new ArrayList<>());
            values.add(value);
            dictionary.put(key, values);
        }
    
        // 其他方法的实现
    }
    
    1. 实现从字典中获取键对应的值列表的方法getValues,该方法接收一个键作为参数,并返回该键对应的值列表。
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class RepeatableDictionary {
        private Map<String, List<String>> dictionary;
    
        public RepeatableDictionary() {
            dictionary = new HashMap<>();
        }
    
        public void addEntry(String key, String value) {
            List<String> values = dictionary.getOrDefault(key, new ArrayList<>());
            values.add(value);
            dictionary.put(key, values);
        }
    
        public List<String> getValues(String key) {
            return dictionary.getOrDefault(key, new ArrayList<>());
        }
    
        // 其他方法的实现
    }
    
    1. 根据需求,可以继续实现其他方法,如删除键值对的方法removeEntry,获取所有键的方法getKeys等。
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class RepeatableDictionary {
        private Map<String, List<String>> dictionary;
    
        public RepeatableDictionary() {
            dictionary = new HashMap<>();
        }
    
        public void addEntry(String key, String value) {
            List<String> values = dictionary.getOrDefault(key, new ArrayList<>());
            values.add(value);
            dictionary.put(key, values);
        }
    
        public List<String> getValues(String key) {
            return dictionary.getOrDefault(key, new ArrayList<>());
        }
    
        public void removeEntry(String key, String value) {
            List<String> values = dictionary.get(key);
            if (values != null) {
                values.remove(value);
                if (values.isEmpty()) {
                    dictionary.remove(key);
                }
            }
        }
    
        public List<String> getKeys() {
            return new ArrayList<>(dictionary.keySet());
        }
    }
    

    这样,你就可以使用RepeatableDictionary类来实现一个允许保存重复的键值对的字典了。可以调用addEntry方法来添加键值对,调用getValues方法来获取键对应的值列表,调用removeEntry方法来删除键值对,调用getKeys方法来获取所有的键。

    如果还有其他问题,或者对代码有疑问,请随时提问。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^