質問編集履歴

7

エラー文更新

2022/11/26 13:53

投稿

Anna
Anna

スコア4

test CHANGED
File without changes
test CHANGED
@@ -12,12 +12,14 @@
12
12
  ### 発生している問題・エラーメッセージ
13
13
 
14
14
  ```
15
+
15
16
  Exception in thread "main" java.util.NoSuchElementException
16
17
  at java.base/java.util.Scanner.throwFor(Scanner.java:941)
17
18
  at java.base/java.util.Scanner.next(Scanner.java:1598)
18
19
  at java.base/java.util.Scanner.nextInt(Scanner.java:2263)
19
20
  at java.base/java.util.Scanner.nextInt(Scanner.java:2217)
20
- at Main.main(Main.java:20)
21
+ at Main.main(Main.java:18)
22
+
21
23
  ```
22
24
 
23
25
  ### 該当のソースコード

6

エラーメッセージ更新

2022/11/26 13:46

投稿

Anna
Anna

スコア4

test CHANGED
File without changes
test CHANGED
@@ -17,7 +17,7 @@
17
17
  at java.base/java.util.Scanner.next(Scanner.java:1598)
18
18
  at java.base/java.util.Scanner.nextInt(Scanner.java:2263)
19
19
  at java.base/java.util.Scanner.nextInt(Scanner.java:2217)
20
- at Main.main(Main.java:17)
20
+ at Main.main(Main.java:20)
21
21
  ```
22
22
 
23
23
  ### 該当のソースコード

5

補足追加

2022/11/26 13:41

投稿

Anna
Anna

スコア4

test CHANGED
File without changes
test CHANGED
@@ -86,10 +86,25 @@
86
86
  Eclipse では、警告が出ていません。try文によってScannerインスタンス生成を行なっています。
87
87
 
88
88
  テストケース
89
+ 12 9000
90
+ 11 100
91
+ 1 120
92
+ 2 200
93
+ 3 200
94
+ 4 500
95
+ 5 800
96
+ 6 10
97
+ 7 123
98
+ 8 900
99
+ 9 3000
100
+ 10 2
101
+ 12 7000
102
+ 結果
103
+ paiza: 実行時エラー(NoSuchElementException)
104
+ Eclipse: Yes
105
+
106
+ ### 補足情報(FW/ツールのバージョンなど)
107
+ Eclipse: java SE-17 2022-09 (4.25.0)
108
+ paiza.io: openjdk version "18.0.2.1" 2022-08-18
89
109
 
90
110
 
91
- ### 補足情報(FW/ツールのバージョンなど)
92
- java SE-17 2022-09 (4.25.0)
93
- paiza.io
94
-
95
-

4

ソースコード更新

2022/11/26 13:37

投稿

Anna
Anna

スコア4

test CHANGED
File without changes
test CHANGED
@@ -43,9 +43,11 @@
43
43
  int[] r = new int[N];
44
44
  int[] c = new int[N];
45
45
  int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
46
+
47
+ Scanner sc2 = new Scanner(System.in);
46
48
 
47
49
  for (int i = 0; i < N; i++) {
48
- Scanner sc2 = new Scanner(System.in);
50
+
49
51
  r[i] = sc2.nextInt();
50
52
  c[i] = sc2.nextInt();
51
53
 
@@ -81,9 +83,13 @@
81
83
  ### 試したこと
82
84
 
83
85
  Eclipseに貼り付けて、同じテストケースを入力したところ、エラーは起きず、正しい動作をしました。。。
86
+ Eclipse では、警告が出ていません。try文によってScannerインスタンス生成を行なっています。
87
+
88
+ テストケース
89
+
84
90
 
85
91
  ### 補足情報(FW/ツールのバージョンなど)
86
-
92
+ java SE-17 2022-09 (4.25.0)
87
- paiza.io
93
+ paiza.io
88
94
 
89
95
 

3

プログラムを修正しました

2022/11/26 11:56

投稿

Anna
Anna

スコア4

test CHANGED
File without changes
test CHANGED
@@ -37,42 +37,43 @@
37
37
  public static void main(String[] args) {
38
38
 
39
39
  Scanner sc1 = new Scanner(System.in);
40
- int N = sc1.nextInt();
40
+ int N = sc1.nextInt();
41
- int C = sc1.nextInt();
41
+ int C = sc1.nextInt();
42
-
43
- int[] r=new int[N];
44
- int[] c=new int[N];
45
- int[] array={1,2,3,4,5,6,7,8,9,10};
46
-
47
- for(int i=0;i<N;i++){
48
- Scanner sc2 = new Scanner(System.in);
49
- r[i] = sc2.nextInt();
50
- c[i] = sc2.nextInt();
51
42
 
52
- C-=c[i];
43
+ int[] r = new int[N];
44
+ int[] c = new int[N];
45
+ int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
46
+
47
+ for (int i = 0; i < N; i++) {
48
+ Scanner sc2 = new Scanner(System.in);
49
+ r[i] = sc2.nextInt();
50
+ c[i] = sc2.nextInt();
51
+
53
- if(C-c[i]<=0){
52
+ if (C - c[i] <= 0) {
54
- break;
53
+ break;
55
- }
54
+ }
56
-
55
+ C -= c[i];
56
+
57
- for(int j=0;j<array.length;j++){
57
+ for (int j = 0; j < array.length; j++) {
58
- if(r[i]==array[j]){
58
+ if (r[i] == array[j]) {
59
- array[j]=0;
59
+ array[j] = 0;
60
- break;
60
+ break;
61
- }
61
+ }
62
- }
62
+ }
63
- }
63
+ }
64
-
64
+
65
- int cnt=0;
65
+ int cnt = 0;
66
- for(int i=0;i<array.length;i++){
66
+ for (int i = 0; i < array.length; i++) {
67
- if(array[i]==0){
67
+ if (array[i] == 0) {
68
- cnt++;
68
+ cnt++;
69
- }
69
+ }
70
- }
70
+ }
71
+
71
- if(cnt==array.length){
72
+ if (cnt == array.length) {
72
- System.out.println("Yes");
73
+ System.out.println("Yes");
73
- }else{
74
+ } else {
74
- System.out.println(cnt);
75
+ System.out.println(cnt);
75
- }
76
+ }
76
77
  }
77
78
  }
78
79
  ```

