【问题标题】:Java - for loop - input Scanner - StringJava - for 循环 - 输入扫描仪 - 字符串
【发布时间】:2017-03-23 13:44:55
【问题描述】:

我有一个小问题。 我想添加一些双重数据。

-- 三角形--

        System.out.println("field A");
        a = sc.nextDouble();
        sc.nextLine();

        System.out.println("field B");
        b = sc.nextDouble();
        sc.nextLine();

        System.out.println("field C");
        c = sc.nextDouble();
        sc.nextLine();

        System.out.println("height H");
        d = sc.nextDouble();
        sc.nextLine();

是否有任何选项可以在 for 循环中输入此双精度数据?

4 双数据,

第一个循环 - 添加一个字段,

第二个循环 - 添加 b 字段,

...

【问题讨论】:

标签: java for-loop double java.util.scanner


【解决方案1】:

您可以将数据填充到Map 中,而不是声明多个变量,例如:

Map<String, Double> data = new HashMap<>();
Scanner scanner = new Scanner(System.in);
for(String key : new String[]{"a", "b", "c", "d"}){
    System.out.println("Enter : " + key);
    data.put(key, scanner.nextDouble());
}

完成后,您可以使用 data.get("a"); 访问这些值

【讨论】:

  • 旁注:您也可以使用“新”lamda 语法:Arrays.asList("A", "B", "C", "Height").forEach((key) -&gt; { /* ... */ });。但是在这个例子中它并没有提供巨大的收益。
猜你喜欢
  • 2011-08-23
  • 1970-01-01
  • 1970-01-01
  • 2015-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多