・p.28「フォーマット指定子を使った変数の表示」から
提出フォロー:アレンジ演習 p.25 text02.cs → text02a.cs
・text03.csを参考にして、Console.Writeを用いることで「+」による連結を行わずに同じ結果を得よう ヒント: ① Console.Writeで a を表示 ② Console.Writeで " + " を表示 ③ Console.Writeで b を表示 ④ Console.Writeで " = " を表示 ⑤ Console.Writeで a + b を表示 ⑥ Console.WriteLineで改行のみを行う あるいは、⑤をConsole.WriteLineにすれば⑥は不要
作成例
//提出:アレンジ演習 p.25 text02.cs → text02a.cs
using System; //名前空間を使うことを示す
class Text02a //クラス名(同じ名前がプロジェクト内になければOK)
{ //クラスの定義の開始
public static void Main() //実行用メソッド(手続き・処理)
{ //メソッドの定義の開始
int a = 10, b = 20;
Console.Write(a); //表示し改行しない
Console.Write(" + "); //〃
Console.Write(b); //〃
Console.Write(" = "); //〃
Console.Write(a + b); //aとb和を得て表示し改行しない
Console.WriteLine(); //改行のみを行う
} //メソッドの定義の終わり
} //クラスの定義の終わり
作成例(別解)
//提出:アレンジ演習 p.25 text02.cs → text02a.cs
using System; //名前空間を使うことを示す
class Text02a //クラス名(同じ名前がプロジェクト内になければOK)
{ //クラスの定義の開始
public static void Main() //実行用メソッド(手続き・処理)
{ //メソッドの定義の開始
int a = 10, b = 20;
Console.Write(a); //表示し改行しない
Console.Write(" + "); //〃
Console.Write(b); //〃
Console.Write(" = "); //〃
Console.WriteLine(a + b); //aとb和を得て表示し改行する
} //メソッドの定義の終わり
} //クラスの定義の終わり
p.28 フォーマット指定子を使った変数の表示
・連結用の「+」を用いると加算と見間違えたり、完成イメージが見えづらい
・その場合は、フォーマット指定子を用いると良い
・フォーマット指定子は「{0}」から始まる番号指定で、フォーマット文字列の中に埋め込んで用いる
・例: Console.Write("{0}倍速い!", 3); //「3倍速い!」と表示
・例: int n = 3; Console.Write("{0}倍速い!", n); //「3倍速い!」と表示
⇒ 「Console.Write(n + "倍速い!");」と同じ
・例: int a = 3, b = 4; Console.Write("{0} + {1} = {2}", a, b, a + b); //「3 + 4 = 7」と表示
⇒ 「Console.Write(a + " + " + b + " = " + (a + b));」と同じ
・なお、フォーマット指定子は{0}から1ずつカウントアップすること
・また、フォーマット文字列の中では同じフォーマット指定子を何度も使える
・例: int a = 3, b = 4; Console.Write("{0} + {1} = {2}, {0} - {1} = {3}", a, b, a + b, a - b);
//「3 + 4 = 7, 3 - 4 = -1」と表示
・フォーマット指定子は文字列でもOK
・例: Console.Write("{0}は赤い彗星だ!{0}は3倍速い!", "シャア"); //「シャアは赤い彗星だ!シャアは3倍速い!」
p.28 text04.cs
//p.28 text04.cs
using System; //名前空間を使うことを示す
class Text04 //クラス名(同じ名前がプロジェクト内になければOK)
{ //クラスの定義の開始
public static void Main() //実行用メソッド(手続き・処理)
{ //メソッドの定義の開始
int x = 10;
Console.WriteLine("x = {0}", x); //「x = 10」と表示
Console.WriteLine("x = {0}, xの10倍は{1}です", x, x * 10); //「x = 10, xの10倍は100です」と表示
Console.WriteLine("{0}は{1}ですが、{2}は{1}ではありません", "猫", "哺乳類", "トカゲ");
}
} //クラスの定義の終わり
アレンジ演習:p.28 text04.cs
・変数yを5で初期化する処理を追加しよう ・そして、xの10倍を,xのy倍を表示するように変更しよう
作成例
//アレンジ演習:p.28 text04.cs
using System; //名前空間を使うことを示す
class Text04 //クラス名(同じ名前がプロジェクト内になければOK)
{ //クラスの定義の開始
public static void Main() //実行用メソッド(手続き・処理)
{ //メソッドの定義の開始
int x = 10, y = 5;
Console.WriteLine("x = {0}", x); //「x = 10」と表示
Console.WriteLine("x = {0}, xの{1}倍は{2}です", x, y, x * y); //「x = 10, xの5倍は50です」と表示
Console.WriteLine("{0}は{1}ですが、{2}は{1}ではありません", "猫", "哺乳類", "トカゲ");
} //メソッドの定義の終わり
} //クラスの定義の終わり
p.29 桁数の指定
・表示においては最大桁数を指定して、それよりも小さい場合にはその分の余白を入れることができる
・例えば「1」を3桁で表示すると「△△1」となる(△は空白)
・この指定はフォーマット指定子で行い「{番号, 桁数}」とする
・なお、右側を開けたい場合(左揃え)は「-桁数」とする
・例えば「1」を-3桁で表示すると「1△△」となる(△は空白)
p.30 text05.cs
//p.30 text05.cs
using System;
class text05
{
public static void Main()
{
int x = 10, y = 123456789;
Console.WriteLine("12345678901234567890123456789"); //目盛り代わり
Console.WriteLine("{0, 10}", "abc"); //右揃え10桁に3桁なので左に7空白
Console.WriteLine("{0, 5}", "def"); //右揃え5桁に3桁なので左に2空白
Console.WriteLine("{0, 0}", "ghi"); //桁数が文字数を下回る場合は無視される
Console.WriteLine("{0, 10}{1, 10}", "あ", "い"); //9文字空白,あ,9文字空白,い
Console.WriteLine("{0, -10}{1, -10}", "あ", "い"); //あ,9文字空白,い,9文字空白
Console.WriteLine("x = {0, 5}, y = {1, 3}", x, y); //"x = ",3文字空白,", y = ",123456789
}
}
アレンジ演習:p.30 text05.cs
・下記の表示を追加しよう ① 1を10桁で表示し、1を左揃えで10桁で表示 ② 12を10桁で表示し、12を左揃えで10桁で表示 ③ 123を10桁で表示し、123を左揃えで10桁で表示 ④ 1234を10桁で表示し、1234を左揃えで10桁で表示 ⑤ 12345を10桁で表示し、12345を左揃えで10桁で表示
作成例
//アレンジ演習:p.30 text05.cs
using System;
class text05
{
public static void Main()
{
int x = 10, y = 123456789;
Console.WriteLine("12345678901234567890123456789"); //目盛り代わり
Console.WriteLine("{0, 10}", "abc"); //右揃え10桁に3桁なので左に7空白
Console.WriteLine("{0, 5}", "def"); //右揃え5桁に3桁なので左に2空白
Console.WriteLine("{0, 0}", "ghi"); //桁数が文字数を下回る場合は無視される
Console.WriteLine("{0, 10}{1, 10}", "あ", "い"); //9文字空白,あ,9文字空白,い
Console.WriteLine("{0, -10}{1, -10}", "あ", "い"); //あ,9文字空白,い,9文字空白
Console.WriteLine("x = {0, 5}, y = {1, 3}", x, y); //"x = ",3文字空白,", y = ",123456789
//【以下追加】
Console.WriteLine("{0, 10}{0, -10}", 1); //1を10桁で表示し、左揃えで10桁で表示
Console.WriteLine("{0, 10}{0, -10}", 12); //12を10桁で表示し、左揃えで10桁で表示
Console.WriteLine("{0, 10}{0, -10}", 123); //123を10桁で表示し、左揃えで10桁で表示
Console.WriteLine("{0, 10}{0, -10}", 1234); //1234を10桁で表示し、左揃えで10桁で表示
Console.WriteLine("{0, 10}{0, -10}", 12345); //12345を10桁で表示し、左揃えで10桁で表示
}
}