[蓝桥杯][算法提高VIP]林丹大战李宗伟 解决java.util.NoSuchElementException

题目 1966: [蓝桥杯][算法提高VIP]林丹大战李宗伟
间限制: 1Sec 内存限制: 128MB 提交: 534 解决: 173
我们用0表示林丹,1表示李宗伟。

输入数据中每行会给出一个0或者1,表示对应选手得1分。

当一方得分达到21分时,只要该方与对方分差超过1分,该方即胜出。
输出最后获胜选手的代号。

若干行每行一个0或者1。

输入
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

输出
1

这题因为频繁的输入,而且一开始并不知道要输入的个数,
一开始用while(true),报错运行错误
解决方法:while(true) 改为while(sc.hasNext())

public static void main(String[] args) {
  Scanner sc=new Scanner(System.in);
  int a0=0,b1=0;
  while(sc.hasNext()) {
   int i=sc.nextInt();
   if(i==0) a0++;
   else b1++;
   if(a0>=21&&a0-b1>1) {
    System.out.println(0);
    sc.close();
    break;
   }else if(b1>=21&&(b1-a0)>1){
    System.out.println(1);
    sc.close();
    break;
   }
  }
 }

你可能感兴趣的:([蓝桥杯][算法提高VIP]林丹大战李宗伟 解决java.util.NoSuchElementException)