”入力した値”番目の配列を削除するというプログラムを作成する課題で
static int[] remove_array(int[] x){
//何番目の値を消したいか聞く
Scanner stdIn = new Scanner(System.in);
System.out.println("何番目のデータを削除しますか?");
int y = stdIn.nextInt();
//消したい値が存在するか確認する
if(y<0||x.length<y) System.out.println("入力エラーです");
//消したい要素のみを取り除いて配列zに挿入する
int[]z=new int[x.length-1];
for(int i=0,j=0;i<x.length;i++){
if(i!=y) {
z[j]=x[i]; j++; //jは値を挿入した時にしか進まない
}
}
return z; //main関数に値を返却
}
public static void main(String[] args){
//配列aを作って表示する
int[]a=new int[]{37,19,87,-69,7,24,-56,0,-41,90};
for(int i=0;i<a.length;i++){
System.out.print(""+a[i]+"\t");
}
System.out.println(); //いったん改行しとく
//remove_arrayに配列aを値を送って,返り血を配列cに入れる
int[]c;
c=remove_array(a);
//remove_arrayの返り血を表示
for(int i=0;i<c.length;i++){
System.out.print(""+c[i]+"\t");
}
System.out.println(); //いったん改行しとく
}
}
以上のようにプログラムを考えたのですが,9行目で入力エラーが出た時点でプログラムを終了させる方法が思いつかず困っています.
わかる方,教えていただけると嬉しいです.
No.1ベストアンサー
- 回答日時:
if(y<0||x.length<y) {
System.out.println("入力エラーです");
System.exit(1);
}
No.2
- 回答日時:
案1. 例外を投げる
if (条件) throw new Excetion("原因");
...
try{ c = 呼び出し(a); 処理(c); }
catch(Excetion e){ 報告(e.messge); }
案2. 無効値を返す
if (条件) { 報告("原因"); return null; }
...
c = 呼び出し(a);
if (c == null) return;
余談ではありますが、
返り血を扱うのは問題なのでIME履歴は健全に保ちましょう
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Javaで文字を漢字であるか否か...
-
Javaで文字と数字が混ざったも...
-
C言語でunsigned char配列を連...
-
javamailで複数人にメールを送...
-
sqlparamaterでIN句を使いたい。
-
main(String[] args) の args...
-
int配列をbyte配列に変換
-
配列で、値の入っている要素数...
-
Struts:可変個数のテキストボ...
-
javaでEUC-JP文字列→UTF-8への変換
-
無名配列の作成方法について質問
-
【Ajax通信&Java】配列の受け取...
-
javaで大容量テキストファイル...
-
[Ljava.lang.Stringってなんですか
-
インデックスソート
-
JavaのBase64デコードで正しく...
-
javaについて
-
JavaでSwingを用いたコンボボッ...
-
数字が重ならないようにするには
-
Javaの配列の宣言方法のメリット?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列で、値の入っている要素数...
-
【C#】ハッシュテーブル(連想...
-
[Ljava.lang.Stringってなんですか
-
javamailで複数人にメールを送...
-
この警告はどうすれば?
-
main(String[] args) の args...
-
javaで大容量テキストファイル...
-
Javaで文字と数字が混ざったも...
-
ページング
-
C言語でunsigned char配列を連...
-
Javaで文字を漢字であるか否か...
-
配列の中に複数存在する数がい...
-
C#で動的配列Listの中身をListB...
-
『args[]』とは?
-
同じ配列またはクラスを、2回...
-
java StringとString[]の違い
-
配列をセッションに割り当てた後で
-
【Ajax通信&Java】配列の受け取...
-
セッションを使ったint型の値の...
-
forループの評価(条件)式につ...
おすすめ情報