読みながらJavaの基礎をマスターしましょう

7.(演習)一軒家よりアパート?~配列~

配列についての処理の(数字)の部分を埋めてプログラムを完成せよ。プロジェクト名:chap7 クラス名:Ex1~Ex17

問題1 出力

int[] a = {2, 4, 1, 3, 5, 7, 2, 1, 4, 8};
for(int i = 0; i < 10; i++) {
  (1)
}
2
4
1
3
5
7
2
1
4
8

問題2 合計

int[] a = {2, 4, 1, 3, 5, 7, 2, 1, 4, 8};
int sum;
(1)
for(int i = 0; i < 10; i++) {
  (2)
}
System.out.println("合計=" + sum);
合計=37

問題3 平均

int[] a = {2, 4, 1, 3, 5, 7, 2, 1, 4, 8};
int sum;
(1)
for(int i = 0; i < 10; i++) {
  (2)
}
System.out.println("平均=" + (3) );
平均=3.7

問題4 最大値

int[] a = {2, 4, 1, 3, 5, 7, 2, 1, 4, 8};
int max;
max =   (1)   ;
for(int i = 1; i < 10; i++) {
  if(a[i] &gt; max) {
    (2)
  }
}
System.out.println("最大値=" + (3) );
最大値=8

問題5 最小値

int[] a = {2, 4, 1, 3, 5, 7, 2, 1, 4, 8};
int min;
min =   (1)   ;
for(int i = 1; i < 10; i++) {
  if(a[i] < min) {
    (2)
  }
}
System.out.println("最小値=" + (3) );
最小値=1

問題6 1番目と2番目に大きな値

int[] a = {2, 4, 1, 3, 5, 7, 2, 1, 4, 8};
int max1, max2, work;
if(   (1)   ) {
  max1 = a[0];
  max2 = a[1];
} else {
  max1 = a[1];
  max2 = a[0];
}
for(int i = 2; i < 10; i++) {
  if(a[i] > max1) {
    (2)
  } else if(a[i] > max2) {
    (3)
  }
}
System.out.println("1番目="+ (4) );
System.out.println("2番目="+ (5) );
1番目=8
2番目=7

問題7 サーチ(xと等しい要素の添字をすべて出力)

int[] a = {2, 4, 1, 3, 5, 7, 2, 1, 4, 8};
int x = 1;
for(int i = 0; i < 10; i++) {
  (1)
}
2
7

問題8 サーチ (xと等しい最初の要素の添字を出力)

int[] a = {2, 4, 1, 3, 5, 7, 2, 1, 4, 8};
int x = 1;
for(int i = 0; i < 10; i++) {
  (1)
}
2

問題9 サーチ (xと等しい最後の要素の添字を出力)

int[] a = {2, 4, 1, 3, 5, 7, 2, 1, 4, 8};
int x = 1;
for( (1) ) {
  (2)
}
7

問題10 データ数(xと等しい要素の個数)

int[] a = {2, 4, 1, 3, 5, 7, 2, 1, 4, 8};
int n;
int x = 1;
(1)
for(int i = 0; i < 10; i++) {
  (2)
}
System.out.println(x + "は” + n + “個ある");
1は2個ある

問題11 逆転

int[] a = {2, 4, 1, 3, 5, 7, 2, 1, 4, 8};
int[] b = new int[10];
for(int i = 0; i < 10; i++) {
  (1)
}
for(int i = 0; i < 10; i++) {
  System.out.println(b[i]);
}
8
4
1
2
7
5
3
1
4
2

問題12 ソート(選択ソート)

int[] a = {2, 4, 1, 3, 5, 7, 2, 1, 4, 8};
(1)
for(int i = 0; i < 10; i++) {
  System.out.println(a[i]);
}
1
1
2
2
3
4
4
5
7
8

問題13 ソート(バブルソート)
問題12と同じ

問題14 配列aのデータが、昇順に並んでいるかどうかをチェックする。配列aのデータを変えて実行してみること。

int[] a = {23, 53, 72, 98, 88};
int i;
int len = a.length;
for(i = 0; i < len - 1; i++) {
 (1)
}
if(i < len - 1) {
  System.out.println("昇順でない");
} else {
  System.out.println("昇順");
}
昇順でない

問題15 配列testのデータに順位を付けて出力する。

int[] test = { 80, 60, 22, 50, 75 };
int len = test.length;
int[] rank = new int[len];
for (int i = 0; i < len; i++) {
  rank[i] = 1;
}
for (int i = 0; i < len; i++) {
  for (int j = 0; j < len; j++) {
   (1)
  }
}
for (int i = 0; i < len; i++) {
  System.out.println(rank[i] + " " + test[i]);
}
1 80
3 60
5 22
4 50
2 75

問題16 金額を与え、金種別必要枚数を計算する。次のような配列を利用すること。

int[] ar = { 10000, 5000, 2000, 1000, 500, 100, 50, 10, 5, 1 };

問題17 同じ年の二つの日付の間の経過日数を求める。次の場合「59日」と出力されればOK。

int year = 2007;
int startMonth = 5, startDay = 22;
int endMonth = 7, endDay = 19;
int[] days= { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
ここを考える

和太鼓の製造/販売、張り替え/修理は

目次

PAGETOP
Copyright © たのしいJava入門とScratchと猫 All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.
PAGE TOP