Java IO输入变量值问题

时间:2015-03-06 17:17:10

标签: java java-io

 public static void main(String[]someVariableName) throws IOException{
    int Actinium = 89;
    int Ac = Actinium;
    String element //tried multiple variable data types
    Scanner in = new Scanner(System.in);
    System.out.println("Please enter an element");
    element = in.next();
    System.out.println(element);

我试图创建一个程序,当用户输入elemt的名称或缩写时,程序输出原子序数。在这个例子中,我只有Actinium,其原子序数为89.当我运行程序时,输出只是文字输入。

2 个答案:

答案 0 :(得分:0)

你想要的是原子序数与它的名称的映射。这意味着你需要一个键值对,其中键将是原子序数,其值将是元素名称。

在java中我们使用hashmap。

    public static void main(String[]someVariableName) throws IOException{

        Map<String,Integer> elementMap=new HashMap<String,Integer>();
        elementMap.put("Actinium",89);  //Actinium becomes key and 89 its value
        String element //tried multiple variable data types
        Scanner in = new Scanner(System.in);
        System.out.println("Please enter an element");
        element = in.next();
        System.out.println(elementMap.get(element));//gets the value for particular key
}

希望这有帮助!

祝你好运!

答案 1 :(得分:0)

您的输入与任何数据结构都没有关联,而且您在前两个句子中没有任何关系。在前两个陈述中,您给两个变量赋予相同的值:&#34; Actinium&#34;和&#34; Ac&#34;。

要做的第一件事:创建内联数据结构,将输入的数据与您查询的数据相关联。对于这种情况,我建议使用HashMap,因为查询Map的时间效率为O(1)(可能你不知道这意味着什么,但它在更大的应用程序中很重要)

 public static void main(String[]someVariableName) throws IOException{ 

 HashMap<String, Integer> hm=new HashMap<String, Integer>();
 hm.put("hydrogen", 1);
 hm.put("helium", 2);
 ...

 System.out.println("Please enter an element");
 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 String name=br.readLine();
 System.out.println(hm.get(name));

现在您正在创建字符串(字符串)和整数之间的关系,如果在关系映射中找到输入中引入的字符串,它将返回相应的数值。