コンストラクタやメソッドで時計表示

コンストラクタやメソッドで時計表示

練習問題10の2

 24時間制の時計クラス「MyTime」を
作成し、これを用いて、下の図のように時・
分・秒を入力すると、何時に設定された
か表示する。
なお、時計クラスのメンバは以下のようなものとする。
int hour, minute, second
→ 時、分、秒のフィールド変数 (privateメンバ)
void setTime(int h, int m, int, s)
→ 引数のh(時)、m(分)、s(秒)を各フィールド変数にセットする
メソッド。なお、引数が有り得ない値の場合は、対応するフィー
ルド変数の値は0に設定するようにする。(publicメンバ)
String getTime()
→ 各フィールド変数の値から hh:mm:ss の形式の文字列を返す。
(publicメンバ)

 

※作成したクラスを使ってmainメソッドを作成すると下記のようになります。
public static void main(String[] args)
{
MyTime t = new MyTime();
System.out.print("時を入力 > ");
int h = Integer.parseInt( br.readLine() );
System.out.print("分を入力 > ");
int m = Integer.parseInt( br.readLine() );
System.out.print("秒を入力 > ");
int s = Integer.parseInt( br.readLine() );
t.setTime(h, m, s);
System.out.println(t.getTime() + "に設定されました");

 

 

実行画面

時を入力 > 8【enterキー】

分を入力 > 5【enterキー】
秒を入力 > 14【enterキー】
08:05:14に設定されました。

解答例

class MyTime

{
private int hour, minute, second;
public void setTime(int h, int m, int s)
{
if(h>=24)
h = 23;
if(h<0)
h = 0;
if(m>=60)
m = 59;
if(m<0)
m = 0;
if(s>=60)
s = 59;
if(s<0)
s = 0;

hour = h;
minute = m;
second = s;
}
public String getTime()
{
String h, m, s;
if(hour<10)
h = "0" + hour;
else
h = "" + hour;
if(minute<10)
m = "0" + minute;
else
m = "" + minute;

 

if(second<10)
s = "0" + second;
else
s = "" + second;
return h + ":" + m + ":" + s;
}
}

import java.io.*;

public class ren10_2
{
public static void main(String[] args) throws IOException
{
BufferedReader br =
new BufferedReader( new InputStreamReader( System.in ) );
MyTime t = new MyTime();
System.out.print("時を入力 > ");
int h = Integer.parseInt( br.readLine() );
System.out.print("分を入力 > ");
int m = Integer.parseInt( br.readLine() );
System.out.print("秒を入力 > ");
int s = Integer.parseInt( br.readLine() );
t.setTime(h, m, s);
System.out.println(t.getTime() + "に設定されました");
}

}

 

コンストラクタやメソッドで時計表示関連ページ

連続して表示するメソッドを作る for文使用
メソッドを使用して、横幅高さの長方形を表示する
2つの整数の差を計算して表示する メソッド
3つの整数の最小値を返す メソッド
整数nの階乗を計算して表示する メソッド
整数の2乗を表示する メソッド
2乗と4乗を表示するメソッド
4つの整数の中で最小値を表示するメソッド
配列を宣言し、整数逆順に表示する メソッド
クラスを作成し、インスタンスに記憶し表示する
クラスにメソッドを使用する
クラスを作成し、インスタンスに記憶しメソッドを介して表示する
クラスを作成し、メインメソッドを実行し表示を確認する
コンストラクタやメソッドで時計表示し何秒か時間を進めたり戻す
メンバ変数、コンストラクタ、メンバメソッドを使用し枚数表示する
メンバ変数、コンストラクタ、メンバメソッドを使用し水量表示する
メンバ変数、コンストラクタ、メンバメソッドを使用し位置表示する
メンバ変数、コンストラクタ、メンバメソッドを使用し財布の中身残量表示する
インスタンス配列を使用して、集計表示を行う コンストラクタ
フィールド変数がprivateで直接参照できないときに返すメソッド
インスタンスを2個生成し操作する
privateを使用して、操作する
インスタンスを複数生成し、操作する