以组合的方式从用户获取输入

时间:2015-02-07 18:33:26

标签: java java.util.scanner

我正在处理以下列格式提供输入的问题:

5
7
121
123
7
121
###
4
3
3
2
5

输入说明:

第一个数是N,这里的例子是N = 5(N> 1且N <100000)。接下来是N行,不同的数字从1到100,然后是###。然后下一个数字是K,这里的例子是K = 4。接下来是K行,不同的值范围从1到100.&#39; ###&#39;用于分隔N和K输入。 我的问题是如何使用&#39; ###&#39;来获取用户的输入。以后我如何区分N和K.请帮助。 请在下面找到我的代码。但我无法确定编写此类输入的格式。请帮助。

 int n=0,N=0,k=0,y=0,K=0;
     System.out.println("Enter 'N': ");
     n=in.nextInt();
     if(n>=1 && n<=100000) {
         N=n;
     }
     int[] a1 = new int[N];
     int[] x = new int[N];
     System.out.println("Enter values of N: ");
     for (int i=0;i<a1.length;i++) {
         x[i] =  in.nextInt();
     }

     for (int i=0;i<a1.length;i++) {
         if(x[i]>=1 && x[i]<=5000) {
        a1[i] = x[i];
         }
     }

     System.out.println("Enter 'K': ");
     k=in.nextInt();
     if(k>=1 && k<=100) {
         K=k;
     }
     int[] a2 = new int[K];
     System.out.println("Enter values of K: ");
     for (int i=0;i<a2.length;i++) {
         a2[i] =  in.nextInt();
     }

1 个答案:

答案 0 :(得分:0)

您应该可以在阅读in.skip("###")之前简单地使用k来跳过带分隔符的行。