Menu
Coddy logo textTech

剰余演算子

CoddyのDartジャーニー「基礎」セクションの一部。レッスン 18/94。

modulo operator(%)は、divisionの後のremainderを返します。いくつかの簡単な例を使って、どのように機能するかを見ていきましょう。

基本的な剰余演算(Modulo)

void main() {
  int dividend = 10;
  int divisor = 3;
  int remainder = dividend % divisor;
  
  print('Remainder of $dividend ÷ $divisor = $remainder');
}

出力: Remainder of 10 ÷ 3 = 1

10を3で割ると、3で `remainder` は1になります。`modulo` `operator` % は、その `remainder` の値を取得します。

偶数と奇数の判定

modulo 演算子を使用して、number が even か odd かを判定できます:

void main() {
  int number = 15;
  int remainder = number % 2;
  
  print('$number % 2 = $remainder');
  
  // 偶数は2で割ったときの余りが0になる
  bool isEven = remainder == 0;
  
  // if/elseの代わりに直接的なブール評価を使用
  String result = isEven ? '$number is even' : '$number is odd';
  print(result);
}

出力:

15 % 2 = 1
15 is odd
challenge icon

チャレンジ

簡単

modulo 演算子 (%) を使用して、次の問題を解決するプログラムを作成してください:

  1. 値 197 を持つ integer 変数 totalMinutes を宣言します
  2. integer の division を使用して、totalMinutes に含まれる全体の hours を計算して保存します
  3. modulo 演算子を使用して、remaining の minutes を計算して保存します
  4. 正確に次の形式で hours と minutes の time を print します:
197 minutes is 3 hours and 17 minutes.

次に:

  1. 値 57 を持つ integer 変数 coins を宣言します
  2. coins から何個の quarters(25 coins)ができるかを計算して保存します
  3. modulo 演算子を使用して、remaining の coins を計算して保存します
  4. 正確に次の形式で result を print します:
57 coins can be divided into 2 quarters and 7 remaining coins.

自分で試してみよう

void main() {
  // ここで変数を宣言してください
  // 以下のすべてのプレースホルダー値を、タスクが求める値に置き換えてください
  int totalMinutes = 0;

  // 時間と残りの分を計算する
  // 時間には整数除算を、分には剰余演算子を使用する
  int hours = totalMinutes;
  int remainingMinutes = totalMinutes;

  // 時間の結果を出力する
  print("$totalMinutes minutes is $hours hours and $remainingMinutes minutes.");

  // クォーターと残りのコインを計算する
  int coins = 0;
  int quarters = coins ~/ 1;
  int remainingCoins = coins % 1;

  // コインの結果を出力する
  print("$coins coins can be divided into $quarters quarters and $remainingCoins remaining coins.");
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Dartオンラインコンパイラ