java - 创建用于搜索的数据库

标签 java database hashmap java.util.scanner

我创建了代码,让用户输入行星名称,并返回发现该行星的日期,否则将返回无效的行星名称。

我的问题是,如何向代码添加更多详细信息,例如重力强度。

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class sky {

  private static Map < String, Integer > planetMap = new HashMap < String, Integer > ();

  public static void main(String args[]) {
    populateDB();
    Scanner scanner = new Scanner(System.in);

    String planetName = scanner.nextLine();

    if (planetMap.get(planetName) != null) {
      System.out.println("The planet " + planetName + " was found in " + planetMap.get(planetName));
    } else {
      System.out.println("Invalid Planet Name");
    }

  }

  public static void populateDB() {

    planetMap.put("Earth", 1600);
    planetMap.put("Mars", 1500);
    planetMap.put("Jupiter", 1100);
    planetMap.put("Saturn", 1900);
    planetMap.put("Venus", 1300);
  }
}

感谢 phflack 和 bluelurker。

最佳答案

如果您想了解更多详细信息,您可以替换 Map<String, Integer>Map<String, PlanetDetails> ,其中PlanetDetails是另一个类,其定义如下:

private class PlanetDetails
{
   int date_found;

   double gravity_strength;

   double distance_from_sun;
}

然后在填充时,您应该执行以下操作:

planetMap.put("Earth", new PlanetDetails(1600, gravitystrenght, distancefromsun);

关于java - 创建用于搜索的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34027934/

相关文章:

java - B-Tree 如何在序列化方面工作?

php - 在 php 中,我可以在从 url 获取变量的同时循环更新数据库吗?

mysql - 购物卡MYSQL数据库表设计

java - 如何反转 HashMap 的键和值?

java - 从Map中获取平均值条目

java - 从 HashMap 中检索记录

java - Android 类型 new View.OnClickListener(){} 未定义方法 startActivity(Intent)

java.lang.ClassCastException : java. lang.String 无法转换为 [Ljava.lang.Object; - 使用 hibernate 从数据库中获取查询

java - Hibernate 版本控制父实体

java - 通过maven更改静态字段值