大きさが3の配列に対して,たとえば,
mat[10] = 4 のように代入しようとすると
「OutOfBoundary 云々」というエラーメッセージが出て
プログラムが止まりますよね.
同じように,変数に代入できる範囲を制限できないでしょうか?
次のようなメソッドを作りたいたのですが,
x に代入できる範囲を (-1, 1) に制限したいと思っています.
public void test(double x) {
if (x >= -1 && x <= 1) {
this.x = x;
} else {
// ここで 「(1, 1)の範囲じゃなきゃダメ」とう
// ことを伝えるメッセージを出して,
// プログラムを止めたい
}
}
どうすればよいでしょうか?
No.2
- 回答日時:
私も例外を投げるようにすればイイと思います。
MyClass は、自分のクラスに変更
----------------------------------------------------------------
public void test(double x) throws MyClassException {
if (x >= -1 && x <= 1) {
this.x = x;
} else {
throw new MyClassException("(1, 1)の範囲じゃなきゃダメ!");
}
}
class MyClassException extends Exception {
public MyClassException() {
super();
}
public MyClassException(String msg){
super(msg);
}
}
No.3ベストアンサー
- 回答日時:
IllegalArgumentException をスローするのが一般的だと思います。
よく分からなければ、「例外」について勉強することをおすすめします。
public void test(double x) {
if (x < -1 || x > 1) {
throw new IllegalArgumentException("" + x);
}
this.x = x;
}
より詳しくメッセージを表示したいなら
例外のコンストラクタにエラーメッセージを渡してください。
throw new IllegalArgumentException
("引数は(-1,1)の範囲でなくてはいけません")
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- 数学 数学の証明問題について質問です。 今日私大入試があったのですが、AとBの共通部分となるxの範囲を求め 1 2023/02/10 15:27
- Excel(エクセル) エクセルのマクロを教えてください 2 2022/05/13 10:21
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Excel(エクセル) エクセルVBA 複数行にまたがっている選択を判定するには 2 2023/05/21 21:54
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- Excel(エクセル) エクセルの数式について教えて下さい。 8 2023/05/27 12:17
- 数学 この問題を極座標にして積分を解いて行くのですが π0:z=2x+2y S:z=x^2+y^2 D:{ 2 2023/04/14 14:01
- C言語・C++・C# C言語 3 2022/10/04 15:07
このQ&Aを見た人はこんなQ&Aも見ています
-
風水の観点で選ぶ観葉植物とは?置き場所や上げたい運気ごとの注意点を紹介!
観葉植物で運気をアップするコツを、風水デザイン1級建築士の福島昌彦さんに伺った。
-
Eclipseで、プロジェクト名のところに赤いバッテンのエラーマークが
Java
-
コマンドライン引数のチェック
Java
-
コマンドライン引数の例外処理について
Java
-
-
4
System.err. printlnとSystem.out.printlnはどう違うんでしょうか?
Java
-
5
コンパイル時にエラーが出てしまいます・・・
Java
-
6
【C#/Java?】try-catchでcatchせずにfinallyは一般的?
その他(プログラミング・Web制作)
-
7
java初心者です。入力されたのが数字なら出力し、数字以外が入力されたらもう一度入力する繰り返し処理
Java
-
8
フォーム上で押されたボタンによってサーブレットの処理を変えたい
Java
-
9
Randomメソッドの確率設定
Java
-
10
IOException ってどういうときに起こるのでしょうか?
Java
-
11
1~100までの数字を表示したい
Java
-
12
JSPやサーブレットでSystem.out.println()などでコンソールに出力できますでしょうか?
Java
-
13
数字か文字列かを判定する関数
Java
-
14
javascriptでセレクトボックスのselected"を動的につ"
JavaScript
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クラス間でのデータ参照
-
C++でfriendクラスにしているの...
-
c++,ある関数のクラスから別の...
-
範囲外の数値を代入したらエラ...
-
関数内の変数に<summary>コメン...
-
継承したクラス側のクラス名の取得
-
C# log4netの使い方
-
C#にて別クラスの関数を使いたい
-
構造 他のクラスの構造体を別...
-
visual studioのデザイナ画面で...
-
a href="..." とServlet
-
アップキャスト、ダウンキャス...
-
親クラスから子クラスへアクセス。
-
C#のクラスライブラリでメッセ...
-
エクセルVBAで、条件に一致する...
-
「タイプ初期化子が例外をスロ...
-
オブジェクト指向プログラミン...
-
生成したインスタンスを削除す...
-
変数名の付け方
-
servletからjspへオブジェクト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
関数内の変数に<summary>コメン...
-
クラス間でのデータ参照
-
c++,ある関数のクラスから別の...
-
範囲外の数値を代入したらエラ...
-
C#にて別クラスの関数を使いたい
-
C#でほかのファイルにある自作...
-
C++でfriendクラスにしているの...
-
java-別クラスの変数の使い方を...
-
親クラスから子クラスへアクセス。
-
構造 他のクラスの構造体を別...
-
ひとつのファイルにクラスは1つ?
-
Java
-
import と extends について
-
継承したクラス側のクラス名の取得
-
Java リフレクションについて
-
C#のクラスライブラリでメッセ...
-
SwingでgetContentPaneのエラー...
-
アップキャスト、ダウンキャス...
-
C# インターフェイスの実装
-
visual studioのデザイナ画面で...
おすすめ情報