2

コピペできるように修正しました

2022/11/26 10:14

投稿

Anna
Anna

スコア4

test CHANGED
File without changes
test CHANGED
@@ -36,36 +36,34 @@
36
36
  public class Main {
37
37
  public static void main(String[] args) {
38
38
 
39
- Scanner sc1 = new Scanner(System.in); //入力例"12 9000"
39
+ Scanner sc1 = new Scanner(System.in);
40
- int N = sc1.nextInt(); //12
40
+ int N = sc1.nextInt();
41
- int C = sc1.nextInt(); //9000
41
+ int C = sc1.nextInt();
42
42
 
43
43
  int[] r=new int[N];
44
44
  int[] c=new int[N];
45
45
  int[] array={1,2,3,4,5,6,7,8,9,10};
46
46
 
47
47
  for(int i=0;i<N;i++){
48
- Scanner sc2 = new Scanner(System.in); //入力例”1 1000”,"15 300",...
48
+ Scanner sc2 = new Scanner(System.in);
49
- r[i] = sc2.nextInt(); //1,15,...
49
+ r[i] = sc2.nextInt();
50
- c[i] = sc2.nextInt(); //1000,300,...
50
+ c[i] = sc2.nextInt();
51
+
52
+ C-=c[i];
53
+ if(C-c[i]<=0){
54
+ break;
55
+ }
51
56
 
52
-    //arrayのうち、現れた数字を0で上書き
53
- for(int j=0;j<array.length;j++){ 
57
+ for(int j=0;j<array.length;j++){
54
58
  if(r[i]==array[j]){
55
59
  array[j]=0;
56
60
  break;
57
61
  }
58
62
  }
59
-
60
- C-=c[i];
61
- if(C<=0){
62
- break;
63
- }
64
63
  }
65
64
 
66
- //0の数をカウント、すべて0なら"Yes"
67
65
  int cnt=0;
68
- for(int i=0;i<array.length;i++){ 
66
+ for(int i=0;i<array.length;i++){
69
67
  if(array[i]==0){
70
68
  cnt++;
71
69
  }

1

コンパイルエラーではなく、実行時エラーの間違いです!訂正しました。

2022/11/26 09:23

投稿

Anna
Anna

スコア4

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ### 前提
2
2
 
3
- Eclipseで問題なし、paizaでコンパイルエラーとなります。
3
+ Eclipseで問題なし、paizaで実行時エラーとなります。
4
4
  文字列を数字に分割する処理を含むコードで、nextIntメソッドを使っています。
5
5
 
6
6
  ### 実現したいこと