##前提
初めてAtCoder Beginner Contest169(https://atcoder.jp/contests/abc169)に参加しました。その際にScannerクラスを使ったのですが、うまくいかなかったので質問させていただきました。
##問題1
問題は2つあります。
1つ目は、B問題(https://atcoder.jp/contests/abc169/tasks/abc169_b)に関してです。
Java
1import java.util.*; 2 3public class Main { 4 public static void main(String[] args) { 5 String first = new Scanner(System.in).nextLine(); 6 int num = Integer.parseInt(first); 7 String second = new Scanner(System.in).nextLine(); 8 String Array[] = second.split(" "); 9 long[] number = new long[num]; 10 for (int u = 0; u < Array.length; u++){ 11 number[u] = Long.parseLong(Array[u]); 12 } 13 long kakeru = 1; 14 for (int i = 0; i < Array.length; i++){ 15 kakeru = kakeru * number[i]; 16 } 17 if (kakeru > 1000000000000000000L){ 18 kakeru = -1; 19 } 20 System.out.println(kakeru); 21 } 22}
このようなコードを書き、自分の開発環境では問題なくコンパイル・実行できたのですが、atCoder上では
Exception in thread "main" java.util.NoSuchElementException: No line found at java.base/java.util.Scanner.nextLine(Scanner.java:1651) at Main.main(Main.java:7)
このようなスタックトレースが表示されてしまいました。これは何故出るのでしょうか?
また、どうすればatCoder上でも実行できるのでしょうか?
##問題2
2つ目はC問題(https://atcoder.jp/contests/abc169/tasks/abc169_c)に関してです。
Java
1import java.util.*; 2 3public class Main { 4 public static void main(String[] args) { 5 long num = new Scanner(System.in).nextLong(); 6 calc(num); 7 } 8 public static void calc (long num) { 9 long count = 0; 10 for (long l = 2; l <= 1000000000000L; l++){ 11 long jijou = l * l; 12 if(num % jijou == 0);{ 13 num = num % jijou; 14 count++; 15 } 16 } 17 printing(count); 18 } 19 public static void printing(long count) { 20 System.out.println(count); 21 } 22}
このようなコードを書き自分の開発環境で実行したのですが、何度Enterキーを押してもキーボードからの入力を待機している状態のままになってしまってしまい、countの値が得られません。
##補足情報
開発環境はmacです。
ソースコードはVScodeで書いています。
JDKは最新のものを使っています。
複数の質問になってしまい申し訳ありません。回答お待ちしております。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/31 15:42
2020/05/31 15:58