前提・実現したいこと
整数を二つ入力して、それらをかけた数と割った数を表示するプログラムを作っています。
メソッドを書いているのに未定義です、とのエラーが出てしまいます。
オブジェクトを生成しなくてはならないのでしょうか?
これらの原因と対応策を教えていただきたいです。
よろしくお願いします。
発生している問題・エラーメッセージ
メソッド timeNumbersは型StartUpで未定義です メソッド divideNumbersは型StartUpで未定義です
該当のソースコード
import java.util.InputMismatchException; import java.util.Scanner; public class StartUp{ public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); System.out.println("二つの整数値を入力してください。"); int a; int b; try { a = stdIn.nextInt(); b = stdIn.nextInt(); }catch(InputMismatchException e) { System.out.println("整数値を入力してください。"); } try { timeNumbers(a, b); divideNumbers(a, b); }catch(ArithmeticException e) { System.out.println("0での割り算はできません。"); }finally { System.out.println("プログラムを終了します。"); } } }
public class MulDiv2 { public void timeNumbers(int a, int b) { System.out.println(a + " × " + b + " = " + a*b ); } public void divideNumbers(int a, int b) { System.out.println(a + " ÷ " + b + " = " + a/b ); } }
変更後
package problems16_2; import java.util.InputMismatchException; import java.util.Scanner; public class StartUp{ public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); System.out.println("二つの整数値を入力してください。"); int a; int b; try { a = stdIn.nextInt(); b = stdIn.nextInt(); MulDiv2.timeNumbers(a, b); MulDiv2.divideNumbers(a, b); }catch(ArithmeticException e) { System.out.println("0での割り算はできません。"); }catch(InputMismatchException e) { System.out.println("整数値ではありません。"); }finally { System.out.println("プログラムを終了します。"); } } }
package problems16_2; public class MulDiv2 { static int timeNumbers(int a, int b) { return a*b; } static double divideNumbers(int a, int b) { return (double)a/b; } static void showResults(int a, int b) { System.out.println(a + " × " + b + " = " + timeNumbers(a,b) ); System.out.println(a + " ÷ " + b + " = " + divideNumbers(a,b)); } }
回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。