質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

1回答

2461閲覧

記載のJavaソースコード 回答・簡易な解説

退会済みユーザー

退会済みユーザー

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2018/02/14 14:29

編集2018/02/15 01:03

前提・実現したいこと

以下のソースコードを実現したくご質問させて頂きます。

該当のソースコード

■問1
プログラムの説明および実行結果を見て,プログラムのカッコ内: ( ア ) ~ ( カ ) に入るコードを答えよ。
プログラムの説明
━(ここから)
このプログラムは,コマンドラインから入力された1文字を繰り返し表示して四角形と三角形を出力するものであり,表示する図形の縦と横の文字数は同じでコマンドラインから指定する。
以下のように,コマンドラインから文字と文字数を指定して実行する。

java Ex1 char num

ここで,引数charは,繰り返し表示する1文字を指定し,引数numは,charの繰り返し回数を指定する。このnumが,四角形および三角形の,縦と横の文字数となる。
━(ここまで)
実行結果
━(ここから)

java Ex1 @ 3

四角形

@@@
@@@
@@@
三角形


@@
@@@

java Ex1 あ 4

四角形

ああああ
ああああ
ああああ
あああざ
三角形


ああ
あああ
ああああ
━(ここまで)
プログラム
━(ここから)
class Ex1 {
public static void main(String[] args) {
String moji;
int mojisu;
moji = ( ア );
mojisu = ( イ );
System.out.printf("\n四角形\n---\n"); //以下から四角形の表示
for(int i = 1; ( ウ ); i++) {
for(int j = 1; ( エ ); j++) {
System.out.print(moji);
System.out.print(" ");
}
System.out.println();
}
System.out.printf("\n三角形\n---\n"); //以下から三角形の表示
for (int i = 1; ( オ ); i++) {
for(int j = 1; ( カ ); j++) {
System.out.print(moji);
System.out.print(" ");
}
System.out.println();
}
}
}

■問2
上記のプログラムにおいて,コマンドラインから入力した引数が2個でない場合は注意を促すように,プログラムを書き換えなさい。
■問3
上記のプログラムにおいて,コマンドラインから入力した引数が意図したものとは違う場合は例外処理を行うような機能を追加しなさい。

試したこと

何度も実行を試みましたが正しい実行には至りませんでした。
初心者すぎる質問かもしれませんが解説をしていただけると有難いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

LouiS0616

2018/02/14 14:34

具体的にどういう風に試してだめだったか書いて下さい。
swordone

2018/02/14 16:17

本当にこのような問題ですか?これではウ~カに何を入れても図形はできません。
namnium1125

2018/02/14 18:14

もう一つの方もヒント考えてたんですけどね。まぁいいやおやすみなさい。(-_-)zzz
guest

回答1

0

ヒントを書いてみます。参考になれば幸いです。

問1

  • ア、イ → コマンドライン引数が含まれた文字列配列argsを使います。片方は整数に変換する必要があるので、Integer.parseInt()等を使いましょう。

  • ウ → 行数の繰り返しにあたります。行はmojisu回繰り返したいので…?

今回は<=(>=)のような小なり(大なり)イコールを使うという点に注意です。

  • エ → 行内(列)の繰り返しにあたります。四角形ということは一辺はmojisuですから、mojimojisu回出力したいことになります。ということは…?

  • オ → ウと同じです。

  • カ → 行内(列)の繰り返しにあたります。三角形ということは一辺は○ですから…(ry

さて、ここの○はちょっと考えてみてください。繰り返し変数に注目しましょう。

問2

argsの要素数を確認すれば良さそうです。配列の要素数は配列名.lengthで確認できます。

要素数 != 2とすればif文で分岐できそうです。

問3

問2で作ったif文内にthrowを設けましょう。
try-catch文でmojimojisuに代入する部分を囲い、独自例外をキャッチさせるようにして、キャッチした場合は改めて入力させるようにすると親切かもしれません。

投稿2018/02/14 16:49

編集2018/02/14 16:53
namnium1125

総合スコア2043

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問