编写一个java程序,它在第一行中取两个整数n和m,在第二行取四个整数并乘以它们

时间:2016-10-20 15:58:37

标签: java arrays bufferedreader

编写一个程序,在第一行输入整数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;
        } 

    }


}

但循环不断卡住而不会退出。我不能在字符串的末尾添加一个简单的字符使其退出。有什么建议吗?/

0 个答案:

没有答案