回答編集履歴

3

修正

2020/08/05 11:28

投稿

amiya
amiya

スコア1218

test CHANGED
@@ -2,15 +2,15 @@
2
2
 
3
3
  `sc.nextInt();`です、これは入力ストリームから、数字だけを読み取るメソッドです。
4
4
 
5
- その前の時点でのストリームの内容は、`8\n`であり、
5
+ その前の時点でのストリームの内容は、`"8\n"`であり、
6
6
 
7
- これが読み取られた結果、ストリームには`\n`が残ります。
7
+ これが読み取られた結果、ストリームには`"\n"`が残ります。
8
8
 
9
9
 
10
10
 
11
11
  その状態で、`sc.nextLine();`を使うと、これは改行までを読み取るメソッドなので、
12
12
 
13
- `\n`を読んで、改行の前の空文("")を返します。
13
+ `"\n"`を読んで、改行の前の空文(`""`)を返します。
14
14
 
15
15
  それが`println("")`により出力されて、改行だけになります。
16
16
 

2

修正

2020/08/05 11:28

投稿

amiya
amiya

スコア1218

test CHANGED
@@ -1 +1,19 @@
1
- すみません。読みました。
1
+ 最初の`8`を読み込むときに使ってるのは、
2
+
3
+ `sc.nextInt();`です、これは入力ストリームから、数字だけを読み取るメソッドです。
4
+
5
+ その前の時点でのストリームの内容は、`8\n`であり、
6
+
7
+ これが読み取られた結果、ストリームには`\n`が残ります。
8
+
9
+
10
+
11
+ その状態で、`sc.nextLine();`を使うと、これは改行までを読み取るメソッドなので、
12
+
13
+ `\n`を読んで、改行の前の空文("")を返します。
14
+
15
+ それが`println("")`により出力されて、改行だけになります。
16
+
17
+
18
+
19
+ `sc.nextInt();`の後に、`sc.nextLine();`を一度、空打ちして余計な改行を読み捨ててください。

1

訂正

2020/08/05 11:27

投稿

amiya
amiya

スコア1218

test CHANGED
@@ -1,3 +1 @@
1
- `println(s)`は、`s`の内容に加えて、改行を出力するメソッドです。
2
-
3
- 改行をしたくない場合は、`print(s)`を使ってください
1
+ すみません。読み違いました。