gpt4 book ai didi

java - 如何根据用户输入在循环中声明无限变量?

转载 作者:行者123 更新时间:2023-11-29 04:17:56 26 4
gpt4 key购买 nike

我正在 eclipse 中构建一个程序,我想创建一个循环,其中根据用户输入声明变量。例如,第一个输入存储在 a1 中,下一个输入存储在 a2 中,下一个输入存储在 a3 中,依此类推,直到用户键入数字以外的任何内容 input.hasNextDouble()

我尝试使用 while 循环和带有 if/else 语句的 Scanner 类来执行此操作。但是想不通。任何帮助将不胜感激。

最佳答案

你可以使用 HashMap :

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

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

Map<String, Double> inputs = new HashMap<String, Double>();

boolean isNumber = true;
int count = 1;
while(isNumber) {
System.out.printf("Please enter a%d:", count);
if(scanner.hasNextDouble()) {
inputs.put("a" + count, scanner.nextDouble());
count++;
} else {
isNumber = false;
}
}

System.out.println("Inputs: " + inputs);

// Auxiliary code for question in comments below
double sum = 0.0f;
for (double d : inputs.values()) {
sum += d;
}

System.out.println("Sum: " + sum);

for (Map.Entry<String, Double> entry : inputs.entrySet()) {
System.out.println("Sum - " + entry.getKey() + " = " + (sum - entry.getValue()));
}
}
}

示例用法:

Please enter a1: 5.5
Please enter a2: 6
Please enter a3: 7.2
Please enter a4: x
Inputs: {a1=5.5, a2=6.0, a3=7.2}
Sum: 18.7
Sum - a1 = 13.2
Sum - a2 = 12.7
Sum - a3 = 11.5

关于java - 如何根据用户输入在循环中声明无限变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51115999/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com