[解決済み】Javaメソッドから2つの値を返すには?
2022-04-11 16:52:59
質問
Javaメソッドから2つの値を返そうとしているのですが、以下のエラーが発生します。以下は私のコードです。
// Method code
public static int something(){
int number1 = 1;
int number2 = 2;
return number1, number2;
}
// Main method code
public static void main(String[] args) {
something();
System.out.println(number1 + number2);
}
エラーです。
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - missing return statement
at assignment.Main.something(Main.java:86)
at assignment.Main.main(Main.java:53)
Java結果: 1
解決方法は?
2つの値を含む配列を返す代わりに、汎用的な
Pair
クラスを作成し、そのクラスのインスタンスを返すことを検討してください。そのクラスには意味のある名前をつけてください。配列を使うよりもこの方法の方が、型安全性が高く、プログラムがずっと理解しやすくなります。
注:一般的な
Pair
クラスは、他の回答で提案されているように、型安全性を与えますが、結果が何を表しているかは伝えられません。
例(本当に意味のある名前を使っていない)。
final class MyResult {
private final int first;
private final int second;
public MyResult(int first, int second) {
this.first = first;
this.second = second;
}
public int getFirst() {
return first;
}
public int getSecond() {
return second;
}
}
// ...
public static MyResult something() {
int number1 = 1;
int number2 = 2;
return new MyResult(number1, number2);
}
public static void main(String[] args) {
MyResult result = something();
System.out.println(result.getFirst() + result.getSecond());
}
関連
-
[解決済み] 親から継承したメソッドの可視性を下げることができない [重複]。
-
[解決済み] javaでメソッドを呼び出すプログラムのエラー修正
-
[解決済み] Javaでdoubleをfloatに変換する
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Java - JTextFieldが空かどうかを確認する
-
[解決済み] 環境変数JAVA_OPTSの使い方を教えてください。
-
[解決済み] Cloneable throws CloneNotSupportedException
-
[解決済み] Java Genericメソッドをstaticにするには?
-
[解決済み] 一部の入力ファイルが非推奨のAPIを使用またはオーバーライドしている
-
[解決済み] 1行目2列目でBEGIN_ARRAYを期待したが、BEGIN_OBJECTだった。
-
[解決済み] JAVA_OPTIONS、JAVA_TOOL_OPTIONS、JAVA_OPTSの違いについて
-
[解決済み] HTTP ステータス 500 - サーブレットクラス pkg.coreServlet のインスタンス化に失敗しました。
-
[解決済み] タイプの安全性。アンチェック・キャスト
-
[解決済み] Java: getInstanceとStaticの比較