質問内容が複数あるので、ここで纏めて質問させて頂きます。
①
底辺の数字を入力させて、三角形を出力して下さい
※但し、偶数や0が入力された場合は奇数を入力するまで
再度入力できるようにして下さい
例)底辺を入力して下さい
5
▲
▲▲▲
▲▲▲▲▲
という問題について、以下がコードになります。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
class Delta {
public static void main(String[] args) throws IOException {
// BufferedReader&InputStreamReaderのインスタンス化
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// while文ループ
while(true){
System.out.println("底辺を入力して下さい");
System.out.println(">");
// キーボードから文字を読み込む String str = br.readLine(); int input = Integer.parseInt(str); // inputが奇数であるなら if(input % 2 == 1){ for (int i = 1; i <= input; i++) { for (int j = 1; j <= (input - i); j++){ System.out.print(' '); } for (int j = 1; j <= 2 * i - 1; j++){ System.out.print("▲"); } System.out.println(); } }
}
}
とりあえず出来たのですが、現在は「底辺の数」ではなく、「三角形の段数」で出力されてしまっています。普通に三角形を出力するのは別段苦労する事も無いのですが、「底辺の数」をキーボード入力からどのようにしたら出力出来るようになるのか全く分かりません。
ここから先は丸投げになってしまうのでアレなのですが。。。。
②
入力した金額に日本の硬貨がそれぞれ何枚必要かを出力して下さい
例)金額を入力して下さい
763
500円玉 = 1枚
100円玉 = 2枚
50円玉 = 1枚
10円玉 = 1枚
5円玉 = 0枚
1円玉 = 3枚
金額を入力して下さい
666
500円玉 = 1枚
100円玉 = 1枚
50円玉 = 1枚
10円玉 = 1枚
5円玉 = 1枚
1円玉 = 1枚
金額を入力して下さい
777
500円玉 = 1枚
100円玉 = 2枚
50円玉 = 1枚
10円玉 = 2枚
5円玉 = 1枚
1円玉 = 2枚
金額を入力して下さい
888
500円玉 = 1枚
100円玉 = 3枚
50円玉 = 1枚
10円玉 = 3枚
5円玉 = 1枚
1円玉 = 3枚
金額を入力して下さい
3672
500円玉 = 7枚
100円玉 = 1枚
50円玉 = 1枚
10円玉 = 2枚
5円玉 = 0枚
1円玉 = 2枚
という問題で、文字ストリームとwhile文ループで回すのは分かりますが、入力された金額がいかに上記の用に分けられるのか?というのが意味不明です。分岐にしても、何を条件式とすればいいのか。。。。
以上になりますが、どちらかの回答だけでもとても助かります。
どうかよろしくお願い致します。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/01/08 14:35
2015/01/08 17:09
2015/01/09 14:40