する質問をすることでしか得られない、回答やアドバイスがある。39前提・実現したいこと整数を二つ入力して、それらをかけた数と割った数を表示するプログラムを作っています。メソッドを書いているのに未定義です、とのエラーが出てしまいます。オブジェクトを生成しなくてはならないのでしょうか?これらの原因と対応策を教えていただきたいです。System.out.println("二つの整数値を入力してください。System.out.println("整数値を入力してください。System.out.println("0での割り算はできません。System.out.println("プログラムを終了します。System.out.println("二つの整数値を入力してください。System.out.println("0での割り算はできません。System.out.println("整数値ではありません。System.out.println("プログラムを終了します。}}attachmentクリップ0気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。件sort評価が高い順sort新着順sort古い順linkcheckベストアンサー+1良く見てください。divideNumbersは型StartUpで未定義です別のクラスに定義したメソッドを、都合よく見に行ってくれるはずがありません。次のどちらかの方法で修正してください。StartUpクラスに、必要なメソッドを定義する。呼び出す際、MulDiv2.timeNumbersのように完全な名前で呼び出す。問題点2上記の修正を施しても、まだエラーが出るはずです。インスタンスを経由しないで呼び出したいメソッドは、static指定する必要があります。問題点3手元で動かしてみたら、まだエラーが潜んでいました。System.out.println("整数値を入力してください。初期化されない恐れがあり、コンパイルできません。入力に成功するまでループするか、失敗したときにmainメソッドから脱出してください。問題点(?)4除算したときに小数点以下が切り捨てられていますが、これは想定通りでしょうか。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。22:37staticの存在をすっかり忘れていました。ありがとうございます。staticの存在をすっかり忘れていました。ありがとうございます。私もstaticを直しているところでいろいろ気づきました。あたらしいコードを質問文に追記しました。ここで新しい問題が出てきてしまいました。0で除算しても「0での割り算はできません」が表示されず、終了してしまいます。try文中に例外の出るコードを書けば例外発生時点でcatch内へ移るという理解なのですが、なぜそのようになってしまうのでしょうか。問題点(3)についてはすみません、よくわからないです。コンパイルエラーにはなっていないのですが、もう少し詳細を教えていただけないでしょうか。(4)については指定がなく考えていなかったので修正しました。私もstaticを直しているところでいろいろ気づきました。あたらしいコードを質問文に追記しました。ここで新しい問題が出てきてしまいました。0で除算しても「0での割り算はできません」が表示されず、終了してしまいます。try文中に例外の出るコードを書けば例外発生時点でcatch内へ移るという理解なのですが、なぜそのようになってしまうのでしょうか。問題点(3)についてはすみません、よくわからないです。コンパイルエラーにはなっていないのですが、もう少し詳細を教えていただけないでしょうか。(4)については指定がなく考えていなかったので修正しました。問題点(3)についてはすみません、よくわからないです。コンパイルエラーにはなっていないのですが、もう少し詳細を教えていただけないでしょうか。現状のTazusaさんのコードなら問題ないです。編集前は、不正な入力があった場合『整数値を入力してください。』と出力するのに、そのまま計算を行ってしまうような書き方になっていました。0で除算しても「0での割り算はできません」が表示されず、終了してしまいます。整数のゼロ除算以外では例外は送出されず、Infinityが返されるようです。問題点(3)についてはすみません、よくわからないです。コンパイルエラーにはなっていないのですが、もう少し詳細を教えていただけないでしょうか。現状のTazusaさんのコードなら問題ないです。編集前は、不正な入力があった場合『整数値を入力してください。』と出力するのに、そのまま計算を行ってしまうような書き方になっていました。0で除算しても「0での割り算はできません」が表示されず、終了してしまいます。整数のゼロ除算以外では例外は送出されず、Infinityが返されるようです。23:14問題点(3)について、確かにそうなっていました。動くかをしっかり見ていかなくてはならなかったですね。---double型になっているためにInfinityになってしまうということでしょうか。0)にしなくてはならないですね。問題点(3)について、確かにそうなっていました。動くかをしっかり見ていかなくてはならなかったですね。double型になっているためにInfinityになってしまうということでしょうか。0)にしなくてはならないですね。編集あるいは、divideNumbersの頭で自前で例外を投げるかですね。ArithmeticException();あるいは、divideNumbersの頭で自前で例外を投げるかですね。11:20そのような方法もあったのですね。ArithmeticException();で無事実行できました。ありがとうございました。そのような方法もあったのですね。ArithmeticException();で無事実行できました。ありがとうございました。キャンセル完了するlink0Tazusaさんは、namespace(名前が有効な範囲)についての知識が不足しているのではないかと思われますので、少しnamespaceについて、あまり厳密ではない説明をしてみます。山本家には、お父さんの太郎さんと、お母さんの良子さんと、子供の昴君が居るとします。お隣の麻生家には、お父さんの太郎さんと、お母さんの美津子さんと、子供の歩美さんが居るとします。山本家の中では、「お父さん」といえば山本太郎さんの事です。麻生家の中では、「お父さん」といえば麻生太郎さんの事です。同じように「お父さん」といっても、山本家の中と麻生家の中では別の人を指します。これは「お父さん」というのが世界どこでも一人の人を指すのではなく、家庭内という範囲でのみ特定の人を指すからです。このように「お父さん」で特定の人を指すことができる範囲(この例では家庭内)は、namespaceの一例です。山本家で麻生太郎さんの話をする時には「太郎さん」ではなく「麻生家の太郎」さんと呼ばないと、山本太郎さんと区別がつきません。山本家というnamaspaceと麻生家というnamespaceは別だからです。==Javaのクラスも、或る種のnamespaceです。クラスで定義されたメソッドが、同じクラスで定義された別のメソッドを呼び出せるのは、同じnamespace(クラス)に属しているからです。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。したらコンパイルエラーになってしまいました。頂いたご意見への回答は行っておりません。