オブジェクト指向に入る前に基礎力をUPしておこう。
Q1
二つの整数を入力し、商を求める。もし、あまりがある場合は…の後にあまりを出力すること。
[実行結果]
x:>7 y:>3 7÷3=2...1
import java.util.Scanner; public class Jn2_1 { public static void main(String[] args) { Scanner scan=new Scanner(System.in); System.out.print("x:>"); int x=scan.nextInt(); System.out.print("y:>"); int y=scan.nextInt(); System.out.printf("%d÷%d=%d",x,y,x/y); if(x%y !=0){ System.out.printf("...%d",x%y); } System.out.println(); scan.close(); } }
Q2
実行結果のように、秒(整数)を入力すると、何時間・何分・何秒かを表示する。
分・秒の値は、10以下であっても、0を補って2桁で表示する。
[実行結果]
秒を入力>3485 0時間58分05秒です。
import java.util.Scanner; public class Q2{ public static void main(String[] args){ //定数はfinalをつけ大文字。単語の繋ぎ目はアンダーバー final int SEC_OF_HOUR=3600; //1時間当たりの秒 final int SEC_OF_MIN=60; //1分当たりの秒 Scanner s=new Scanner(System.in); //スキャナーを使えるようにする。 int n; //ユーザーからの入力値を受け取る変数 do{ System.out.print("秒を入力>"); n=s.nextInt(); }while(n<0);//負の値が入っていたら繰り返し //nを1時間当たりの秒で割った商が求めるhour int hour=n/SEC_OF_HOUR; //nを1時間当たりの秒で割った余りを1分あたりの秒で割った商が求めるmin int min=(n%SEC_OF_HOUR)/SEC_OF_MIN; //nを1分あたりの秒で割った余りがsec int sec=n%SEC_OF_MIN; //%02dで2桁分の幅を確保し空いたスペースを0で埋める System.out.printf("%d時間%02d分%02d秒です。",hour,min,sec); } }
Q3
下の図のように、2つの整数と偶数・奇数の選択を入力すると、その間の偶数か奇数の合計を表示する。
大小の逆入力や、負の数にも対応するようにする。
[実行結果]
整数1を入力>10 整数2を入力>-4 偶数(1),奇数(2)を選択>2 -4から10までの奇数の合計は21です。
import java.util.Scanner; public class Jn2_3 { public static void main(String[] args) { //キーボード入力を使えるようにする準備(Scannerクラスのインスタンスを生成) Scanner scan=new Scanner(System.in); System.out.print("整数1を入力>"); //とりあえずminに入れる int min=scan.nextInt(); System.out.print("整数2を入力>"); //とりあえずmaxに入れる int max=scan.nextInt(); System.out.print("偶数(1),奇数(2)を選択>"); //説明変数selectに入れる int select=scan.nextInt(); //selectが1ならばisEvenはtrue boolean isEven=select == 1; //minがmaxより大きかったら2値の入れ替え if(min> max){ int temp = min; min=max; max=temp; } //合計を求めるときにはsumを0で初期化するところからスタート int sum=0; //min~maxまでの間を回すループ(端含む) for(int i=min;i<=max;i++){ //(偶数選択かつ偶数)または(奇数選択かつ奇数)が加算していく数 if((isEven && i%2==0) ||(!isEven && i%2 !=0)){ sum+=i; } } System.out.printf("%dから%dまでの%sの合計は%dです。", min,max,isEven ? "偶数":"奇数",sum); scan.close(); } }
コメント