3
1
paiza×Qiita記事投稿キャンペーン「プログラミング問題をやってみて書いたコードを投稿しよう!」

Paiza×Qiitaキャンペーン Javaで解説してみた【D 足し算 編】

Last updated at Posted at 2024-08-15

はじめに

学習する為に使用したJavaの教科書によっては難易度が変わるかもしれません。

問題へのリンク

解答コード


import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);

		final int A = scanner.nextInt();
		final int B = scanner.nextInt();

		System.out.println(A + B);
		scanner.close();
	}
}

解説

1行空白区切りで入力値を受け取るので、scanner.nextLine()しか知らない場合には少し難易度が上がります。
文字列を分割する方向で考えるのではなく、scanner.nextInt()を覚えましょう。
nextInt()は改行だけではなく、空白も入力値の区切りとして認識します。
nextLine()だと"1 1"(入力例1の場合)という文字列を取得してしまいますが、nextInt()だと1つずつintで取得できます。nextLine()は改行文字のみを区切りとして認識します。他の問題で文字列を取得する際も、空白文字も区切り文字として認識できるnext()を使った方がいいかもしれません。

おまけ

nextLine()とnextInt()を混用するのはなるべく避けましょう。nextInt()は仕様上、intの取得後改行文字を残すため、nextInt()の後にnextLine()を使用すると空文字のみを取得してしまう可能性があります。
nextLine()を使う場合、全てをnextLine()に統一することをお勧めします。
もしくは、paizaで文字列を取得する際は、空白文字を取得する必要がある場合を除いてnext()を使用しましょう。
どうしても混用させたい場合は、改行文字が残っている場所でnextLine()を二回使用し、後者の値のみを使用すると良いでしょう。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1