前提・実現したいこと
【前提】Mainクラスのソースコードは下記のソースコードで内容変更は行わない。
Squareクラスのinputにて、縦と横の長さを設定する処理を行って、
設定した長さをSquareクラスのcalcで計算処理を行いたいのですが、
縦と横の長さを設定したデータをcalcに引用する方法に苦戦しています。
該当のソースコード
javaMain
1package main; 2import shape.Square; 3import shape.Triangle; 4public class Main { 5 6 public static void main(String[] args) { 7 Square sq = new Square(); 8 Triangle tri = new Triangle(); 9 int choice=0,answer=0; 10 11 while(true) { 12 System.out.print("1:四角形 2:三角形 その他:終了"); 13 choice = new java.util.Scanner(System.in).nextInt(); 14 switch (choice) { 15 case 1: 16 sq.input(); 17 answer = sq.calc(); 18 break; 19 case 2: 20 tri.input(); 21 answer = tri.calc(); 22 } 23 if(choice >2 || choice <1) { 24 System.out.println("終了"); 25 break; 26 }else { 27 System.out.println("面積は"+answer); 28 } 29 } 30 } 31 32} 33
javaSquare
1package Main; 2 3public class Square { 4 5 public void input() { 6 System.out.println("縦の長さを入力してください。"); 7 int height = new java.util.Scanner(System.in).nextInt(); 8 System.out.println("横の長さを入力してください。"); 9 int width = new java.util.Scanner(System.in).nextInt(); 10 11 Object[] date = {height,width}; 12 13 } 14 public double calc() { 15 16 return (date[0]*date[1]); 17 } 18 19 20 21}
> 縦と横の長さを設定したデータをcalcに引用する方法に苦戦しています。
今の記述内容では「そうですか。」で終わりです。質問(具体的に聞きたいこと)を明確にしましょう。
ただ、「どう直したら良いですか?」はナシです。
[質問する時のヒント] https://teratail.com/help/question-tips
ご指摘ありがとうございます。
具体的な質問を行うと、あなたの言う「どう直したらよいですか?」の部分に該当するので、質問は控えさせてもらいます。
今回の質問については、さらに自力で解決しようと思います。
そうすれば、自分の為にもなるので。
現在ベストアンサーに選ばれた回答は掲題を無視し、全く意味のない1行を追加された嘘回答なのでこれを解決済みとしてはいけません。低評価妥当の回答です。そもそも当の回答者はJavaとJavaScriptの区別をつけられてない入門未満の人なので、これに限らず当該ユーザーの発言は妄言と捉えて差し支えありません。
質問者さんが自己解決されたほうがより人のためになります。
つまり、自身で掲題に関する解決回答を自身で投稿し、その回答をベストアンサーとすることです。
Mainを書き換えちゃならんてことは Square/Triangle の calc() は int を返さにゃならんのでは?
回答2件
あなたの回答
tips
プレビュー