编写一个程序,在第一行输入整数N和M(由空格分隔),然后在第二行(由空格分隔)上输入N个整数的数组,然后输出M个更多的行,每个行都有一个整数。对于每个 M 整数,输出“True”(不带引号),如果该数字出现在数组N中,则输出“False”(不带引号)。
约束: 0< N< 20000
0< M< 15000
到目前为止,我有,
import java.io.*;
class Main
{
static int arr[];
public static void main (String[] args) throws java.lang.Exception
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
str="\\s+";
while((str=input.readLine())!=null)
String[] numberList = input.split("\\s+");
}
}
}
预期的输入,例如
4 2
99 12 10 23
23
25
并输出:
Output:
True
False
,解释如下
说明:采用大小为4的数组,后跟2行。 23输出为真,因为上面的数组中存在23。 25输出False,因为它不在N个数组的数组中。
然而我遇到一些问题,能够从多行读入并将其更改为int数组。
任何帮助人员?
干杯
**** ****** UPDATE
所以我现在的新代码是
/* package whatever; // don't place package name! */
import java.io.*;
import java.util.*;
class Main
{
public static void main (String[] args) throws java.lang.Exception
{
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
String line;
if ((line = stdin.readLine()) != null) {
String[] input = line.split("\\s+");
for(int i=0;i<input.length;i++){
System.out.println(input[i]);
}
// break;
}
}
}
但循环不断卡住而不会退出。我不能在字符串的末尾添加一个简单的字符使其退出。有什么建议吗?/