gpt4 book ai didi

java - 存储结果

转载 作者:太空宇宙 更新时间:2023-11-04 07:50:58 24 4
gpt4 key购买 nike

我正在使用 Java 做一些作业,这就是我应该做的。给定一个整数 X,您应该读取 X 行,每行包含一个字符串和 2 个整数值 xy

**Input**
2 <-- Read 2 lines
PLUS 10 30 <-- PLUS refers to adding 30 to 10
MINUS -6 20 <-- MINUS refers to minus 20 from -6
**Output**
40
-26

如何存储值 40 和 -26?我目前正在使用数组。代码如下。

for(int i = 0; i < limit; i++)
{
String limitInput = sc.next();
x = sc.nextInt();
y = sc.nextInt();
if(limitInput.equals("PLUS"))
{
System.out.println(x+y);
limitArray[i] = x + y;
}
else if(limitInput.equals("MINUS"))
{
limitArray[i] = x - y;
}
else
{
limitArray[i] = x * y;
}
}

是否有更简单的方法,例如不使用数组?

最佳答案

对于您的情况,不要认为有比数组更简单的数据结构。如果您想将结果与操作/行号一起存储;会建议你使用HashMap。 但是呀; map 绝对不比 array 简单。

 Map<Integer,Integer> map = new HashMap<Integer,Integer>();
int line = 1; //read line number
int result= 40; //read final result
map.put(line, result);

这样你就可以通过迭代map得到每行的结果。

但是如果你还想存储你已经执行的操作;然后会建议像这样使用multimap

 Map<Integer, ArrayList<String>> map = new HashMap<Integer, ArrayList<String>>();
ArrayList<String> a = new ArrayList<String>();
a.add("PLUS"); //add operation
a.add(result); //add result

map.put(line, a);

从列表中读取值时;只需确保将值(位置 1 处)解析为 int,因为它存储为 String。

关于java - 存储结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14476007/

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