1.入出力、変数、計算
はじめに
本大問で作成するプログラム(演習課題も含む)を保存するためのパッケージを作成する。
1-1
画面表示1
[こんにちは][ABC][さようなら]と画面表示するプログラムを作成する。
画面は<画面レイアウト>を参照すること。
なお、クラス名・実装先メソッドは以下の通り。
- クラス名
S11CharacterDisplay
- 実装先メソッド
mainメソッド
【画面レイアウト】
こんにちは
ABC
さようなら
【サンプルソースコード】
S11CharacterDisplay.java
package web._01;
/**
* 1-1:文字列の画面表示を行うクラスです。
*
* @author akira_ishii
*
*/
public class S11CharacterDisplay {
/**
* 以下の文字列を画面に表示します。
* <ul>
* <li>こんにちは</li>
* <li>ABC</li>
* <li>さようなら</li>
* </ul>
*
* @param args
* コマンドライン引数
*/
public static void main(String[] args) {
System.out.println("こんにちは");
System.out.println("ABC");
System.out.println("さようなら");
}
}
1-2
画面表示2
printメソッドを使って、1-1のように画面表示するプログラムを作成する。
printlnメソッドとprintメソッドの違い、改行の仕方を理解する。
1-1で作成したプログラムを修正して構わない。
【サンプルソースコード】
S12CharacterDisplayLF.java
package web._01;
/**
* 1-2:文字列の画面表示を行うクラスです。
*
* @author akira_ishii
*
*/
public class S12CharacterDisplayLF {
/**
* 以下の文字列を画面に表示します。
* <ul>
* <li>こんにちは</li>
* <li>ABC</li>
* <li>さようなら</li>
* </ul>
*
* @param args
* コマンドライン引数
*/
public static void main(String[] args) {
System.out.print("こんにちは\n");
System.out.print("ABC\n");
System.out.print("さようなら\n");
}
}
1-3
数値の四則演算1
四則演算とその結果を表示するプログラムを作成する。
画面は<画面レイアウト>を参照すること。
なお、クラス名・実装先メソッドは以下の通り。
- クラス名
S13ArithmeticOperation
- 実装先メソッド
mainメソッド
【仕様】
- 演算に用いる値は[12][4]の2つとし、変数に代入する。
その変数を用いて四則演算を行い、結果を表示する。
- 四則演算の結果はそれぞれ半角整数値で表示する
【注意点】
※結果が小数値になるケースは、ここでは考えなくてよいとする。
【画面レイアウト】
変数1
12 ・・・変数の結果を画面表示
変数2
4
足し算の結果
16 ・・・2数値の計算結果を表示
引き算の結果
8
掛け算の結果
48
割り算の結果
3
【サンプルソースコード】
S13ArithmeticOperation.java
package web._01;
/**
* 1-3:2数の四則演算を行い、結果を表示するためのクラスです。
*
* @author akira_ishii
*
*/
public class S13ArithmeticOperation {
/**
* 変数1と変数2の四則演算を行い、結果を表示します。
*
* @param args
* コマンドライン引数
*/
public static void main(String[] args) {
System.out.println("※わかりやすい様にサンプルにはないコメントを表示しています※");
int num1 = 12;
int num2 = 4;
System.out.println("変数1");
System.out.println(num1);
System.out.println("変数2");
System.out.println(num2);
System.out.println("\nStart--四則演算の結果をそれぞれ別の変数に代入するやり方");
// 四則演算の結果をそれぞれ別の変数に代入し、結果を表示します。
// 足し算
int sum = num1 + num2;
// 引き算
int difference = num1 - num2;
// 掛け算
int product = num1 * num2;
// 割り算
int quotient = num1 / num2;
System.out.println("足し算の結果");
System.out.println(sum);
System.out.println("引き算の結果");
System.out.println(difference);
System.out.println("掛け算の結果");
System.out.println(product);
System.out.println("割り算の結果");
System.out.println(quotient);
System.out.println("End--四則演算の結果をそれぞれ別の変数に代入するやり方");
// 四則演算の結果を一つの変数に代入し、結果を表示します。
System.out.println("\nStart--四則演算の結果を一つの変数に代入するやり方");
int result;
// 足し算
result = num1 + num2;
System.out.println("足し算の結果");
System.out.println(result);
// 引き算
result = num1 - num2;
System.out.println("引き算の結果");
System.out.println(result);
// 掛け算
result = num1 * num2;
System.out.println("掛け算の結果");
System.out.println(result);
// 割り算
result = num1 / num2;
System.out.println("割り算の結果");
System.out.println(result);
System.out.println("End--四則演算の結果を一つの変数に代入するやり方");
// 四則演算の結果を変数に代入せずに表示します。
System.out.println("\nStart--四則演算の結果を変数に代入しないやり方");
System.out.println("足し算の結果");
System.out.println(num1 + num2);
System.out.println("引き算の結果");
System.out.println(num1 - num2);
System.out.println("掛け算の結果");
System.out.println(num1 * num2);
System.out.println("割り算の結果");
System.out.println(num1 / num2);
System.out.println("End--四則演算の結果を変数に代入しないやり方");
}
}
1-4
数値の四則演算2
(1-3の応用)
1-3のプログラムを変更し、以下の数値を代入してそれぞれやってみる。
表示結果が手計算と合わない場合は、うまくいくようプログラムを修正する。
1-3で作成したプログラムを修正して構わない。
- 「-12」と「4」
- 「26」と「5」
- 「74.5」と「8」
【仕様】
- 割り算の結果が小数値になる場合は小数値で表示する。
【注意点】
※小数部の第○位は気にしなくてよい。
【テストパターン】
考え方
・マイナス値を入力するとどうなるか、うまくいかない場合はどう修正すればいいか。
・割り算の結果に小数点があるとどうなるか、うまくいかない場合はどう修正すればいいか。
・小数値を入力するとどうなるか、うまくいかない場合はどう修正すればいいか。
【サンプルソースコード】
S14ArithmeticOperation.java
package web._01;
/**
* 1-4:各ケースの2数の四則演算を行い、結果を表示するためのクラスです。
*
* @author akira_ishii
*
*/
public class S14ArithmeticOperation {
/**
* 各ケースの2数の四則演算を行い、結果を表示します。
*
* @param args
* コマンドライン引数
*/
public static void main(String[] args) {
int num1;
int num2;
// マイナス値を含んだ計算をします(◇-12 と 4)
num1 = -12;
num2 = 4;
System.out.println("◇「-12」と「4」");
System.out.println("変数1");
System.out.println(num1);
System.out.println("変数2");
System.out.println(num2);
// 足し算
int sum = num1 + num2;
// 引き算
int difference = num1 - num2;
// 掛け算
int product = num1 * num2;
// 割り算
int quotient = num1 / num2;
System.out.println("足し算の結果");
System.out.println(sum);
System.out.println("引き算の結果");
System.out.println(difference);
System.out.println("掛け算の結果");
System.out.println(product);
System.out.println("割り算の結果");
System.out.println(quotient);
// 変数をキャストします(◇26 と 5)
num1 = 26;
num2 = 5;
// 見やすくするために始めに改行
System.out.println("\n◇「26」と「5」");
System.out.println("変数1");
System.out.println(num1);
System.out.println("変数2");
System.out.println(num2);
// 足し算
sum = num1 + num2;
// 引き算
difference = num1 - num2;
// 掛け算
product = num1 * num2;
// 割り算
double quotientFloat = (double) num1 / num2;
System.out.println("足し算の結果");
System.out.println(sum);
System.out.println("引き算の結果");
System.out.println(difference);
System.out.println("掛け算の結果");
System.out.println(product);
System.out.println("割り算の結果");
System.out.println(quotientFloat);
// 小数点の計算をします(◇74.5 と 8)
double decimalNum = 74.5;
num2 = 8;
// 見やすくするために始めに改行
System.out.println("\n◇「74.5」と「8」");
System.out.println("変数1");
System.out.println(decimalNum);
System.out.println("変数2");
System.out.println(num2);
// 足し算
double sumDouble = decimalNum + num2;
// 引き算
double differenceDouble = decimalNum - num2;
// 掛け算
double productDouble = decimalNum * num2;
// 割り算
double quotientDouble = decimalNum / num2;
System.out.println("足し算の結果");
System.out.println(sumDouble);
System.out.println("引き算の結果");
System.out.println(differenceDouble);
System.out.println("掛け算の結果");
System.out.println(productDouble);
System.out.println("割り算の結果");
System.out.println(quotientDouble);
}
}
1-5
入力値の表示
キーボード入力を受け付け、それを画面に表示する。
画面は<画面レイアウト>を参照すること。
なお、クラス名・実装先メソッドは以下の通り。
- クラス名
S15InputValueDisplay
- 実装先メソッド
mainメソッド
【画面レイアウト】
何か入力してください。 ・・・この段階でユーザー入力待ち
ABCDE ・・・ユーザーが何か入力して、Enter
入力したのはABCDEですね。 ・・・ユーザーが入力したものを、表示
【テストパターン】
考え方
・未入力のままEnterする。
・英数字を入力する。
・日本文を入力する。
・スペースや記号を入力する。
・上記のそれぞれが混じったものを入力する。
実行例以外の具体的な入力例(実際には、もっといろいろやってみること)
・「2000/1/1 Sat.」
・「今日は、晴れです。」
【サンプルソースコード】
S15InputValueDisplay.java
package web._01;
/**
* 1-5:入力された文字列を表示するためのクラスです。
*
* @author akira_ishii
*
*/
public class S15InputValueDisplay {
/**
* 入力された文字列を表示します。
*
* @param args
* コマンドライン引数
*/
public static void main(String[] args) {
System.out.println("何か入力してください。");
String line = new java.util.Scanner(System.in).nextLine();
System.out.println("入力したのは " + line + " ですね。");
}
}
1-6
入力値の数値変換
入力された半角整数値の10倍・100倍の値を計算し、計算結果を画面表示するプログラムを作成する。
画面は<画面レイアウト>を参照すること。
なお、クラス名・実装先メソッドは以下の通り。
- クラス名
S16InputValueCalculation
- 実装先メソッド
mainメソッド
【仕様】
- 数値の入力は-999999~999999の半角整数値のみとする。
【注意点】
※現時点で入力された値が有効範囲か確認するプログラムを実装する必要はない。
【画面レイアウト】
数値を入力してください。
32 ・・・ここでユーザー入力
10倍すると
320 ・・・計算結果表示
100倍すると
3200
【テストパターン】
考え方
・未入力のままEnterする。
・数値でないもの(文字や記号)を入力する。
・マイナス値を入力する。
・小数値を入力する。
・非常に大きな値を入力する。
・スペースを含めた値を入力する。
(それぞれ、どんな結果になるか確認する → 1-7へ)
実行例以外の具体的な入力例(実際には、もっといろいろやってみること)
・「-62500」
・「3.14」
・「+」
・「85000000000」
・「1 0」(1と0の間に半角スペースを入力)
【サンプルソースコード】
S16InputValueCalculation.java
package web._01;
/**
* 1-6:入力された文字列のキャスト、および計算結果を表示します 実行クラス
*
* @author akira_ishii
*
*/
public class S16InputValueCalculation {
/**
* 入力された文字列のキャスト、および計算結果を表示します
*
* @param args
* コマンドライン引数
*/
public static void main(String[] args) {
System.out.println("数値を入力してください。");
int num = new java.util.Scanner(System.in).nextInt();
System.out.println("10倍すると");
System.out.println(num * 10);
System.out.println("100倍すると");
System.out.println(num * 100);
}
}
1-7
買い物の代金計算
買い物の代金を計算し、合計の税込金額を画面表示するプログラムを作成する。
入力された商品名(文字列)・値段(整数値)・個数(整数値)から合計の税込金額(整数値)を計算する。
合計の税込金額は「小数点以下切り捨て」でよいものとする。
画面は<画面レイアウト>を参照すること。
なお、クラス名・実装先メソッドは以下の通り。
- クラス名
S17ShoppingCalculation
- 実装先メソッド
mainメソッド
【仕様】
- 値段の入力は10~980000の半角整数値のみとする。
- 個数の入力は1~100の半角整数値のみとする。
- 消費税は5%で計算する。
- 消費税計算で端数が出る場合、小数点以下は切り捨ててよい。
【注意点】
※現時点で入力された値が有効範囲か確認するプログラムを実装する必要はない。
【画面レイアウト】
買い物の商品名を入力してください。
携帯ストラップ ・・・商品名、値段、個数の入力
買い物の値段を入力してください(整数値)。
498
買い物の個数を入力してください(整数値)。
2
携帯ストラップの合計は996円、税込金額は1045円です。 ・・・498×2×1.05=1045.8
【テストパターン】
考え方
・買い物として、ありがちなパターンを入力する。
・商品名について、以下の入力をする。
未入力、英数字、日本語、非常に長い文字列
・値段と個数の両方について、以下の入力をする。
未入力、数値でないもの(文字や記号、スペース)、マイナス値、小数値、非常に大きな数値
・消費税計算で、端数が出るパターンを入力する。
実行例以外の具体的な入力例(実際には、もっといろいろやってみること)
・商品名「薄型テレビ」、値段「57900」、個数「1」
・商品名「傘」、値段「1200円」、個数「2」
・商品名「静岡みかん」、値段「2000」、個数「3箱」
【サンプルソースコード】
S17ShoppingCalculation.java
package web._01;
/**
* 1-7:買い物の計算結果を表示するクラスです。
*
* @author akira_ishii
*
*/
public class S17ShoppingCalculation {
/**
* 買い物の合計金額を表示します。
*
* @param args
* コマンドライン引数
*/
public static void main(String[] args) {
System.out.println("買い物の商品名を入力してください。");
String goodsName = new java.util.Scanner(System.in).next();
System.out.println("買い物の値段を入力してください(整数値)。");
int price = new java.util.Scanner(System.in).nextInt();
System.out.println("買い物の個数を入力してください(整数値)。");
int quantity = new java.util.Scanner(System.in).nextInt();
int total = price * quantity;
int totalTax = (int) (total * 1.05);
System.out.println(goodsName + "の合計は" + total + "円、税込金額は" + totalTax + "円 です。");
}
}
1-8
テストの点数計算
入力されたテストの点数から合計点と平均点を計算し、計算結果を画面表示するプログラムを作成する。
画面は<画面レイアウト>を参照すること。
なお、クラス名・実装先メソッドは以下の通り。
- クラス名
S18TestCalculation
- 実装先メソッド
mainメソッド
【仕様】
- 点数の入力は0~100の半角整数値のみとする。
- 平均点は小数部も含めて表示する。
【注意点】
※小数部の第○位は気にしなくてよいが、可能であれば小数第二位まで表示(小数第三位以降切り捨て)する。
※現時点で、入力された値が有効範囲か確認するプログラムを実装する必要はない。
【画面レイアウト】
テストの点数を入力してください。
国語
66 ・・・4教科分の点数をユーザー入力
算数
80
理科
79
社会
52
合計点は277、平均点は69.25です。 ・・・結果表示
【テストパターン】
考え方
・テストの点数として、ありがちなパターンを入力する。
・各科目の点数について、以下の入力をする。
未入力、数値でないもの(文字や記号、スペース)
テストの点数としておかしな数値(マイナス値、小数値、大きな数値)
実行例以外の具体的な入力例(実際には、もっといろいろやってみること)
・国語「58」、算数「71」、理科「85」、社会「20」
・国語「86」、算数「100」、理科「93」、社会「90」
・国語「3#」、算数「65」、理科「3」、社会「80」
・国語「73」、算数「-25」、理科「86」、社会「49」
【テスト仕様書・報告書】
本問題はこちらが用意したテスト仕様書・報告書を使ってテストする問題となっている。
テスト仕様書・報告書および作業内容はこちらを確認して、テストを実施すること。
1-9
時間単位の変換
入力された秒数を「○時間○分○秒」に変換し、変換結果を画面表示するプログラムを作成する。
画面は<画面レイアウト>を参照すること。
なお、クラス名・実装先メソッドは以下の通り。
【仕様】
- 秒数の入力は0~99999の半角整数値のみとする。
- 1桁の場合、0埋めはしなくてよい。
例)結果が1時間2分9秒の場合 ×01時間02分09秒 ○1時間2分9秒
【注意点】
※現時点で入力された値が有効範囲か確認するプログラムを実装する必要はない。
【画面レイアウト】
秒数
4000 ・・・ユーザー入力
4000秒は1時間6分40秒です。 ・・・結果表示
【テストパターン】
考え方
・秒数として、妥当なパターンを入力する。
・以下の入力をする。
未入力、数値でないもの(文字や記号、スペース)、マイナス値、小数値、大きな数値
・「0時間0分xx秒」など、時/分/秒に0が含まれる結果となるパターンを入力する。
その場合、どう表示されるか・どう表示するのが適切か。
実行例以外の具体的な入力例(実際には、もっといろいろやってみること)
・「8594」
・「600」
・「39」
・「92.35」
・「-159」
Copyright © Xincor miXell Co., Ltd. All rights reserved