gpt4 book ai didi

java - 在java中比较2组数组

转载 作者:行者123 更新时间:2023-12-02 02:12:21 26 4
gpt4 key购买 nike

创建并填充两组 double 值,其中元素数量和元素本身由用户指定。迭代集合并比较值。

出于本实验的目的,我们会说顺序对于确定集合是否相同很重要。

如果数组的长度和值都相同,则打印第一组和第二组相等。否则,打印集一和集二不相等。这是我的代码,但是当我运行它时,我收到以下消息:

Exception in thread "main" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Scanner.java:1540)
at SetComparison.main(SetComparison.java:23)

我是编码新手,谁能告诉我问题出在哪里?

import java.util.*;
import java.lang.*;
import java.io.*;


public class SetComparison
{
public static void main (String[] args) throws java.lang.Exception
{
Scanner scnr = new Scanner(System.in);
String str = scnr.nextLine();

String[] allNums = str.split("\\s+");

int array1Length = Integer.valueOf(allNums[0]);
int array2Length = Integer.valueOf(allNums[array1Length + 1]);

double array1[] = new double[array1Length];
double array2[] = new double[array2Length];

for (int i = 0; i < array1Length; i++) {
array1[i] = Double.valueOf(allNums[i + 1]);
}
for (int i = 0; i < array2Length; i++) {
array2[i] = Double.valueOf(allNums[array1Length + i + 2]);
}

if (Arrays.equals(array1, array2)) {
System.out.println("set one and set two are equal");
} else {
System.out.println("set one and set two are not equal");
}
}
}

最佳答案

使用扫描仪,您需要使用 hasNextLine() 检查是否有下一行

所以循环变成了

while(scnr.hasNextLine()){
str=scnr.nextLine();
//...
}

是读者在 EOF 上返回 null

当然,在这段代码中,这取决于输入的格式是否正确

关于java - 在java中比较2组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49813867/

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