1102自主学習
This commit is contained in:
@@ -11,13 +11,13 @@ public class Question16_4 {
|
|||||||
int num2 = ageCheck(-5);
|
int num2 = ageCheck(-5);
|
||||||
System.out.println("年齢は" + num2 + "です");
|
System.out.println("年齢は" + num2 + "です");
|
||||||
}catch(testException e) {
|
}catch(testException e) {
|
||||||
System.out.println(e.getMessage()+ "は不正な年齢です");
|
System.out.println(e.getAge()+ "は不正な年齢です");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int ageCheck(int num) throws testException {
|
public static int ageCheck(int num) throws testException {
|
||||||
if(num < 0) {
|
if(num < 0) {
|
||||||
throw new testException("num");
|
throw new testException(num);
|
||||||
}
|
}
|
||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,14 @@
|
|||||||
|
|
||||||
public class testException extends Exception {
|
public class testException extends Exception {
|
||||||
public testException(String message) {
|
private final int age;
|
||||||
super(message);
|
|
||||||
|
public testException(int num) {
|
||||||
|
this.age = num;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getAge() {
|
||||||
|
return age;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
6
Question17-StackTrace/.classpath
Normal file
6
Question17-StackTrace/.classpath
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21"/>
|
||||||
|
<classpathentry kind="src" path="src/main/java"/>
|
||||||
|
<classpathentry kind="output" path="build/classes"/>
|
||||||
|
</classpath>
|
||||||
1
Question17-StackTrace/.gitignore
vendored
Normal file
1
Question17-StackTrace/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/build/
|
||||||
23
Question17-StackTrace/.project
Normal file
23
Question17-StackTrace/.project
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>Question17-StackTrace</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.wst.common.project.facet.core.builder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
|
||||||
|
org.eclipse.jdt.core.compiler.compliance=21
|
||||||
|
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||||
|
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||||
|
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
||||||
|
org.eclipse.jdt.core.compiler.release=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.source=21
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<faceted-project>
|
||||||
|
<installed facet="java" version="21"/>
|
||||||
|
</faceted-project>
|
||||||
18
Question17-StackTrace/src/main/java/Product.java
Normal file
18
Question17-StackTrace/src/main/java/Product.java
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
|
||||||
|
public class Product {
|
||||||
|
private String name;
|
||||||
|
private int price;
|
||||||
|
|
||||||
|
public Product(String name, int price) {
|
||||||
|
this.name = name;
|
||||||
|
this.price = price;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getPrice() {
|
||||||
|
return price;
|
||||||
|
}
|
||||||
|
}
|
||||||
42
Question17-StackTrace/src/main/java/Question17_1.java
Normal file
42
Question17-StackTrace/src/main/java/Question17_1.java
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
|
||||||
|
public class Question17_1 {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
// TODO 自動生成されたメソッド・スタブ
|
||||||
|
int[] nums1 = {80, 90, 70};
|
||||||
|
int[] nums2 = {};
|
||||||
|
scoreexception(nums1);
|
||||||
|
scoreexception(nums2);
|
||||||
|
}
|
||||||
|
|
||||||
|
//例外処理
|
||||||
|
public static void scoreexception(int[]nums) {
|
||||||
|
try {
|
||||||
|
report(nums);
|
||||||
|
}catch(ArithmeticException e) {
|
||||||
|
System.out.println("採点データがないため、平均点を計算できませんでした");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//平均点レポート処理(最上位)
|
||||||
|
public static void report(int[]nums) {
|
||||||
|
int score = average(nums);
|
||||||
|
System.out.println("平均点は" + score + "点です");
|
||||||
|
}
|
||||||
|
|
||||||
|
//平均点算出処理(中間)
|
||||||
|
public static int average(int[]nums) {
|
||||||
|
int total = 0;
|
||||||
|
for(int i = 0; i < nums.length; i++) {
|
||||||
|
total += nums[i];
|
||||||
|
}
|
||||||
|
int result = divide(total, nums.length);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
//割り算処理(最下位)
|
||||||
|
public static int divide(int num1, int num2) {
|
||||||
|
return num1/num2;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
37
Question17-StackTrace/src/main/java/Question17_2.java
Normal file
37
Question17-StackTrace/src/main/java/Question17_2.java
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
|
||||||
|
public class Question17_2 {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
// TODO 自動生成されたメソッド・スタブ
|
||||||
|
Product product1 = new Product("りんご", 150);
|
||||||
|
Product product2 = new Product("みかん", 100);
|
||||||
|
Product[]product = new Product[2];
|
||||||
|
product[0] = product1;
|
||||||
|
product[1] = product2;
|
||||||
|
|
||||||
|
searchResult(product, "りんご");
|
||||||
|
searchResult(product, "バナナ");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//商品検索処理
|
||||||
|
public static Product search(Product[]product, String targetName) {
|
||||||
|
for(int i = 0; i < product.length; i++) {
|
||||||
|
if(product[i].getName().equals(targetName)) {
|
||||||
|
return product[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
//検索結果表示処理
|
||||||
|
public static void searchResult(Product[]product, String targetName) {
|
||||||
|
Product result = search(product, targetName);
|
||||||
|
if(result == null) {
|
||||||
|
System.out.println(targetName + "は見つかりませんでした");
|
||||||
|
}else {
|
||||||
|
result.getPrice();
|
||||||
|
System.out.println(targetName + "の価格は" + result.getPrice() + "円です");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
39
Question17-StackTrace/src/main/java/Question17_3.java
Normal file
39
Question17-StackTrace/src/main/java/Question17_3.java
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
|
||||||
|
public class Question17_3 {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
// TODO 自動生成されたメソッド・スタブ
|
||||||
|
register("花子", 20);
|
||||||
|
register("", 20);
|
||||||
|
register("太郎", -5);
|
||||||
|
}
|
||||||
|
|
||||||
|
//会員登録処理(最上位)
|
||||||
|
public static void register(String name, int age) {
|
||||||
|
try{
|
||||||
|
ageCheck(name, age);
|
||||||
|
System.out.println(name + "を登録しました");
|
||||||
|
}catch(IllegalArgumentException e) {
|
||||||
|
System.out.println("年齢は0以上を入力してください");
|
||||||
|
}catch(NullPointerException e) {
|
||||||
|
System.out.println("名前を入力してください");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//入力チェック処理(中間)
|
||||||
|
public static void ageCheck(String name, int age) {
|
||||||
|
nameCheck(name);
|
||||||
|
if(age < 0) {
|
||||||
|
throw new IllegalArgumentException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//名前チェック処理(最下位)
|
||||||
|
public static void nameCheck(String name) {
|
||||||
|
if(name == null || name.isEmpty()) {
|
||||||
|
throw new NullPointerException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
6
Question18-Collection/.classpath
Normal file
6
Question18-Collection/.classpath
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21"/>
|
||||||
|
<classpathentry kind="src" path="src/main/java"/>
|
||||||
|
<classpathentry kind="output" path="build/classes"/>
|
||||||
|
</classpath>
|
||||||
23
Question18-Collection/.project
Normal file
23
Question18-Collection/.project
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>Question18-Collection</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.wst.common.project.facet.core.builder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
|
||||||
|
org.eclipse.jdt.core.compiler.compliance=21
|
||||||
|
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||||
|
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||||
|
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
||||||
|
org.eclipse.jdt.core.compiler.release=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.source=21
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<faceted-project>
|
||||||
|
<installed facet="java" version="21"/>
|
||||||
|
</faceted-project>
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
GK,クラウディオ・ブラボ,チリ,マンチェスター・C
|
|
||||||
GK,ジャンルイジ・ブッフォン,イタリア,ユヴェントス
|
|
||||||
GK,ダビド・デ・ヘア,スペイン,マンチェスター・U
|
|
||||||
GK,ケイロル・ナバス,コスタリカ,レアル・マドリード
|
|
||||||
GK,マヌエル・ノイアー,ドイツ,バイエルン
|
|
||||||
DF,ダヴィド・アラバ,オーストリア,バイエルン
|
|
||||||
DF,ジョルディ・アルバ ,スペイン,バルセロナ
|
|
||||||
DF,セルジュ・オーリエ,コートジボワール,パリ・サンジェルマン
|
|
||||||
DF,エクトル・ベジェリン,スペイン,アーセナル
|
|
||||||
DF,ジェローム・ボアテング,ドイツ,バイエルン
|
|
||||||
DF,レオナルド・ボヌッチ,イタリア,ユヴェントス
|
|
||||||
DF,ダニエル・カルバハル,スペイン,レアル・マドリード
|
|
||||||
DF,ジョルジョ・キエッリーニ,イタリア,ユヴェントス
|
|
||||||
DF,ダニエウ・アウヴェス,ブラジル,ユヴェントス
|
|
||||||
DF,ダヴィド・ルイス,ブラジル,チェルシー
|
|
||||||
DF,ディエゴ・ゴディン,ウルグアイ,アトレティコ・マドリード
|
|
||||||
DF,マッツ・フンメルス,ドイツ,バイエルン
|
|
||||||
DF,フィリップ・ラーム,ドイツ,バイエルン
|
|
||||||
DF,マルセロ,ブラジル,レアル・マドリード
|
|
||||||
DF,ハビエル・マスチェラーノ,アルゼンチン,バルセロナ
|
|
||||||
DF,ペペ,ポルトガル,レアル・マドリード
|
|
||||||
DF,ジェラール・ピケ,スペイン,バルセロナ
|
|
||||||
DF,セルヒオ・ラモス,スペイン,レアル・マドリード
|
|
||||||
DF,チアゴ・シウヴァ,ブラジル,パリ・サンジェルマン
|
|
||||||
DF,ラファエル・ヴァラン,フランス,レアル・マドリード
|
|
||||||
MF,シャビ・アロンソ,スペイン,バイエルン
|
|
||||||
MF,セルヒオ・ブスケツ,スペイン,バルセロナ
|
|
||||||
MF,ケヴィン・デ・ブライネ,ベルギー,マンチェスター・C
|
|
||||||
MF,エデン・アザール,ベルギー,チェルシー
|
|
||||||
MF,アンドレス・イニエスタ,スペイン,バルセロナ
|
|
||||||
MF,エンゴロ・カンテ,フランス,チェルシー
|
|
||||||
MF,トニ・クロース,ドイツ,レアル・マドリード
|
|
||||||
MF,ルカ・モドリッチ,クロアチア,レアル・マドリード
|
|
||||||
MF,メスト・エジル,ドイツ,アーセナル
|
|
||||||
MF,ディミトリ・パイェ,フランス,ウェストハム
|
|
||||||
MF,ポール・ポグバ,フランス,マンチェスター・U
|
|
||||||
MF,イヴァン・ラキティッチ,クロアチア,バルセロナ
|
|
||||||
MF,ダビド・シルバ,スペイン,マンチェスター・C
|
|
||||||
MF,マルコ・ヴェラッティ,イタリア,パリ・サンジェルマン
|
|
||||||
MF,アルトゥーロ・ビダル,チリ,バイエルン
|
|
||||||
FW,セルヒオ・アグエロ,アルゼンチン,マンチェスター・C
|
|
||||||
FW,ギャレス・ベイル,ウェールズ,レアル・マドリード
|
|
||||||
FW,カリム・ベンゼマ,フランス,レアル・マドリード
|
|
||||||
FW,クリスティアーノ・ロナウド,ポルトガル,レアル・マドリード
|
|
||||||
FW,パウロ・ディバラ,アルゼンチン,ユヴェントス
|
|
||||||
FW,アントワーヌ・グリーズマン,フランス,アトレティコ・マドリード
|
|
||||||
FW,ゴンサロ・イグアイン,アルゼンチン,ユヴェントス
|
|
||||||
FW,ズラタン・イブラヒモヴィッチ,スウェーデン,マンチェスター・U
|
|
||||||
FW,ロベルト・レヴァンドフスキ,ポーランド,バイエルン
|
|
||||||
FW,リオネル・メッシ,アルゼンチン,バルセロナ
|
|
||||||
FW,トーマス・ミュラー,ドイツ,バイエルン
|
|
||||||
FW,ネイマール,ブラジル,バルセロナ
|
|
||||||
FW,アレクシス・サンチェス,チリ,アーセナル
|
|
||||||
FW,ルイス・スアレス,ウルグアイ,バルセロナ
|
|
||||||
FW,ジェイミー・ヴァーディ,イングランド,レスター
|
|
||||||
|
@@ -1,8 +0,0 @@
|
|||||||
オムライス,500
|
|
||||||
焼きそば,450
|
|
||||||
ハンバーグ,600
|
|
||||||
ステーキ,800
|
|
||||||
ナポリタン,600
|
|
||||||
ミラノ風ドリア,299
|
|
||||||
フライドチキン,300
|
|
||||||
カレー,600
|
|
||||||
|
@@ -1,274 +0,0 @@
|
|||||||
# Question18 - 一覧(コレクション)操作
|
|
||||||
|
|
||||||
本資料の練習問題は、複数のプログラミング言語(Java / C# / PHP / Python)で共通して利用できるよう記述されています。静的型付け・動的型付けの違いや文字列の連結ルールなど、言語固有の文法仕様に基づき、問題文の表現をご使用の言語の仕様に適宜読み替えて進めてください。
|
|
||||||
|
|
||||||
## この問題のねらい
|
|
||||||
|
|
||||||
- 一覧(リスト)に要素を追加し、追加した順序を保ったまま全件を取り出して出力できること
|
|
||||||
- 複数のフィールドを持つデータ(レコード)を定義し、そのデータを一覧に格納して扱えること
|
|
||||||
- 一覧の要素の中から、条件に合うものだけを取り出す(絞り込む)、または条件に合うものを取り除くことができること
|
|
||||||
- 与えられたデータ(外部データを読み込んで組み立てた一覧)を対象に、絞り込み・除外・集計といった加工ができること
|
|
||||||
- 一覧からランダムに複数の要素を重複なく選び出し、その結果をもとに合計・税込み計算・小数点以下の切り捨てといった計算ができること
|
|
||||||
|
|
||||||
以下の設問はそれぞれ独立したプログラムとして実装してください。ただし、設問2〜4は共通データ定義「選手データ」を、設問5は共通データ定義「料理データ」を、それぞれ使用します。
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 共通データ定義: 選手データ(設問2〜4で使用)
|
|
||||||
|
|
||||||
次の4つのフィールドを持つデータを表せるようにしてください。
|
|
||||||
|
|
||||||
- ポジション(文字列)
|
|
||||||
- 名前(文字列)
|
|
||||||
- 国(文字列)
|
|
||||||
- 所属チーム(文字列)
|
|
||||||
|
|
||||||
このデータを1件の文字列として表現する場合は、「ポジション,名前,国,所属チーム」の順にカンマ区切りで表してください(設問2〜4の出力形式として使用します)。
|
|
||||||
|
|
||||||
### 選手データの一覧(設問3・4の入力データ)
|
|
||||||
|
|
||||||
次の55件の選手データのインスタンスを、この順序のまま並んだ一覧として用意してください(同じ内容のファイル `file/BestElevenCandidate.csv` を用意しているので、外部データとして読み込んで組み立てる形でも、プログラム内に直接用意する形でも構いません)。
|
|
||||||
|
|
||||||
```
|
|
||||||
GK,クラウディオ・ブラボ,チリ,マンチェスター・C
|
|
||||||
GK,ジャンルイジ・ブッフォン,イタリア,ユヴェントス
|
|
||||||
GK,ダビド・デ・ヘア,スペイン,マンチェスター・U
|
|
||||||
GK,ケイロル・ナバス,コスタリカ,レアル・マドリード
|
|
||||||
GK,マヌエル・ノイアー,ドイツ,バイエルン
|
|
||||||
DF,ダヴィド・アラバ,オーストリア,バイエルン
|
|
||||||
DF,ジョルディ・アルバ ,スペイン,バルセロナ
|
|
||||||
DF,セルジュ・オーリエ,コートジボワール,パリ・サンジェルマン
|
|
||||||
DF,エクトル・ベジェリン,スペイン,アーセナル
|
|
||||||
DF,ジェローム・ボアテング,ドイツ,バイエルン
|
|
||||||
DF,レオナルド・ボヌッチ,イタリア,ユヴェントス
|
|
||||||
DF,ダニエル・カルバハル,スペイン,レアル・マドリード
|
|
||||||
DF,ジョルジョ・キエッリーニ,イタリア,ユヴェントス
|
|
||||||
DF,ダニエウ・アウヴェス,ブラジル,ユヴェントス
|
|
||||||
DF,ダヴィド・ルイス,ブラジル,チェルシー
|
|
||||||
DF,ディエゴ・ゴディン,ウルグアイ,アトレティコ・マドリード
|
|
||||||
DF,マッツ・フンメルス,ドイツ,バイエルン
|
|
||||||
DF,フィリップ・ラーム,ドイツ,バイエルン
|
|
||||||
DF,マルセロ,ブラジル,レアル・マドリード
|
|
||||||
DF,ハビエル・マスチェラーノ,アルゼンチン,バルセロナ
|
|
||||||
DF,ペペ,ポルトガル,レアル・マドリード
|
|
||||||
DF,ジェラール・ピケ,スペイン,バルセロナ
|
|
||||||
DF,セルヒオ・ラモス,スペイン,レアル・マドリード
|
|
||||||
DF,チアゴ・シウヴァ,ブラジル,パリ・サンジェルマン
|
|
||||||
DF,ラファエル・ヴァラン,フランス,レアル・マドリード
|
|
||||||
MF,シャビ・アロンソ,スペイン,バイエルン
|
|
||||||
MF,セルヒオ・ブスケツ,スペイン,バルセロナ
|
|
||||||
MF,ケヴィン・デ・ブライネ,ベルギー,マンチェスター・C
|
|
||||||
MF,エデン・アザール,ベルギー,チェルシー
|
|
||||||
MF,アンドレス・イニエスタ,スペイン,バルセロナ
|
|
||||||
MF,エンゴロ・カンテ,フランス,チェルシー
|
|
||||||
MF,トニ・クロース,ドイツ,レアル・マドリード
|
|
||||||
MF,ルカ・モドリッチ,クロアチア,レアル・マドリード
|
|
||||||
MF,メスト・エジル,ドイツ,アーセナル
|
|
||||||
MF,ディミトリ・パイェ,フランス,ウェストハム
|
|
||||||
MF,ポール・ポグバ,フランス,マンチェスター・U
|
|
||||||
MF,イヴァン・ラキティッチ,クロアチア,バルセロナ
|
|
||||||
MF,ダビド・シルバ,スペイン,マンチェスター・C
|
|
||||||
MF,マルコ・ヴェラッティ,イタリア,パリ・サンジェルマン
|
|
||||||
MF,アルトゥーロ・ビダル,チリ,バイエルン
|
|
||||||
FW,セルヒオ・アグエロ,アルゼンチン,マンチェスター・C
|
|
||||||
FW,ギャレス・ベイル,ウェールズ,レアル・マドリード
|
|
||||||
FW,カリム・ベンゼマ,フランス,レアル・マドリード
|
|
||||||
FW,クリスティアーノ・ロナウド,ポルトガル,レアル・マドリード
|
|
||||||
FW,パウロ・ディバラ,アルゼンチン,ユヴェントス
|
|
||||||
FW,アントワーヌ・グリーズマン,フランス,アトレティコ・マドリード
|
|
||||||
FW,ゴンサロ・イグアイン,アルゼンチン,ユヴェントス
|
|
||||||
FW,ズラタン・イブラヒモヴィッチ,スウェーデン,マンチェスター・U
|
|
||||||
FW,ロベルト・レヴァンドフスキ,ポーランド,バイエルン
|
|
||||||
FW,リオネル・メッシ,アルゼンチン,バルセロナ
|
|
||||||
FW,トーマス・ミュラー,ドイツ,バイエルン
|
|
||||||
FW,ネイマール,ブラジル,バルセロナ
|
|
||||||
FW,アレクシス・サンチェス,チリ,アーセナル
|
|
||||||
FW,ルイス・スアレス,ウルグアイ,バルセロナ
|
|
||||||
FW,ジェイミー・ヴァーディ,イングランド,レスター
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 設問1
|
|
||||||
|
|
||||||
文字列を格納できる一覧を用意し、変数名は `animals` としてください。
|
|
||||||
|
|
||||||
`animals` に次の4つの文字列を、この順序で追加してください。
|
|
||||||
|
|
||||||
- いぬ
|
|
||||||
- ねこ
|
|
||||||
- うさぎ
|
|
||||||
- たぬき
|
|
||||||
|
|
||||||
`animals` に格納されているすべての要素を、追加した順序のまま、1件ずつ出力してください。
|
|
||||||
|
|
||||||
- 出力(4行、追加順):
|
|
||||||
|
|
||||||
```
|
|
||||||
いぬ
|
|
||||||
ねこ
|
|
||||||
うさぎ
|
|
||||||
たぬき
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 設問2
|
|
||||||
|
|
||||||
共通データ定義「選手データ」を格納できる一覧を用意し、変数名は `playerList` としてください。
|
|
||||||
|
|
||||||
次の3件の選手データのインスタンスを、この順序で作成し、`playerList` に追加してください。
|
|
||||||
|
|
||||||
1人目
|
|
||||||
- ポジション: MF
|
|
||||||
- 名前: 佐川真司
|
|
||||||
- 国: 日本
|
|
||||||
- 所属チーム: ドルトムント
|
|
||||||
|
|
||||||
2人目
|
|
||||||
- ポジション: DF
|
|
||||||
- 名前: 永元佑都
|
|
||||||
- 国: 日本
|
|
||||||
- 所属チーム: インテル
|
|
||||||
|
|
||||||
3人目
|
|
||||||
- ポジション: MF
|
|
||||||
- 名前: 本田健佑
|
|
||||||
- 国: 日本
|
|
||||||
- 所属チーム: ACミラン
|
|
||||||
|
|
||||||
`playerList` に格納されているすべての選手データを、追加した順序のまま、共通データ定義の文字列表現で1件ずつ出力してください。
|
|
||||||
|
|
||||||
- 出力(3行):
|
|
||||||
|
|
||||||
```
|
|
||||||
MF,佐川真司,日本,ドルトムント
|
|
||||||
DF,永元佑都,日本,インテル
|
|
||||||
MF,本田健佑,日本,ACミラン
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 設問3
|
|
||||||
|
|
||||||
※この設問を解く前に、共通データ定義「選手データ」および「選手データの一覧」をよく確認してください。
|
|
||||||
|
|
||||||
「選手データの一覧」を取得してください。
|
|
||||||
|
|
||||||
取得した一覧の中から、ポジションが `FW` の選手データのみを、元の順序を保ったまま、共通データ定義の文字列表現で出力してください。
|
|
||||||
|
|
||||||
- 出力(15件、元データの並び順のまま):
|
|
||||||
|
|
||||||
```
|
|
||||||
FW,セルヒオ・アグエロ,アルゼンチン,マンチェスター・C
|
|
||||||
FW,ギャレス・ベイル,ウェールズ,レアル・マドリード
|
|
||||||
FW,カリム・ベンゼマ,フランス,レアル・マドリード
|
|
||||||
FW,クリスティアーノ・ロナウド,ポルトガル,レアル・マドリード
|
|
||||||
FW,パウロ・ディバラ,アルゼンチン,ユヴェントス
|
|
||||||
FW,アントワーヌ・グリーズマン,フランス,アトレティコ・マドリード
|
|
||||||
FW,ゴンサロ・イグアイン,アルゼンチン,ユヴェントス
|
|
||||||
FW,ズラタン・イブラヒモヴィッチ,スウェーデン,マンチェスター・U
|
|
||||||
FW,ロベルト・レヴァンドフスキ,ポーランド,バイエルン
|
|
||||||
FW,リオネル・メッシ,アルゼンチン,バルセロナ
|
|
||||||
FW,トーマス・ミュラー,ドイツ,バイエルン
|
|
||||||
FW,ネイマール,ブラジル,バルセロナ
|
|
||||||
FW,アレクシス・サンチェス,チリ,アーセナル
|
|
||||||
FW,ルイス・スアレス,ウルグアイ,バルセロナ
|
|
||||||
FW,ジェイミー・ヴァーディ,イングランド,レスター
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 設問4
|
|
||||||
|
|
||||||
「選手データの一覧」を取得してください。
|
|
||||||
|
|
||||||
取得した一覧から、所属チームが「レアル・マドリード」または「バルセロナ」である選手データを取り除いてください。
|
|
||||||
|
|
||||||
残った選手データを、元の順序を保ったまま、共通データ定義の文字列表現ですべて出力してください。
|
|
||||||
|
|
||||||
- 期待される結果: 55件の選手データのうち、所属チームがレアル・マドリードの11件とバルセロナの9件(合計20件)が除外され、残り35件が元データの並び順のまま出力される
|
|
||||||
|
|
||||||
- 出力(35件、元データの並び順のまま):
|
|
||||||
|
|
||||||
```
|
|
||||||
GK,クラウディオ・ブラボ,チリ,マンチェスター・C
|
|
||||||
GK,ジャンルイジ・ブッフォン,イタリア,ユヴェントス
|
|
||||||
GK,ダビド・デ・ヘア,スペイン,マンチェスター・U
|
|
||||||
GK,マヌエル・ノイアー,ドイツ,バイエルン
|
|
||||||
DF,ダヴィド・アラバ,オーストリア,バイエルン
|
|
||||||
DF,セルジュ・オーリエ,コートジボワール,パリ・サンジェルマン
|
|
||||||
DF,エクトル・ベジェリン,スペイン,アーセナル
|
|
||||||
DF,ジェローム・ボアテング,ドイツ,バイエルン
|
|
||||||
DF,レオナルド・ボヌッチ,イタリア,ユヴェントス
|
|
||||||
DF,ジョルジョ・キエッリーニ,イタリア,ユヴェントス
|
|
||||||
DF,ダニエウ・アウヴェス,ブラジル,ユヴェントス
|
|
||||||
DF,ダヴィド・ルイス,ブラジル,チェルシー
|
|
||||||
DF,ディエゴ・ゴディン,ウルグアイ,アトレティコ・マドリード
|
|
||||||
DF,マッツ・フンメルス,ドイツ,バイエルン
|
|
||||||
DF,フィリップ・ラーム,ドイツ,バイエルン
|
|
||||||
DF,チアゴ・シウヴァ,ブラジル,パリ・サンジェルマン
|
|
||||||
MF,シャビ・アロンソ,スペイン,バイエルン
|
|
||||||
MF,ケヴィン・デ・ブライネ,ベルギー,マンチェスター・C
|
|
||||||
MF,エデン・アザール,ベルギー,チェルシー
|
|
||||||
MF,エンゴロ・カンテ,フランス,チェルシー
|
|
||||||
MF,メスト・エジル,ドイツ,アーセナル
|
|
||||||
MF,ディミトリ・パイェ,フランス,ウェストハム
|
|
||||||
MF,ポール・ポグバ,フランス,マンチェスター・U
|
|
||||||
MF,ダビド・シルバ,スペイン,マンチェスター・C
|
|
||||||
MF,マルコ・ヴェラッティ,イタリア,パリ・サンジェルマン
|
|
||||||
MF,アルトゥーロ・ビダル,チリ,バイエルン
|
|
||||||
FW,セルヒオ・アグエロ,アルゼンチン,マンチェスター・C
|
|
||||||
FW,パウロ・ディバラ,アルゼンチン,ユヴェントス
|
|
||||||
FW,アントワーヌ・グリーズマン,フランス,アトレティコ・マドリード
|
|
||||||
FW,ゴンサロ・イグアイン,アルゼンチン,ユヴェントス
|
|
||||||
FW,ズラタン・イブラヒモヴィッチ,スウェーデン,マンチェスター・U
|
|
||||||
FW,ロベルト・レヴァンドフスキ,ポーランド,バイエルン
|
|
||||||
FW,トーマス・ミュラー,ドイツ,バイエルン
|
|
||||||
FW,アレクシス・サンチェス,チリ,アーセナル
|
|
||||||
FW,ジェイミー・ヴァーディ,イングランド,レスター
|
|
||||||
```
|
|
||||||
|
|
||||||
- 出力内容は「選手データの一覧」とこの除外条件から一意に定まります(上記の共通データ定義のデータをもとに、除外後の一覧を組み立ててください)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 設問5
|
|
||||||
|
|
||||||
共通データ定義: 料理データ(この設問のみで使用)
|
|
||||||
|
|
||||||
次の2つのフィールドを持つデータを表せるようにしてください。
|
|
||||||
|
|
||||||
- 名前(文字列)
|
|
||||||
- 値段(整数、単位は円)
|
|
||||||
|
|
||||||
料理データの一覧として、次の8件のインスタンスを用意してください(同じ内容のファイル `file/FoodMenu.csv` を用意しているので、外部データとして読み込んで組み立てる形でも、プログラム内に直接用意する形でも構いません)。
|
|
||||||
|
|
||||||
```
|
|
||||||
オムライス,500
|
|
||||||
焼きそば,450
|
|
||||||
ハンバーグ,600
|
|
||||||
ステーキ,800
|
|
||||||
ナポリタン,600
|
|
||||||
ミラノ風ドリア,299
|
|
||||||
フライドチキン,300
|
|
||||||
カレー,600
|
|
||||||
```
|
|
||||||
|
|
||||||
料理データの一覧を取得し、その中からランダムに3件を選んでください。
|
|
||||||
|
|
||||||
- 選んだ3件の料理名を出力してください
|
|
||||||
- 選んだ3件の値段の合計に対して消費税8%を加算した金額を出力してください(小数点以下は切り捨てて、整数の金額として出力すること)
|
|
||||||
|
|
||||||
- 期待される結果の形式(選ばれる料理はランダムなので値は一例):
|
|
||||||
|
|
||||||
```
|
|
||||||
ハンバーグ
|
|
||||||
カレー
|
|
||||||
ナポリタン
|
|
||||||
1944
|
|
||||||
```
|
|
||||||
|
|
||||||
- 補足:
|
|
||||||
- 同じ料理を2回以上選んではいけません(重複なく3件を選ぶこと)
|
|
||||||
- 税込み合計金額は「選んだ3件の値段の合計 × 1.08」の小数点以下を切り捨てた整数値とすること
|
|
||||||
Reference in New Issue
Block a user