import java.util.ArrayList;
import java.util.List;
import java.util.*;
public class Source {
public List<Integer> getSumOfListElements(List<Integer> first,List<Integer> second){
List<Integer>result=new ArrayList<Integer>();
int i;
for(i=0;i<first.size();i++){
result.add(first.get(i)+second.get(i));
}
return result;
}
public static void main(String[] args) {
//CODE HERE
Source s= new Source();
List<Integer>a=new ArrayList();
List<Integer>b=new ArrayList();
Scanner sc=new Scanner(System.in);
while (s.hasNextInt()) {
int i = sc.nextInt();
a.add(i);
}
while (sc.hasNextInt()) {
int i = sc.nextInt();
b.add(i);
}
List result1=s.getSumOfListElements(a,b);
System.out.print(result1);
}
}
输入
10, 20, 30, 40, 50
12, 23, 34
输出应该是这样的:
[22, 43, 64, 40, 50]
首先,主代码不能正确读取值,因为您提供了nextint
无法读取的非int(逗号)。我建议您将用空格/逗号分隔的值写在一行上,然后拆分并解析为int
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] firstValues = sc.nextLine().split("[\\s,]+"); // input: 10 , 20, 40, 30
String[] secondValues = sc.nextLine().split("[\\s,]+");
List<Integer> a = Stream.of(firstValues).map(Integer::parseInt).collect(Collectors.toList());
List<Integer> b = Stream.of(secondValues).map(Integer::parseInt).collect(Collectors.toList());
List<Integer> result1 = getSumOfListElements(a, b);
System.out.print(result1);
}
那么您的sumoflist
应该处理列表的大小,第一个列表不会总是更大(而您的实际代码导致indexoutofboundsexception
),因此:
public static List<Integer> getSumOfListElements(List<Integer> first, List<Integer> second) {
List<Integer> result = new ArrayList<>();
int min_size = Math.min(first.size(), second.size());
for (int i = 0; i < min_size; i++) {
result.add(first.get(i) + second.get(i));
}
if (first.size() < second.size()) {
result.addAll(second.subList(min_size, second.size()));
} else {
result.addAll(first.subList(min_size, first.size()));
}
return result;
}
Scanner sc = new Scanner(System.in);
List<Integer> a = new ArrayList<>();
for (String s : sc.nextLine().split("[\\s,]+"))
a.add(Integer.parseInt(s));
List<Integer> b = new ArrayList<>();
for (String s : sc.nextLine().split("[\\s,]+"))
b.add(Integer.parseInt(s));
List<Integer> result1 = getSumOfListElements(a, b);
System.out.print(result1);
因此,我有一个如下设置的解析器: 如果用户愿意,我需要让他们输入多个值: 但是每当我在列表中尝试多个值时,我都会得到一个EOF错误: 设置解析器来处理这样的事情的正确方法是什么?
如何在Spring MVC中将输入元素绑定到数组列表元素? 视图模型: 模型属性: 控制器 然后,在jsp中,我有4个隐藏的输入,它们表示evaluatedId、evaluatorId、evoluatorName和evaluatedName的字段- 更新: 通过此更新,我收到以下错误:
问题内容: 我最近在玩go,尝试制作一些服务器来响应tcp连接上的客户端。 我的问题是我该如何干净地关闭服务器并中断在以下调用中当前“被阻止”的go例程 func(* TCPListener)接受吗? 根据接受文件 Accept在侦听器接口中实现Accept方法;它等待下一个调用并返回通用Conn。 错误也很少被记录下来。 问题答案: 这是我一直在寻找的东西。也许将来会帮助某人。注意使用selec
我正在做一个while循环,它将执行每1/3秒左右(为蛇游戏)。如果有输入,我希望循环能够处理扫描仪输入,如果没有用户输入,我希望循环执行一些默认任务(在最后一个输入方向移动蛇)。 我知道一个更简单的方法是创建一个带有事件处理程序的javafx程序,但是我只是想看看我是否可以在终端中为个人项目实现这种游戏。每当我在while循环中打开扫描器时,我都会将一个变量设置为默认值。如果sc.nextlin
如何使用8流对列表中的每个元素Java求和? 例如,我在一个列表中有3个不同的列表,我试图对每个列表中的每个元素求和,然后创建另一个列表。我不熟悉Java 8,尝试使用流API解决一些问题: 我正在努力实现的输出:
我正在尝试学习RESTfulWeb服务。我正在创建一组简单的web服务。我开始在邮局工作时被卡住了。 我想将JSON输入传递给POST方法。这是我在代码中所做的: 我在POM. xml中包含了Jackson。 MyCls是一个简单的类,包含一些getter和setter。 我从chrome的简单REST客户端调用上述POST服务。 我看到以下答复: 我尝试在REST客户端的POST请求中添加标头为